@astermind/chatbot-template 2.2.30 → 2.2.36

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.
@@ -1 +1 @@
1
- {"version":3,"file":"astermind-chatbot.min.js","sources":["../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-dom/client.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/jsx-runtime.js","../../cybernetic-chatbot-client/dist/cybernetic-chatbot-client.esm.js","../src/components/ChatBubble.tsx","../src/components/ChatHeader.tsx","../src/utils/markdown.ts","../src/components/SourceCitation.tsx","../src/utils/time.ts","../src/components/MessageBubble.tsx","../src/components/TypingIndicator.tsx","../src/components/MessageList.tsx","../src/components/ChatInput.tsx","../src/components/ActionCard.tsx","../src/components/StatusIndicator.tsx","../src/components/ChatWindow.tsx","../src/hooks/useTheme.ts","../src/context/ThemeContext.tsx","../src/components/ChatbotWidget.tsx","../src/init.ts"],"sourcesContent":["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error(\"act(...) is not supported in production builds of React.\");}\nexports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};\nexports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};\nexports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.3.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;\nfunction Lg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction Mg(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function Ng(a){var b=a._init;return b(a._payload)}\nfunction Og(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Pg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Qg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&Ng(f)===b.type))return d=e(b,c.props),d.ref=Lg(a,b,c),d.return=a,d;d=Rg(c.type,c.key,c.props,null,a.mode,d);d.ref=Lg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=Sg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Tg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=Qg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=Rg(b.type,b.key,b.props,null,a.mode,c),\nc.ref=Lg(a,null,b),c.return=a,c;case wa:return b=Sg(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Tg(b,a.mode,c,null),b.return=a,b;Mg(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);Mg(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);Mg(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var th={},uh=Uf(th),vh=Uf(th),wh=Uf(th);function xh(a){if(a===th)throw Error(p(174));return a}\nfunction yh(a,b){G(wh,b);G(vh,a);G(uh,th);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(uh);G(uh,b)}function zh(){E(uh);E(vh);E(wh)}function Ah(a){xh(wh.current);var b=xh(uh.current);var c=lb(b,a.type);b!==c&&(G(vh,a),G(uh,c))}function Bh(a){vh.current===a&&(E(uh),E(vh))}var L=Uf(0);\nfunction Ch(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Dh=[];\nfunction Eh(){for(var a=0;a<Dh.length;a++)Dh[a]._workInProgressVersionPrimary=null;Dh.length=0}var Fh=ua.ReactCurrentDispatcher,Gh=ua.ReactCurrentBatchConfig,Hh=0,M=null,N=null,O=null,Ih=!1,Jh=!1,Kh=0,Lh=0;function P(){throw Error(p(321));}function Mh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Nh(a,b,c,d,e,f){Hh=f;M=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Fh.current=null===a||null===a.memoizedState?Oh:Ph;a=c(d,e);if(Jh){f=0;do{Jh=!1;Kh=0;if(25<=f)throw Error(p(301));f+=1;O=N=null;b.updateQueue=null;Fh.current=Qh;a=c(d,e)}while(Jh)}Fh.current=Rh;b=null!==N&&null!==N.next;Hh=0;O=N=M=null;Ih=!1;if(b)throw Error(p(300));return a}function Sh(){var a=0!==Kh;Kh=0;return a}\nfunction Th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===O?M.memoizedState=O=a:O=O.next=a;return O}function Uh(){if(null===N){var a=M.alternate;a=null!==a?a.memoizedState:null}else a=N.next;var b=null===O?M.memoizedState:O.next;if(null!==b)O=b,N=a;else{if(null===a)throw Error(p(310));N=a;a={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null};null===O?M.memoizedState=O=a:O=O.next=a}return O}\nfunction Vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Wh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=N,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Hh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;M.lanes|=m;rh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(dh=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,M.lanes|=f,rh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction Xh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(dh=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function Yh(){}\nfunction Zh(a,b){var c=M,d=Uh(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,dh=!0);d=d.queue;$h(ai.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==O&&O.memoizedState.tag&1){c.flags|=2048;bi(9,ci.bind(null,c,d,e,b),void 0,null);if(null===Q)throw Error(p(349));0!==(Hh&30)||di(c,b,e)}return e}function di(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction ci(a,b,c,d){b.value=c;b.getSnapshot=d;ei(b)&&fi(a)}function ai(a,b,c){return c(function(){ei(b)&&fi(a)})}function ei(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function fi(a){var b=ih(a,1);null!==b&&gi(b,a,1,-1)}\nfunction hi(a){var b=Th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Vh,lastRenderedState:a};b.queue=a;a=a.dispatch=ii.bind(null,M,a);return[b.memoizedState,a]}\nfunction bi(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function ji(){return Uh().memoizedState}function ki(a,b,c,d){var e=Th();M.flags|=a;e.memoizedState=bi(1|b,c,void 0,void 0===d?null:d)}\nfunction li(a,b,c,d){var e=Uh();d=void 0===d?null:d;var f=void 0;if(null!==N){var g=N.memoizedState;f=g.destroy;if(null!==d&&Mh(d,g.deps)){e.memoizedState=bi(b,c,f,d);return}}M.flags|=a;e.memoizedState=bi(1|b,c,f,d)}function mi(a,b){return ki(8390656,8,a,b)}function $h(a,b){return li(2048,8,a,b)}function ni(a,b){return li(4,2,a,b)}function oi(a,b){return li(4,4,a,b)}\nfunction pi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function qi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return li(4,4,pi.bind(null,b,a),c)}function ri(){}function si(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction ti(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function ui(a,b,c){if(0===(Hh&21))return a.baseState&&(a.baseState=!1,dh=!0),a.memoizedState=c;He(c,b)||(c=yc(),M.lanes|=c,rh|=c,a.baseState=!0);return b}function vi(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Lh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Ph={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Wh,useRef:ji,useState:function(){return Wh(Vh)},\nuseDebugValue:ri,useDeferredValue:function(a){var b=Uh();return ui(b,N.memoizedState,a)},useTransition:function(){var a=Wh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1},Qh={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Xh,useRef:ji,useState:function(){return Xh(Vh)},useDebugValue:ri,useDeferredValue:function(a){var b=Uh();return null===\nN?b.memoizedState=a:ui(b,N.memoizedState,a)},useTransition:function(){var a=Xh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1};function Ci(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}function Di(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Ei={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=R(),d=\nyi(a),e=mh(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=nh(a,e,d);null!==b&&(gi(b,a,d,c),oh(b,a,d))}};function Fi(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction Gi(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=eh(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Ei;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Hi(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Ei.enqueueReplaceState(b,b.state,null)}\nfunction Ii(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs={};kh(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=eh(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Di(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Ei.enqueueReplaceState(e,e.state,null),qh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}function Ji(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}\nfunction Ki(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}function Li(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Mi=\"function\"===typeof WeakMap?WeakMap:Map;function Ni(a,b,c){c=mh(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Oi||(Oi=!0,Pi=d);Li(a,b)};return c}\nfunction Qi(a,b,c){c=mh(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Li(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Li(a,b);\"function\"!==typeof d&&(null===Ri?Ri=new Set([this]):Ri.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Si(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Mi;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ti.bind(null,a,b,c),b.then(a,a))}function Ui(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Vi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=mh(-1,1),b.tag=2,nh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Wi=ua.ReactCurrentOwner,dh=!1;function Xi(a,b,c,d){b.child=null===a?Vg(b,null,c,d):Ug(b,a.child,c,d)}\nfunction Yi(a,b,c,d,e){c=c.render;var f=b.ref;ch(b,e);d=Nh(a,b,c,d,f,e);c=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&c&&vg(b);b.flags|=1;Xi(a,b,d,e);return b.child}\nfunction $i(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!aj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,bj(a,b,f,d,e);a=Rg(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return Zi(a,b,e)}b.flags|=1;a=Pg(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction bj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(dh=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(dh=!0);else return b.lanes=a.lanes,Zi(a,b,e)}return cj(a,b,c,d,e)}\nfunction dj(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(ej,fj),fj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(ej,fj),fj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(ej,fj);fj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(ej,fj),fj|=d;Xi(a,b,e,c);return b.child}function gj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function cj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);ch(b,e);c=Nh(a,b,c,d,f,e);d=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&d&&vg(b);b.flags|=1;Xi(a,b,c,e);return b.child}\nfunction hj(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;ch(b,e);if(null===b.stateNode)ij(a,b),Gi(b,c,d),Ii(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=eh(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&Hi(b,g,d,l);jh=!1;var r=b.memoizedState;g.state=r;qh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||jh?(\"function\"===typeof m&&(Di(b,c,m,d),k=b.memoizedState),(h=jh||Fi(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;lh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Ci(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=eh(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&Hi(b,g,d,k);jh=!1;r=b.memoizedState;g.state=r;qh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||jh?(\"function\"===typeof y&&(Di(b,c,y,d),n=b.memoizedState),(l=jh||Fi(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return jj(a,b,c,d,f,e)}\nfunction jj(a,b,c,d,e,f){gj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),Zi(a,b,f);d=b.stateNode;Wi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Ug(b,a.child,null,f),b.child=Ug(b,null,h,f)):Xi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function kj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);yh(a,b.containerInfo)}\nfunction lj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Xi(a,b,c,d);return b.child}var mj={dehydrated:null,treeContext:null,retryLane:0};function nj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction oj(a,b,c){var d=b.pendingProps,e=L.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(L,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=pj(g,d,0,null),a=Tg(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=nj(c),b.memoizedState=mj,a):qj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return rj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=Pg(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=Pg(h,f):(f=Tg(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?nj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=mj;return d}f=a.child;a=f.sibling;d=Pg(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction qj(a,b){b=pj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function sj(a,b,c,d){null!==d&&Jg(d);Ug(b,a.child,null,c);a=qj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction rj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Ki(Error(p(422))),sj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=pj({mode:\"visible\",children:d.children},e,0,null);f=Tg(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Ug(b,a.child,null,g);b.child.memoizedState=nj(g);b.memoizedState=mj;return f}if(0===(b.mode&1))return sj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Ki(f,d,void 0);return sj(a,b,g,d)}h=0!==(g&a.childLanes);if(dh||h){d=Q;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,ih(a,e),gi(d,a,e,-1))}tj();d=Ki(Error(p(421)));return sj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=uj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=qj(b,d.children);b.flags|=4096;return b}function vj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);bh(a.return,b,c)}\nfunction wj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction xj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Xi(a,b,d.children,c);d=L.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&vj(a,c,b);else if(19===a.tag)vj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(L,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Ch(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);wj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Ch(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}wj(b,!0,c,null,f);break;case \"together\":wj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction ij(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Zi(a,b,c){null!==a&&(b.dependencies=a.dependencies);rh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=Pg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Pg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction yj(a,b,c){switch(b.tag){case 3:kj(b);Ig();break;case 5:Ah(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:yh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Wg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(L,L.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return oj(a,b,c);G(L,L.current&1);a=Zi(a,b,c);return null!==a?a.sibling:null}G(L,L.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return xj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(L,L.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,dj(a,b,c)}return Zi(a,b,c)}var zj,Aj,Bj,Cj;\nzj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Aj=function(){};\nBj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;xh(uh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Cj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Dj(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Ej(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;zh();E(Wf);E(H);Eh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Fj(zg),zg=null));Aj(a,b);S(b);return null;case 5:Bh(b);var e=xh(wh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Bj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Cj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=xh(wh.current);xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(L);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Fj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(L.current&1)?0===T&&(T=3):tj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return zh(),\nAj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return ah(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(L);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Dj(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Ch(a);if(null!==g){b.flags|=128;Dj(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(L,L.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Gj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Xj=!1;break a;case 3:X=h.stateNode.containerInfo;Xj=!0;break a;case 4:X=h.stateNode.containerInfo;Xj=!0;break a}h=h.return}if(null===X)throw Error(p(160));Zj(f,g,e);X=null;Xj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)dk(b,a),b=b.sibling}\nfunction dk(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:ck(b,a);ek(a);if(d&4){try{Pj(3,a,a.return),Qj(3,a)}catch(t){W(a,a.return,t)}try{Pj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);break;case 5:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:ck(b,a);ek(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:ck(b,a);ek(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:ck(b,a);ek(a);break;case 13:ck(b,a);ek(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(fk=B()));d&4&&ak(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,ck(b,a),U=l):ck(b,a);ek(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Pj(4,r,r.return);break;case 1:Lj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Lj(r,r.return);break;case 22:if(null!==r.memoizedState){gk(q);continue}}null!==y?(y.return=r,V=y):gk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:ck(b,a);ek(a);d&4&&ak(a);break;case 21:break;default:ck(b,\na),ek(a)}}function ek(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Tj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Uj(a);Wj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Uj(a);Vj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function hk(a,b,c){V=a;ik(a,b,c)}\nfunction ik(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Jj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Jj;var l=U;Jj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?jk(e):null!==k?(k.return=g,V=k):jk(e);for(;null!==f;)V=f,ik(f,b,c),f=f.sibling;V=e;Jj=h;U=l}kk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):kk(a,b,c)}}\nfunction kk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Qj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Ci(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&sh(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}sh(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Rj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function gk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction jk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Qj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Rj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Rj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar lk=Math.ceil,mk=ua.ReactCurrentDispatcher,nk=ua.ReactCurrentOwner,ok=ua.ReactCurrentBatchConfig,K=0,Q=null,Y=null,Z=0,fj=0,ej=Uf(0),T=0,pk=null,rh=0,qk=0,rk=0,sk=null,tk=null,fk=0,Gj=Infinity,uk=null,Oi=!1,Pi=null,Ri=null,vk=!1,wk=null,xk=0,yk=0,zk=null,Ak=-1,Bk=0;function R(){return 0!==(K&6)?B():-1!==Ak?Ak:Ak=B()}\nfunction yi(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Bk&&(Bk=yc()),Bk;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function gi(a,b,c,d){if(50<yk)throw yk=0,zk=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==Q)a===Q&&(0===(K&2)&&(qk|=c),4===T&&Ck(a,Z)),Dk(a,d),1===c&&0===K&&0===(b.mode&1)&&(Gj=B()+500,fg&&jg())}\nfunction Dk(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===Q?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Ek.bind(null,a)):hg(Ek.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Fk(c,Gk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Gk(a,b){Ak=-1;Bk=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Hk()&&a.callbackNode!==c)return null;var d=uc(a,a===Q?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Ik(a,d);else{b=d;var e=K;K|=2;var f=Jk();if(Q!==a||Z!==b)uk=null,Gj=B()+500,Kk(a,b);do try{Lk();break}catch(h){Mk(a,h)}while(1);$g();mk.current=f;K=e;null!==Y?b=0:(Q=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Nk(a,e)));if(1===b)throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;if(6===b)Ck(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Ok(e)&&(b=Ik(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Nk(a,f))),1===b))throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Pk(a,tk,uk);break;case 3:Ck(a,d);if((d&130023424)===d&&(b=fk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){R();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),b);break}Pk(a,tk,uk);break;case 4:Ck(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),d);break}Pk(a,tk,uk);break;case 5:Pk(a,tk,uk);break;default:throw Error(p(329));}}}Dk(a,B());return a.callbackNode===c?Gk.bind(null,a):null}\nfunction Nk(a,b){var c=sk;a.current.memoizedState.isDehydrated&&(Kk(a,b).flags|=256);a=Ik(a,b);2!==a&&(b=tk,tk=c,null!==b&&Fj(b));return a}function Fj(a){null===tk?tk=a:tk.push.apply(tk,a)}\nfunction Ok(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Ck(a,b){b&=~rk;b&=~qk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Ek(a){if(0!==(K&6))throw Error(p(327));Hk();var b=uc(a,0);if(0===(b&1))return Dk(a,B()),null;var c=Ik(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Nk(a,d))}if(1===c)throw c=pk,Kk(a,0),Ck(a,b),Dk(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Pk(a,tk,uk);Dk(a,B());return null}\nfunction Qk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Gj=B()+500,fg&&jg())}}function Rk(a){null!==wk&&0===wk.tag&&0===(K&6)&&Hk();var b=K;K|=1;var c=ok.transition,d=C;try{if(ok.transition=null,C=1,a)return a()}finally{C=d,ok.transition=c,K=b,0===(K&6)&&jg()}}function Hj(){fj=ej.current;E(ej)}\nfunction Kk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:zh();E(Wf);E(H);Eh();break;case 5:Bh(d);break;case 4:zh();break;case 13:E(L);break;case 19:E(L);break;case 10:ah(d.type._context);break;case 22:case 23:Hj()}c=c.return}Q=a;Y=a=Pg(a.current,null);Z=fj=b;T=0;pk=null;rk=qk=rh=0;tk=sk=null;if(null!==fh){for(b=\n0;b<fh.length;b++)if(c=fh[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}fh=null}return a}\nfunction Mk(a,b){do{var c=Y;try{$g();Fh.current=Rh;if(Ih){for(var d=M.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Ih=!1}Hh=0;O=N=M=null;Jh=!1;Kh=0;nk.current=null;if(null===c||null===c.return){T=1;pk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Ui(g);if(null!==y){y.flags&=-257;Vi(y,g,h,f,b);y.mode&1&&Si(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Si(f,l,b);tj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Ui(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Vi(J,g,h,f,b);Jg(Ji(k,h));break a}}f=k=Ji(k,h);4!==T&&(T=2);null===sk?sk=[f]:sk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Ni(f,k,b);ph(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Ri||!Ri.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Qi(f,h,b);ph(f,F);break a}}f=f.return}while(null!==f)}Sk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Jk(){var a=mk.current;mk.current=Rh;return null===a?Rh:a}\nfunction tj(){if(0===T||3===T||2===T)T=4;null===Q||0===(rh&268435455)&&0===(qk&268435455)||Ck(Q,Z)}function Ik(a,b){var c=K;K|=2;var d=Jk();if(Q!==a||Z!==b)uk=null,Kk(a,b);do try{Tk();break}catch(e){Mk(a,e)}while(1);$g();K=c;mk.current=d;if(null!==Y)throw Error(p(261));Q=null;Z=0;return T}function Tk(){for(;null!==Y;)Uk(Y)}function Lk(){for(;null!==Y&&!cc();)Uk(Y)}function Uk(a){var b=Vk(a.alternate,a,fj);a.memoizedProps=a.pendingProps;null===b?Sk(a):Y=b;nk.current=null}\nfunction Sk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Ej(c,b,fj),null!==c){Y=c;return}}else{c=Ij(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Pk(a,b,c){var d=C,e=ok.transition;try{ok.transition=null,C=1,Wk(a,b,c,d)}finally{ok.transition=e,C=d}return null}\nfunction Wk(a,b,c,d){do Hk();while(null!==wk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===Q&&(Y=Q=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||vk||(vk=!0,Fk(hc,function(){Hk();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=ok.transition;ok.transition=null;\nvar g=C;C=1;var h=K;K|=4;nk.current=null;Oj(a,c);dk(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;hk(c,a,e);dc();K=h;C=g;ok.transition=f}else a.current=c;vk&&(vk=!1,wk=a,xk=e);f=a.pendingLanes;0===f&&(Ri=null);mc(c.stateNode,d);Dk(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Oi)throw Oi=!1,a=Pi,Pi=null,a;0!==(xk&1)&&0!==a.tag&&Hk();f=a.pendingLanes;0!==(f&1)?a===zk?yk++:(yk=0,zk=a):yk=0;jg();return null}\nfunction Hk(){if(null!==wk){var a=Dc(xk),b=ok.transition,c=C;try{ok.transition=null;C=16>a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Pj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Sj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Pj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Qj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,ok.transition=b}}return!1}function Xk(a,b,c){b=Ji(c,b);b=Ni(a,b,1);a=nh(a,b,1);b=R();null!==a&&(Ac(a,1,b),Dk(a,b))}\nfunction W(a,b,c){if(3===a.tag)Xk(a,a,c);else for(;null!==b;){if(3===b.tag){Xk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ri||!Ri.has(d))){a=Ji(c,a);a=Qi(b,a,1);b=nh(b,a,1);a=R();null!==b&&(Ac(b,1,a),Dk(b,a));break}}b=b.return}}\nfunction Ti(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=R();a.pingedLanes|=a.suspendedLanes&c;Q===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction dl(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction el(a,b,c,d,e,f,g,h,k){a=bl(c,d,!0,a,e,f,g,h,k);a.context=dl(null);c=a.current;d=R();e=yi(c);f=mh(d,e);f.callback=void 0!==b&&null!==b?b:null;nh(c,f,e);a.current.lanes=e;Ac(a,e,d);Dk(a,d);return a}function fl(a,b,c,d){var e=b.current,f=R(),g=yi(e);c=dl(c);null===b.context?b.context=c:b.pendingContext=c;b=mh(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=nh(e,b,g);null!==a&&(gi(a,e,g,f),oh(a,e,g));return g}\nfunction gl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function hl(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function il(a,b){hl(a,b);(a=a.alternate)&&hl(a,b)}function jl(){return null}var kl=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ll(a){this._internalRoot=a}\nml.prototype.render=ll.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));fl(a,b,null,null)};ml.prototype.unmount=ll.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Rk(function(){fl(null,a,null,null)});b[uf]=null}};function ml(a){this._internalRoot=a}\nml.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function nl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function pl(){}\nfunction ql(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=gl(g);f.call(a)}}var g=el(b,d,a,0,null,!1,!1,\"\",pl);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Rk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=gl(k);h.call(a)}}var k=bl(a,0,!1,null,null,!1,!1,\"\",pl);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Rk(function(){fl(b,k,c,d)});return k}\nfunction rl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=gl(g);h.call(a)}}fl(b,g,a,e)}else g=ql(c,b,a,e,d);return gl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Dk(b,B()),0===(K&6)&&(Gj=B()+500,jg()))}break;case 13:Rk(function(){var b=ih(a,1);if(null!==b){var c=R();gi(b,a,1,c)}}),il(a,1)}};\nFc=function(a){if(13===a.tag){var b=ih(a,134217728);if(null!==b){var c=R();gi(b,a,134217728,c)}il(a,134217728)}};Gc=function(a){if(13===a.tag){var b=yi(a),c=ih(a,b);if(null!==c){var d=R();gi(c,a,b,d)}il(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Qk;Hb=Rk;\nvar sl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Qk]},tl={findFiberByHostInstance:Wc,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"};\nvar ul={bundleType:tl.bundleType,version:tl.version,rendererPackageName:tl.rendererPackageName,rendererConfig:tl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:tl.findFiberByHostInstance||\njl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var vl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!vl.isDisabled&&vl.supportsFiber)try{kc=vl.inject(ul),lc=vl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!nl(b))throw Error(p(200));return cl(a,b,null,c)};exports.createRoot=function(a,b){if(!nl(a))throw Error(p(299));var c=!1,d=\"\",e=kl;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=bl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ll(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Rk(a)};exports.hydrate=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!nl(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=kl;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=el(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new ml(b)};exports.render=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!ol(a))throw Error(p(40));return a._reactRootContainer?(Rk(function(){rl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Qk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!ol(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return rl(a,b,c,!1,d)};exports.version=\"18.3.1-next-f1338f8080-20240426\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import { useState, useRef, useCallback, useEffect } from 'react';\nimport 'fs';\nimport 'path';\n\n// src/ApiClient.ts\n// HTTP client for AsterMind backend API\n/**\n * Map backend source format to client Source interface\n */\nfunction mapSource(raw) {\n return {\n title: raw.title,\n snippet: raw.content,\n relevance: raw.score,\n documentId: raw.documentId,\n fullContent: raw.fullContent,\n downloadUrl: raw.downloadUrl,\n documentName: raw.documentName,\n sourceType: raw.sourceType,\n chunkId: raw.chunkId\n };\n}\n/**\n * HTTP/SSE client for AsterMind backend\n */\nclass ApiClient {\n constructor(baseUrl, apiKey) {\n this.baseUrl = baseUrl.replace(/\\/$/, ''); // Remove trailing slash\n this.apiKey = apiKey;\n }\n /**\n * Send chat message and get complete response\n */\n async chat(message, options) {\n const response = await fetch(`${this.baseUrl}/api/external/chat`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-API-Key': this.apiKey\n },\n body: JSON.stringify({\n message,\n sessionId: options?.sessionId,\n context: options?.context\n })\n });\n if (!response.ok) {\n const error = await response.json().catch(() => ({}));\n throw new Error(error.message || `HTTP ${response.status}: ${response.statusText}`);\n }\n const data = await response.json();\n // Map backend source format to client Source interface\n return {\n ...data,\n sources: (data.sources || []).map(mapSource)\n };\n }\n /**\n * Send chat message with streaming response via SSE\n */\n async chatStream(message, options) {\n const response = await fetch(`${this.baseUrl}/api/external/chat/stream`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-API-Key': this.apiKey\n },\n body: JSON.stringify({\n message,\n sessionId: options?.sessionId,\n context: options?.context\n })\n });\n if (!response.ok) {\n const error = await response.json().catch(() => ({}));\n throw new Error(error.message || `HTTP ${response.status}`);\n }\n const reader = response.body?.getReader();\n if (!reader) {\n throw new Error('Streaming not supported');\n }\n const decoder = new TextDecoder();\n let buffer = '';\n let fullText = '';\n let sources = [];\n let sessionId;\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done)\n break;\n buffer += decoder.decode(value, { stream: true });\n const lines = buffer.split('\\n');\n buffer = lines.pop() || '';\n for (const line of lines) {\n if (line.startsWith('event: ')) {\n // Event type handled in data line\n }\n else if (line.startsWith('data: ')) {\n try {\n const data = JSON.parse(line.slice(6));\n if (data.text !== undefined) {\n // Token event\n fullText += data.text;\n options.onToken?.(data.text);\n }\n else if (data.sources !== undefined) {\n // Sources event - map backend format to client format\n sources = (data.sources || []).map(mapSource);\n options.onSources?.(sources);\n }\n else if (data.sessionId !== undefined) {\n // Done event\n sessionId = data.sessionId;\n }\n }\n catch {\n // Skip malformed JSON\n }\n }\n }\n }\n options.onComplete?.({ fullText, sessionId, sources });\n }\n catch (error) {\n options.onError?.(error);\n }\n }\n /**\n * Get general documents for caching\n */\n async getGeneralDocs(since) {\n const params = new URLSearchParams();\n if (since) {\n params.set('since', since);\n }\n const url = `${this.baseUrl}/api/external/docs${params.toString() ? '?' + params : ''}`;\n const response = await fetch(url, {\n headers: {\n 'X-API-Key': this.apiKey\n }\n });\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}`);\n }\n const data = await response.json();\n return data.documents;\n }\n /**\n * Get API status, quota, and system settings\n */\n async getStatus() {\n const response = await fetch(`${this.baseUrl}/api/external/status`, {\n headers: {\n 'X-API-Key': this.apiKey\n }\n });\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}`);\n }\n return response.json();\n }\n /**\n * Health check (no auth required)\n */\n async health() {\n const response = await fetch(`${this.baseUrl}/api/external/health`);\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}`);\n }\n return response.json();\n }\n}\n\nconst instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\n// src/CyberneticCache.ts\n// IndexedDB cache for offline document storage\n/**\n * Document cache for offline RAG fallback\n */\nclass CyberneticCache {\n constructor(config) {\n this.db = null;\n this.dbPromise = null;\n this.documentCount = 0;\n this.lastSyncAt = null;\n this.config = config;\n if (config.storage === 'indexeddb' && typeof indexedDB !== 'undefined') {\n this.dbPromise = this.initDB();\n }\n else if (config.storage === 'localstorage') {\n // Load cached metadata from localStorage\n this.loadLocalStorageMetadata();\n }\n }\n /**\n * Load metadata from localStorage\n */\n loadLocalStorageMetadata() {\n try {\n const meta = localStorage.getItem('cybernetic-cache-meta');\n if (meta) {\n const parsed = JSON.parse(meta);\n this.documentCount = parsed.documentCount || 0;\n this.lastSyncAt = parsed.lastSyncAt || null;\n }\n }\n catch {\n // Ignore parse errors\n }\n }\n /**\n * Initialize IndexedDB\n */\n async initDB() {\n this.db = await openDB('cybernetic-cache', 1, {\n upgrade(db) {\n // Documents store\n if (!db.objectStoreNames.contains('documents')) {\n const docStore = db.createObjectStore('documents', { keyPath: 'id' });\n docStore.createIndex('by-updated', 'updatedAt');\n }\n // Metadata store\n if (!db.objectStoreNames.contains('metadata')) {\n db.createObjectStore('metadata', { keyPath: 'key' });\n }\n }\n });\n // Load cached metadata\n await this.loadMetadata();\n return this.db;\n }\n /**\n * Get database instance\n */\n async getDB() {\n if (this.db)\n return this.db;\n if (this.dbPromise)\n return this.dbPromise;\n throw new Error('Database not available');\n }\n /**\n * Load cached metadata (count, last sync)\n */\n async loadMetadata() {\n if (!this.db)\n return;\n const countMeta = await this.db.get('metadata', 'documentCount');\n this.documentCount = countMeta?.value || 0;\n const syncMeta = await this.db.get('metadata', 'lastSyncAt');\n this.lastSyncAt = syncMeta?.value || null;\n }\n /**\n * Store documents in cache\n */\n async store(documents) {\n if (this.config.storage === 'localstorage') {\n return this.storeLocalStorage(documents);\n }\n const db = await this.getDB();\n const tx = db.transaction(['documents', 'metadata'], 'readwrite');\n // Store documents\n for (const doc of documents) {\n await tx.objectStore('documents').put(doc);\n }\n // Update metadata\n this.documentCount = await tx.objectStore('documents').count();\n this.lastSyncAt = new Date().toISOString();\n await tx.objectStore('metadata').put({\n key: 'documentCount',\n value: this.documentCount\n });\n await tx.objectStore('metadata').put({\n key: 'lastSyncAt',\n value: this.lastSyncAt\n });\n await tx.done;\n }\n /**\n * Retrieve all cached documents\n */\n async retrieve() {\n if (this.config.storage === 'localstorage') {\n return this.retrieveLocalStorage();\n }\n const db = await this.getDB();\n return db.getAll('documents');\n }\n /**\n * Get last sync timestamp\n */\n async getLastSync() {\n return this.lastSyncAt;\n }\n /**\n * Get cache status\n */\n getStatus() {\n const now = Date.now();\n const lastSync = this.lastSyncAt ? new Date(this.lastSyncAt).getTime() : 0;\n const isStale = now - lastSync > this.config.maxAge;\n return {\n documentCount: this.documentCount,\n lastSyncAt: this.lastSyncAt,\n cacheSize: this.documentCount * 5000, // Rough estimate: ~5KB per doc\n isStale\n };\n }\n /**\n * Clear all cached data\n */\n async clear() {\n if (this.config.storage === 'localstorage') {\n localStorage.removeItem('cybernetic-cache-docs');\n localStorage.removeItem('cybernetic-cache-meta');\n this.documentCount = 0;\n this.lastSyncAt = null;\n return;\n }\n const db = await this.getDB();\n const tx = db.transaction(['documents', 'metadata'], 'readwrite');\n await tx.objectStore('documents').clear();\n await tx.objectStore('metadata').clear();\n await tx.done;\n this.documentCount = 0;\n this.lastSyncAt = null;\n }\n // ==================== LocalStorage fallback ====================\n storeLocalStorage(documents) {\n try {\n localStorage.setItem('cybernetic-cache-docs', JSON.stringify(documents));\n this.documentCount = documents.length;\n this.lastSyncAt = new Date().toISOString();\n localStorage.setItem('cybernetic-cache-meta', JSON.stringify({\n documentCount: this.documentCount,\n lastSyncAt: this.lastSyncAt\n }));\n }\n catch {\n // LocalStorage full - clear and retry with limit\n localStorage.removeItem('cybernetic-cache-docs');\n const limited = documents.slice(0, 50); // Keep only 50 docs\n localStorage.setItem('cybernetic-cache-docs', JSON.stringify(limited));\n this.documentCount = limited.length;\n }\n }\n retrieveLocalStorage() {\n try {\n const data = localStorage.getItem('cybernetic-cache-docs');\n return data ? JSON.parse(data) : [];\n }\n catch {\n return [];\n }\n }\n}\n\n// src/CyberneticLocalRAG.ts\n// Local RAG processing for offline fallback\nclass CyberneticLocalRAG {\n constructor() {\n this.documents = [];\n this.idf = new Map();\n this.indexed = false;\n this.loadedFromExport = false;\n this.vocabulary = new Map(); // term -> index for sparse vectors\n }\n /**\n * Check if documents are indexed\n */\n isIndexed() {\n return this.indexed && this.documents.length > 0;\n }\n /**\n * Index documents for local search\n */\n async index(documents) {\n this.documents = [];\n this.idf = new Map();\n // Tokenize and build document frequency\n const docFreq = new Map();\n for (const doc of documents) {\n // Skip documents without content\n if (!doc.content) {\n continue;\n }\n const tokens = this.tokenize(doc.content);\n const uniqueTokens = new Set(tokens);\n // Count document frequency\n for (const token of uniqueTokens) {\n docFreq.set(token, (docFreq.get(token) || 0) + 1);\n }\n // Store indexed document\n this.documents.push({\n id: doc.id,\n title: doc.title,\n content: doc.content,\n tokens,\n tfidf: new Map() // Computed after IDF is known\n });\n }\n // Compute IDF\n const N = documents.length;\n for (const [term, df] of docFreq) {\n this.idf.set(term, Math.log((N + 1) / (df + 1)) + 1);\n }\n // Compute TF-IDF for each document\n for (const doc of this.documents) {\n const termFreq = this.computeTermFrequency(doc.tokens);\n for (const [term, tf] of termFreq) {\n const idf = this.idf.get(term) || 1;\n doc.tfidf.set(term, tf * idf);\n }\n }\n this.indexed = true;\n }\n /**\n * Process query and generate response\n */\n async ask(query) {\n if (!this.indexed || this.documents.length === 0) {\n return {\n answer: 'I don\\'t have any information available offline.',\n sources: [],\n topScore: 0\n };\n }\n // Tokenize query and compute TF-IDF\n const queryTokens = this.tokenize(query);\n const queryTf = this.computeTermFrequency(queryTokens);\n const queryTfidf = new Map();\n for (const [term, tf] of queryTf) {\n const idf = this.idf.get(term) || 1;\n queryTfidf.set(term, tf * idf);\n }\n // Compute similarity scores\n const scores = this.documents.map(doc => ({\n doc,\n score: this.cosineSimilarity(queryTfidf, doc.tfidf)\n }));\n // Sort by score descending\n scores.sort((a, b) => b.score - a.score);\n // Take top 3 results\n const topResults = scores.slice(0, 3).filter(r => r.score > 0.1);\n if (topResults.length === 0) {\n return {\n answer: 'I couldn\\'t find relevant information for your question in my offline data.',\n sources: [],\n topScore: scores[0]?.score || 0\n };\n }\n // Generate simple answer from top result\n const topDoc = topResults[0].doc;\n const snippet = this.extractRelevantSnippet(topDoc.content, queryTokens);\n return {\n answer: snippet,\n sources: topResults.map(r => ({\n title: r.doc.title,\n snippet: r.doc.content.substring(0, 200) + '...',\n score: r.score\n })),\n topScore: topResults[0].score\n };\n }\n /**\n * Reset the index\n */\n reset() {\n this.documents = [];\n this.idf = new Map();\n this.vocabulary = new Map();\n this.indexed = false;\n this.loadedFromExport = false;\n this.exportVersion = undefined;\n this.exportedAt = undefined;\n }\n /**\n * Load pre-computed vectors from an export file\n * This skips client-side TF-IDF computation by using pre-computed values\n *\n * @param exportData - The offline vector export data\n */\n async loadFromExport(exportData) {\n this.reset();\n // Load pre-computed IDF from export\n this.idf = new Map(Object.entries(exportData.tfidfIndex.idf));\n // Build vocabulary mapping from IDF keys\n let vocabIndex = 0;\n for (const term of this.idf.keys()) {\n this.vocabulary.set(term, vocabIndex++);\n }\n // Load documents with pre-computed TF-IDF vectors\n for (const doc of exportData.documents) {\n // Convert sparse vector to Map\n const tfidfMap = new Map();\n for (const [termIndex, weight] of doc.tfidfVector) {\n // Find the term from vocabulary by index\n for (const [term, idx] of this.vocabulary) {\n if (idx === termIndex) {\n tfidfMap.set(term, weight);\n break;\n }\n }\n }\n this.documents.push({\n id: doc.id,\n title: doc.title,\n content: doc.content,\n tokens: [], // Not needed when loading from export\n tfidf: tfidfMap\n });\n }\n this.indexed = true;\n this.loadedFromExport = true;\n this.exportVersion = exportData.version;\n this.exportedAt = exportData.meta.exportedAt;\n console.log(`[CyberneticLocalRAG] Loaded ${this.documents.length} documents from export (v${exportData.version})`);\n }\n /**\n * Get export status information\n */\n getExportStatus() {\n return {\n loaded: this.indexed,\n loadedFromExport: this.loadedFromExport,\n documentCount: this.documents.length,\n chunkCount: this.documents.length, // Each document is a chunk\n exportVersion: this.exportVersion,\n exportedAt: this.exportedAt\n };\n }\n // ==================== PRIVATE METHODS ====================\n /**\n * Tokenize text into words\n */\n tokenize(text) {\n if (!text || typeof text !== 'string') {\n return [];\n }\n return text\n .toLowerCase()\n .replace(/[^\\w\\s]/g, ' ')\n .split(/\\s+/)\n .filter(token => token.length > 2 && !this.isStopWord(token));\n }\n /**\n * Compute term frequency\n */\n computeTermFrequency(tokens) {\n const freq = new Map();\n for (const token of tokens) {\n freq.set(token, (freq.get(token) || 0) + 1);\n }\n // Normalize by document length\n const maxFreq = Math.max(...freq.values());\n if (maxFreq > 0) {\n for (const [term, f] of freq) {\n freq.set(term, f / maxFreq);\n }\n }\n return freq;\n }\n /**\n * Compute cosine similarity between two TF-IDF vectors\n */\n cosineSimilarity(vec1, vec2) {\n let dotProduct = 0;\n let norm1 = 0;\n let norm2 = 0;\n for (const [term, val1] of vec1) {\n const val2 = vec2.get(term) || 0;\n dotProduct += val1 * val2;\n norm1 += val1 * val1;\n }\n for (const val of vec2.values()) {\n norm2 += val * val;\n }\n if (norm1 === 0 || norm2 === 0)\n return 0;\n return dotProduct / (Math.sqrt(norm1) * Math.sqrt(norm2));\n }\n /**\n * Extract most relevant snippet from content\n */\n extractRelevantSnippet(content, queryTokens) {\n const sentences = content.split(/[.!?]+/).filter(s => s.trim().length > 0);\n // Score sentences by query token overlap\n const scored = sentences.map(sentence => {\n const sentenceTokens = new Set(this.tokenize(sentence));\n let score = 0;\n for (const qt of queryTokens) {\n if (sentenceTokens.has(qt))\n score++;\n }\n return { sentence: sentence.trim(), score };\n });\n scored.sort((a, b) => b.score - a.score);\n // Take top 2-3 sentences\n const topSentences = scored.slice(0, 3).filter(s => s.score > 0);\n if (topSentences.length === 0) {\n return content.substring(0, 300) + '...';\n }\n return topSentences.map(s => s.sentence).join('. ') + '.';\n }\n /**\n * Check if word is a stop word\n */\n isStopWord(word) {\n const stopWords = new Set([\n 'the', 'a', 'an', 'and', 'or', 'but', 'in', 'on', 'at', 'to', 'for',\n 'of', 'with', 'by', 'from', 'up', 'about', 'into', 'through', 'during',\n 'is', 'are', 'was', 'were', 'be', 'been', 'being', 'have', 'has', 'had',\n 'do', 'does', 'did', 'will', 'would', 'could', 'should', 'may', 'might',\n 'this', 'that', 'these', 'those', 'it', 'its', 'they', 'them', 'their',\n 'what', 'which', 'who', 'whom', 'when', 'where', 'why', 'how',\n 'all', 'each', 'every', 'both', 'few', 'more', 'most', 'other', 'some',\n 'such', 'no', 'not', 'only', 'same', 'so', 'than', 'too', 'very'\n ]);\n return stopWords.has(word);\n }\n}\n\n// src/CyberneticOfflineStorage.ts\n// IndexedDB storage for offline vector exports\n/**\n * IndexedDB storage for offline vector exports\n * Provides persistent caching of pre-computed TF-IDF vectors\n */\nclass CyberneticOfflineStorage {\n constructor() {\n this.db = null;\n this.dbPromise = null;\n this.dbName = 'cybernetic-offline-vectors';\n this.dbVersion = 1;\n }\n /**\n * Initialize IndexedDB for vector storage\n */\n async initDB() {\n if (this.db) {\n return this.db;\n }\n if (this.dbPromise) {\n return this.dbPromise;\n }\n this.dbPromise = openDB(this.dbName, this.dbVersion, {\n upgrade(db) {\n if (!db.objectStoreNames.contains('vectors')) {\n db.createObjectStore('vectors', { keyPath: 'id' });\n }\n }\n });\n this.db = await this.dbPromise;\n return this.db;\n }\n /**\n * Store vector export in IndexedDB\n */\n async store(id, exportData) {\n const db = await this.getDB();\n await db.put('vectors', {\n id,\n exportVersion: exportData.version,\n exportedAt: exportData.meta.exportedAt,\n type: exportData.type,\n data: exportData\n });\n console.log(`[CyberneticOfflineStorage] Stored ${exportData.meta.chunkCount} chunks`);\n }\n /**\n * Retrieve vector export from IndexedDB\n */\n async retrieve(id) {\n const db = await this.getDB();\n const record = await db.get('vectors', id);\n return record?.data ?? null;\n }\n /**\n * Check if cached vectors are valid (not expired)\n */\n async isValid(id, maxAge) {\n const db = await this.getDB();\n const record = await db.get('vectors', id);\n if (!record)\n return false;\n const exportTime = new Date(record.exportedAt).getTime();\n return Date.now() - exportTime < maxAge;\n }\n /**\n * Get cached export metadata without loading full data\n */\n async getMeta(id) {\n const db = await this.getDB();\n const record = await db.get('vectors', id);\n if (!record)\n return null;\n return {\n version: record.exportVersion,\n exportedAt: record.exportedAt,\n documentCount: record.data.meta.documentCount,\n chunkCount: record.data.meta.chunkCount,\n type: record.type\n };\n }\n /**\n * Check if any cached vectors exist\n */\n async hasData() {\n const db = await this.getDB();\n const count = await db.count('vectors');\n return count > 0;\n }\n /**\n * Get all cached export IDs\n */\n async getStoredIds() {\n const db = await this.getDB();\n return db.getAllKeys('vectors');\n }\n /**\n * Clear specific cached vectors\n */\n async delete(id) {\n const db = await this.getDB();\n await db.delete('vectors', id);\n }\n /**\n * Clear all cached vectors\n */\n async clear() {\n const db = await this.getDB();\n await db.clear('vectors');\n console.log('[CyberneticOfflineStorage] Cache cleared');\n }\n /**\n * Get the database connection\n */\n async getDB() {\n if (this.db) {\n return this.db;\n }\n return this.initDB();\n }\n /**\n * Close database connection\n */\n close() {\n if (this.db) {\n this.db.close();\n this.db = null;\n this.dbPromise = null;\n }\n }\n}\n\n// src/license/base64url.ts\n// Base64URL encoding/decoding utilities for JWT handling\n/**\n * Decode a base64url string to Uint8Array\n * RFC 4648 §5 - Base64 URL-safe encoding\n */\nfunction base64urlDecode(input) {\n // Convert base64url to standard base64\n let base64 = input\n .replace(/-/g, '+')\n .replace(/_/g, '/');\n // Add padding if needed\n const padding = base64.length % 4;\n if (padding) {\n base64 += '='.repeat(4 - padding);\n }\n // Decode base64\n const binaryString = atob(base64);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n}\n/**\n * Decode base64url to UTF-8 string\n */\nfunction base64urlDecodeString(input) {\n const bytes = base64urlDecode(input);\n return new TextDecoder().decode(bytes);\n}\n/**\n * Parse a JWT token into its parts (header, payload, signature)\n * Does NOT verify the signature\n */\nfunction parseJWT(token) {\n try {\n const parts = token.split('.');\n if (parts.length !== 3) {\n return null;\n }\n const [headerB64, payloadB64, signatureB64] = parts;\n return {\n header: JSON.parse(base64urlDecodeString(headerB64)),\n payload: JSON.parse(base64urlDecodeString(payloadB64)),\n signature: base64urlDecode(signatureB64),\n signedContent: `${headerB64}.${payloadB64}`\n };\n }\n catch {\n return null;\n }\n}\n\n// src/license/verifier.ts\n// JWT verification for license tokens\n/**\n * AsterMind public key for license verification (ES256 - ECDSA P-256)\n * This key is embedded for verification of official AsterMind licenses\n */\nconst ASTERMIND_PUBLIC_KEY = `-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhLW7MXHQ0Fuk1OKt9D5CbRw7fUMN\nLJ5AZXvOhHaXdHzMuYKX5BpK4w7TqbPvJ6QPvKmLKvHh1VKcUJ6mJQgJJw==\n-----END PUBLIC KEY-----`;\n/**\n * Import a PEM-encoded public key for WebCrypto\n */\nasync function importPublicKey(pemKey) {\n // Remove PEM headers and whitespace\n const pemContents = pemKey\n .replace(/-----BEGIN PUBLIC KEY-----/, '')\n .replace(/-----END PUBLIC KEY-----/, '')\n .replace(/\\s/g, '');\n // Decode base64 to ArrayBuffer\n const binaryString = atob(pemContents);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n // Import as ECDSA P-256 key\n return crypto.subtle.importKey('spki', bytes.buffer, {\n name: 'ECDSA',\n namedCurve: 'P-256'\n }, false, ['verify']);\n}\n/**\n * Convert JWT signature from compact format to DER format for WebCrypto\n * JWT uses raw R||S format (64 bytes for P-256)\n * WebCrypto expects raw format for ECDSA, not DER\n */\nfunction convertJWTSignature(signature) {\n // For P-256, the signature should be 64 bytes (32 for R, 32 for S)\n // JWT compact serialization already uses this format\n return signature;\n}\n/**\n * Verify a JWT signature using WebCrypto\n */\nasync function verifySignature(signedContent, signature, publicKey) {\n try {\n const key = await importPublicKey(publicKey);\n const encoder = new TextEncoder();\n const data = encoder.encode(signedContent);\n const sig = convertJWTSignature(signature);\n // Create a new ArrayBuffer from the signature bytes to satisfy TypeScript\n const sigBuffer = new Uint8Array(sig).buffer;\n return await crypto.subtle.verify({\n name: 'ECDSA',\n hash: 'SHA-256'\n }, key, sigBuffer, data);\n }\n catch (error) {\n console.warn('[License] Signature verification failed:', error);\n return false;\n }\n}\n/**\n * Validate license payload structure\n */\nfunction validatePayload(payload) {\n // Required fields\n if (typeof payload.iss !== 'string')\n return null;\n if (typeof payload.sub !== 'string')\n return null;\n if (typeof payload.aud !== 'string')\n return null;\n if (typeof payload.iat !== 'number')\n return null;\n if (typeof payload.exp !== 'number')\n return null;\n if (typeof payload.plan !== 'string')\n return null;\n if (typeof payload.seats !== 'number')\n return null;\n if (!Array.isArray(payload.features))\n return null;\n if (typeof payload.licenseVersion !== 'number')\n return null;\n return {\n iss: payload.iss,\n sub: payload.sub,\n aud: payload.aud,\n iat: payload.iat,\n exp: payload.exp,\n plan: payload.plan,\n org: typeof payload.org === 'string' ? payload.org : undefined,\n seats: payload.seats,\n features: payload.features,\n graceUntil: typeof payload.graceUntil === 'number' ? payload.graceUntil : undefined,\n licenseVersion: payload.licenseVersion\n };\n}\n/**\n * Calculate days remaining until expiration\n */\nfunction calculateDaysRemaining(expTimestamp) {\n const now = Math.floor(Date.now() / 1000);\n const secondsRemaining = expTimestamp - now;\n return Math.floor(secondsRemaining / 86400); // 86400 = seconds in a day\n}\n/**\n * Verify a license token\n *\n * @param token - JWT license token\n * @param publicKey - Optional custom public key (defaults to AsterMind key)\n * @returns License state after verification\n */\nasync function verifyLicenseToken(token, publicKey) {\n // No token provided\n if (!token || token.trim() === '') {\n return {\n status: 'missing',\n payload: null,\n error: 'No license key provided',\n inGracePeriod: false,\n daysRemaining: null\n };\n }\n // Parse JWT\n const parsed = parseJWT(token);\n if (!parsed) {\n return {\n status: 'invalid',\n payload: null,\n error: 'Invalid license key format',\n inGracePeriod: false,\n daysRemaining: null\n };\n }\n // Validate payload structure\n const payload = validatePayload(parsed.payload);\n if (!payload) {\n return {\n status: 'invalid',\n payload: null,\n error: 'Invalid license payload structure',\n inGracePeriod: false,\n daysRemaining: null\n };\n }\n // Verify issuer\n if (payload.iss !== 'astermind') {\n return {\n status: 'invalid',\n payload: null,\n error: 'Invalid license issuer',\n inGracePeriod: false,\n daysRemaining: null\n };\n }\n // Verify audience (should be cybernetic-chatbot or wildcard)\n if (payload.aud !== 'cybernetic-chatbot' && payload.aud !== '*') {\n return {\n status: 'invalid',\n payload: null,\n error: 'License not valid for this product',\n inGracePeriod: false,\n daysRemaining: null\n };\n }\n // Verify signature (if WebCrypto is available)\n if (typeof crypto !== 'undefined' && crypto.subtle) {\n const keyToUse = publicKey || ASTERMIND_PUBLIC_KEY;\n const signatureValid = await verifySignature(parsed.signedContent, parsed.signature, keyToUse);\n if (!signatureValid) {\n return {\n status: 'invalid',\n payload: null,\n error: 'License signature verification failed',\n inGracePeriod: false,\n daysRemaining: null\n };\n }\n }\n // Check expiration\n const now = Math.floor(Date.now() / 1000);\n const daysRemaining = calculateDaysRemaining(payload.exp);\n if (payload.exp < now) {\n // Check for grace period\n if (payload.graceUntil && payload.graceUntil > now) {\n return {\n status: 'valid',\n payload,\n inGracePeriod: true,\n daysRemaining\n };\n }\n return {\n status: 'expired',\n payload,\n error: 'License has expired',\n inGracePeriod: false,\n daysRemaining\n };\n }\n // Check for evaluation license\n if (payload.plan === 'eval') {\n return {\n status: 'eval',\n payload,\n inGracePeriod: false,\n daysRemaining\n };\n }\n // License is valid\n return {\n status: 'valid',\n payload,\n inGracePeriod: false,\n daysRemaining\n };\n}\n/**\n * Quick check if a token looks like a valid JWT (does not verify)\n */\nfunction isValidJWTFormat(token) {\n return parseJWT(token) !== null;\n}\n/**\n * Extract expiration date from a token without verification\n * Useful for quick checks\n */\nfunction getTokenExpiration(token) {\n const parsed = parseJWT(token);\n if (!parsed || typeof parsed.payload.exp !== 'number') {\n return null;\n }\n return new Date(parsed.payload.exp * 1000);\n}\n\n// src/license/licenseManager.ts\n// License management with environment-aware enforcement\n/**\n * Required features for different capabilities\n */\nconst REQUIRED_FEATURES = {\n /** Feature required for basic client functionality */\n CLIENT: 'cybernetic-chatbot-client',\n /** Feature required for agentic capabilities (DOM automation, intent classification) */\n AGENTIC: 'agentic'\n};\n/**\n * License enforcement message shown in production when license is invalid\n */\nconst LICENSE_WARNING_MESSAGE = '\\n\\n---\\n⚠️ License Notice: Your AsterMind license key needs to be updated. ' +\n 'Please contact support@astermind.ai or visit https://astermind.ai/license to renew your license.';\n/**\n * Detect current environment based on URL and other signals\n */\nfunction detectEnvironment() {\n // Node.js environment\n if (typeof window === 'undefined') {\n return process?.env?.NODE_ENV === 'production' ? 'production' : 'development';\n }\n const hostname = window.location?.hostname || '';\n // Development indicators\n const devPatterns = [\n 'localhost',\n '127.0.0.1',\n '0.0.0.0',\n '.local',\n '.dev',\n '.test',\n ':3000', // Common dev ports\n ':5173', // Vite\n ':8080', // Common dev port\n ':4200', // Angular\n ];\n // Check for development patterns\n for (const pattern of devPatterns) {\n if (hostname.includes(pattern) || window.location?.port === pattern.replace(':', '')) {\n return 'development';\n }\n }\n // Check for file:// protocol (local development)\n if (window.location?.protocol === 'file:') {\n return 'development';\n }\n // Check for staging/preview patterns\n const stagingPatterns = [\n 'staging.',\n 'preview.',\n '-preview.',\n '.vercel.app',\n '.netlify.app',\n '.pages.dev',\n ];\n for (const pattern of stagingPatterns) {\n if (hostname.includes(pattern)) {\n // Treat staging as production for license enforcement\n return 'production';\n }\n }\n // Default to production for safety\n return 'production';\n}\n/**\n * Determine enforcement mode based on environment\n */\nfunction getEnforcementMode(environment) {\n return environment === 'development' ? 'soft' : 'hard';\n}\n/**\n * License Manager\n *\n * Manages license verification and enforcement for CyberneticClient.\n * - In development: Logs warnings to console (soft enforcement)\n * - In production: Appends warning to chatbot responses (hard enforcement)\n */\nclass LicenseManager {\n constructor(config = {}) {\n this.state = null;\n this.verificationPromise = null;\n this.hasLoggedWarning = false;\n this.loggedMissingFeatures = new Set();\n this.config = config;\n this.environment = config.environment || detectEnvironment();\n this.enforcementMode = getEnforcementMode(this.environment);\n }\n /**\n * Verify the license (async, caches result)\n */\n async verify() {\n // Return cached state if available\n if (this.state) {\n return this.state;\n }\n // Prevent concurrent verification calls\n if (this.verificationPromise) {\n return this.verificationPromise;\n }\n this.verificationPromise = verifyLicenseToken(this.config.licenseKey, this.config.publicKey);\n try {\n this.state = await this.verificationPromise;\n // Notify status change\n this.config.onStatusChange?.(this.state);\n // Log based on enforcement mode\n this.logLicenseStatus();\n return this.state;\n }\n finally {\n this.verificationPromise = null;\n }\n }\n /**\n * Get current license state (null if not yet verified)\n */\n getState() {\n return this.state;\n }\n /**\n * Check if license is valid or acceptable\n * Valid statuses: 'valid', 'eval'\n */\n isValid() {\n if (!this.state)\n return false;\n return this.state.status === 'valid' || this.state.status === 'eval';\n }\n /**\n * Check if license requires action (expired, missing, invalid)\n */\n requiresAction() {\n if (!this.state)\n return true;\n return this.state.status === 'expired' ||\n this.state.status === 'missing' ||\n this.state.status === 'invalid';\n }\n /**\n * Get current environment\n */\n getEnvironment() {\n return this.environment;\n }\n /**\n * Get current enforcement mode\n */\n getEnforcementMode() {\n return this.enforcementMode;\n }\n /**\n * Process a response based on license status\n * In production with invalid license: appends warning to response\n * In development: logs warning (once) and returns response unchanged\n *\n * @param response - The chatbot response text\n * @returns Modified response (or original if license valid)\n */\n processResponse(response) {\n // License not verified yet - allow through\n if (!this.state) {\n return response;\n }\n // Valid license - no modification\n if (this.isValid() && !this.state.inGracePeriod) {\n return response;\n }\n // Handle based on enforcement mode\n if (this.enforcementMode === 'soft') {\n // Development: just log warning (once)\n if (!this.hasLoggedWarning) {\n this.logDevelopmentWarning();\n this.hasLoggedWarning = true;\n }\n return response;\n }\n // Production: append warning to response\n return response + LICENSE_WARNING_MESSAGE;\n }\n /**\n * Get a human-readable license status message\n */\n getStatusMessage() {\n if (!this.state) {\n return 'License not verified';\n }\n switch (this.state.status) {\n case 'valid':\n if (this.state.inGracePeriod) {\n return `License expired but in grace period (${Math.abs(this.state.daysRemaining || 0)} days overdue)`;\n }\n return `License valid (${this.state.daysRemaining} days remaining)`;\n case 'eval':\n return `Evaluation license (${this.state.daysRemaining} days remaining)`;\n case 'expired':\n return `License expired ${Math.abs(this.state.daysRemaining || 0)} days ago`;\n case 'missing':\n return 'No license key provided';\n case 'invalid':\n return `Invalid license: ${this.state.error}`;\n default:\n return 'Unknown license status';\n }\n }\n /**\n * Force re-verification (clears cached state)\n */\n async reVerify() {\n this.state = null;\n this.hasLoggedWarning = false;\n this.loggedMissingFeatures.clear();\n return this.verify();\n }\n /**\n * Check if a specific feature is licensed\n *\n * @param feature - Feature name to check\n * @returns true if feature is present in license\n */\n hasFeature(feature) {\n if (!this.state?.payload)\n return false;\n return this.state.payload.features.includes(feature);\n }\n /**\n * Get all licensed features\n */\n getFeatures() {\n return this.state?.payload?.features || [];\n }\n /**\n * Check if client feature is licensed\n * Logs warning if not present (only once)\n *\n * @returns true if cybernetic-chatbot-client feature is present\n */\n checkClientFeature() {\n return this.checkFeatureWithLog(REQUIRED_FEATURES.CLIENT, 'CyberneticClient');\n }\n /**\n * Check if agentic feature is licensed\n * Logs warning if not present (only once)\n * Call this when attempting to use agentic capabilities\n *\n * @returns true if agentic feature is present\n */\n checkAgenticFeature() {\n return this.checkFeatureWithLog(REQUIRED_FEATURES.AGENTIC, 'Agentic capabilities');\n }\n /**\n * Check a feature and log if missing (only logs once per feature)\n */\n checkFeatureWithLog(feature, displayName) {\n // If license is missing/invalid, allow through (handled by other checks)\n if (!this.state?.payload) {\n return true;\n }\n const hasFeature = this.state.payload.features.includes(feature);\n if (!hasFeature && !this.loggedMissingFeatures.has(feature)) {\n this.loggedMissingFeatures.add(feature);\n this.logMissingFeature(feature, displayName);\n }\n return hasFeature;\n }\n /**\n * Log missing feature warning with available features\n */\n logMissingFeature(missingFeature, displayName) {\n const availableFeatures = this.getFeatures();\n const plan = this.state?.payload?.plan || 'unknown';\n console.warn(`[Cybernetic License] ${displayName} requires the '${missingFeature}' feature, ` +\n `which is not included in your license.`);\n console.info(`[Cybernetic License] Current license plan: ${plan}`);\n console.info(`[Cybernetic License] Licensed features: ${availableFeatures.length > 0\n ? availableFeatures.join(', ')\n : '(none)'}`);\n console.info(`[Cybernetic License] To add this feature, upgrade your license at https://astermind.ai/license`);\n }\n /**\n * Log license status based on enforcement mode\n */\n logLicenseStatus() {\n if (!this.state)\n return;\n const prefix = '[Cybernetic License]';\n switch (this.state.status) {\n case 'valid':\n if (this.state.inGracePeriod) {\n console.warn(`${prefix} License expired but in grace period. ` +\n `Please renew at https://astermind.ai/license`);\n }\n else if (this.state.daysRemaining !== null && this.state.daysRemaining <= 30) {\n console.info(`${prefix} License expires in ${this.state.daysRemaining} days`);\n }\n break;\n case 'eval':\n console.info(`${prefix} Evaluation license - ${this.state.daysRemaining} days remaining`);\n break;\n case 'expired':\n console.error(`${prefix} License expired. ` +\n `Enforcement mode: ${this.enforcementMode}. ` +\n `Renew at https://astermind.ai/license`);\n break;\n case 'missing':\n console.warn(`${prefix} No license key provided. ` +\n `Enforcement mode: ${this.enforcementMode}. ` +\n `Get a license at https://astermind.ai/license`);\n break;\n case 'invalid':\n console.error(`${prefix} Invalid license: ${this.state.error}. ` +\n `Enforcement mode: ${this.enforcementMode}`);\n break;\n }\n }\n /**\n * Log development-only warning\n */\n logDevelopmentWarning() {\n console.warn('[Cybernetic License] Running in development mode with ' +\n `${this.state?.status || 'unknown'} license. ` +\n 'In production, a warning will be appended to chatbot responses. ' +\n 'Get a license at https://astermind.ai/license');\n }\n}\n/**\n * Create a pre-configured license manager and verify immediately\n */\nasync function createLicenseManager(config) {\n const manager = new LicenseManager(config);\n await manager.verify();\n return manager;\n}\n\n// src/CyberneticClient.ts\n// Main client with API calls and offline fallback\n/**\n * Cybernetic Chatbot Client\n *\n * Provides API access to AsterMind backend with offline fallback.\n * Always returns a response, never throws exceptions.\n */\nclass CyberneticClient {\n constructor(config) {\n this.status = 'connecting';\n this.lastError = null;\n // Maintenance mode tracking (ADR-200)\n this.systemSettings = null;\n this.settingsLastChecked = 0;\n this.SETTINGS_CHECK_INTERVAL = 300000; // 5 minutes\n // Agentic capabilities (optional, registered separately via registerAgenticCapabilities)\n this.agenticCapabilities = null;\n // Offline vector storage\n this.offlineStorage = null;\n // Omega RAG (optional, loaded dynamically)\n this.omegaRAG = null;\n // Track if offline warning has been shown\n this.offlineWarningShown = false;\n // Apply defaults\n this.config = {\n apiUrl: config.apiUrl,\n apiKey: config.apiKey,\n fallback: {\n enabled: config.fallback?.enabled ?? true,\n cacheMaxAge: config.fallback?.cacheMaxAge ?? 86400000, // 24 hours\n cacheOnConnect: config.fallback?.cacheOnConnect ?? true,\n cacheStorage: config.fallback?.cacheStorage ?? 'indexeddb'\n },\n retry: {\n maxRetries: config.retry?.maxRetries ?? 2,\n initialDelay: config.retry?.initialDelay ?? 1000,\n exponentialBackoff: config.retry?.exponentialBackoff ?? true\n },\n agentic: config.agentic ?? null,\n offline: config.offline ?? null,\n sitemap: config.sitemap ?? null,\n sources: {\n enabled: config.sources?.enabled ?? true,\n showSummary: config.sources?.showSummary ?? true,\n showDownload: config.sources?.showDownload ?? true,\n includeFullContent: config.sources?.includeFullContent ?? false,\n maxSources: config.sources?.maxSources ?? 5\n },\n onStatusChange: config.onStatusChange || (() => { }),\n onError: config.onError || (() => { })\n };\n // Initialize components\n this.apiClient = new ApiClient(this.config.apiUrl, this.config.apiKey);\n this.cache = new CyberneticCache({\n storage: this.config.fallback.cacheStorage,\n maxAge: this.config.fallback.cacheMaxAge\n });\n this.localRAG = new CyberneticLocalRAG();\n // Initialize license manager\n this.licenseManager = new LicenseManager({\n licenseKey: config.licenseKey\n });\n // Verify license asynchronously (non-blocking)\n this.licenseManager.verify().then(() => {\n // Check client feature after verification\n this.licenseManager.checkClientFeature();\n }).catch(() => {\n // License verification errors are handled internally\n });\n // Monitor connection status\n this.monitorConnection();\n // Pre-cache documents on init if enabled\n if (this.config.fallback.enabled && this.config.fallback.cacheOnConnect) {\n this.syncCache().catch(() => {\n // Silent failure on init - cache may be stale but usable\n });\n }\n // Initialize offline vector support if configured\n if (this.config.offline?.enabled) {\n this.initializeOffline(this.config.offline).catch((error) => {\n console.warn('[Cybernetic] Failed to initialize offline vectors:', error);\n });\n }\n }\n // ==================== AGENTIC CAPABILITIES ====================\n /**\n * Register agentic capabilities\n * Called by registerAgenticCapabilities() helper from agentic module\n *\n * @example\n * ```typescript\n * import { CyberneticClient, registerAgenticCapabilities } from '@astermind/cybernetic-chatbot-client';\n * const client = new CyberneticClient(config);\n * registerAgenticCapabilities(client);\n * ```\n */\n registerAgentic(capabilities) {\n this.agenticCapabilities = capabilities;\n console.log('[Cybernetic] Agentic capabilities registered');\n }\n /**\n * Check if agentic capabilities are available and enabled\n */\n isAgenticEnabled() {\n if (this.agenticCapabilities === null || this.config.agentic?.enabled !== true) {\n return false;\n }\n // Check for agentic feature in license (logs warning if missing)\n this.licenseManager.checkAgenticFeature();\n return true;\n }\n /**\n * Get registered agentic capabilities (for advanced use)\n */\n getAgenticCapabilities() {\n return this.agenticCapabilities;\n }\n /**\n * Get agentic configuration\n */\n getAgenticConfig() {\n return this.config.agentic;\n }\n // ==================== SOURCES CONFIGURATION ====================\n /**\n * Get sources configuration\n * Returns merged configuration with all defaults applied\n */\n getSourcesConfig() {\n return { ...this.config.sources };\n }\n /**\n * Check if a specific source feature is available\n * Takes into account configuration, connection status, and requirements\n *\n * @param feature - The feature to check ('summary' or 'download')\n * @returns Whether the feature is available\n */\n isSourceFeatureAvailable(feature) {\n if (!this.config.sources.enabled) {\n return false;\n }\n if (feature === 'summary') {\n return this.config.sources.showSummary;\n }\n if (feature === 'download') {\n // Download only works when online\n return this.config.sources.showDownload && this.status === 'online';\n }\n return false;\n }\n /**\n * Classify user message intent for agentic action\n * Only works if agentic capabilities are registered and enabled\n *\n * @param message - User's message to classify\n * @returns Intent classification or null if agentic not available\n */\n classifyIntent(message) {\n if (!this.isAgenticEnabled() || !this.agenticCapabilities) {\n return null;\n }\n // Create agent instance if needed for classification\n const agentConfig = this.config.agentic;\n const AgentClass = this.agenticCapabilities.agent;\n const agent = new AgentClass(agentConfig);\n return agent.interpretIntent(message);\n }\n /**\n * Execute an agent action\n * Only works if agentic capabilities are registered and enabled\n *\n * @param action - Action to execute\n * @returns Action result or error\n */\n async executeAction(action) {\n if (!this.isAgenticEnabled() || !this.agenticCapabilities) {\n return {\n success: false,\n message: 'Agentic capabilities not enabled'\n };\n }\n const agentConfig = this.config.agentic;\n const AgentClass = this.agenticCapabilities.agent;\n const agent = new AgentClass(agentConfig);\n return agent.executeAction(action);\n }\n /**\n * Smart ask - checks for action intent first, then falls back to RAG\n * Combines agentic classification with standard RAG query\n *\n * @param message - User's message\n * @param options - Optional request configuration\n * @returns Object containing response, action, and/or action result\n */\n async smartAsk(message, options) {\n // Check for actionable intent if agentic is enabled\n const classification = this.classifyIntent(message);\n if (classification && classification.action && !classification.shouldEscalate) {\n // High confidence action detected\n if (this.config.agentic?.requireConfirmation !== false) {\n // Return action for UI confirmation without executing\n return { action: classification.action };\n }\n // Auto-execute if confirmation not required\n const result = await this.executeAction(classification.action);\n return {\n action: classification.action,\n actionResult: result\n };\n }\n // Low confidence or no action - proceed to RAG\n const response = await this.ask(message, options);\n return { response };\n }\n // ==================== OFFLINE VECTOR METHODS ====================\n /**\n * Initialize offline vector support\n * Loads pre-exported vectors from URL or inline data\n */\n async initializeOffline(config) {\n const storageMode = config.storageMode ?? 'hybrid';\n const maxAge = config.cacheMaxAge ?? 604800000; // 7 days default\n // Initialize IndexedDB storage if not memory-only\n if (storageMode !== 'memory') {\n this.offlineStorage = new CyberneticOfflineStorage();\n }\n // Check for cached vectors first\n if (this.offlineStorage && storageMode !== 'memory') {\n const cacheId = 'default';\n if (await this.offlineStorage.isValid(cacheId, maxAge)) {\n console.log('[Cybernetic] Loading vectors from IndexedDB cache');\n const cached = await this.offlineStorage.retrieve(cacheId);\n if (cached) {\n await this.localRAG.loadFromExport(cached);\n console.log('[Cybernetic] Loaded vectors from IndexedDB cache');\n return;\n }\n }\n }\n // Try to load from URL\n if (config.vectorFileUrl) {\n try {\n const response = await fetch(config.vectorFileUrl);\n if (!response.ok) {\n throw new Error(`Failed to fetch vectors: ${response.status}`);\n }\n const exportData = await response.json();\n // Store in IndexedDB for future use\n if (this.offlineStorage && storageMode !== 'memory') {\n await this.offlineStorage.store('default', exportData);\n }\n // Load into local RAG\n await this.localRAG.loadFromExport(exportData);\n // Initialize Omega if configured\n if (config.omega?.enabled) {\n await this.initializeOmega(config);\n }\n console.log('[Cybernetic] Loaded vectors from URL:', config.vectorFileUrl);\n return;\n }\n catch (error) {\n console.error('[Cybernetic] Failed to load offline vectors from URL:', error);\n }\n }\n // Try inline vector data\n if (config.vectorData) {\n await this.localRAG.loadFromExport(config.vectorData);\n // Initialize Omega if configured\n if (config.omega?.enabled) {\n await this.initializeOmega(config);\n }\n console.log('[Cybernetic] Loaded inline vector data');\n return;\n }\n // No vectors available - log warning (one-time)\n if (!this.offlineWarningShown) {\n console.warn('[Cybernetic] Offline functionality is enabled but no vectors are loaded. ' +\n 'Offline responses will be limited. To enable full offline functionality, ' +\n 'export vectors from the AsterMind admin panel and configure the vectorFileUrl ' +\n 'or vectorData option.');\n this.offlineWarningShown = true;\n }\n }\n /**\n * Initialize Omega RAG module\n */\n async initializeOmega(config) {\n if (!config.omega?.enabled)\n return;\n try {\n // Dynamic import to support tree-shaking\n const { OmegaOfflineRAG } = await Promise.resolve().then(function () { return OmegaOfflineRAG$1; });\n this.omegaRAG = new OmegaOfflineRAG({\n reranking: config.omega.reranking,\n topK: 5,\n verbose: false\n });\n // Load model from URL or inline data\n if (config.omega.modelUrl) {\n await this.omegaRAG.loadModelFromUrl(config.omega.modelUrl);\n }\n else if (config.omega.modelData) {\n // Convert our type to the astermind type\n await this.omegaRAG.loadModel(config.omega.modelData);\n }\n console.log('[Cybernetic] Omega RAG initialized');\n }\n catch (error) {\n console.warn('[Cybernetic] Failed to initialize Omega RAG:', error);\n this.omegaRAG = null;\n }\n }\n /**\n * Manually reload offline vectors\n * Clears cache and re-fetches from configured source\n */\n async reloadOfflineVectors() {\n if (!this.config.offline?.enabled) {\n console.warn('[Cybernetic] Offline mode is not enabled');\n return;\n }\n // Clear existing data\n this.localRAG.reset();\n if (this.offlineStorage) {\n await this.offlineStorage.clear();\n }\n if (this.omegaRAG) {\n this.omegaRAG.clear();\n }\n // Re-initialize\n await this.initializeOffline(this.config.offline);\n }\n /**\n * Check if Omega offline RAG is enabled and ready\n */\n isOmegaOfflineEnabled() {\n return this.omegaRAG?.isReady() ?? false;\n }\n /**\n * Get offline model info (if Omega is loaded)\n */\n getOfflineModelInfo() {\n return this.omegaRAG?.getModelInfo() ?? null;\n }\n /**\n * Get local RAG export status\n */\n getLocalRAGStatus() {\n return this.localRAG.getExportStatus();\n }\n /**\n * Get offline storage instance for advanced operations\n */\n getOfflineStorage() {\n return this.offlineStorage;\n }\n // ==================== CORE METHODS ====================\n /**\n * Send a message to the chatbot\n * Always returns a response, never throws\n *\n * @param message - User's message\n * @param options - Optional request configuration\n */\n async ask(message, options) {\n // Validate input\n if (!message || typeof message !== 'string') {\n return this.createErrorResponse('Message is required', 'none');\n }\n // Check maintenance mode before API call (ADR-200)\n const settings = await this.checkSystemStatus();\n if (settings.maintenanceMode || settings.forceOfflineClients) {\n console.log('[Cybernetic] Maintenance mode active, using cached data');\n // Return maintenance response if no cached data\n if (!this.isCacheValid()) {\n return {\n reply: settings.maintenanceMessage ||\n 'The service is currently under maintenance. Please try again later.',\n confidence: 'none',\n sources: [],\n offline: true,\n degradedReason: 'Maintenance mode active, no valid cache available'\n };\n }\n // Use local fallback during maintenance\n return await this.fallbackAsk(message);\n }\n // Try API first\n try {\n const response = await this.apiWithRetry(message, options);\n this.setStatus('online');\n // Process response through license manager (may add warning in production)\n const processedReply = this.licenseManager.processResponse(response.reply);\n return {\n reply: processedReply,\n confidence: 'high',\n sources: response.sources || [],\n offline: false,\n sessionId: response.sessionId\n };\n }\n catch (error) {\n const omegaError = this.normalizeError(error);\n this.lastError = omegaError;\n this.config.onError(omegaError);\n // Rate limit - don't fallback, return error response\n if (omegaError.code === 'RATE_LIMIT') {\n return {\n reply: 'I\\'m receiving too many requests right now. Please try again in a moment.',\n confidence: 'none',\n sources: [],\n offline: false,\n retryAfter: omegaError.retryAfter\n };\n }\n // Try fallback if enabled and not explicitly skipped\n if (this.config.fallback.enabled && !options?.skipFallback) {\n return await this.fallbackAsk(message);\n }\n // No fallback - return error response\n return this.createErrorResponse('Unable to connect to the chatbot service. Please try again later.', 'none', omegaError.retryAfter);\n }\n }\n /**\n * Send a message with streaming response\n *\n * @param message - User's message\n * @param callbacks - Streaming event callbacks\n * @param options - Optional request configuration\n */\n async askStream(message, callbacks, options) {\n if (!message || typeof message !== 'string') {\n callbacks.onError?.({\n code: 'LOCAL_RAG_ERROR',\n message: 'Message is required'\n });\n return;\n }\n // Check maintenance mode before API call (ADR-200)\n const settings = await this.checkSystemStatus();\n if (settings.maintenanceMode || settings.forceOfflineClients) {\n console.log('[Cybernetic] Maintenance mode active, falling back to offline');\n const response = await this.fallbackAsk(message);\n callbacks.onComplete?.(response);\n return;\n }\n try {\n await this.apiClient.chatStream(message, {\n sessionId: options?.sessionId,\n context: options?.context,\n onToken: callbacks.onToken,\n onSources: callbacks.onSources,\n onComplete: (data) => {\n this.setStatus('online');\n // Process response through license manager (may add warning in production)\n const processedReply = this.licenseManager.processResponse(data.fullText);\n callbacks.onComplete?.({\n reply: processedReply,\n confidence: 'high',\n sources: data.sources || [],\n offline: false,\n sessionId: data.sessionId\n });\n },\n onError: (error) => {\n const omegaError = this.normalizeError(error);\n this.config.onError(omegaError);\n callbacks.onError?.(omegaError);\n }\n });\n }\n catch (error) {\n const omegaError = this.normalizeError(error);\n this.lastError = omegaError;\n this.config.onError(omegaError);\n // Fall back to non-streaming if enabled\n if (this.config.fallback.enabled && !options?.skipFallback) {\n const response = await this.fallbackAsk(message);\n callbacks.onComplete?.(response);\n }\n else {\n callbacks.onError?.(omegaError);\n }\n }\n }\n /**\n * Sync documents to local cache for offline use\n */\n async syncCache() {\n try {\n const lastSync = await this.cache.getLastSync();\n const docs = await this.apiClient.getGeneralDocs(lastSync);\n if (docs.length > 0) {\n await this.cache.store(docs);\n await this.localRAG.index(docs);\n console.log(`[Cybernetic] Cache synced: ${docs.length} documents`);\n }\n this.setStatus('online');\n }\n catch (error) {\n console.warn('[Cybernetic] Cache sync failed:', error);\n // Don't change status - we may still have cached data\n }\n }\n /**\n * Get current connection status including system settings\n */\n getStatus() {\n return {\n connection: this.status,\n cache: this.cache.getStatus(),\n lastError: this.lastError,\n systemSettings: this.systemSettings,\n license: this.licenseManager.getState()\n };\n }\n /**\n * Get license manager for advanced license operations\n */\n getLicenseManager() {\n return this.licenseManager;\n }\n /**\n * Clear local cache\n */\n async clearCache() {\n await this.cache.clear();\n this.localRAG.reset();\n }\n /**\n * Manually check if backend is reachable\n */\n async checkConnection() {\n try {\n await this.apiClient.getStatus();\n this.setStatus('online');\n return true;\n }\n catch {\n this.setStatus('offline');\n return false;\n }\n }\n // ==================== MAINTENANCE MODE METHODS (ADR-200) ====================\n /**\n * Check system status including maintenance mode\n * Called periodically and before API calls\n */\n async checkSystemStatus() {\n // Use cached settings if recently checked\n if (this.systemSettings &&\n Date.now() - this.settingsLastChecked < this.SETTINGS_CHECK_INTERVAL) {\n return this.systemSettings;\n }\n try {\n const status = await this.apiClient.getStatus();\n // Extract system settings from status response\n this.systemSettings = {\n cacheRetentionHours: status.systemSettings?.cacheRetentionHours ?? 168,\n maintenanceMode: status.systemSettings?.maintenanceMode ?? false,\n maintenanceMessage: status.systemSettings?.maintenanceMessage,\n forceOfflineClients: status.systemSettings?.forceOfflineClients ?? false\n };\n this.settingsLastChecked = Date.now();\n return this.systemSettings;\n }\n catch {\n // On error, return cached settings or safe defaults\n return this.systemSettings || {\n cacheRetentionHours: 168,\n maintenanceMode: false,\n forceOfflineClients: false\n };\n }\n }\n /**\n * Check if maintenance mode is active\n */\n isMaintenanceMode() {\n return this.systemSettings?.maintenanceMode ?? false;\n }\n /**\n * Get maintenance message if in maintenance mode\n */\n getMaintenanceMessage() {\n return this.systemSettings?.maintenanceMessage;\n }\n /**\n * Validate cache using server-configured retention hours\n */\n isCacheValid() {\n const cacheStatus = this.cache.getStatus();\n if (!cacheStatus.lastSyncAt)\n return false;\n // Use server-configured retention or default 168 hours (7 days)\n const retentionHours = this.systemSettings?.cacheRetentionHours || 168;\n const retentionMs = retentionHours * 60 * 60 * 1000;\n const lastSyncTime = new Date(cacheStatus.lastSyncAt).getTime();\n return Date.now() - lastSyncTime < retentionMs;\n }\n // ==================== PRIVATE METHODS ====================\n /**\n * API call with retry logic\n */\n async apiWithRetry(message, options) {\n const { maxRetries, initialDelay, exponentialBackoff } = this.config.retry;\n let lastError = null;\n for (let attempt = 0; attempt <= maxRetries; attempt++) {\n try {\n return await this.apiClient.chat(message, {\n sessionId: options?.sessionId,\n context: options?.context\n });\n }\n catch (error) {\n lastError = error;\n // Don't retry on auth or rate limit errors\n const omegaError = this.normalizeError(error);\n if (omegaError.code === 'AUTH_ERROR' || omegaError.code === 'RATE_LIMIT') {\n throw error;\n }\n // Wait before retry\n if (attempt < maxRetries) {\n const delay = exponentialBackoff\n ? initialDelay * Math.pow(2, attempt)\n : initialDelay;\n await this.sleep(delay);\n }\n }\n }\n throw lastError;\n }\n /**\n * Fallback to local RAG processing\n * Uses Omega RAG if available, falls back to simple TF-IDF\n */\n async fallbackAsk(message) {\n this.setStatus('offline');\n // Try Omega RAG first if available\n if (this.omegaRAG?.isReady()) {\n try {\n const omegaResult = await this.omegaRAG.ask(message);\n if (!omegaResult.degraded) {\n // Process response through license manager\n const processedReply = this.licenseManager.processResponse(omegaResult.answer);\n return {\n reply: processedReply,\n confidence: omegaResult.confidence,\n sources: omegaResult.sources.map(s => ({\n title: s.heading,\n snippet: s.content.substring(0, 200) + '...',\n relevance: s.score\n })),\n offline: true,\n degradedReason: 'Omega hybrid retrieval (offline)'\n };\n }\n // If Omega degraded, fall through to simple RAG\n }\n catch (error) {\n console.warn('[Cybernetic] Omega RAG failed, falling back to TF-IDF:', error);\n // Fall through to simple RAG\n }\n }\n // Check if local RAG has pre-loaded vectors from export\n const localRAGStatus = this.localRAG.getExportStatus();\n if (localRAGStatus.loaded && localRAGStatus.documentCount > 0) {\n try {\n const result = await this.localRAG.ask(message);\n // Determine confidence based on match quality\n let confidence = 'medium';\n if (result.topScore < 0.3) {\n confidence = 'low';\n }\n else if (result.topScore > 0.7) {\n confidence = 'medium'; // Never 'high' for offline\n }\n // Process response through license manager\n const processedReply = this.licenseManager.processResponse(result.answer);\n return {\n reply: processedReply,\n confidence,\n sources: result.sources.map(s => ({\n title: s.title,\n snippet: s.snippet,\n relevance: s.score\n })),\n offline: true,\n degradedReason: localRAGStatus.loadedFromExport\n ? 'Using pre-exported vectors (offline)'\n : 'Processed locally with TF-IDF'\n };\n }\n catch (error) {\n console.error('[Cybernetic] Local RAG error:', error);\n // Fall through to cache-based fallback\n }\n }\n // Check if we have cached documents (original sync-based fallback)\n const cacheStatus = this.cache.getStatus();\n if (cacheStatus.documentCount === 0 && !localRAGStatus.loaded) {\n return {\n reply: 'I\\'m currently offline and don\\'t have any cached information. Please check your connection and try again.',\n confidence: 'none',\n sources: [],\n offline: true,\n degradedReason: 'No cached documents or offline vectors available'\n };\n }\n try {\n // Get documents from cache\n const docs = await this.cache.retrieve();\n // Ensure local RAG is indexed\n if (!this.localRAG.isIndexed()) {\n await this.localRAG.index(docs);\n }\n // Process with local RAG\n const result = await this.localRAG.ask(message);\n // Determine confidence based on match quality\n let confidence = 'medium';\n if (result.topScore < 0.3) {\n confidence = 'low';\n }\n else if (result.topScore > 0.7) {\n confidence = 'medium'; // Never 'high' for offline\n }\n // Process response through license manager (may add warning in production)\n const processedReply = this.licenseManager.processResponse(result.answer);\n return {\n reply: processedReply,\n confidence,\n sources: result.sources.map(s => ({\n title: s.title,\n snippet: s.snippet,\n relevance: s.score\n })),\n offline: true,\n degradedReason: cacheStatus.isStale\n ? 'Using stale cached data'\n : 'Processed locally without server'\n };\n }\n catch (error) {\n console.error('[Cybernetic] Local RAG error:', error);\n return {\n reply: 'I\\'m having trouble processing your request offline. Please try again when you\\'re back online.',\n confidence: 'none',\n sources: [],\n offline: true,\n degradedReason: 'Local RAG processing failed'\n };\n }\n }\n /**\n * Monitor browser online/offline events\n */\n monitorConnection() {\n if (typeof window !== 'undefined') {\n window.addEventListener('online', () => {\n this.syncCache().catch(() => { });\n });\n window.addEventListener('offline', () => {\n this.setStatus('offline');\n });\n // Set initial status\n if (!navigator.onLine) {\n this.setStatus('offline');\n }\n }\n }\n /**\n * Update connection status and notify listeners\n */\n setStatus(status) {\n if (this.status !== status) {\n this.status = status;\n this.config.onStatusChange(status);\n }\n }\n /**\n * Normalize various error types to CyberneticError\n */\n normalizeError(error) {\n if (error instanceof Error) {\n // Check for specific error types\n if (error.message.includes('401') || error.message.includes('Unauthorized')) {\n return {\n code: 'AUTH_ERROR',\n message: 'Invalid or expired API key',\n originalError: error\n };\n }\n if (error.message.includes('429') || error.message.includes('Rate limit')) {\n const match = error.message.match(/retry after (\\d+)/i);\n return {\n code: 'RATE_LIMIT',\n message: 'Rate limit exceeded',\n retryAfter: match ? parseInt(match[1], 10) : 60,\n originalError: error\n };\n }\n if (error.message.includes('5') || error.message.includes('Server')) {\n return {\n code: 'SERVER_ERROR',\n message: 'Server error occurred',\n originalError: error\n };\n }\n return {\n code: 'NETWORK_ERROR',\n message: error.message || 'Network error',\n originalError: error\n };\n }\n return {\n code: 'NETWORK_ERROR',\n message: 'Unknown error occurred'\n };\n }\n /**\n * Create standardized error response\n */\n createErrorResponse(message, confidence, retryAfter) {\n return {\n reply: message,\n confidence,\n sources: [],\n offline: false,\n retryAfter\n };\n }\n /**\n * Async sleep utility\n */\n sleep(ms) {\n return new Promise(resolve => setTimeout(resolve, ms));\n }\n}\n\n// src/config.ts\n// Configuration loading and validation\n/** Default API URL when not specified */\nconst DEFAULT_API_URL = 'https://api.astermind.ai';\n/**\n * Validate configuration\n */\nfunction validateConfig(config) {\n if (!config || typeof config !== 'object') {\n throw new Error('Config must be an object');\n }\n const c = config;\n if (!c.apiUrl || typeof c.apiUrl !== 'string') {\n throw new Error('apiUrl is required and must be a string');\n }\n if (!c.apiKey || typeof c.apiKey !== 'string') {\n throw new Error('apiKey is required and must be a string');\n }\n if (!c.apiKey.startsWith('am_')) {\n throw new Error('apiKey must start with \"am_\"');\n }\n return true;\n}\n/**\n * Load config from Node.js process.env (for bundlers that replace process.env)\n */\nfunction loadFromProcessEnv() {\n // Check if process.env exists (Node.js or bundler-injected)\n if (typeof process === 'undefined' || !process.env) {\n return null;\n }\n // Check for ASTERMIND_RAG_* env vars (non-prefixed, for Node.js/server environments)\n const apiKey = process.env.ASTERMIND_RAG_API_KEY;\n const apiUrl = process.env.ASTERMIND_RAG_API_SERVER_URL;\n if (apiKey) {\n return {\n apiKey,\n apiUrl: apiUrl || DEFAULT_API_URL,\n _source: 'env'\n };\n }\n // Check for CRA-style REACT_APP_* env vars\n const craApiKey = process.env.REACT_APP_ASTERMIND_RAG_API_KEY;\n const craApiUrl = process.env.REACT_APP_ASTERMIND_RAG_API_SERVER_URL;\n if (craApiKey) {\n return {\n apiKey: craApiKey,\n apiUrl: craApiUrl || DEFAULT_API_URL,\n _source: 'env'\n };\n }\n return null;\n}\n/**\n * Load config from Vite's import.meta.env (browser environment)\n * Note: This only works at build time when Vite replaces the variables\n */\nfunction loadFromViteEnv() {\n // Check for window.__ASTERMIND_CONFIG__ (SSR-injected config)\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const injected = window.__ASTERMIND_CONFIG__;\n if (injected && typeof injected === 'object' && injected.apiKey) {\n return {\n ...injected,\n apiUrl: injected.apiUrl || DEFAULT_API_URL,\n _source: 'vite'\n };\n }\n }\n // Check for Vite's import.meta.env (replaced at build time)\n // Note: TypeScript doesn't know about import.meta.env, so we use a try-catch\n try {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const importMeta = globalThis.import?.meta?.env;\n if (importMeta) {\n const apiKey = importMeta.VITE_ASTERMIND_RAG_API_KEY;\n const apiUrl = importMeta.VITE_ASTERMIND_RAG_API_SERVER_URL;\n if (apiKey) {\n return {\n apiKey,\n apiUrl: apiUrl || DEFAULT_API_URL,\n _source: 'vite'\n };\n }\n }\n }\n catch {\n // import.meta not available in this environment\n }\n return null;\n}\n/**\n * Load config from window.astermindConfig global object\n */\nfunction loadFromGlobalObject() {\n if (typeof window === 'undefined') {\n return null;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const globalConfig = window.astermindConfig;\n if (globalConfig && typeof globalConfig === 'object' && globalConfig.apiKey) {\n return {\n ...globalConfig,\n apiUrl: globalConfig.apiUrl || DEFAULT_API_URL,\n _source: 'window'\n };\n }\n return null;\n}\n/**\n * Load config from script tag data attributes\n */\nfunction loadFromScriptAttributes() {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return null;\n }\n const script = document.querySelector('script[data-astermind-key]');\n if (script) {\n const apiKey = script.getAttribute('data-astermind-key');\n if (apiKey) {\n return {\n apiKey,\n apiUrl: script.getAttribute('data-astermind-url') || DEFAULT_API_URL,\n _source: 'data-attr'\n };\n }\n }\n return null;\n}\n/**\n * Load config using priority-based fallback chain:\n * 1. Environment variables (process.env - for bundlers/Node.js)\n * 2. Vite environment variables (import.meta.env or window.__ASTERMIND_CONFIG__)\n * 3. Global object (window.astermindConfig)\n * 4. Script data attributes (data-astermind-key, data-astermind-url)\n *\n * @param options - Configuration options\n * @param options.throwOnMissingKey - If true (default), throws when no API key found. If false, returns null and logs a warning.\n * @returns Configuration object or null if not found and throwOnMissingKey is false\n */\nfunction loadConfig(options = {}) {\n const { throwOnMissingKey = true } = options;\n // Priority 1: Environment variables (Node.js/bundler)\n const envConfig = loadFromProcessEnv();\n if (envConfig) {\n return envConfig;\n }\n // Priority 2: Vite environment variables / SSR-injected config\n const viteConfig = loadFromViteEnv();\n if (viteConfig) {\n return viteConfig;\n }\n // Priority 3: Global object (window.astermindConfig)\n const globalConfig = loadFromGlobalObject();\n if (globalConfig) {\n validateConfig(globalConfig);\n return globalConfig;\n }\n // Priority 4: Script data attributes\n const scriptConfig = loadFromScriptAttributes();\n if (scriptConfig) {\n return scriptConfig;\n }\n // No config found\n if (throwOnMissingKey) {\n throw new Error('AsterMind API key is required. Configure using one of these methods:\\n' +\n ' 1. Set VITE_ASTERMIND_RAG_API_KEY environment variable (Vite)\\n' +\n ' 2. Set REACT_APP_ASTERMIND_RAG_API_KEY environment variable (CRA)\\n' +\n ' 3. Set window.astermindConfig = { apiKey: \"am_...\", apiUrl: \"...\" }\\n' +\n ' 4. Add data-astermind-key attribute to your script tag\\n' +\n ' 5. Pass apiKey directly to createClient() or CyberneticClient constructor');\n }\n else {\n console.warn('[AsterMind] No API key found. Chatbot will not function until configured.');\n return null;\n }\n}\n/**\n * Export individual loaders for testing and advanced use cases\n */\nconst configLoaders = {\n loadFromProcessEnv,\n loadFromViteEnv,\n loadFromGlobalObject,\n loadFromScriptAttributes\n};\n\n// src/agentic/SiteMapDiscovery.ts\n// Multi-source sitemap discovery and merging for agentic navigation\n/**\n * Multi-source sitemap discovery and management\n *\n * Combines routes from three sources:\n * 1. Static props (explicit configuration)\n * 2. Framework auto-discovery (React Router, Vue Router, etc.)\n * 3. Backend API (tenant-specific sitemaps)\n */\nclass SiteMapDiscovery {\n constructor(config, apiUrl, apiKey) {\n this.staticEntries = [];\n this.discoveredEntries = [];\n this.backendEntries = [];\n this.backendCache = null;\n this.isInitialized = false;\n this.initPromise = null;\n this.config = config;\n this.apiUrl = apiUrl;\n this.apiKey = apiKey;\n // Load static entries immediately (synchronous)\n if (config.static) {\n this.staticEntries = this.enhanceEntries(config.static, 'props');\n }\n }\n /**\n * Initialize all sitemap sources\n * Call this during widget initialization or first query based on loadStrategy\n */\n async initialize() {\n if (this.isInitialized)\n return;\n if (this.initPromise)\n return this.initPromise;\n this.initPromise = this.performInitialization();\n await this.initPromise;\n this.isInitialized = true;\n }\n async performInitialization() {\n const tasks = [];\n // Source 2: Framework auto-discovery\n if (this.config.discovery?.enabled !== false) {\n tasks.push(this.discoverFromFramework());\n }\n // Source 3: Backend API\n if (this.config.backend?.enabled !== false && this.config.backend?.endpoint) {\n tasks.push(this.fetchFromBackend());\n }\n const results = await Promise.allSettled(tasks);\n for (const result of results) {\n if (result.status === 'fulfilled') {\n const { entries, source } = result.value;\n if (source === 'discovery') {\n this.discoveredEntries = entries;\n }\n else if (source === 'backend') {\n this.backendEntries = entries;\n }\n }\n else {\n console.warn('[SiteMapDiscovery] Source failed:', result.reason);\n }\n }\n const total = this.staticEntries.length + this.discoveredEntries.length + this.backendEntries.length;\n console.log(`[SiteMapDiscovery] Initialized with ${total} total entries (${this.staticEntries.length} static, ${this.discoveredEntries.length} discovered, ${this.backendEntries.length} backend)`);\n }\n /**\n * Get merged sitemap entries with deduplication\n */\n getMergedEntries() {\n return this.mergeEntries(this.staticEntries, this.discoveredEntries, this.backendEntries);\n }\n /**\n * Convert to legacy AgenticSiteMapEntry format for classifier compatibility\n */\n getLegacyEntries() {\n return this.getMergedEntries().map(e => ({\n path: e.path,\n name: e.name,\n description: e.description,\n params: e.params,\n dynamicParams: e.dynamicParams,\n aliases: e.aliases\n }));\n }\n // ==================== SOURCE 2: FRAMEWORK DISCOVERY ====================\n async discoverFromFramework() {\n const config = this.config.discovery || {};\n const entries = [];\n try {\n // Detect framework if not specified\n const framework = config.framework || this.detectFramework();\n let routes = [];\n switch (framework) {\n case 'react-router':\n routes = this.discoverReactRouter();\n break;\n case 'vue-router':\n routes = this.discoverVueRouter();\n break;\n case 'next':\n routes = this.discoverNextRoutes();\n break;\n case 'angular':\n routes = this.discoverAngularRoutes();\n break;\n default:\n if (config.domFallback !== false) {\n routes = this.discoverFromDOM(config.navSelectors);\n }\n }\n // Transform routes to sitemap entries\n for (const route of routes) {\n // Apply exclude patterns\n if (this.shouldExcludeRoute(route.path, config.excludePaths)) {\n continue;\n }\n // Apply custom transform if provided\n let entry;\n if (config.transformRoute) {\n entry = config.transformRoute(route);\n }\n else {\n entry = this.defaultRouteTransform(route);\n }\n if (entry) {\n entries.push(this.enhanceEntry(entry, 'discovery'));\n }\n }\n console.log(`[SiteMapDiscovery] Discovered ${entries.length} routes from ${framework}`);\n }\n catch (error) {\n console.warn('[SiteMapDiscovery] Framework discovery failed:', error);\n return {\n entries: [],\n source: 'discovery',\n timestamp: Date.now(),\n error: String(error)\n };\n }\n return {\n entries,\n source: 'discovery',\n timestamp: Date.now()\n };\n }\n /**\n * Detect JavaScript framework from global objects\n */\n detectFramework() {\n if (typeof window === 'undefined')\n return 'generic';\n const win = window;\n // React Router v6.4+ data router\n if (win.__REACT_ROUTER_DATA_ROUTER__) {\n return 'react-router';\n }\n // React Router v5 context\n if (win.__reactRouterContext) {\n return 'react-router';\n }\n // Vue Router\n if (win.__VUE_ROUTER__ || win.__VUE_APP__?.$router) {\n return 'vue-router';\n }\n // Next.js\n if (win.__NEXT_DATA__) {\n return 'next';\n }\n // Angular\n if (win.ng || document.querySelector('[ng-version]')) {\n return 'angular';\n }\n return 'generic';\n }\n /**\n * Discover routes from React Router\n */\n discoverReactRouter() {\n const routes = [];\n if (typeof window === 'undefined')\n return routes;\n const win = window;\n // Try React Router v6.4+ data router\n const dataRouter = win.__REACT_ROUTER_DATA_ROUTER__;\n if (dataRouter?.routes) {\n this.extractRoutesFromConfig(dataRouter.routes, routes, '');\n return routes;\n }\n // Fallback: Try to find routes from __REACT_DEVTOOLS_GLOBAL_HOOK__\n // This is less reliable but can work in some cases\n return routes;\n }\n /**\n * Extract routes recursively from React Router config\n */\n extractRoutesFromConfig(routeConfigs, routes, parentPath) {\n for (const config of routeConfigs) {\n const path = this.normalizePath(parentPath, config.path || '');\n // Extract route info from handle metadata\n const route = {\n path,\n name: config.handle?.name || config.handle?.title || config.id,\n meta: config.handle || {},\n children: []\n };\n // Only include routes with paths (skip layout routes without path)\n if (config.path || config.index) {\n routes.push(route);\n }\n // Recursively process children\n if (config.children) {\n this.extractRoutesFromConfig(config.children, routes, path);\n }\n }\n }\n /**\n * Discover routes from Vue Router\n */\n discoverVueRouter() {\n const routes = [];\n if (typeof window === 'undefined')\n return routes;\n const win = window;\n // Access Vue Router instance\n const app = win.__VUE_APP__;\n const router = app?.$router || win.__VUE_ROUTER__;\n if (router?.getRoutes) {\n const vueRoutes = router.getRoutes();\n for (const vueRoute of vueRoutes) {\n routes.push({\n path: vueRoute.path,\n name: vueRoute.name?.toString(),\n meta: vueRoute.meta || {},\n component: vueRoute.components?.default?.name\n });\n }\n }\n return routes;\n }\n /**\n * Discover routes from Next.js\n */\n discoverNextRoutes() {\n const routes = [];\n if (typeof window === 'undefined')\n return routes;\n const win = window;\n const nextData = win.__NEXT_DATA__;\n if (!nextData)\n return routes;\n // Next.js doesn't expose routes directly in client\n // We can extract from build manifest if available\n const pages = nextData.buildManifest?.pages || {};\n for (const pagePath of Object.keys(pages)) {\n if (pagePath.startsWith('/_'))\n continue; // Skip internal pages\n routes.push({\n path: pagePath,\n name: this.pathToName(pagePath)\n });\n }\n return routes;\n }\n /**\n * Discover routes from Angular Router\n */\n discoverAngularRoutes() {\n // Angular route discovery requires access to Router service\n // which is typically not exposed globally\n // Users should provide routes via props or backend\n return [];\n }\n /**\n * Discover routes by scanning DOM navigation elements\n */\n discoverFromDOM(selectors) {\n const routes = [];\n if (typeof document === 'undefined')\n return routes;\n const defaultSelectors = [\n 'nav a[href]',\n '[role=\"navigation\"] a[href]',\n '.nav a[href]',\n '.navigation a[href]',\n '.sidebar a[href]',\n '.menu a[href]',\n 'header a[href]'\n ];\n const allSelectors = selectors || defaultSelectors;\n const seen = new Set();\n for (const selector of allSelectors) {\n try {\n const links = document.querySelectorAll(selector);\n for (const link of links) {\n const href = link.getAttribute('href');\n if (!href)\n continue;\n // Only process internal links\n if (href.startsWith('http') && !href.startsWith(window.location.origin)) {\n continue;\n }\n // Normalize path\n const path = href.startsWith('/') ? href : `/${href}`;\n // Skip duplicates, anchors, and special links\n if (seen.has(path) || path.startsWith('/#') || path === '/' || path.includes('javascript:')) {\n continue;\n }\n seen.add(path);\n // Clean path (remove query string and hash)\n const cleanPath = path.split('?')[0].split('#')[0];\n routes.push({\n path: cleanPath,\n name: link.textContent?.trim() || this.pathToName(cleanPath)\n });\n }\n }\n catch (e) {\n // Invalid selector - skip\n }\n }\n return routes;\n }\n // ==================== SOURCE 3: BACKEND API ====================\n async fetchFromBackend() {\n const config = this.config.backend || {};\n const endpoint = config.endpoint || '/api/external/sitemap';\n // Check cache\n if (this.backendCache && Date.now() < this.backendCache.expiresAt) {\n return {\n entries: this.backendCache.entries,\n source: 'backend',\n timestamp: this.backendCache.fetchedAt\n };\n }\n try {\n const url = new URL(endpoint, this.apiUrl);\n // Add query params\n if (config.tenantScoped !== false) {\n url.searchParams.set('tenantScoped', 'true');\n }\n if (config.includeGeneral !== false) {\n url.searchParams.set('includeGeneral', 'true');\n }\n const response = await fetch(url.toString(), {\n method: 'GET',\n headers: {\n 'X-API-Key': this.apiKey,\n 'Content-Type': 'application/json',\n ...config.headers\n }\n });\n if (!response.ok) {\n throw new Error(`Backend sitemap fetch failed: ${response.status}`);\n }\n const data = await response.json();\n const entries = this.transformBackendResponse(data);\n // Update cache\n const ttl = config.cacheTtl || 300000; // 5 minutes default\n this.backendCache = {\n entries,\n fetchedAt: Date.now(),\n expiresAt: Date.now() + ttl\n };\n console.log(`[SiteMapDiscovery] Loaded ${entries.length} routes from backend`);\n return {\n entries,\n source: 'backend',\n timestamp: Date.now()\n };\n }\n catch (error) {\n console.warn('[SiteMapDiscovery] Backend fetch failed:', error);\n return {\n entries: this.backendCache?.entries || [],\n source: 'backend',\n timestamp: Date.now(),\n error: String(error)\n };\n }\n }\n /**\n * Transform backend response to enhanced entries\n */\n transformBackendResponse(data) {\n // Handle array or object with entries/sitemap key\n const rawEntries = Array.isArray(data)\n ? data\n : data.entries || data.sitemap || data.routes || [];\n return rawEntries.map((entry) => this.enhanceEntry({\n path: entry.url || entry.path,\n name: entry.title || entry.name,\n description: entry.description,\n aliases: entry.keywords || entry.aliases,\n params: entry.params,\n dynamicParams: entry.dynamicParams\n }, 'backend'));\n }\n // ==================== MERGE LOGIC ====================\n /**\n * Merge entries from all sources with deduplication\n */\n mergeEntries(...sources) {\n const mergeConfig = this.config.merge || {};\n const priorityOrder = mergeConfig.sourcePriority || ['props', 'backend', 'discovery'];\n const dedupeStrategy = mergeConfig.deduplication || 'path';\n // Create priority map (higher number = higher priority)\n const priorityMap = new Map();\n priorityOrder.forEach((source, index) => {\n priorityMap.set(source, priorityOrder.length - index);\n });\n // Flatten all entries with priority scores\n const allEntries = [];\n for (const sourceEntries of sources) {\n for (const entry of sourceEntries) {\n const priority = priorityMap.get(entry._source || 'props') || 0;\n allEntries.push({ ...entry, _priority: priority });\n }\n }\n // Sort by priority (higher first)\n allEntries.sort((a, b) => (b._priority || 0) - (a._priority || 0));\n // Deduplicate\n const seen = new Map();\n for (const entry of allEntries) {\n let key;\n switch (dedupeStrategy) {\n case 'name':\n key = entry.name.toLowerCase();\n break;\n case 'both':\n key = `${entry.path}|${entry.name.toLowerCase()}`;\n break;\n case 'path':\n default:\n key = this.normalizePath('', entry.path);\n }\n if (!seen.has(key)) {\n seen.set(key, entry);\n }\n else if (mergeConfig.keepNonConflicting !== false) {\n // Merge non-conflicting fields from lower priority entry\n const existing = seen.get(key);\n if (!existing.description && entry.description) {\n existing.description = entry.description;\n }\n if (!existing.aliases?.length && entry.aliases?.length) {\n existing.aliases = entry.aliases;\n }\n }\n }\n return Array.from(seen.values());\n }\n // ==================== HELPERS ====================\n enhanceEntries(entries, source) {\n return entries.map(e => this.enhanceEntry(e, source));\n }\n enhanceEntry(entry, source) {\n return {\n ...entry,\n _source: source,\n _discoveredAt: Date.now()\n };\n }\n /**\n * Default transformation from DiscoveredRoute to AgenticSiteMapEntry\n */\n defaultRouteTransform(route) {\n // Skip routes without meaningful paths\n if (!route.path || route.path === '*' || route.path === '**') {\n return null;\n }\n return {\n path: route.path,\n name: route.name || route.meta?.title || this.pathToName(route.path),\n description: route.meta?.description,\n aliases: route.meta?.keywords || route.meta?.aliases,\n dynamicParams: route.path.includes(':') || route.path.includes('[')\n };\n }\n /**\n * Normalize path by combining parent and child paths\n */\n normalizePath(parent, path) {\n if (!path || path === '/')\n return parent || '/';\n if (path.startsWith('/'))\n return path;\n if (!parent || parent === '/')\n return `/${path}`;\n return `${parent}/${path}`.replace(/\\/+/g, '/');\n }\n /**\n * Convert path to human-readable name\n */\n pathToName(path) {\n const segments = path.split('/').filter(Boolean);\n const last = segments[segments.length - 1] || 'Home';\n return last\n .replace(/[-_]/g, ' ')\n .replace(/\\[.*?\\]/g, '') // Remove Next.js dynamic segments\n .replace(/:/g, '') // Remove React Router params\n .split(' ')\n .map(w => w.charAt(0).toUpperCase() + w.slice(1))\n .join(' ')\n .trim() || 'Page';\n }\n /**\n * Check if route should be excluded based on glob patterns\n */\n shouldExcludeRoute(path, patterns) {\n if (!patterns?.length)\n return false;\n for (const pattern of patterns) {\n // Simple glob matching (supports * wildcard)\n const regex = new RegExp('^' + pattern.replace(/\\*/g, '.*').replace(/\\?/g, '.') + '$');\n if (regex.test(path))\n return true;\n }\n return false;\n }\n /**\n * Force refresh from all sources\n */\n async refresh() {\n this.backendCache = null;\n this.isInitialized = false;\n this.initPromise = null;\n await this.initialize();\n }\n /**\n * Check if initialized\n */\n isReady() {\n return this.isInitialized;\n }\n /**\n * Get current entry counts by source\n */\n getStats() {\n return {\n static: this.staticEntries.length,\n discovered: this.discoveredEntries.length,\n backend: this.backendEntries.length,\n merged: this.getMergedEntries().length\n };\n }\n}\n\n// src/agentic/CyberneticIntentClassifier.ts\n// Hybrid intent classification for agentic capabilities\n/**\n * Action intent patterns with weights\n */\nconst ACTION_PATTERNS = {\n navigate: [\n { pattern: /^(go to|navigate to|take me to|open|show me|bring up)\\s+(.+)/i, type: 'navigate', weight: 0.9 },\n { pattern: /^(i want to see|i need to go to|let me see)\\s+(.+)/i, type: 'navigate', weight: 0.85 },\n { pattern: /^(where is|how do i get to)\\s+(.+)/i, type: 'navigate', weight: 0.6 }, // Lower - might be question\n ],\n fillForm: [\n { pattern: /^(search for|find|look up|search)\\s+(.+)/i, type: 'fillForm', weight: 0.88 },\n { pattern: /^(filter by|set .+ to|change .+ to)\\s+(.+)/i, type: 'fillForm', weight: 0.85 },\n { pattern: /^(enter|type|put)\\s+(.+)\\s+(in|into)\\s+(.+)/i, type: 'fillForm', weight: 0.9 },\n ],\n clickElement: [\n { pattern: /^(click|press|hit|tap)\\s+(the\\s+)?(.+)\\s+(button|link)/i, type: 'clickElement', weight: 0.9 },\n { pattern: /^(submit|send|confirm|save|cancel|delete)/i, type: 'clickElement', weight: 0.85 },\n ],\n triggerModal: [\n { pattern: /^(open|show|display)\\s+(the\\s+)?(.+)\\s+(modal|dialog|popup|window)/i, type: 'triggerModal', weight: 0.9 },\n { pattern: /^(open|show)\\s+(help|settings|preferences|options)/i, type: 'triggerModal', weight: 0.85 },\n ],\n scroll: [\n { pattern: /^(scroll to|jump to|go to)\\s+(the\\s+)?(.+)\\s+(section|area|part)/i, type: 'scroll', weight: 0.85 },\n { pattern: /^(show me|take me to)\\s+(the\\s+)?(bottom|top|end|beginning)/i, type: 'scroll', weight: 0.8 },\n ],\n highlight: [\n { pattern: /^(highlight|show me|point to|where is)\\s+(the\\s+)?(.+)/i, type: 'highlight', weight: 0.7 },\n ],\n custom: [\n { pattern: /^(export|download|refresh|reload|sync)/i, type: 'custom', weight: 0.85 },\n ]\n};\n/**\n * Intent classifier for agentic actions\n *\n * Classifies user messages to determine if they should trigger\n * a local DOM action or be sent to the backend RAG.\n */\nclass CyberneticIntentClassifier {\n /**\n * Create a new intent classifier\n *\n * @param config - Agent configuration\n * @param apiUrl - Backend API URL (for multi-source sitemap)\n * @param apiKey - API key for authentication\n */\n constructor(config, apiUrl = '', apiKey = '') {\n this.categories = [];\n this.topicKeywords = new Map(); // topic -> keywords\n /** Multi-source sitemap discovery instance */\n this.siteMapDiscovery = null;\n this.config = config;\n this.siteMapIndex = new Map();\n this.formIndex = new Map();\n this.modalIndex = new Map();\n // Build indexes for fast lookup\n this.buildIndexes();\n // Initialize multi-source sitemap discovery if configured\n if (config.siteMapConfig) {\n this.siteMapDiscovery = new SiteMapDiscovery(config.siteMapConfig, apiUrl, apiKey);\n }\n }\n /**\n * Build search indexes from configuration\n */\n buildIndexes() {\n // Site map index\n if (this.config.siteMap) {\n for (const entry of this.config.siteMap) {\n // Index by name and aliases\n const keys = [\n entry.name.toLowerCase(),\n entry.path.toLowerCase(),\n ...(entry.aliases || []).map(a => a.toLowerCase())\n ];\n for (const key of keys) {\n this.siteMapIndex.set(key, entry);\n }\n }\n }\n // Form fields index\n if (this.config.forms) {\n for (const [key, field] of Object.entries(this.config.forms)) {\n const keys = [\n key.toLowerCase(),\n field.name.toLowerCase(),\n ...(field.aliases || []).map(a => a.toLowerCase())\n ];\n for (const k of keys) {\n this.formIndex.set(k, field);\n }\n }\n }\n // Modal triggers index\n if (this.config.modals) {\n for (const [key, modal] of Object.entries(this.config.modals)) {\n const keys = [\n key.toLowerCase(),\n modal.id.toLowerCase(),\n ...(modal.aliases || []).map(a => a.toLowerCase())\n ];\n for (const k of keys) {\n this.modalIndex.set(k, modal);\n }\n }\n }\n }\n /**\n * Classify user message intent\n *\n * @param message - User's message to classify\n * @returns Classification result with action and confidence\n */\n classify(message) {\n if (!this.config.enabled) {\n return {\n action: null,\n shouldEscalate: true,\n rawConfidence: 0\n };\n }\n const normalizedMessage = message.trim().toLowerCase();\n // Try each action type\n for (const [actionType, patterns] of Object.entries(ACTION_PATTERNS)) {\n for (const { pattern, weight } of patterns) {\n const match = message.match(pattern);\n if (match) {\n const result = this.buildAction(actionType, match, weight);\n if (result) {\n return result;\n }\n }\n }\n }\n // No pattern match - try fuzzy site map match\n const siteMapResult = this.fuzzyMatchSiteMap(normalizedMessage);\n if (siteMapResult) {\n return siteMapResult;\n }\n // Check for custom action keywords\n const customResult = this.matchCustomAction(normalizedMessage);\n if (customResult) {\n return customResult;\n }\n // No match - escalate to backend\n return {\n action: null,\n shouldEscalate: true,\n rawConfidence: 0,\n matchedPatterns: []\n };\n }\n /**\n * Build action from pattern match\n */\n buildAction(actionType, match, baseWeight) {\n const threshold = this.config.confidenceThreshold ?? 0.8;\n switch (actionType) {\n case 'navigate': {\n const target = this.extractTarget(match);\n const siteMatch = this.findSiteMapMatch(target);\n if (siteMatch) {\n const confidence = baseWeight * siteMatch.similarity;\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'navigate',\n target: siteMatch.entry.path,\n confidence,\n explanation: `Navigate to ${siteMatch.entry.name}`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['navigate', siteMatch.entry.name]\n };\n }\n break;\n }\n case 'fillForm': {\n const target = this.extractTarget(match);\n const { field, value } = this.parseFormIntent(match);\n if (field) {\n const confidence = baseWeight * 0.95;\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'fillForm',\n target: field.selector,\n params: { value },\n confidence,\n explanation: `Fill \"${field.name}\" with \"${value}\"`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['fillForm', field.name]\n };\n }\n // Default to search field\n if (this.config.forms?.search) {\n const confidence = baseWeight * 0.9;\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'fillForm',\n target: this.config.forms.search.selector,\n params: { value: target },\n confidence,\n explanation: `Search for \"${target}\"`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['fillForm', 'search']\n };\n }\n break;\n }\n case 'clickElement': {\n const buttonName = this.extractTarget(match);\n const selector = this.findButtonSelector(buttonName);\n if (selector) {\n const confidence = baseWeight * 0.95;\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'clickElement',\n target: selector,\n confidence,\n explanation: `Click \"${buttonName}\" button`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['clickElement', buttonName]\n };\n }\n break;\n }\n case 'triggerModal': {\n const modalName = this.extractTarget(match);\n const modal = this.findModalConfig(modalName);\n if (modal) {\n const confidence = baseWeight * 0.95;\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'triggerModal',\n target: modal.trigger,\n confidence,\n explanation: `Open ${modal.id} modal`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['triggerModal', modal.id]\n };\n }\n break;\n }\n case 'scroll': {\n const target = this.extractTarget(match);\n const selector = this.findScrollTarget(target);\n if (selector) {\n const confidence = baseWeight * 0.9;\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'scroll',\n target: selector,\n confidence,\n explanation: `Scroll to ${target}`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['scroll', target]\n };\n }\n break;\n }\n case 'highlight': {\n // Highlighting is typically lower confidence\n const target = this.extractTarget(match);\n const selector = this.findElementByDescription(target);\n if (selector) {\n const confidence = baseWeight * 0.85;\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'highlight',\n target: selector,\n confidence,\n explanation: `Highlight ${target}`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['highlight', target]\n };\n }\n break;\n }\n case 'custom': {\n const actionName = match[1]?.toLowerCase();\n if (this.config.customActions?.[actionName]) {\n const confidence = baseWeight * 0.95;\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'custom',\n target: actionName,\n confidence,\n explanation: `Execute ${actionName} action`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['custom', actionName]\n };\n }\n break;\n }\n }\n return null;\n }\n /**\n * Extract target from regex match\n */\n extractTarget(match) {\n // Get the last non-empty capture group\n for (let i = match.length - 1; i >= 1; i--) {\n if (match[i]) {\n return match[i].trim();\n }\n }\n return '';\n }\n /**\n * Strip common articles and filler words for better matching\n */\n stripArticles(text) {\n return text\n .replace(/^(the|a|an|my|our|your|this|that)\\s+/gi, '')\n .replace(/\\s+(page|section|screen|view)$/gi, '')\n .trim();\n }\n /**\n * Find site map match for target string\n */\n findSiteMapMatch(target) {\n const normalizedTarget = target.toLowerCase().replace(/[^a-z0-9\\s]/g, '');\n const strippedTarget = this.stripArticles(normalizedTarget);\n // Exact match (try both with and without articles)\n const exact = this.siteMapIndex.get(normalizedTarget) || this.siteMapIndex.get(strippedTarget);\n if (exact) {\n return { entry: exact, similarity: 1.0 };\n }\n // Fuzzy match using stripped version for better accuracy\n let bestMatch = null;\n let bestScore = 0;\n for (const [key, entry] of this.siteMapIndex) {\n // Compare both original and stripped versions, take the better score\n const score1 = this.calculateSimilarity(normalizedTarget, key);\n const score2 = this.calculateSimilarity(strippedTarget, key);\n const score = Math.max(score1, score2);\n if (score > bestScore && score > 0.5) {\n bestScore = score;\n bestMatch = entry;\n }\n }\n if (bestMatch) {\n return { entry: bestMatch, similarity: bestScore };\n }\n return null;\n }\n /**\n * Fuzzy match against site map for unstructured queries\n */\n fuzzyMatchSiteMap(message) {\n const threshold = this.config.confidenceThreshold ?? 0.8;\n // Look for page/site name mentions\n for (const [key, entry] of this.siteMapIndex) {\n if (message.includes(key)) {\n const confidence = 0.75; // Lower confidence for implicit matches\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'navigate',\n target: entry.path,\n confidence,\n explanation: `Navigate to ${entry.name}`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['fuzzy-sitemap', key]\n };\n }\n }\n return null;\n }\n /**\n * Match custom action keywords\n */\n matchCustomAction(message) {\n if (!this.config.customActions)\n return null;\n const threshold = this.config.confidenceThreshold ?? 0.8;\n for (const actionName of Object.keys(this.config.customActions)) {\n if (message.includes(actionName.toLowerCase())) {\n const confidence = 0.85;\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'custom',\n target: actionName,\n confidence,\n explanation: `Execute ${actionName}`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['custom', actionName]\n };\n }\n }\n return null;\n }\n /**\n * Parse form fill intent\n */\n parseFormIntent(match) {\n const fullText = match[0];\n // Try to extract field name and value\n for (const [, field] of this.formIndex) {\n if (fullText.toLowerCase().includes(field.name.toLowerCase())) {\n // Extract value - everything after the field name\n const valueMatch = fullText.match(new RegExp(`${field.name}[^a-z]*(.+)`, 'i'));\n return {\n field,\n value: valueMatch?.[1]?.trim() || ''\n };\n }\n }\n return { field: null, value: this.extractTarget(match) };\n }\n /**\n * Find button selector by name\n */\n findButtonSelector(name) {\n const normalizedName = name.toLowerCase();\n // Check if we're in a browser environment\n if (typeof document === 'undefined') {\n // Return a generic selector for server-side contexts\n return `button:contains(\"${name}\")`;\n }\n // Common button selectors\n const selectors = [\n `[data-action=\"${normalizedName}\"]`,\n `[aria-label*=\"${normalizedName}\" i]`,\n `.btn-${normalizedName}`,\n `#${normalizedName}-button`,\n `button.${normalizedName}`\n ];\n // Check if any selector matches\n for (const selector of selectors) {\n try {\n if (document.querySelector(selector)) {\n return selector;\n }\n }\n catch {\n // Invalid selector, continue\n }\n }\n // Fallback - try to find any button with matching text\n const buttons = document.querySelectorAll('button, [role=\"button\"], a.btn');\n for (const btn of buttons) {\n if (btn.textContent?.toLowerCase().includes(normalizedName)) {\n return this.generateUniqueSelector(btn);\n }\n }\n return null;\n }\n /**\n * Find modal config by name\n */\n findModalConfig(name) {\n return this.modalIndex.get(name.toLowerCase()) || null;\n }\n /**\n * Find scroll target selector\n */\n findScrollTarget(target) {\n const normalizedTarget = target.toLowerCase();\n // Special cases\n if (normalizedTarget === 'top' || normalizedTarget === 'beginning') {\n return 'body';\n }\n if (normalizedTarget === 'bottom' || normalizedTarget === 'end') {\n return 'body:last-child';\n }\n // Check if we're in a browser environment\n if (typeof document === 'undefined') {\n return `#${normalizedTarget.replace(/\\s+/g, '-')}`;\n }\n // Try to find section by id or class\n const selectors = [\n `#${normalizedTarget.replace(/\\s+/g, '-')}`,\n `[data-section=\"${normalizedTarget}\"]`,\n `.${normalizedTarget.replace(/\\s+/g, '-')}-section`,\n `section[aria-label*=\"${normalizedTarget}\" i]`\n ];\n for (const selector of selectors) {\n try {\n if (document.querySelector(selector)) {\n return selector;\n }\n }\n catch {\n continue;\n }\n }\n return null;\n }\n /**\n * Find element by description\n */\n findElementByDescription(description) {\n const normalizedDesc = description.toLowerCase();\n // Check if we're in a browser environment\n if (typeof document === 'undefined') {\n return `[aria-label*=\"${normalizedDesc}\" i]`;\n }\n // Try common patterns\n const selectors = [\n `[aria-label*=\"${normalizedDesc}\" i]`,\n `[data-testid*=\"${normalizedDesc}\" i]`,\n `[title*=\"${normalizedDesc}\" i]`\n ];\n for (const selector of selectors) {\n try {\n if (document.querySelector(selector)) {\n return selector;\n }\n }\n catch {\n continue;\n }\n }\n return null;\n }\n /**\n * Generate unique selector for an element\n */\n generateUniqueSelector(element) {\n // Try ID first\n if (element.id) {\n return `#${element.id}`;\n }\n // Try data attributes\n if (element.getAttribute('data-testid')) {\n return `[data-testid=\"${element.getAttribute('data-testid')}\"]`;\n }\n // Build path selector\n const path = [];\n let current = element;\n while (current && current !== document.body) {\n let selector = current.tagName.toLowerCase();\n if (current.className && typeof current.className === 'string') {\n const classes = current.className.split(' ').filter(c => c && !c.includes(' '));\n if (classes.length > 0) {\n selector += `.${classes.slice(0, 2).join('.')}`;\n }\n }\n path.unshift(selector);\n current = current.parentElement;\n }\n return path.join(' > ');\n }\n /**\n * Calculate string similarity (Jaccard index)\n */\n calculateSimilarity(a, b) {\n const setA = new Set(a.split(/\\s+/));\n const setB = new Set(b.split(/\\s+/));\n const intersection = new Set([...setA].filter(x => setB.has(x)));\n const union = new Set([...setA, ...setB]);\n return intersection.size / union.size;\n }\n /**\n * Get configuration\n */\n getConfig() {\n return this.config;\n }\n // ==================== EXPORT/SITEMAP LOADING METHODS ====================\n /**\n * Train classifier from exported documents\n * Extracts topics and keywords for better intent classification\n *\n * @param exportData - The offline vector export data\n */\n async trainFromExport(exportData) {\n // Load explicit categories if provided\n if (exportData.categories) {\n this.categories = exportData.categories;\n for (const category of exportData.categories) {\n // Index category keywords for matching\n for (const keyword of category.keywords) {\n const existing = this.topicKeywords.get(category.name) || [];\n existing.push(keyword.toLowerCase());\n this.topicKeywords.set(category.name, existing);\n }\n }\n }\n // Extract topics from documents\n const docTopics = this.extractTopicsFromDocuments(exportData.documents);\n for (const [topic, keywords] of docTopics) {\n const existing = this.topicKeywords.get(topic) || [];\n existing.push(...keywords);\n this.topicKeywords.set(topic, [...new Set(existing)]); // Dedupe\n }\n // Load sitemap from export if available\n if (exportData.sitemap) {\n this.loadSitemapEntries(exportData.sitemap);\n }\n console.log(`[CyberneticIntentClassifier] Trained with ${this.categories.length} categories, ${this.topicKeywords.size} topics`);\n }\n /**\n * Load sitemap from configuration\n *\n * @param config - Sitemap configuration with URL or inline data\n */\n async loadSitemap(config) {\n if (!config.enabled)\n return;\n // Load from inline data\n if (config.sitemapData) {\n this.loadSitemapEntries(config.sitemapData);\n return;\n }\n // Load from URL\n if (config.sitemapUrl) {\n try {\n const response = await fetch(config.sitemapUrl);\n if (!response.ok) {\n throw new Error(`Failed to fetch sitemap: ${response.status}`);\n }\n const data = await response.json();\n this.loadSitemapEntries(data);\n }\n catch (error) {\n console.error('[CyberneticIntentClassifier] Failed to load sitemap:', error);\n }\n }\n }\n /**\n * Load sitemap entries into the index\n */\n loadSitemapEntries(entries) {\n for (const entry of entries) {\n // Convert GlobalSiteMapEntry to agentic SiteMapEntry format\n const siteMapEntry = {\n path: entry.url,\n name: entry.title,\n description: entry.description,\n aliases: entry.keywords\n };\n // Index by title, URL, description, and keywords\n const keys = [\n entry.title.toLowerCase(),\n entry.url.toLowerCase(),\n ...(entry.keywords || []).map(k => k.toLowerCase())\n ];\n if (entry.description) {\n // Also index significant words from description\n const descWords = entry.description\n .toLowerCase()\n .split(/\\s+/)\n .filter(w => w.length > 4);\n keys.push(...descWords);\n }\n for (const key of keys) {\n this.siteMapIndex.set(key, siteMapEntry);\n }\n }\n console.log(`[CyberneticIntentClassifier] Loaded ${entries.length} sitemap entries`);\n }\n /**\n * Extract topics and keywords from document content\n */\n extractTopicsFromDocuments(docs) {\n const topics = new Map();\n for (const doc of docs) {\n // Use title as topic\n const topic = doc.title.toLowerCase();\n const keywords = [];\n // Extract keywords from metadata\n if (doc.metadata?.keywords) {\n keywords.push(...doc.metadata.keywords.map(k => k.toLowerCase()));\n }\n // Extract significant words from title\n const titleWords = doc.title\n .toLowerCase()\n .replace(/[^a-z0-9\\s]/g, '')\n .split(/\\s+/)\n .filter(w => w.length > 3 && !this.isStopWord(w));\n keywords.push(...titleWords);\n // Extract frequent significant words from content (simple TF)\n const contentWords = doc.content\n .toLowerCase()\n .replace(/[^a-z0-9\\s]/g, '')\n .split(/\\s+/)\n .filter(w => w.length > 4 && !this.isStopWord(w));\n const wordFreq = new Map();\n for (const word of contentWords) {\n wordFreq.set(word, (wordFreq.get(word) || 0) + 1);\n }\n // Get top 5 most frequent words\n const topWords = [...wordFreq.entries()]\n .sort((a, b) => b[1] - a[1])\n .slice(0, 5)\n .map(([word]) => word);\n keywords.push(...topWords);\n topics.set(topic, [...new Set(keywords)]); // Dedupe\n }\n return topics;\n }\n /**\n * Check if word is a stop word\n */\n isStopWord(word) {\n const stopWords = new Set([\n 'the', 'a', 'an', 'and', 'or', 'but', 'in', 'on', 'at', 'to', 'for',\n 'of', 'with', 'by', 'from', 'up', 'about', 'into', 'through', 'during',\n 'is', 'are', 'was', 'were', 'be', 'been', 'being', 'have', 'has', 'had',\n 'do', 'does', 'did', 'will', 'would', 'could', 'should', 'may', 'might',\n 'this', 'that', 'these', 'those', 'it', 'its', 'they', 'them', 'their',\n 'what', 'which', 'who', 'whom', 'when', 'where', 'why', 'how',\n 'all', 'each', 'every', 'both', 'few', 'more', 'most', 'other', 'some',\n 'such', 'no', 'not', 'only', 'same', 'so', 'than', 'too', 'very',\n 'can', 'just', 'dont', 'now', 'here', 'there', 'also', 'your', 'you'\n ]);\n return stopWords.has(word);\n }\n /**\n * Get loaded categories\n */\n getCategories() {\n return this.categories;\n }\n /**\n * Get topic keywords\n */\n getTopicKeywords() {\n return this.topicKeywords;\n }\n /**\n * Check if classifier has been trained\n */\n isTrained() {\n return this.categories.length > 0 || this.topicKeywords.size > 0;\n }\n // ==================== MULTI-SOURCE SITEMAP DISCOVERY ====================\n /**\n * Initialize multi-source sitemap discovery\n * Call this after construction to load all sitemap sources\n *\n * @returns Promise that resolves when discovery is complete\n */\n async initializeDiscovery() {\n if (!this.siteMapDiscovery) {\n console.log('[CyberneticIntentClassifier] No siteMapConfig provided, skipping discovery');\n return;\n }\n try {\n await this.siteMapDiscovery.initialize();\n this.rebuildIndexesFromDiscovery();\n console.log(`[CyberneticIntentClassifier] Discovery complete, indexed ${this.siteMapIndex.size} entries`);\n }\n catch (error) {\n console.error('[CyberneticIntentClassifier] Discovery initialization failed:', error);\n }\n }\n /**\n * Rebuild sitemap indexes from discovery results\n * Merges discovered entries with existing static config\n */\n rebuildIndexesFromDiscovery() {\n if (!this.siteMapDiscovery)\n return;\n // Get merged entries from discovery (includes static props)\n const mergedEntries = this.siteMapDiscovery.getLegacyEntries();\n // Clear existing sitemap index (keep form and modal indexes)\n this.siteMapIndex.clear();\n // Index all merged entries\n for (const entry of mergedEntries) {\n const siteMapEntry = {\n path: entry.path,\n name: entry.name,\n description: entry.description,\n params: entry.params,\n aliases: entry.aliases\n };\n // Index by name and aliases\n const keys = [\n entry.name.toLowerCase(),\n entry.path.toLowerCase(),\n ...(entry.aliases || []).map(a => a.toLowerCase())\n ];\n // Also index description words for fuzzy matching\n if (entry.description) {\n const descWords = entry.description\n .toLowerCase()\n .split(/\\s+/)\n .filter(w => w.length > 4 && !this.isStopWord(w));\n keys.push(...descWords);\n }\n for (const key of keys) {\n this.siteMapIndex.set(key, siteMapEntry);\n }\n }\n }\n /**\n * Check if sitemap discovery is ready\n *\n * @returns true if discovery is complete and entries are loaded\n */\n isSiteMapReady() {\n if (!this.siteMapDiscovery) {\n // No discovery configured - check if static sitemap exists\n return this.siteMapIndex.size > 0 || (this.config.siteMap?.length ?? 0) > 0;\n }\n return this.siteMapDiscovery.isReady();\n }\n /**\n * Ensure sitemap is ready before classification\n * Initializes discovery if not already done\n *\n * @returns Promise that resolves when sitemap is ready\n */\n async ensureSiteMapReady() {\n if (this.isSiteMapReady()) {\n return;\n }\n await this.initializeDiscovery();\n }\n /**\n * Refresh sitemap from all sources\n * Forces reload of backend and re-discovery\n *\n * @returns Promise that resolves when refresh is complete\n */\n async refreshSiteMap() {\n if (!this.siteMapDiscovery) {\n console.log('[CyberneticIntentClassifier] No siteMapConfig provided, cannot refresh');\n return;\n }\n await this.siteMapDiscovery.refresh();\n this.rebuildIndexesFromDiscovery();\n }\n /**\n * Get the SiteMapDiscovery instance for advanced use cases\n *\n * @returns The SiteMapDiscovery instance or null if not configured\n */\n getSiteMapDiscovery() {\n return this.siteMapDiscovery;\n }\n /**\n * Get current sitemap entries (merged from all sources)\n *\n * @returns Array of sitemap entries\n */\n getSiteMapEntries() {\n if (this.siteMapDiscovery) {\n return this.siteMapDiscovery.getLegacyEntries();\n }\n // Fall back to static config\n return this.config.siteMap || [];\n }\n}\n\n// src/agentic/CyberneticAgent.ts\n// DOM interaction agent for agentic actions\n/**\n * DOM interaction agent\n *\n * Executes actions on the host page based on classified intent.\n * Supports navigation, form filling, clicking, scrolling, and more.\n */\nclass CyberneticAgent {\n constructor(config) {\n this.highlightOverlay = null;\n this.actionCount = 0;\n this.lastActionReset = Date.now();\n this.config = config;\n this.classifier = new CyberneticIntentClassifier(config);\n // Inject highlight styles (only in browser)\n if (typeof document !== 'undefined') {\n this.injectStyles();\n }\n }\n /**\n * Interpret user message and determine action\n *\n * @param message - User's message to interpret\n * @returns Intent classification with suggested action\n */\n interpretIntent(message) {\n return this.classifier.classify(message);\n }\n /**\n * Execute an agent action\n *\n * @param action - The action to execute\n * @returns Result of action execution\n */\n async executeAction(action) {\n // Reset action count every minute\n const now = Date.now();\n if (now - this.lastActionReset > 60000) {\n this.actionCount = 0;\n this.lastActionReset = now;\n }\n // Check rate limit\n const maxActions = this.config.maxActionsPerTurn ?? 5;\n if (this.actionCount >= maxActions) {\n return {\n success: false,\n message: `Rate limit exceeded. Maximum ${maxActions} actions per minute.`\n };\n }\n // Validate action is allowed\n if (!this.isActionAllowed(action)) {\n return {\n success: false,\n message: `Action type \"${action.type}\" is not allowed`\n };\n }\n this.actionCount++;\n switch (action.type) {\n case 'navigate':\n return this.navigate(action.target, action.params);\n case 'fillForm':\n return this.fillForm(action.target, action.params?.value);\n case 'clickElement':\n return this.clickElement(action.target);\n case 'triggerModal':\n return this.triggerModal(action.target);\n case 'scroll':\n return this.scrollToElement(action.target);\n case 'highlight':\n return this.highlightElement(action.target);\n case 'custom':\n return this.executeCustomAction(action.target, action.params);\n default:\n return {\n success: false,\n message: `Unknown action type: ${action.type}`\n };\n }\n }\n /**\n * Check if an action type is allowed by configuration\n */\n isActionAllowed(action) {\n const allowedActions = this.config.allowedActions;\n if (!allowedActions)\n return true; // All allowed by default\n const actionTypeMap = {\n 'navigate': 'navigate',\n 'fillForm': 'fill',\n 'clickElement': 'click',\n 'scroll': 'scroll',\n 'highlight': 'click', // Highlight is a form of interaction\n 'triggerModal': 'click',\n 'custom': 'click'\n };\n const mappedType = actionTypeMap[action.type];\n return allowedActions.includes(mappedType);\n }\n /**\n * Check if selector is allowed (not blocked)\n */\n isSelectorAllowed(selector) {\n // Check blocked selectors\n if (this.config.blockedSelectors) {\n for (const blocked of this.config.blockedSelectors) {\n if (selector.includes(blocked)) {\n return false;\n }\n }\n }\n // Check allowed selectors (if specified, only those are allowed)\n if (this.config.allowedSelectors && this.config.allowedSelectors.length > 0) {\n return this.config.allowedSelectors.some(allowed => selector.includes(allowed));\n }\n return true;\n }\n // ==================== ACTION IMPLEMENTATIONS ====================\n /**\n * Navigate to a URL\n */\n async navigate(path, params) {\n try {\n // Validate URL\n if (!this.validateNavigationUrl(path)) {\n return {\n success: false,\n message: 'Invalid or blocked URL'\n };\n }\n // Build URL with params\n let url = path;\n if (params) {\n const searchParams = new URLSearchParams();\n for (const [key, value] of Object.entries(params)) {\n if (value !== undefined && value !== null) {\n searchParams.set(key, String(value));\n }\n }\n const queryString = searchParams.toString();\n if (queryString) {\n url += (url.includes('?') ? '&' : '?') + queryString;\n }\n }\n // Check if we're in a browser environment\n if (typeof window === 'undefined') {\n return {\n success: true,\n message: `Navigation to ${path} would be executed (server-side)`\n };\n }\n // Check if internal or external navigation\n if (this.isInternalUrl(url)) {\n // Try client-side navigation first (SPA support)\n if (this.tryClientSideNavigation(url)) {\n return {\n success: true,\n message: `Navigated to ${path}`\n };\n }\n // Fallback to full page navigation\n window.location.href = url;\n return {\n success: true,\n message: `Navigating to ${path}...`\n };\n }\n // External URL - open in new tab\n window.open(url, '_blank', 'noopener,noreferrer');\n return {\n success: true,\n message: `Opened ${url} in new tab`\n };\n }\n catch (error) {\n return {\n success: false,\n message: 'Navigation failed',\n error: String(error)\n };\n }\n }\n /**\n * Fill a form field\n */\n async fillForm(selector, value) {\n // Check selector is allowed\n if (!this.isSelectorAllowed(selector)) {\n return {\n success: false,\n message: `Selector \"${selector}\" is not allowed`\n };\n }\n // Sanitize selector\n const sanitizedSelector = this.sanitizeSelector(selector);\n // Check if we're in a browser environment\n if (typeof document === 'undefined') {\n return {\n success: true,\n message: `Form fill would set \"${sanitizedSelector}\" to \"${value}\" (server-side)`\n };\n }\n try {\n const element = document.querySelector(sanitizedSelector);\n if (!element) {\n return {\n success: false,\n message: `Element not found: ${sanitizedSelector}`\n };\n }\n if (!(element instanceof HTMLInputElement ||\n element instanceof HTMLTextAreaElement ||\n element instanceof HTMLSelectElement)) {\n return {\n success: false,\n message: 'Element is not a form field'\n };\n }\n // Focus the element\n element.focus();\n // Set value\n if (element instanceof HTMLSelectElement) {\n // For select, find matching option\n const option = Array.from(element.options).find(opt => opt.value.toLowerCase() === value.toLowerCase() ||\n opt.text.toLowerCase() === value.toLowerCase());\n if (option) {\n element.value = option.value;\n }\n else {\n return {\n success: false,\n message: `Option \"${value}\" not found`\n };\n }\n }\n else {\n element.value = value;\n }\n // Dispatch events to trigger frameworks\n element.dispatchEvent(new Event('input', { bubbles: true }));\n element.dispatchEvent(new Event('change', { bubbles: true }));\n // For React - try to set value natively\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value')?.set;\n if (nativeInputValueSetter && element instanceof HTMLInputElement) {\n nativeInputValueSetter.call(element, value);\n element.dispatchEvent(new Event('input', { bubbles: true }));\n }\n return {\n success: true,\n message: `Filled field with \"${value}\"`\n };\n }\n catch (error) {\n return {\n success: false,\n message: 'Failed to fill form field',\n error: String(error)\n };\n }\n }\n /**\n * Click an element\n */\n async clickElement(selector) {\n // Check selector is allowed\n if (!this.isSelectorAllowed(selector)) {\n return {\n success: false,\n message: `Selector \"${selector}\" is not allowed`\n };\n }\n // Sanitize selector\n const sanitizedSelector = this.sanitizeSelector(selector);\n // Check if we're in a browser environment\n if (typeof document === 'undefined') {\n return {\n success: true,\n message: `Click on \"${sanitizedSelector}\" would be executed (server-side)`\n };\n }\n try {\n const element = document.querySelector(sanitizedSelector);\n if (!element) {\n return {\n success: false,\n message: `Element not found: ${sanitizedSelector}`\n };\n }\n if (!(element instanceof HTMLElement)) {\n return {\n success: false,\n message: 'Element is not clickable'\n };\n }\n // Scroll into view\n element.scrollIntoView({ behavior: 'smooth', block: 'center' });\n // Brief delay for scroll\n await this.sleep(300);\n // Click\n element.click();\n return {\n success: true,\n message: 'Element clicked'\n };\n }\n catch (error) {\n return {\n success: false,\n message: 'Failed to click element',\n error: String(error)\n };\n }\n }\n /**\n * Trigger a modal by clicking its trigger element\n */\n async triggerModal(triggerSelector) {\n return this.clickElement(triggerSelector);\n }\n /**\n * Scroll to an element\n */\n async scrollToElement(selector) {\n // Check if we're in a browser environment\n if (typeof window === 'undefined') {\n return {\n success: true,\n message: `Scroll to \"${selector}\" would be executed (server-side)`\n };\n }\n try {\n // Special case for top/bottom\n if (selector === 'body') {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n return { success: true, message: 'Scrolled to top' };\n }\n if (selector === 'body:last-child') {\n window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });\n return { success: true, message: 'Scrolled to bottom' };\n }\n const element = document.querySelector(selector);\n if (!element) {\n return {\n success: false,\n message: `Element not found: ${selector}`\n };\n }\n element.scrollIntoView({ behavior: 'smooth', block: 'start' });\n return {\n success: true,\n message: 'Scrolled to element'\n };\n }\n catch (error) {\n return {\n success: false,\n message: 'Failed to scroll',\n error: String(error)\n };\n }\n }\n /**\n * Highlight an element with animation\n */\n async highlightElement(selector) {\n // Check selector is allowed\n if (!this.isSelectorAllowed(selector)) {\n return {\n success: false,\n message: `Selector \"${selector}\" is not allowed`\n };\n }\n // Check if we're in a browser environment\n if (typeof document === 'undefined') {\n return {\n success: true,\n message: `Highlight on \"${selector}\" would be shown (server-side)`\n };\n }\n try {\n const element = document.querySelector(selector);\n if (!element) {\n return {\n success: false,\n message: `Element not found: ${selector}`\n };\n }\n // Remove existing highlight\n this.removeHighlight();\n // Scroll element into view\n element.scrollIntoView({ behavior: 'smooth', block: 'center' });\n // Brief delay for scroll\n await this.sleep(300);\n // Create highlight overlay\n const rect = element.getBoundingClientRect();\n const overlay = document.createElement('div');\n overlay.className = 'astermind-highlight-overlay';\n overlay.style.cssText = `\n position: fixed;\n top: ${rect.top - 4}px;\n left: ${rect.left - 4}px;\n width: ${rect.width + 8}px;\n height: ${rect.height + 8}px;\n border: 3px solid #4F46E5;\n border-radius: 4px;\n pointer-events: none;\n z-index: 999999;\n animation: astermind-highlight-pulse 1s ease-in-out 3;\n `;\n document.body.appendChild(overlay);\n this.highlightOverlay = overlay;\n // Remove after animation\n setTimeout(() => this.removeHighlight(), 3000);\n return {\n success: true,\n message: 'Element highlighted'\n };\n }\n catch (error) {\n return {\n success: false,\n message: 'Failed to highlight element',\n error: String(error)\n };\n }\n }\n /**\n * Execute a custom action callback\n */\n async executeCustomAction(actionName, params) {\n // Validate custom action is in whitelist\n if (!this.isAllowedCustomAction(actionName)) {\n return {\n success: false,\n message: `Custom action \"${actionName}\" not found`\n };\n }\n const callback = this.config.customActions[actionName];\n try {\n return await callback(params);\n }\n catch (error) {\n return {\n success: false,\n message: `Custom action \"${actionName}\" failed`,\n error: String(error)\n };\n }\n }\n // ==================== HELPER METHODS ====================\n /**\n * Check if URL is internal to the current site\n */\n isInternalUrl(url) {\n // Relative URLs are internal\n if (url.startsWith('/') || url.startsWith('./') || url.startsWith('../')) {\n return true;\n }\n // Check if we're in a browser environment\n if (typeof window === 'undefined') {\n return true;\n }\n // Check if same origin\n try {\n const urlObj = new URL(url, window.location.href);\n return urlObj.origin === window.location.origin;\n }\n catch {\n return true; // Assume internal on error\n }\n }\n /**\n * Try client-side navigation for SPAs\n */\n tryClientSideNavigation(url) {\n if (typeof window === 'undefined') {\n return false;\n }\n // Try History API pushState\n try {\n window.history.pushState({}, '', url);\n window.dispatchEvent(new PopStateEvent('popstate'));\n // Also dispatch hashchange for hash routing\n if (url.includes('#')) {\n window.dispatchEvent(new HashChangeEvent('hashchange'));\n }\n return true;\n }\n catch {\n return false;\n }\n }\n /**\n * Validate navigation URL\n */\n validateNavigationUrl(url) {\n // Reject javascript: and data: URLs\n if (/^(javascript|data):/i.test(url)) {\n return false;\n }\n // Check if we're in a browser environment\n if (typeof window === 'undefined') {\n return true;\n }\n // Only allow relative URLs or same-origin\n try {\n const urlObj = new URL(url, window.location.href);\n return urlObj.origin === window.location.origin || url.startsWith('/');\n }\n catch {\n return url.startsWith('/');\n }\n }\n /**\n * Sanitize CSS selector to prevent injection\n */\n sanitizeSelector(selector) {\n // Remove potentially dangerous characters\n return selector\n .replace(/[<>'\"]/g, '')\n .replace(/javascript:/gi, '')\n .replace(/data:/gi, '')\n .trim();\n }\n /**\n * Validate custom action is in whitelist\n */\n isAllowedCustomAction(actionName) {\n return this.config.customActions !== undefined &&\n Object.prototype.hasOwnProperty.call(this.config.customActions, actionName);\n }\n /**\n * Remove highlight overlay\n */\n removeHighlight() {\n if (this.highlightOverlay) {\n this.highlightOverlay.remove();\n this.highlightOverlay = null;\n }\n }\n /**\n * Inject required styles\n */\n injectStyles() {\n if (typeof document === 'undefined') {\n return;\n }\n if (document.getElementById('astermind-agent-styles')) {\n return;\n }\n const style = document.createElement('style');\n style.id = 'astermind-agent-styles';\n style.textContent = `\n @keyframes astermind-highlight-pulse {\n 0%, 100% {\n box-shadow: 0 0 0 0 rgba(79, 70, 229, 0.4);\n }\n 50% {\n box-shadow: 0 0 0 10px rgba(79, 70, 229, 0);\n }\n }\n\n .astermind-highlight-overlay {\n transition: all 0.2s ease-out;\n }\n `;\n document.head.appendChild(style);\n }\n /**\n * Sleep utility\n */\n sleep(ms) {\n return new Promise(resolve => setTimeout(resolve, ms));\n }\n /**\n * Get agent configuration\n */\n getConfig() {\n return this.config;\n }\n /**\n * Get the intent classifier\n */\n getClassifier() {\n return this.classifier;\n }\n /**\n * Reset action count (for testing)\n */\n resetActionCount() {\n this.actionCount = 0;\n this.lastActionReset = Date.now();\n }\n}\n\n// src/agentic/register.ts\n// Helper for registering agentic capabilities with CyberneticClient\n/**\n * Register agentic capabilities with a CyberneticClient\n *\n * This function is the bridge between core and agentic modules.\n * It must be called after creating the client to enable agentic features.\n *\n * @example\n * ```typescript\n * import { CyberneticClient, registerAgenticCapabilities } from '@astermind/cybernetic-chatbot-client';\n *\n * const client = new CyberneticClient({\n * apiUrl: 'https://api.example.com',\n * apiKey: 'am_xxx_123',\n * agentic: {\n * enabled: true,\n * allowedActions: ['click', 'fill', 'scroll'],\n * confirmActions: true\n * }\n * });\n *\n * // Register agentic capabilities\n * registerAgenticCapabilities(client);\n *\n * // Now client supports agentic responses\n * const response = await client.ask('Click the Add to Cart button');\n * ```\n *\n * @param client - The CyberneticClient instance to register capabilities with\n */\nfunction registerAgenticCapabilities(client) {\n const capabilities = {\n agent: CyberneticAgent,\n intentClassifier: CyberneticIntentClassifier\n };\n client.registerAgentic(capabilities);\n}\n\n// src/hooks/useSiteMapDiscovery.ts\n// React hook for sitemap discovery integration\n// Note: React is a peer dependency - this hook is optional for non-React consumers\n/**\n * Hook for discovering routes from React Router and other frameworks\n *\n * @example\n * ```tsx\n * function App() {\n * const { entries, isDiscovering } = useSiteMapDiscovery({\n * enabled: true,\n * excludePaths: ['/admin/*', '/internal/*']\n * });\n *\n * return (\n * <ChatbotWidget\n * agent={{\n * enabled: true,\n * siteMap: entries\n * }}\n * />\n * );\n * }\n * ```\n */\nfunction useSiteMapDiscovery(options = {}) {\n const { enabled = true, transformRoute: _transformRoute, excludePaths: _excludePaths = [], navSelectors: _navSelectors, disableDomFallback = false } = options;\n const [state, setState] = useState({\n entries: [],\n isDiscovering: false,\n error: null,\n framework: null\n });\n const discoveredRef = useRef(false);\n const optionsRef = useRef(options);\n optionsRef.current = options;\n /**\n * Detect JavaScript framework\n */\n const detectFramework = useCallback(() => {\n if (typeof window === 'undefined')\n return 'generic';\n const win = window;\n if (win.__REACT_ROUTER_DATA_ROUTER__)\n return 'react-router';\n if (win.__reactRouterContext)\n return 'react-router';\n if (win.__VUE_ROUTER__ || win.__VUE_APP__?.$router)\n return 'vue-router';\n if (win.__NEXT_DATA__)\n return 'next';\n if (win.ng || document.querySelector('[ng-version]'))\n return 'angular';\n return 'generic';\n }, []);\n /**\n * Check if path should be excluded\n */\n const shouldExclude = useCallback((path) => {\n const patterns = optionsRef.current.excludePaths || [];\n for (const pattern of patterns) {\n const regex = new RegExp('^' + pattern.replace(/\\*/g, '.*') + '$');\n if (regex.test(path))\n return true;\n }\n return false;\n }, []);\n /**\n * Convert path to human-readable name\n */\n const pathToName = useCallback((path) => {\n const segments = path.split('/').filter(Boolean);\n const last = segments[segments.length - 1] || 'Home';\n return last\n .replace(/[-_:]/g, ' ')\n .replace(/\\[.*?\\]/g, '')\n .split(' ')\n .map(w => w.charAt(0).toUpperCase() + w.slice(1))\n .join(' ')\n .trim() || 'Page';\n }, []);\n /**\n * Default route transform\n */\n const defaultTransform = useCallback((route) => {\n if (!route.path || route.path === '*' || route.path === '**')\n return null;\n return {\n path: route.path,\n name: route.name || route.meta?.title || pathToName(route.path),\n description: route.meta?.description,\n aliases: route.meta?.keywords || route.meta?.aliases,\n dynamicParams: route.path.includes(':') || route.path.includes('[')\n };\n }, [pathToName]);\n /**\n * Extract routes from React Router config\n */\n const extractReactRouterRoutes = useCallback((routeConfigs, routes, parentPath) => {\n for (const config of routeConfigs) {\n let path = config.path || '';\n if (path && !path.startsWith('/')) {\n path = parentPath ? `${parentPath}/${path}`.replace(/\\/+/g, '/') : `/${path}`;\n }\n else if (!path && parentPath) {\n path = parentPath;\n }\n const route = {\n path,\n name: config.handle?.name || config.handle?.title || config.id,\n meta: config.handle || {}\n };\n if (config.path && !shouldExclude(path)) {\n routes.push(route);\n }\n if (config.children) {\n extractReactRouterRoutes(config.children, routes, path);\n }\n }\n }, [shouldExclude]);\n /**\n * Discover routes from DOM navigation\n */\n const discoverFromDOM = useCallback(() => {\n if (typeof document === 'undefined')\n return [];\n const defaultSelectors = [\n 'nav a[href]',\n '[role=\"navigation\"] a[href]',\n '.nav a[href]',\n '.sidebar a[href]',\n '.menu a[href]',\n 'header a[href]'\n ];\n const selectors = optionsRef.current.navSelectors || defaultSelectors;\n const routes = [];\n const seen = new Set();\n for (const selector of selectors) {\n try {\n const links = document.querySelectorAll(selector);\n for (const link of links) {\n const href = link.getAttribute('href');\n if (!href || href.startsWith('http') || href.startsWith('javascript:'))\n continue;\n const path = href.startsWith('/') ? href : `/${href}`;\n const cleanPath = path.split('?')[0].split('#')[0];\n if (seen.has(cleanPath) || cleanPath === '/' || shouldExclude(cleanPath))\n continue;\n seen.add(cleanPath);\n routes.push({\n path: cleanPath,\n name: link.textContent?.trim() || pathToName(cleanPath)\n });\n }\n }\n catch (e) {\n // Invalid selector\n }\n }\n return routes;\n }, [shouldExclude, pathToName]);\n /**\n * Main discovery function\n */\n const discoverRoutes = useCallback(() => {\n if (!enabled || typeof window === 'undefined') {\n return;\n }\n setState((prev) => ({ ...prev, isDiscovering: true, error: null }));\n try {\n const framework = detectFramework();\n const routes = [];\n const win = window;\n // Try framework-specific discovery\n if (framework === 'react-router' && win.__REACT_ROUTER_DATA_ROUTER__?.routes) {\n extractReactRouterRoutes(win.__REACT_ROUTER_DATA_ROUTER__.routes, routes, '');\n }\n else if (framework === 'vue-router') {\n const router = win.__VUE_APP__?.$router || win.__VUE_ROUTER__;\n if (router?.getRoutes) {\n for (const vueRoute of router.getRoutes()) {\n if (!shouldExclude(vueRoute.path)) {\n routes.push({\n path: vueRoute.path,\n name: vueRoute.name?.toString(),\n meta: vueRoute.meta || {}\n });\n }\n }\n }\n }\n else if (framework === 'next' && win.__NEXT_DATA__?.buildManifest?.pages) {\n for (const pagePath of Object.keys(win.__NEXT_DATA__.buildManifest.pages)) {\n if (!pagePath.startsWith('/_') && !shouldExclude(pagePath)) {\n routes.push({\n path: pagePath,\n name: pathToName(pagePath)\n });\n }\n }\n }\n // DOM fallback if no routes found and not disabled\n if (routes.length === 0 && !disableDomFallback) {\n routes.push(...discoverFromDOM());\n }\n // Transform routes to sitemap entries\n const transform = optionsRef.current.transformRoute || defaultTransform;\n const entries = [];\n for (const route of routes) {\n const entry = transform(route);\n if (entry) {\n entries.push(entry);\n }\n }\n setState({\n entries,\n isDiscovering: false,\n error: null,\n framework\n });\n discoveredRef.current = true;\n console.log(`[useSiteMapDiscovery] Discovered ${entries.length} routes from ${framework}`);\n }\n catch (error) {\n console.warn('[useSiteMapDiscovery] Discovery failed:', error);\n setState((prev) => ({\n ...prev,\n isDiscovering: false,\n error: String(error)\n }));\n }\n }, [\n enabled,\n detectFramework,\n extractReactRouterRoutes,\n discoverFromDOM,\n defaultTransform,\n shouldExclude,\n pathToName,\n disableDomFallback\n ]);\n // Initial discovery with delay to ensure router is mounted\n useEffect(() => {\n if (!enabled || discoveredRef.current)\n return;\n const timer = setTimeout(discoverRoutes, 100);\n return () => clearTimeout(timer);\n }, [enabled, discoverRoutes]);\n // Re-discover on location changes (for SPAs)\n useEffect(() => {\n if (!enabled || typeof window === 'undefined')\n return;\n const handlePopState = () => {\n // Re-run discovery after navigation (routes might have changed)\n setTimeout(discoverRoutes, 50);\n };\n window.addEventListener('popstate', handlePopState);\n return () => window.removeEventListener('popstate', handlePopState);\n }, [enabled, discoverRoutes]);\n return {\n ...state,\n refresh: discoverRoutes\n };\n}\n/**\n * Create a FrameworkDiscoveryConfig from hook options\n * Useful for passing to CyberneticClient\n */\nfunction createDiscoveryConfig(options) {\n return {\n enabled: options.enabled ?? true,\n domFallback: !options.disableDomFallback,\n navSelectors: options.navSelectors,\n excludePaths: options.excludePaths,\n transformRoute: options.transformRoute\n };\n}\n\n// © 2026 AsterMind AI Co. – All Rights Reserved.\n// Patent Pending US 63/897,713\n// ELMConfig.ts - Configuration interfaces, defaults, helpers for ELM-based models\n/* =========== Defaults =========== */\nconst defaultBase = {\n hiddenUnits: 50,\n activation: 'relu',\n ridgeLambda: 1e-2,\n weightInit: 'xavier',\n seed: 1337,\n dropout: 0,\n log: { verbose: true, toFile: false, modelName: 'Unnamed ELM Model', level: 'info' },\n};\nObject.assign(Object.assign({}, defaultBase), { useTokenizer: false });\nObject.assign(Object.assign({}, defaultBase), { useTokenizer: true, maxLen: 30, charSet: 'abcdefghijklmnopqrstuvwxyz', tokenizerDelimiter: /\\s+/ });\n\nfunction buildRFF(d, D, sigma = 1.0, rng = Math.random) {\n const W = new Float64Array(D * d);\n const b = new Float64Array(D);\n const s = 1 / Math.max(1e-12, sigma); // N(0, 1/sigma^2)\n for (let i = 0; i < D * d; i++)\n W[i] = gauss$1(rng) * s;\n for (let i = 0; i < D; i++)\n b[i] = rng() * 2 * Math.PI;\n return { W, b, D, d, sigma };\n}\nfunction mapRFF(rff, x) {\n const { W, b, D, d } = rff;\n const z = new Float64Array(2 * D);\n for (let k = 0; k < D; k++) {\n let dot = b[k];\n const off = k * d;\n for (let j = 0; j < d; j++)\n dot += W[off + j] * (x[j] || 0);\n z[k] = Math.cos(dot);\n z[D + k] = Math.sin(dot);\n }\n // L2 normalize block to keep ridge well-conditioned\n let s = 0;\n for (let i = 0; i < z.length; i++)\n s += z[i] * z[i];\n const inv = 1 / Math.sqrt(Math.max(s, 1e-12));\n for (let i = 0; i < z.length; i++)\n z[i] *= inv;\n return z;\n}\n// Box-Muller\nfunction gauss$1(rng) {\n let u = 0, v = 0;\n while (u === 0)\n u = rng();\n while (v === 0)\n v = rng();\n return Math.sqrt(-2 * Math.log(u)) * Math.cos(2 * Math.PI * v);\n}\n\n// online_ridge.ts — maintain (Φ^T Φ + λI)^{-1} and β for linear ridge\nclass OnlineRidge {\n constructor(p, m, lambda = 1e-4) {\n this.p = p;\n this.m = m;\n this.lambda = lambda;\n this.Ainv = new Float64Array(p * p);\n this.Beta = new Float64Array(p * m);\n // Ainv = (λ I)^-1 = (1/λ) I\n const inv = 1 / Math.max(1e-12, lambda);\n for (let i = 0; i < p; i++)\n this.Ainv[i * p + i] = inv;\n }\n // rank-1 update with a single sample (φ, y)\n update(phi, y) {\n const { p, m, Ainv, Beta } = this;\n // u = Ainv * phi\n const u = new Float64Array(p);\n for (let i = 0; i < p; i++) {\n let s = 0, row = i * p;\n for (let j = 0; j < p; j++)\n s += Ainv[row + j] * phi[j];\n u[i] = s;\n }\n // denom = 1 + phi^T u\n let denom = 1;\n for (let j = 0; j < p; j++)\n denom += phi[j] * u[j];\n denom = Math.max(denom, 1e-12);\n const scale = 1 / denom;\n // Ainv <- Ainv - (u u^T) * scale\n for (let i = 0; i < p; i++) {\n const ui = u[i] * scale;\n for (let j = 0; j < p; j++)\n Ainv[i * p + j] -= ui * u[j];\n }\n // Beta <- Beta + Ainv * (phi * y^T)\n // compute t = Ainv * phi (reuse u after Ainv update)\n for (let i = 0; i < p; i++) {\n let s = 0, row = i * p;\n for (let j = 0; j < p; j++)\n s += Ainv[row + j] * phi[j];\n u[i] = s; // reuse u as t\n }\n // Beta += outer(u, y)\n for (let i = 0; i < p; i++) {\n const ui = u[i];\n for (let c = 0; c < m; c++)\n Beta[i * m + c] += ui * y[c];\n }\n }\n // yhat = φ^T Beta\n predict(phi) {\n const { p, m, Beta } = this;\n const out = new Float64Array(m);\n for (let c = 0; c < m; c++) {\n let s = 0;\n for (let i = 0; i < p; i++)\n s += phi[i] * Beta[i * m + c];\n out[c] = s;\n }\n return out;\n }\n}\n\n// src/math/index.ts — production-grade numerics for Ω\n// Backward compatible with previous exports; adds robust, stable helpers.\n// ---------- Constants\nconst EPS = 1e-12; // general epsilon for divides/sqrt\n// ---------- Norms / normalization\nfunction l2$1(a) {\n // robust L2 (avoids NaN on weird input)\n let s = 0;\n for (let i = 0; i < a.length; i++)\n s += a[i] * a[i];\n return Math.sqrt(Math.max(0, s));\n}\nfunction normalizeL2(a, eps = EPS) {\n const nrm = l2$1(a);\n if (!(nrm > eps) || !Number.isFinite(nrm))\n return new Float64Array(a.length); // zero vec\n const o = new Float64Array(a.length);\n const inv = 1 / nrm;\n for (let i = 0; i < a.length; i++)\n o[i] = a[i] * inv;\n return o;\n}\n// ---------- Cosine (robust)\nfunction cosine$2(a, b) {\n var _a, _b;\n const n = Math.min(a.length, b.length);\n if (n === 0)\n return 0;\n let dotv = 0, na = 0, nb = 0;\n for (let i = 0; i < n; i++) {\n const ai = ((_a = a[i]) !== null && _a !== void 0 ? _a : 0), bi = ((_b = b[i]) !== null && _b !== void 0 ? _b : 0);\n dotv += ai * bi;\n na += ai * ai;\n nb += bi * bi;\n }\n const denom = Math.sqrt(Math.max(na * nb, EPS));\n const v = dotv / denom;\n return Number.isFinite(v) ? v : 0;\n}\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\n// Omega.ts v2 — improved local reasoning + summarization\n// uses your math.ts, rff.ts, online_ridge.ts\n// -------- sentence + text helpers ----------\nfunction splitSentences$1(text) {\n return text\n .replace(/\\s+/g, \" \")\n .split(/(?<=[.?!])\\s+/)\n .map((s) => s.trim())\n .filter((s) => s.length > 8 && /\\w/.test(s));\n}\nfunction clean(text) {\n return text\n .replace(/```[\\s\\S]*?```/g, \" \")\n .replace(/`[^`]+`/g, \" \")\n .replace(/\\[[^\\]]*\\]\\([^)]*\\)/g, \"\") // strip markdown links\n .replace(/[-–>•→]/g, \" \")\n .replace(/\\s+/g, \" \")\n .trim();\n}\nfunction isMetaSentence(s) {\n // simple heuristics for table-of-contents or chapter headings\n return (/^(\\*|#)/.test(s) || // markdown markers\n /chapter/i.test(s) || // \"Chapter 11\", \"Chapters 11–15\"\n /part\\s*\\d+/i.test(s) || // \"Part 3\"\n /section/i.test(s) || // \"Section 2.3\"\n /^\\s*[A-Z]\\)\\s*$/.test(s) || // single-letter outlines\n s.length < 15 // very short stray lines\n );\n}\nfunction rewrite(summary) {\n return summary\n .replace(/\\s+[-–>•→]\\s+/g, \" \")\n .replace(/\\s+\\.\\s+/g, \". \")\n .replace(/([a-z]) - ([a-z])/gi, \"$1-$2\")\n .replace(/\\s{2,}/g, \" \")\n .trim();\n}\n// ------------------------------------------------------------\nfunction omegaComposeAnswer(question_1, items_1) {\n return __awaiter(this, arguments, void 0, function* (question, items, opts = {}) {\n // License check removed // Premium feature - requires valid license\n if (!(items === null || items === void 0 ? void 0 : items.length))\n return \"No results found.\";\n const { dim = 64, features = 32, sigma = 1.0, rounds = 3, topSentences = 8, personality = \"neutral\", } = opts;\n // ---------- 1. Clean + collect sentences ----------\n const allText = items.map((i) => clean(i.content)).join(\" \");\n let sentences = splitSentences$1(allText)\n .filter(s => !isMetaSentence(s))\n .slice(0, 120);\n if (sentences.length === 0)\n return clean(items[0].content).slice(0, 400);\n // ---------- 2. Build encoder + ridge ----------\n const rff = buildRFF(dim, features, sigma);\n const ridge = new OnlineRidge(2 * features, 1, 1e-3);\n const encode = (s) => {\n const vec = new Float64Array(dim);\n const len = Math.min(s.length, dim);\n for (let i = 0; i < len; i++)\n vec[i] = s.charCodeAt(i) / 255;\n return mapRFF(rff, normalizeL2(vec));\n };\n const qVec = encode(question);\n const qTokens = question.toLowerCase().split(/\\W+/).filter((t) => t.length > 2);\n // ---------- 3. Score + select top sentences ----------\n const scored = sentences.map((s) => {\n const v = encode(s);\n let w = cosine$2(v, qVec);\n // small lexical bonus for overlapping words\n const lower = s.toLowerCase();\n for (const t of qTokens)\n if (lower.includes(t))\n w += 0.02;\n return { s, v, w };\n });\n scored.sort((a, b) => b.w - a.w);\n let top = scored.slice(0, topSentences);\n // ---------- 4. Recursive compression ----------\n let summary = top.map((t) => t.s).join(\" \");\n let meanVec = new Float64Array(2 * features);\n for (let r = 0; r < rounds; r++) {\n const subs = splitSentences$1(summary).slice(0, topSentences);\n const embeds = subs.map((s) => encode(s));\n const weights = embeds.map((v) => cosine$2(v, qVec));\n for (let i = 0; i < embeds.length; i++) {\n ridge.update(embeds[i], new Float64Array([weights[i]]));\n }\n // weighted mean vector\n meanVec.fill(0);\n for (let i = 0; i < embeds.length; i++) {\n const v = embeds[i], w = weights[i];\n for (let j = 0; j < v.length; j++)\n meanVec[j] += v[j] * w;\n }\n const norm = l2$1(meanVec) || 1;\n for (let j = 0; j < meanVec.length; j++)\n meanVec[j] /= norm;\n const rescored = subs.map((s) => ({\n s,\n w: cosine$2(encode(s), meanVec),\n }));\n rescored.sort((a, b) => b.w - a.w);\n summary = rescored\n .slice(0, Math.max(3, Math.floor(topSentences / 2)))\n .map((r) => r.s)\n .join(\" \");\n }\n // ---------- 5. Compose readable answer ----------\n summary = rewrite(summary);\n const firstChar = summary.charAt(0).toUpperCase() + summary.slice(1);\n const title = items[0].heading || \"Answer\";\n const prefix = personality === \"teacher\"\n ? \"Here’s a simple way to think about it:\\n\\n\"\n : personality === \"scientist\"\n ? \"From the retrieved material, we can infer:\\n\\n\"\n : \"\";\n return `${prefix}${firstChar}\\n\\n(${title}, Ω-synthesized)`;\n });\n}\n\n// Vectorization utilities for sparse and dense vectors\n// Extracted from workers for reuse\n/**\n * Compute TF-IDF vector from tokens\n */\nfunction toTfidf(tokens, idf, vmap, headingW = 1) {\n const counts = new Map();\n // crude heuristic: first 8 tokens considered heading-weighted\n for (let i = 0; i < tokens.length; i++) {\n const t = tokens[i];\n const id = vmap.get(t);\n if (id === undefined)\n continue;\n const w = (i < 8) ? headingW : 1;\n counts.set(id, (counts.get(id) || 0) + w);\n }\n const maxTf = Math.max(1, ...counts.values());\n const v = new Map();\n for (const [i, c] of counts) {\n const tf = 0.5 + 0.5 * (c / maxTf);\n v.set(i, tf * (idf[i] || 0));\n }\n return v;\n}\n/**\n * Cosine similarity between two sparse vectors\n */\nfunction cosineSparse(a, b) {\n let dot = 0, na = 0, nb = 0;\n for (const [i, av] of a) {\n na += av * av;\n const bv = b.get(i);\n if (bv)\n dot += av * bv;\n }\n for (const [, bv] of b)\n nb += bv * bv;\n if (!na || !nb)\n return 0;\n return dot / (Math.sqrt(na) * Math.sqrt(nb));\n}\n/**\n * Convert sparse vector to dense Float64Array\n */\nfunction sparseToDense(v, dim) {\n const x = new Float64Array(dim);\n for (const [i, val] of v)\n x[i] = val;\n return x;\n}\n/**\n * Dot product of two dense vectors\n */\nfunction dotProd$1(a, b) {\n let s = 0;\n for (let i = 0; i < a.length; i++)\n s += a[i] * b[i];\n return s;\n}\n/**\n * Base kernel function (RBF, cosine, or poly2)\n */\nfunction baseKernel$1(a, b, k, sigma) {\n if (k === 'cosine') {\n const dot = dotProd$1(a, b), na = Math.hypot(...a), nb = Math.hypot(...b);\n return (na && nb) ? (dot / (na * nb)) : 0;\n }\n else if (k === 'poly2') {\n const dot = dotProd$1(a, b);\n return Math.pow((dot + 1), 2);\n }\n else {\n let s = 0;\n for (let i = 0; i < a.length; i++) {\n const d = a[i] - b[i];\n s += d * d;\n }\n return Math.exp(-s / Math.max(1e-9, 2 * sigma * sigma));\n }\n}\n/**\n * Kernel similarity between two dense vectors\n */\nfunction kernelSim(a, b, k, sigma) {\n if (k === 'cosine') {\n const dot = dotProd$1(a, b), na = Math.hypot(...a), nb = Math.hypot(...b);\n return (na && nb) ? (dot / (na * nb)) : 0;\n }\n else if (k === 'poly2') {\n const dot = dotProd$1(a, b);\n return Math.pow((dot + 1), 2);\n }\n else {\n let s = 0;\n for (let i = 0; i < a.length; i++) {\n const d = a[i] - b[i];\n s += d * d;\n }\n return Math.exp(-s / Math.max(1e-9, 2 * sigma * sigma));\n }\n}\n/**\n * Project sparse vector to dense using Nyström landmarks\n */\nfunction projectToDense(v, vocabSize, landmarkMat, kernel, sigma) {\n const x = sparseToDense(v, vocabSize);\n const feats = new Float64Array(landmarkMat.length);\n for (let j = 0; j < landmarkMat.length; j++) {\n const l = landmarkMat[j];\n feats[j] = baseKernel$1(x, l, kernel, sigma);\n }\n const n = Math.hypot(...feats);\n if (n > 0)\n for (let i = 0; i < feats.length; i++)\n feats[i] /= n;\n return feats;\n}\n\n// Tokenization and stemming utilities\n// Extracted from workers for reuse\n// Memo for speed\nconst STEM_CACHE = new Map();\nfunction normalizeWord(raw) {\n const k = raw;\n const cached = STEM_CACHE.get(k);\n if (cached)\n return cached;\n let w = raw.toLowerCase();\n w = w.replace(/^[^a-z0-9]+|[^a-z0-9]+$/g, '');\n if (w.length <= 2) {\n STEM_CACHE.set(k, w);\n return w;\n }\n // plural → singular\n if (w.endsWith('ies') && w.length > 4) {\n w = w.slice(0, -3) + 'y';\n }\n else if (/(xes|ches|shes|zes|sses)$/.test(w) && w.length > 4) {\n w = w.replace(/(xes|ches|shes|zes|sses)$/, (m) => (m === 'sses' ? 'ss' : m.replace(/es$/, '')));\n }\n else if (w.endsWith('s') && !/(ss|us)$/.test(w) && w.length > 3) {\n w = w.slice(0, -1);\n }\n // conservative suffix trimming\n const rules = [\n [/ization$|isation$/, 'ize'],\n [/ational$/, 'ate'],\n [/fulness$/, 'ful'],\n [/ousness$/, 'ous'],\n [/iveness$/, 'ive'],\n [/ability$/, 'able'],\n [/ness$/, ''],\n [/ment$/, ''],\n [/ations?$/, 'ate'],\n [/izer$|iser$/, 'ize'],\n [/ally$/, 'al'],\n [/ically$/, 'ic'],\n [/ingly$|edly$/, ''],\n [/ing$|ed$/, ''],\n ];\n for (const [re, rep] of rules) {\n if (re.test(w) && w.length - rep.length >= 4) {\n w = w.replace(re, rep);\n break;\n }\n }\n STEM_CACHE.set(k, w);\n return w;\n}\nfunction tokenize$1(text, doStem) {\n const base = text.toLowerCase()\n .replace(/[`*_>~]/g, ' ')\n .replace(/[^a-z0-9]+/g, ' ')\n .split(/\\s+/)\n .filter(Boolean);\n if (!doStem)\n return base;\n const out = [];\n for (const t of base) {\n const n = normalizeWord(t);\n if (n && n.length > 1)\n out.push(n);\n }\n return out;\n}\nfunction expandQuery(q) {\n const adds = [];\n if (/\\bmap\\b/.test(q))\n adds.push('dict key value make');\n if (/\\bchan|channel\\b/.test(q))\n adds.push('goroutine concurrency select buffer');\n if (/\\berror\\b/.test(q))\n adds.push('fmt wrap unwrap sentinel try catch');\n if (/\\bstruct\\b/.test(q))\n adds.push('field method receiver init zero value');\n return q + ' ' + adds.join(' ');\n}\n\n// Hybrid retrieval system (sparse + dense + keyword bonus)\n// Extracted from workers for reuse\n// License removed - all features are now free!\n/**\n * Compute keyword bonus scores for chunks\n */\nfunction keywordBonus(chunks, query) {\n const kws = Array.from(new Set(query.toLowerCase().split(/\\W+/).filter(t => t.length > 2)));\n const syntaxBoost = /\\b(define|declare|syntax|example|function|struct|map|interface)\\b/i.test(query);\n return chunks.map(c => {\n const text = c.rich || c.content || '';\n const lc = text.toLowerCase();\n let hit = 0;\n for (const k of kws)\n if (lc.includes(k))\n hit++;\n if (syntaxBoost && /```/.test(text))\n hit += 5; // strong bonus for code presence\n return Math.min(1.0, hit * 0.03);\n });\n}\n/**\n * Get top K indices from scores\n */\nfunction topKIndices(arr, k) {\n const idx = Array.from(arr, (_, i) => i);\n idx.sort((i, j) => (arr[j] - arr[i]));\n return idx.slice(0, k);\n}\n/**\n * Clamp value between min and max\n */\nfunction clamp$1(x, a, b) {\n return Math.max(a, Math.min(b, x));\n}\n/**\n * Perform hybrid retrieval (sparse + dense + keyword bonus)\n */\nfunction hybridRetrieve(opts) {\n // License check removed // Premium feature - requires valid license\n const { query, chunks, vocabMap, idf, tfidfDocs, denseDocs, landmarksIdx, landmarkMat, vocabSize, kernel, sigma, alpha, beta, ridge, headingW, useStem, expandQuery: shouldExpand, topK: k, prefilter, } = opts;\n // Expand query if needed\n const qexp = shouldExpand ? expandQuery(query) : query;\n const toks = tokenize$1(qexp, useStem);\n const qvec = toTfidf(toks, idf, vocabMap, headingW);\n const qdense = projectToDense(qvec, vocabSize, landmarkMat, kernel, sigma);\n // Compute sparse (TF-IDF) scores\n const tfidfScores = tfidfDocs.map(v => cosineSparse(v, qvec));\n // Compute dense (kernel) scores\n const denseScores = denseDocs.map((v) => kernelSim(v, qdense, kernel, sigma));\n // Compute keyword bonus\n const bonus = keywordBonus(chunks, query);\n // Hybrid scoring with ridge regularization\n const alphaClamped = clamp$1(alpha, 0, 1);\n const lambda = ridge !== null && ridge !== void 0 ? ridge : 0.08;\n const scores = denseScores.map((d, i) => {\n const t = tfidfScores[i];\n const b = beta * bonus[i];\n // Ridge damping on ALL components (dense, tfidf, and keyword bonus)\n const reg = 1 / (1 + lambda * (d * d + t * t + 0.5 * b * b));\n const s = reg * (alphaClamped * d + (1 - alphaClamped) * t + b);\n // soft clip extremes; helps prevent a single noisy dimension from dominating\n return Math.tanh(s);\n });\n // Pre-filter then final topK (retrieval stage)\n const pre = Math.max(k, prefilter !== null && prefilter !== void 0 ? prefilter : 0);\n const idxs = topKIndices(scores, pre);\n const finalIdxs = topKIndices(idxs.map(i => scores[i]), k).map(k => idxs[k]);\n // Build result items\n const items = finalIdxs.map(i => {\n const c = chunks[i];\n const body = (c.rich && c.rich.trim()) || (c.content && c.content.trim()) || '(see subsections)';\n return {\n score: scores[i],\n heading: c.heading,\n content: body,\n index: i,\n };\n });\n return {\n items,\n scores: finalIdxs.map(i => scores[i]),\n indices: finalIdxs,\n tfidfScores: finalIdxs.map(i => tfidfScores[i]),\n denseScores: finalIdxs.map(i => denseScores[i]),\n };\n}\n\n// OmegaRR.ts\n// Reranker + Reducer for AsterMind docs\n// - Extracts rich query–chunk features (sparse text + structural signals)\n// - Trains a tiny ridge model on-the-fly with weak supervision (per query)\n// - Produces score_rr and p_relevant\n// - Filters with threshold + MMR coverage under a character budget\n// - (v2) Optionally exposes engineered features (values + names) for TE/diagnostics\n/* ====================== Tokenization ======================= */\nconst STOP$1 = new Set([\n \"a\", \"an\", \"the\", \"and\", \"or\", \"but\", \"if\", \"then\", \"else\", \"for\", \"to\", \"of\", \"in\", \"on\", \"at\", \"by\", \"with\",\n \"is\", \"are\", \"was\", \"were\", \"be\", \"been\", \"being\", \"as\", \"from\", \"that\", \"this\", \"it\", \"its\", \"you\", \"your\",\n \"i\", \"we\", \"they\", \"he\", \"she\", \"them\", \"his\", \"her\", \"our\", \"us\", \"do\", \"does\", \"did\", \"done\", \"not\", \"no\",\n \"yes\", \"can\", \"could\", \"should\", \"would\", \"may\", \"might\", \"into\", \"about\", \"over\", \"under\", \"between\"\n]);\nfunction tokenize(s) {\n return s\n .toLowerCase()\n .replace(/[`*_#>~=\\[\\]{}()!?.:,;'\"<>|/\\\\+-]+/g, \" \")\n .split(/\\s+/)\n .filter(t => t && !STOP$1.has(t));\n}\nfunction unique(arr) { return Array.from(new Set(arr)); }\nfunction buildCorpusStats(docs) {\n const vocab = new Map();\n const tfs = [];\n const docLens = [];\n let nextId = 0;\n for (const d of docs) {\n const toks = tokenize(d);\n docLens.push(toks.length);\n const tf = new Map();\n for (const w of toks) {\n let id = vocab.get(w);\n if (id === undefined) {\n id = nextId++;\n vocab.set(w, id);\n }\n tf.set(id, (tf.get(id) || 0) + 1);\n }\n tfs.push(tf);\n }\n const N = docs.length;\n const df = Array(nextId).fill(0);\n for (const tf of tfs)\n for (const id of tf.keys())\n df[id] += 1;\n const idf = df.map(df_i => Math.log((N + 1) / (df_i + 1)) + 1);\n const avgLen = docLens.reduce((a, b) => a + b, 0) / Math.max(1, N);\n return { stats: { vocab, idf, avgLen, df }, tf: tfs, docLens };\n}\nfunction tfidfVector(tf, idf) {\n const out = new Map();\n let norm2 = 0;\n for (const [i, f] of tf) {\n const val = (f) * (idf[i] || 0);\n out.set(i, val);\n norm2 += val * val;\n }\n const norm = Math.sqrt(norm2) || 1e-12;\n for (const [i, v] of out)\n out.set(i, v / norm);\n return out;\n}\nfunction cosine$1(a, b) {\n const [small, large] = a.size < b.size ? [a, b] : [b, a];\n let dot = 0;\n for (const [i, v] of small) {\n const u = large.get(i);\n if (u !== undefined)\n dot += v * u;\n }\n return dot;\n}\nfunction bm25Score(qTf, dTf, stats, dLen, k1 = 1.5, b = 0.75) {\n let score = 0;\n for (const [i] of qTf) {\n const f = dTf.get(i) || 0;\n if (f <= 0)\n continue;\n const idf = Math.log(((stats.df[i] || 0) + 0.5) / ((stats.idf.length - (stats.df[i] || 0)) + 0.5) + 1);\n const denom = f + k1 * (1 - b + b * (dLen / (stats.avgLen || 1)));\n score += idf * ((f * (k1 + 1)) / (denom || 1e-12));\n }\n return score;\n}\n/* ========== Light Random Projection from TF-IDF (dense hint) ========== */\nfunction projectSparse(vec, dim, seed = 1337) {\n // deterministic per (feature, j) hash: simple LCG/xorshift mix\n const out = new Float64Array(dim);\n for (const [i, v] of vec) {\n let s = (i * 2654435761) >>> 0;\n for (let j = 0; j < dim; j++) {\n s ^= s << 13;\n s ^= s >>> 17;\n s ^= s << 5;\n const r = ((s >>> 0) / 4294967296) * 2 - 1; // [-1,1]\n out[j] += v * r;\n }\n }\n let n2 = 0;\n for (let j = 0; j < dim; j++)\n n2 += out[j] * out[j];\n const n = Math.sqrt(n2) || 1e-12;\n for (let j = 0; j < dim; j++)\n out[j] /= n;\n return out;\n}\n/* ===================== Structural Signals ===================== */\nfunction containsGoCodeBlock(s) {\n return /```+\\s*go([\\s\\S]*?)```/i.test(s) || /\\bfunc\\s+\\w+\\s*\\(.*\\)\\s*\\w*\\s*{/.test(s);\n}\nfunction containsCodeBlock(s) {\n return /```+/.test(s) || /{[^}]*}/.test(s);\n}\nfunction headingQueryMatch(head, q) {\n const ht = unique(tokenize(head));\n const qt = new Set(tokenize(q));\n if (ht.length === 0 || qt.size === 0)\n return 0;\n let hit = 0;\n for (const t of ht)\n if (qt.has(t))\n hit++;\n return hit / ht.length;\n}\nfunction jaccard$1(a, b) {\n const A = new Set(tokenize(a));\n const B = new Set(tokenize(b));\n let inter = 0;\n for (const t of A)\n if (B.has(t))\n inter++;\n const uni = A.size + B.size - inter;\n return uni === 0 ? 0 : inter / uni;\n}\nfunction golangSpecFlag(s) {\n return /(golang\\.org|go\\.dev|pkg\\.go\\.dev)/i.test(s) ? 1 : 0;\n}\nfunction buildFeatures$1(q, chunk, qTfIdf, cTfIdf, qTfRaw, cTfRaw, stats, cLen, projQ, projC) {\n var _a;\n const f = [];\n const names = [];\n // 1) Sparse sims\n const cos = cosine$1(qTfIdf, cTfIdf);\n f.push(cos);\n names.push(\"cosine_tfidf\");\n const bm25 = bm25Score(qTfRaw, cTfRaw, stats, cLen);\n f.push(bm25);\n names.push(\"bm25\");\n // 2) Heading & lexical overlaps\n const hMatch = headingQueryMatch(chunk.heading || \"\", q);\n f.push(hMatch);\n names.push(\"heading_match_frac\");\n const jac = jaccard$1(q, chunk.content || \"\");\n f.push(jac);\n names.push(\"jaccard_tokens\");\n // 3) Structural flags\n const hasGo = containsGoCodeBlock(chunk.rich || chunk.content || \"\");\n const hasCode = containsCodeBlock(chunk.rich || chunk.content || \"\");\n f.push(hasGo ? 1 : 0);\n names.push(\"flag_go_code\");\n f.push(hasCode ? 1 : 0);\n names.push(\"flag_any_code\");\n // 4) Source cues\n f.push(golangSpecFlag(chunk.content || \"\") ? 1 : 0);\n names.push(\"flag_go_spec_link\");\n // 5) Prior score (baseline)\n f.push(((_a = chunk.score_base) !== null && _a !== void 0 ? _a : 0));\n names.push(\"prior_score_base\");\n // 6) Length heuristics (prefer concise answers)\n const lenChars = (chunk.content || \"\").length;\n f.push(1 / Math.sqrt(1 + lenChars));\n names.push(\"len_inv_sqrt\");\n // 7) Dense hint from projection\n if (projQ && projC) {\n let dot = 0, l1 = 0;\n for (let i = 0; i < projQ.length; i++) {\n dot += projQ[i] * projC[i];\n l1 += Math.abs(projQ[i] - projC[i]);\n }\n f.push(dot);\n names.push(\"proj_dot\");\n f.push(l1 / projQ.length);\n names.push(\"proj_l1mean\");\n }\n return { names, values: f };\n}\n/* ======================== Ridge Model ======================== */\nclass Ridge {\n constructor() {\n this.w = null;\n this.mu = null;\n this.sigma = null;\n }\n fit(X, y, lambda = 1e-2) {\n var _a;\n const n = X.length;\n const d = ((_a = X[0]) === null || _a === void 0 ? void 0 : _a.length) || 0;\n if (n === 0 || d === 0) {\n this.w = new Float64Array(d);\n return;\n }\n // standardize\n const mu = new Float64Array(d);\n const sig = new Float64Array(d);\n for (let j = 0; j < d; j++) {\n let m = 0;\n for (let i = 0; i < n; i++)\n m += X[i][j];\n m /= n;\n mu[j] = m;\n let v = 0;\n for (let i = 0; i < n; i++) {\n const z = X[i][j] - m;\n v += z * z;\n }\n sig[j] = Math.sqrt(v / n) || 1;\n }\n const Z = Array.from({ length: n }, (_, i) => new Float64Array(d));\n for (let i = 0; i < n; i++)\n for (let j = 0; j < d; j++)\n Z[i][j] = (X[i][j] - mu[j]) / sig[j];\n // A = Z^T Z + λI, Zy = Z^T y\n const A = Array.from({ length: d }, () => new Float64Array(d));\n const Zy = new Float64Array(d);\n for (let i = 0; i < n; i++) {\n const zi = Z[i];\n const yi = y[i];\n for (let j = 0; j < d; j++) {\n Zy[j] += zi[j] * yi;\n const zij = zi[j];\n for (let k = 0; k <= j; k++)\n A[j][k] += zij * zi[k];\n }\n }\n for (let j = 0; j < d; j++) {\n for (let k = 0; k < j; k++)\n A[k][j] = A[j][k];\n A[j][j] += lambda;\n }\n // Cholesky solve\n const L = Array.from({ length: d }, () => new Float64Array(d));\n for (let i = 0; i < d; i++) {\n for (let j = 0; j <= i; j++) {\n let sum = A[i][j];\n for (let k = 0; k < j; k++)\n sum -= L[i][k] * L[j][k];\n L[i][j] = (i === j) ? Math.sqrt(Math.max(sum, 1e-12)) : (sum / (L[j][j] || 1e-12));\n }\n }\n const z = new Float64Array(d);\n for (let i = 0; i < d; i++) {\n let s = Zy[i];\n for (let k = 0; k < i; k++)\n s -= L[i][k] * z[k];\n z[i] = s / (L[i][i] || 1e-12);\n }\n const w = new Float64Array(d);\n for (let i = d - 1; i >= 0; i--) {\n let s = z[i];\n for (let k = i + 1; k < d; k++)\n s -= L[k][i] * w[k];\n w[i] = s / (L[i][i] || 1e-12);\n }\n this.w = w;\n this.mu = mu;\n this.sigma = sig;\n }\n predict(x) {\n if (!this.w || !this.mu || !this.sigma)\n return 0;\n let s = 0;\n for (let j = 0; j < this.w.length; j++) {\n const z = (x[j] - this.mu[j]) / this.sigma[j];\n s += this.w[j] * z;\n }\n return s;\n }\n}\n/* ===================== Weak Supervision ===================== */\nfunction generateWeakLabel(q, chunk, feats) {\n var _a;\n const txt = (chunk.rich || chunk.content || \"\");\n let y = 0;\n const qIsGoFunc = /\\bgo\\b/.test(q.toLowerCase()) && /(define|declare|function|func)/i.test(q);\n if (qIsGoFunc && containsGoCodeBlock(txt))\n y = Math.max(y, 1.0);\n const headHit = headingQueryMatch(chunk.heading || \"\", q);\n if (headHit >= 0.34 && containsCodeBlock(txt))\n y = Math.max(y, 0.8);\n const cosIdx = feats.names.indexOf(\"cosine_tfidf\");\n const bm25Idx = feats.names.indexOf(\"bm25\");\n const cos = cosIdx >= 0 ? feats.values[cosIdx] : 0;\n const bm = bm25Idx >= 0 ? feats.values[bm25Idx] : 0;\n if (cos > 0.25)\n y = Math.max(y, 0.6);\n if (bm > 1.0)\n y = Math.max(y, 0.6);\n const priorIdx = feats.names.indexOf(\"prior_score_base\");\n const prior = priorIdx >= 0 ? feats.values[priorIdx] : 0;\n if (((_a = chunk.score_base) !== null && _a !== void 0 ? _a : 0) > 0)\n y = Math.max(y, Math.min(0.6, 0.2 + 0.5 * prior));\n return y;\n}\nfunction sigmoid(x) {\n if (x >= 0) {\n const z = Math.exp(-x);\n return 1 / (1 + z);\n }\n else {\n const z = Math.exp(x);\n return z / (1 + z);\n }\n}\n/* ========================= MMR Filter ========================= */\nfunction mmrFilter(scored, lambda = 0.7, budgetChars = 1200) {\n const sel = [];\n const docs = scored.map(s => s.content || \"\");\n const { stats, tf: tfList } = buildCorpusStats(docs);\n const tfidf = tfList.map(tf => tfidfVector(tf, stats.idf));\n const selectedIdx = new Set();\n let used = 0;\n while (selectedIdx.size < scored.length) {\n let bestIdx = -1, bestVal = -Infinity;\n for (let i = 0; i < scored.length; i++) {\n if (selectedIdx.has(i))\n continue;\n const cand = scored[i];\n let red = 0;\n for (const j of selectedIdx) {\n const sim = cosine$1(tfidf[i], tfidf[j]);\n if (sim > red)\n red = sim;\n }\n const val = lambda * cand.score_rr - (1 - lambda) * red;\n if (val > bestVal) {\n bestVal = val;\n bestIdx = i;\n }\n }\n if (bestIdx < 0)\n break;\n const chosen = scored[bestIdx];\n const addLen = (chosen.content || \"\").length;\n if (used + addLen > budgetChars && sel.length > 0)\n break;\n sel.push(chosen);\n used += addLen;\n selectedIdx.add(bestIdx);\n }\n return sel;\n}\n/* ========================= Public API ========================= */\n/** Train per-query ridge model and score chunks. */\nfunction rerank(query, chunks, opts = {}) {\n var _a, _b;\n // License check removed // Premium feature - requires valid license\n const { lambdaRidge = 1e-2, randomProjDim = 32, exposeFeatures = true, attachFeatureNames = false, } = opts;\n const docs = [query, ...chunks.map(c => c.content || \"\")];\n const { stats, tf: tfRaw, docLens } = buildCorpusStats(docs);\n const tfidfAll = tfRaw.map(tf => tfidfVector(tf, stats.idf));\n const qTfRaw = tfRaw[0];\n const qTfIdf = tfidfAll[0];\n const projQ = randomProjDim > 0 ? projectSparse(qTfIdf, randomProjDim) : undefined;\n const X = [];\n const y = [];\n const featPacks = [];\n for (let i = 0; i < chunks.length; i++) {\n const c = chunks[i];\n const cTfRaw = tfRaw[i + 1];\n const cTfIdf = tfidfAll[i + 1];\n const projC = randomProjDim > 0 ? projectSparse(cTfIdf, randomProjDim, 1337 + i) : undefined;\n const feats = buildFeatures$1(query, c, qTfIdf, cTfIdf, qTfRaw, cTfRaw, stats, docLens[i + 1] || 1, projQ, projC);\n featPacks.push(feats);\n X.push(feats.values);\n const label = generateWeakLabel(query, c, feats);\n y.push(label);\n }\n const allSame = y.every(v => Math.abs(v - y[0]) < 1e-9);\n if (allSame) {\n const cosIdx = featPacks[0].names.indexOf(\"cosine_tfidf\");\n if (cosIdx >= 0) {\n for (let i = 0; i < y.length; i++)\n y[i] = Math.max(0, Math.min(1, 0.2 + 0.6 * X[i][cosIdx]));\n }\n }\n const rr = new Ridge();\n rr.fit(X, y, lambdaRidge);\n let minS = Infinity, maxS = -Infinity;\n const rawScores = X.map(x => rr.predict(x));\n for (const s of rawScores) {\n if (s < minS)\n minS = s;\n if (s > maxS)\n maxS = s;\n }\n const range = Math.max(1e-9, maxS - minS);\n const featureNames = attachFeatureNames ? (_b = (_a = featPacks[0]) === null || _a === void 0 ? void 0 : _a.names) !== null && _b !== void 0 ? _b : [] : undefined;\n const scored = chunks.map((c, i) => {\n const s01 = (rawScores[i] - minS) / range;\n const p = sigmoid((rawScores[i] - 0.5 * (minS + maxS)) / (0.2 * range + 1e-6));\n const base = Object.assign(Object.assign({}, c), { score_rr: s01, p_relevant: p });\n if (exposeFeatures)\n base._features = X[i];\n if (featureNames)\n base._feature_names = featureNames;\n return base;\n });\n scored.sort((a, b) => b.score_rr - a.score_rr);\n return scored;\n}\n/** Filter scored chunks using probability/near-top thresholds and MMR coverage. */\nfunction filterMMR(scored, opts = {}) {\n // License check removed // Premium feature - requires valid license\n const { probThresh = 0.45, epsilonTop = 0.05, useMMR = true, mmrLambda = 0.7, budgetChars = 1200 } = opts;\n if (scored.length === 0)\n return [];\n const top = scored[0].score_rr;\n const bandKept = scored.filter(s => s.p_relevant >= probThresh && s.score_rr >= (top - epsilonTop));\n const seed = bandKept.length > 0 ? bandKept : [scored[0]];\n if (!useMMR) {\n const out = [];\n let used = 0;\n for (const s of seed) {\n const add = (s.content || \"\").length;\n if (used + add > budgetChars && out.length > 0)\n break;\n out.push(s);\n used += add;\n }\n return out;\n }\n const boosted = scored.map(s => (Object.assign(Object.assign({}, s), { score_rr: seed.includes(s) ? s.score_rr + 0.01 : s.score_rr })));\n return mmrFilter(boosted, mmrLambda, budgetChars);\n}\n/** Convenience: run rerank then filter. */\nfunction rerankAndFilter(query, chunks, opts = {}) {\n // License check removed // Premium feature - requires valid license\n const scored = rerank(query, chunks, opts);\n return filterMMR(scored, opts);\n}\nfunction importModel(model, opts) {\n // License check removed // Premium feature - requires valid license\n if (model.version !== 'astermind-pro-v1' && model.version !== 'astermind-elm-v1') {\n throw new Error(`Unsupported model version: ${model.version}. Expected 'astermind-pro-v1' or 'astermind-elm-v1'`);\n }\n // 1) restore settings\n const settings = JSON.parse(JSON.stringify(model.settings || {}));\n // 2) vocab & idf\n const vocabMap = new Map(model.vocab);\n const idf = Float64Array.from(model.idf); // keep as number[] for compatibility\n // 3) chunks\n const chunks = model.chunks.map(c => ({\n heading: c.heading,\n content: c.content || '',\n rich: c.rich,\n level: c.level,\n secId: c.secId\n }));\n // 4) tfidfDocs from pairs\n const tfidfDocs = model.tfidfDocs.map(row => {\n const m = new Map();\n for (const [i, v] of row)\n m.set(i, v);\n return m;\n });\n // 5) Nyström landmarks\n const landmarksIdx = Array.from(model.landmarksIdx);\n const landmarkMat = model.landmarkMat.map(a => Float64Array.from(a));\n // 6) denseDocs: use stored or recompute\n const needRecompute = !model.denseDocs || model.denseDocs.length !== tfidfDocs.length;\n let denseDocs;\n if (needRecompute) {\n throw new Error('recomputeDense=true but buildDense function not provided');\n }\n else {\n denseDocs = model.denseDocs.map(a => Float64Array.from(a));\n }\n return {\n settings,\n vocabMap,\n idf,\n chunks,\n tfidfDocs,\n landmarksIdx,\n landmarkMat,\n denseDocs,\n };\n}\n\n// src/omega/OmegaOfflineRAG.ts\n// Omega-powered offline RAG using @astermind/astermind-community\n/**\n * Omega-powered offline RAG class\n *\n * Uses @astermind/astermind-community for hybrid retrieval and reranking.\n * Provides enhanced offline capabilities over simple TF-IDF fallback.\n */\nclass OmegaOfflineRAG {\n constructor(config) {\n this.modelState = null;\n this.model = null;\n this.config = {\n reranking: {\n enabled: config?.reranking?.enabled ?? true,\n lambdaRidge: config?.reranking?.lambdaRidge ?? 0.1,\n useMMR: config?.reranking?.useMMR ?? true,\n mmrLambda: config?.reranking?.mmrLambda ?? 0.5,\n probThresh: config?.reranking?.probThresh ?? 0.1\n },\n topK: config?.topK ?? 5,\n verbose: config?.verbose ?? false\n };\n }\n /**\n * Load a pre-exported model from SerializedModel object\n */\n async loadModel(model) {\n const startTime = performance.now();\n this.model = model;\n this.modelState = importModel(model);\n if (this.config.verbose) {\n const loadTime = performance.now() - startTime;\n console.log(`[OmegaOfflineRAG] Model loaded in ${loadTime.toFixed(0)}ms`);\n console.log(`[OmegaOfflineRAG] ${this.modelState.chunks.length} chunks, ${this.modelState.vocabMap.size} vocab`);\n }\n }\n /**\n * Load model from a URL\n */\n async loadModelFromUrl(url) {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(`Failed to fetch model from ${url}: ${response.status}`);\n }\n const model = await response.json();\n await this.loadModel(model);\n }\n /**\n * Check if model is loaded and ready\n */\n isReady() {\n return this.modelState !== null;\n }\n /**\n * Get model information\n */\n getModelInfo() {\n if (!this.model || !this.modelState)\n return null;\n return {\n version: this.model.version,\n savedAt: this.model.savedAt,\n documentCount: this.modelState.chunks.length,\n vocabularySize: this.modelState.vocabMap.size,\n landmarkCount: this.modelState.landmarksIdx.length,\n hasDenseVectors: this.modelState.denseDocs.length > 0,\n settings: this.model.settings\n };\n }\n /**\n * Perform RAG query and return answer with sources\n */\n async ask(query) {\n const startTime = performance.now();\n if (!this.modelState || !this.model) {\n return {\n answer: 'Omega model not loaded. Please load a model first.',\n confidence: 'none',\n sources: [],\n processingTime: 0,\n degraded: true,\n degradedReason: 'Model not loaded'\n };\n }\n try {\n // Extract settings with proper type assertions\n const settings = this.model.settings;\n const kernel = settings.kernel ?? 'rbf';\n const sigma = settings.sigma ?? 1.0;\n const alpha = settings.alpha ?? 0.5;\n const beta = settings.beta ?? 0.3;\n const ridge = settings.ridge ?? 0.001;\n const headingW = settings.headingW ?? 0.2;\n const useStem = settings.useStem ?? true;\n const expandQuery = settings.expandQuery ?? false;\n const prefilter = settings.prefilter ?? 100;\n // Perform hybrid retrieval\n const retrievalResult = hybridRetrieve({\n query,\n chunks: this.modelState.chunks,\n vocabMap: this.modelState.vocabMap,\n idf: this.modelState.idf,\n tfidfDocs: this.modelState.tfidfDocs,\n denseDocs: this.modelState.denseDocs,\n landmarksIdx: this.modelState.landmarksIdx,\n landmarkMat: this.modelState.landmarkMat,\n vocabSize: this.modelState.vocabMap.size,\n kernel: kernel,\n sigma,\n alpha,\n beta,\n ridge,\n headingW,\n useStem,\n expandQuery,\n topK: this.config.topK * 2, // Get more for reranking\n prefilter\n });\n let sources;\n // Apply reranking if enabled\n if (this.config.reranking.enabled && retrievalResult.items.length > 0) {\n const chunksForRerank = retrievalResult.items.map((item, idx) => ({\n heading: item.heading,\n content: item.content,\n rich: item.rich,\n score_base: retrievalResult.scores[idx]\n }));\n const reranked = rerankAndFilter(query, chunksForRerank, {\n lambdaRidge: this.config.reranking.lambdaRidge,\n useMMR: this.config.reranking.useMMR,\n mmrLambda: this.config.reranking.mmrLambda,\n probThresh: this.config.reranking.probThresh\n });\n sources = reranked.slice(0, this.config.topK).map((chunk) => ({\n heading: chunk.heading,\n content: chunk.content,\n rich: chunk.rich,\n score: chunk.score_base ?? 0,\n rerankScore: chunk.score_rr,\n probability: chunk.p_relevant\n }));\n }\n else {\n sources = retrievalResult.items.slice(0, this.config.topK).map((item, idx) => ({\n heading: item.heading,\n content: item.content,\n rich: item.rich,\n score: retrievalResult.scores[idx]\n }));\n }\n // Compose answer using Omega\n const answer = await omegaComposeAnswer(query, sources.map(s => ({ heading: s.heading, content: s.content, score: s.score })));\n const processingTime = performance.now() - startTime;\n // Determine confidence based on scores\n const topScore = sources[0]?.score ?? 0;\n const confidence = this.determineConfidence(topScore, sources.length);\n // Classify query type\n const queryClassification = this.classifyQuery(query);\n return {\n answer,\n confidence,\n sources,\n processingTime,\n degraded: false,\n queryClassification\n };\n }\n catch (error) {\n const processingTime = performance.now() - startTime;\n console.error('[OmegaOfflineRAG] Error during retrieval:', error);\n return {\n answer: 'An error occurred while processing your question offline.',\n confidence: 'none',\n sources: [],\n processingTime,\n degraded: true,\n degradedReason: error instanceof Error ? error.message : 'Unknown error'\n };\n }\n }\n /**\n * Retrieve relevant chunks without generating an answer\n */\n async retrieve(query, topK) {\n if (!this.modelState || !this.model) {\n return [];\n }\n const k = topK ?? this.config.topK;\n // Extract settings with proper type assertions\n const settings = this.model.settings;\n const kernel = settings.kernel ?? 'rbf';\n const sigma = settings.sigma ?? 1.0;\n const alpha = settings.alpha ?? 0.5;\n const beta = settings.beta ?? 0.3;\n const ridge = settings.ridge ?? 0.001;\n const headingW = settings.headingW ?? 0.2;\n const useStem = settings.useStem ?? true;\n const expandQuery = settings.expandQuery ?? false;\n const prefilter = settings.prefilter ?? 100;\n const retrievalResult = hybridRetrieve({\n query,\n chunks: this.modelState.chunks,\n vocabMap: this.modelState.vocabMap,\n idf: this.modelState.idf,\n tfidfDocs: this.modelState.tfidfDocs,\n denseDocs: this.modelState.denseDocs,\n landmarksIdx: this.modelState.landmarksIdx,\n landmarkMat: this.modelState.landmarkMat,\n vocabSize: this.modelState.vocabMap.size,\n kernel: kernel,\n sigma,\n alpha,\n beta,\n ridge,\n headingW,\n useStem,\n expandQuery,\n topK: k,\n prefilter\n });\n return retrievalResult.items.map((item, idx) => ({\n heading: item.heading,\n content: item.content,\n rich: item.rich,\n score: retrievalResult.scores[idx]\n }));\n }\n /**\n * Classify query type for better handling\n */\n classifyQuery(query) {\n const lowerQuery = query.toLowerCase();\n const words = lowerQuery.split(/\\s+/);\n // Simple keyword-based classification\n const factualKeywords = ['what', 'who', 'when', 'where', 'which', 'is', 'are', 'was', 'were'];\n const proceduralKeywords = ['how', 'steps', 'guide', 'tutorial', 'process', 'procedure'];\n const conceptualKeywords = ['why', 'explain', 'describe', 'meaning', 'definition', 'concept'];\n const navigationKeywords = ['go to', 'navigate', 'find', 'page', 'link', 'take me', 'show me'];\n let type = 'unknown';\n let confidence = 0.5;\n const keywords = [];\n // Check navigation first (phrase matching)\n for (const phrase of navigationKeywords) {\n if (lowerQuery.includes(phrase)) {\n type = 'navigational';\n confidence = 0.8;\n keywords.push(phrase);\n break;\n }\n }\n if (type === 'unknown') {\n // Check other types\n const firstWord = words[0];\n if (proceduralKeywords.includes(firstWord) || proceduralKeywords.some(k => lowerQuery.includes(k))) {\n type = 'procedural';\n confidence = 0.7;\n keywords.push(...proceduralKeywords.filter(k => lowerQuery.includes(k)));\n }\n else if (conceptualKeywords.includes(firstWord) || conceptualKeywords.some(k => lowerQuery.includes(k))) {\n type = 'conceptual';\n confidence = 0.7;\n keywords.push(...conceptualKeywords.filter(k => lowerQuery.includes(k)));\n }\n else if (factualKeywords.includes(firstWord)) {\n type = 'factual';\n confidence = 0.7;\n keywords.push(firstWord);\n }\n }\n return { type, confidence, keywords };\n }\n /**\n * Determine confidence level based on retrieval scores\n */\n determineConfidence(topScore, sourceCount) {\n if (sourceCount === 0)\n return 'none';\n if (topScore >= 0.7)\n return 'medium'; // Never 'high' for offline\n if (topScore >= 0.4)\n return 'medium';\n if (topScore >= 0.2)\n return 'low';\n return 'low';\n }\n /**\n * Clear loaded model\n */\n clear() {\n this.modelState = null;\n this.model = null;\n }\n}\n\nvar OmegaOfflineRAG$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n OmegaOfflineRAG: OmegaOfflineRAG\n});\n\n// src/index.ts\n// Main package exports (core + tree-shakeable agentic)\n// Core exports\nfunction createClient(config) {\n return new CyberneticClient(config);\n}\n\nexport { ApiClient, CyberneticAgent, CyberneticCache, CyberneticClient, CyberneticIntentClassifier, CyberneticLocalRAG, CyberneticOfflineStorage, LicenseManager, OmegaOfflineRAG, REQUIRED_FEATURES, SiteMapDiscovery, configLoaders, createClient, createDiscoveryConfig, createLicenseManager, detectEnvironment, getEnforcementMode, getTokenExpiration, isValidJWTFormat, loadConfig, registerAgenticCapabilities, useSiteMapDiscovery, validateConfig, verifyLicenseToken };\n//# sourceMappingURL=cybernetic-chatbot-client.esm.js.map\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["l","Symbol","for","n","p","q","r","t","u","v","w","x","y","z","iterator","B","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","C","Object","assign","D","E","a","b","e","this","props","context","refs","updater","F","G","prototype","isReactComponent","setState","Error","forceUpdate","H","constructor","isPureReactComponent","I","Array","isArray","J","hasOwnProperty","K","current","L","key","ref","__self","__source","M","d","c","k","h","call","g","arguments","length","children","f","m","defaultProps","$$typeof","type","_owner","O","P","Q","replace","escape","toString","R","N","push","A","next","done","value","String","keys","join","S","T","_status","_result","then","default","U","V","transition","W","ReactCurrentDispatcher","ReactCurrentBatchConfig","ReactCurrentOwner","X","react_production_min","Children","map","forEach","apply","count","toArray","only","Component","Profiler","PureComponent","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","act","cloneElement","createContext","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","_context","createElement","createFactory","bind","createRef","forwardRef","render","isValidElement","lazy","_payload","_init","memo","compare","startTransition","unstable_act","useCallback","useContext","useDebugValue","useDeferredValue","useEffect","useId","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useSyncExternalStore","useTransition","version","reactModule","exports","require$$0","pop","sortIndex","id","performance","now","unstable_now","Date","setTimeout","clearTimeout","setImmediate","callback","startTime","expirationTime","priorityLevel","navigator","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_IdlePriority","unstable_ImmediatePriority","unstable_LowPriority","unstable_NormalPriority","unstable_Profiling","unstable_UserBlockingPriority","unstable_cancelCallback","unstable_forceFrameRate","console","error","Math","floor","unstable_getCurrentPriorityLevel","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_requestPaint","unstable_runWithPriority","unstable_scheduleCallback","delay","unstable_shouldYield","unstable_wrapCallback","schedulerModule","aa","ca","require$$1","encodeURIComponent","da","Set","ea","fa","ha","add","ia","window","document","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","split","toLowerCase","ra","sa","toUpperCase","ta","slice","pa","isNaN","qa","test","oa","removeAttribute","setAttribute","setAttributeNS","xlinkHref","ua","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","stack","trim","match","Na","Oa","prepareStackTrace","defineProperty","set","Reflect","construct","displayName","includes","name","Pa","tag","Qa","Ra","Sa","Ta","nodeName","Va","_valueTracker","getOwnPropertyDescriptor","get","configurable","enumerable","getValue","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","body","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","cb","db","ownerDocument","eb","fb","options","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","innerHTML","valueOf","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeType","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","style","indexOf","setProperty","charAt","substring","tb","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr","ub","vb","is","wb","xb","target","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","addEventListener","removeEventListener","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","child","sibling","Yb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","oc","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","shift","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","data","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","fromCharCode","code","location","repeat","locale","which","Rd","Td","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","date","datetime","email","month","number","password","range","search","tel","text","time","url","week","me","ne","oe","event","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","node","offset","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","href","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","start","end","selectionStart","selectionEnd","min","defaultView","getSelection","extend","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","element","left","scrollLeft","top","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","concat","nf","Ub","instance","listener","of","has","pf","qf","rf","random","sf","capture","passive","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","unshift","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Promise","Jf","queueMicrotask","resolve","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","elementType","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","_stringRef","Mg","Ng","Og","index","Pg","Qg","Rg","implementation","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","childLanes","ch","dependencies","firstContext","lanes","dh","eh","memoizedValue","fh","gh","hh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","lh","mh","eventTime","lane","payload","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","tagName","zh","Ah","Bh","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","queue","Uh","Vh","Wh","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","Xh","Yh","Zh","$h","ai","getSnapshot","bi","ci","di","lastEffect","stores","ei","fi","gi","hi","ii","create","destroy","deps","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","readContext","useMutableSource","unstable_isNewReconciler","identifierPrefix","Ci","Di","Ei","_reactInternals","Fi","shouldComponentUpdate","Gi","contextType","state","Hi","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ii","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Ji","message","digest","Ki","Li","Mi","WeakMap","Ni","Oi","Pi","Qi","getDerivedStateFromError","componentDidCatch","Ri","componentStack","Si","pingCache","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","baseLanes","cachePool","transitions","ej","fj","gj","hj","ij","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","jj","kj","pendingContext","lj","zj","Aj","Bj","Cj","mj","nj","oj","fallback","pj","qj","sj","dataset","dgst","tj","uj","_reactRetry","rj","subtreeFlags","vj","wj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","xj","Dj","Ej","Fj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","size","createElementNS","autoFocus","createTextNode","Gj","Hj","Ij","Jj","Kj","WeakSet","Lj","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","insertBefore","_reactRootContainer","Wj","Xj","Yj","Zj","onCommitFiberUnmount","componentWillUnmount","ak","bk","ck","dk","ek","isHidden","fk","gk","display","hk","ik","jk","kk","__reactInternalSnapshotBeforeUpdate","src","Vk","lk","ceil","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","Infinity","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","finishedWork","finishedLanes","Pk","timeoutHandle","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Bc","Oj","onCommitFiberRoot","mc","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","pendingChildren","al","mutableSourceEagerHydrationData","bl","cache","pendingSuspenseBoundaries","dl","el","fl","gl","hl","il","yj","Zk","kl","reportError","ll","_internalRoot","ml","nl","ol","pl","rl","ql","unmount","unstable_scheduleHydration","splice","querySelectorAll","JSON","stringify","form","sl","usingClientEntryPoint","Events","tl","findFiberByHostInstance","bundleType","rendererPackageName","ul","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","vl","isDisabled","supportsFiber","inject","reactDom_production_min","createPortal","cl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","err","reactDomModule","reactJsxRuntime_production_min","jsx","jsxs","jsxRuntimeModule","mapSource","raw","title","snippet","content","relevance","score","documentId","fullContent","downloadUrl","documentName","sourceType","chunkId","ApiClient","baseUrl","apiKey","chat","response","fetch","method","headers","sessionId","json","status","statusText","sources","chatStream","reader","getReader","decoder","TextDecoder","buffer","fullText","read","decode","stream","lines","line","startsWith","parse","undefined","onToken","onSources","onComplete","getGeneralDocs","since","params","URLSearchParams","documents","getStatus","health","idbProxyableTypes","cursorAdvanceMethods","cursorRequestMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","idbProxyTraps","prop","receiver","IDBTransaction","objectStoreNames","objectStore","wrap","wrapFunction","func","IDBDatabase","transaction","IDBCursor","advance","continue","continuePrimaryKey","args","unwrap","storeNames","tx","sort","transformCachableValue","reject","unlisten","complete","DOMException","cacheDonePromiseForTransaction","object","IDBObjectStore","IDBIndex","some","Proxy","IDBRequest","request","promise","success","result","promisifyRequest","newValue","openDB","blocked","upgrade","blocking","terminated","indexedDB","open","openPromise","oldVersion","newVersion","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","async","storeName","store","all","oldTraps","CyberneticCache","config","dbPromise","documentCount","lastSyncAt","storage","initDB","loadLocalStorageMetadata","localStorage","getItem","parsed","createObjectStore","keyPath","createIndex","loadMetadata","getDB","countMeta","syncMeta","storeLocalStorage","doc","put","toISOString","retrieve","retrieveLocalStorage","getAll","getLastSync","isStale","getTime","maxAge","cacheSize","clear","removeItem","setItem","limited","CyberneticLocalRAG","idf","indexed","loadedFromExport","vocabulary","isIndexed","docFreq","tokens","tokenize","uniqueTokens","token","tfidf","term","termFreq","computeTermFrequency","ask","query","answer","topScore","queryTokens","queryTf","queryTfidf","scores","cosineSimilarity","topResults","filter","topDoc","extractRelevantSnippet","reset","exportVersion","exportedAt","loadFromExport","exportData","entries","tfidfIndex","vocabIndex","tfidfMap","termIndex","weight","tfidfVector","idx","getExportStatus","loaded","chunkCount","isStopWord","freq","maxFreq","max","values","vec1","vec2","dotProduct","norm1","norm2","val1","val","sqrt","scored","s","sentence","sentenceTokens","qt","topSentences","word","CyberneticOfflineStorage","dbName","dbVersion","record","isValid","exportTime","getMeta","hasData","getStoredIds","getAllKeys","close","base64urlDecode","base64","padding","binaryString","atob","bytes","Uint8Array","i","charCodeAt","base64urlDecodeString","verifySignature","signedContent","signature","publicKey","pemKey","pemContents","crypto","subtle","importKey","namedCurve","importPublicKey","TextEncoder","encode","sigBuffer","verify","hash","warn","verifyLicenseToken","inGracePeriod","daysRemaining","parts","headerB64","payloadB64","signatureB64","header","parseJWT","iss","sub","aud","iat","exp","plan","seats","features","licenseVersion","org","graceUntil","validatePayload","keyToUse","expTimestamp","secondsRemaining","calculateDaysRemaining","REQUIRED_FEATURES","LicenseManager","verificationPromise","hasLoggedWarning","loggedMissingFeatures","environment","process","env","NODE_ENV","hostname","devPatterns","pattern","port","protocol","stagingPatterns","detectEnvironment","enforcementMode","licenseKey","onStatusChange","logLicenseStatus","getState","requiresAction","getEnvironment","getEnforcementMode","processResponse","logDevelopmentWarning","getStatusMessage","abs","reVerify","hasFeature","feature","getFeatures","checkClientFeature","checkFeatureWithLog","checkAgenticFeature","logMissingFeature","missingFeature","availableFeatures","info","prefix","CyberneticClient","lastError","systemSettings","settingsLastChecked","SETTINGS_CHECK_INTERVAL","agenticCapabilities","offlineStorage","omegaRAG","offlineWarningShown","apiUrl","enabled","cacheMaxAge","cacheOnConnect","cacheStorage","retry","maxRetries","initialDelay","exponentialBackoff","agentic","offline","sitemap","showSummary","showDownload","includeFullContent","maxSources","apiClient","localRAG","licenseManager","monitorConnection","syncCache","initializeOffline","registerAgentic","capabilities","isAgenticEnabled","getAgenticCapabilities","getAgenticConfig","getSourcesConfig","isSourceFeatureAvailable","classifyIntent","agentConfig","AgentClass","agent","interpretIntent","executeAction","smartAsk","classification","shouldEscalate","requireConfirmation","actionResult","storageMode","cacheId","cached","vectorFileUrl","omega","initializeOmega","vectorData","OmegaOfflineRAG","OmegaOfflineRAG$1","reranking","topK","verbose","modelUrl","loadModelFromUrl","modelData","loadModel","reloadOfflineVectors","isOmegaOfflineEnabled","isReady","getOfflineModelInfo","getModelInfo","getLocalRAGStatus","getOfflineStorage","createErrorResponse","settings","checkSystemStatus","maintenanceMode","forceOfflineClients","isCacheValid","fallbackAsk","reply","maintenanceMessage","confidence","degradedReason","apiWithRetry","setStatus","omegaError","normalizeError","retryAfter","skipFallback","askStream","callbacks","processedReply","lastSync","docs","connection","license","getLicenseManager","clearCache","checkConnection","cacheRetentionHours","isMaintenanceMode","getMaintenanceMessage","cacheStatus","retentionMs","lastSyncTime","attempt","pow","sleep","omegaResult","degraded","heading","localRAGStatus","onLine","originalError","parseInt","ms","SiteMapDiscovery","staticEntries","discoveredEntries","backendEntries","backendCache","isInitialized","initPromise","static","enhanceEntries","initialize","performInitialization","tasks","discovery","discoverFromFramework","backend","endpoint","fetchFromBackend","results","allSettled","reason","total","getMergedEntries","mergeEntries","getLegacyEntries","path","description","dynamicParams","aliases","framework","detectFramework","routes","discoverReactRouter","discoverVueRouter","discoverNextRoutes","discoverAngularRoutes","domFallback","discoverFromDOM","navSelectors","route","shouldExcludeRoute","excludePaths","entry","transformRoute","defaultRouteTransform","enhanceEntry","timestamp","win","__REACT_ROUTER_DATA_ROUTER__","__reactRouterContext","__VUE_ROUTER__","__VUE_APP__","$router","__NEXT_DATA__","querySelector","dataRouter","extractRoutesFromConfig","routeConfigs","parentPath","normalizePath","handle","app","router","getRoutes","vueRoutes","vueRoute","component","components","nextData","pages","buildManifest","pagePath","pathToName","selectors","allSelectors","seen","selector","links","getAttribute","origin","cleanPath","expiresAt","fetchedAt","URL","tenantScoped","searchParams","includeGeneral","transformBackendResponse","ttl","cacheTtl","keywords","mergeConfig","merge","priorityOrder","sourcePriority","dedupeStrategy","deduplication","priorityMap","allEntries","sourceEntries","_priority","keepNonConflicting","existing","from","_discoveredAt","parent","segments","Boolean","patterns","RegExp","refresh","getStats","discovered","merged","ACTION_PATTERNS","navigate","fillForm","clickElement","triggerModal","scroll","highlight","custom","CyberneticIntentClassifier","categories","topicKeywords","siteMapDiscovery","siteMapIndex","formIndex","modalIndex","buildIndexes","siteMapConfig","siteMap","forms","field","modals","modal","classify","rawConfidence","normalizedMessage","actionType","buildAction","siteMapResult","fuzzyMatchSiteMap","customResult","matchCustomAction","matchedPatterns","baseWeight","threshold","confidenceThreshold","extractTarget","siteMatch","findSiteMapMatch","similarity","explanation","parseFormIntent","buttonName","findButtonSelector","modalName","findModalConfig","trigger","findScrollTarget","findElementByDescription","actionName","customActions","stripArticles","normalizedTarget","strippedTarget","exact","bestMatch","bestScore","score1","calculateSimilarity","score2","valueMatch","normalizedName","btn","generateUniqueSelector","normalizedDesc","className","classes","parentElement","setA","setB","intersection","union","getConfig","trainFromExport","category","keyword","docTopics","extractTopicsFromDocuments","topic","loadSitemapEntries","loadSitemap","sitemapData","sitemapUrl","siteMapEntry","descWords","topics","metadata","titleWords","contentWords","wordFreq","topWords","getCategories","getTopicKeywords","isTrained","initializeDiscovery","rebuildIndexesFromDiscovery","mergedEntries","isSiteMapReady","ensureSiteMapReady","refreshSiteMap","getSiteMapDiscovery","getSiteMapEntries","CyberneticAgent","highlightOverlay","actionCount","lastActionReset","classifier","injectStyles","maxActions","maxActionsPerTurn","isActionAllowed","scrollToElement","highlightElement","executeCustomAction","allowedActions","mappedType","isSelectorAllowed","blockedSelectors","allowedSelectors","allowed","validateNavigationUrl","queryString","isInternalUrl","tryClientSideNavigation","sanitizedSelector","sanitizeSelector","HTMLInputElement","HTMLTextAreaElement","HTMLSelectElement","option","find","opt","Event","nativeInputValueSetter","HTMLElement","scrollIntoView","behavior","block","click","triggerSelector","scrollTo","scrollHeight","removeHighlight","rect","getBoundingClientRect","overlay","cssText","isAllowedCustomAction","history","pushState","PopStateEvent","HashChangeEvent","remove","getElementById","head","getClassifier","resetActionCount","defaultBase","hiddenUnits","activation","ridgeLambda","weightInit","seed","dropout","toFile","modelName","level","gauss$1","rng","cos","PI","useTokenizer","maxLen","charSet","tokenizerDelimiter","OnlineRidge","lambda","Ainv","Float64Array","Beta","inv","update","phi","row","j","denom","scale","predict","out","l2$1","cosine$2","_a","_b","dotv","Number","isFinite","__awaiter","thisArg","_arguments","generator","fulfilled","step","rejected","splitSentences$1","clean","omegaComposeAnswer","question_1","items_1","question","items","opts","dim","sigma","rounds","personality","sentences","isMetaSentence","rff","buildRFF","ridge","vec","len","dot","off","sin","mapRFF","eps","nrm","o","normalizeL2","qVec","qTokens","lower","summary","meanVec","subs","embeds","weights","fill","norm","rescored","rewrite","dotProd$1","baseKernel$1","hypot","projectToDense","vocabSize","landmarkMat","kernel","sparseToDense","feats","SuppressedError","STEM_CACHE","normalizeWord","endsWith","rules","rep","topKIndices","arr","_","hybridRetrieve","chunks","vocabMap","tfidfDocs","denseDocs","landmarksIdx","alpha","beta","headingW","useStem","expandQuery","shouldExpand","prefilter","qexp","adds","toks","doStem","tokenize$1","qvec","vmap","counts","maxTf","toTfidf","qdense","tfidfScores","av","bv","cosineSparse","denseScores","kernelSim","bonus","kws","syntaxBoost","rich","hit","keywordBonus","alphaClamped","clamp$1","tanh","pre","idxs","finalIdxs","indices","STOP$1","buildCorpusStats","vocab","tfs","docLens","nextId","df_i","avgLen","reduce","stats","cosine$1","small","large","projectSparse","n2","containsGoCodeBlock","containsCodeBlock","headingQueryMatch","ht","buildFeatures$1","chunk","qTfIdf","cTfIdf","qTfRaw","cTfRaw","cLen","projQ","projC","names","bm25","qTf","dTf","dLen","k1","bm25Score","hMatch","jac","inter","uni","jaccard$1","hasGo","hasCode","score_base","lenChars","l1","Ridge","mu","fit","sig","Zy","zij","sum","generateWeakLabel","txt","cosIdx","bm25Idx","bm","priorIdx","prior","rerank","lambdaRidge","randomProjDim","exposeFeatures","attachFeatureNames","tfRaw","tfidfAll","featPacks","label","allSame","every","rr","minS","maxS","rawScores","featureNames","s01","sigmoid","score_rr","p_relevant","_features","_feature_names","filterMMR","probThresh","epsilonTop","useMMR","mmrLambda","budgetChars","bandKept","used","sel","tfList","selectedIdx","bestIdx","bestVal","cand","red","sim","chosen","addLen","mmrFilter","freeze","__proto__","modelState","model","secId","importModel","loadTime","toFixed","savedAt","vocabularySize","landmarkCount","hasDenseVectors","processingTime","retrievalResult","reranked","rerankAndFilter","item","rerankScore","probability","determineConfidence","queryClassification","classifyQuery","lowerQuery","words","factualKeywords","proceduralKeywords","conceptualKeywords","navigationKeywords","phrase","firstWord","sourceCount","ChatBubble","position","unreadCount","_jsxs","_jsx","viewBox","xmlns","stroke","strokeLinecap","strokeLinejoin","ChatHeader","subtitle","onClose","renderMarkdown","EyeIcon","cx","cy","DownloadIcon","points","x1","y1","x2","y2","SourceItem","showSummaryButton","showDownloadButton","onViewSummary","onDownload","isExpanded","setIsExpanded","round","SourceCitation","isOnline","formatTime","diff","toDateString","toLocaleTimeString","hour","minute","toLocaleDateString","day","MessageBubble","sourceConfig","onViewSourceSummary","onDownloadSource","showSources","setShowSources","role","isStreaming","TypingIndicator","MessageList","messages","isProcessing","listRef","ChatInput","placeholder","onSend","inputRef","handleSend","onChange","textarea","onKeyDown","rows","ActionCard","onConfirm","onCancel","getActionIcon","getActionLabel","StatusIndicator","getLabel","ChatWindow","connectionStatus","pendingAction","headerTitle","headerSubtitle","showPoweredBy","onSendMessage","onActionConfirm","onActionCancel","rel","defaultTheme","primaryColor","primaryHover","backgroundColor","surfaceColor","textColor","textMuted","borderColor","userBubbleBackground","userBubbleText","botBubbleBackground","botBubbleText","widgetWidth","widgetHeight","bubbleSize","borderRadius","fontFamily","fontSize","shadow","ThemeContext","ThemeProvider","theme","themeValue","mergedTheme","cssVariables","useTheme","ChatbotWidget","defaults","_documentCurrentScript","baseURI","REACT_APP_ASTERMIND_RAG_API_KEY","REACT_APP_ASTERMIND_RAG_API_SERVER_URL","injected","__ASTERMIND_CONFIG__","getDefaultConfig","propApiKey","propApiUrl","throwOnMissingKey","greeting","sourceDisplay","defaultOpen","onReady","onMessage","onAction","onToggle","isOpen","setIsOpen","client","setClient","setMessages","setIsProcessing","setSessionId","setPendingAction","setConnectionStatus","discoveryEnabled","_transformRoute","_excludePaths","_navSelectors","disableDomFallback","isDiscovering","discoveredRef","optionsRef","shouldExclude","defaultTransform","extractReactRouterRoutes","discoverRoutes","prev","transform","timer","handlePopState","useSiteMapDiscovery","mergedSiteMap","staticPaths","resolvedSourceConfig","clientConfig","handleViewSourceSummary","handleDownloadSource","contentDisposition","filename","blob","createObjectURL","download","revokeObjectURL","errorMessage","agenticConfig","cyberneticClient","intentClassifier","registerAgenticCapabilities","siteMapCount","greetingMsg","handleToggle","newState","handleClose","handleSendMessage","userMessage","smartResult","agentAction","executedAction","actionMessage","finalMessage","assistantId","placeholderMessage","msg","handleNonStreamingResponse","messageId","handleActionConfirm","confirmedAction","failedAction","handleActionCancel","cancelledAction","root","init","scriptConfig","script","loadScriptAttributes","mergedConfig","globalConfig","astermindConfig","loadGlobalConfig","container","widgetProps","containerEl","mountPoint","React","AsterMindChatbot"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]}
1
+ {"version":3,"file":"astermind-chatbot.min.js","sources":["../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-dom/client.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/jsx-runtime.js","../../cybernetic-chatbot-client/dist/cybernetic-chatbot-client.esm.js","../src/components/ChatBubble.tsx","../src/components/ChatHeader.tsx","../src/utils/markdown.ts","../src/components/SourceCitation.tsx","../src/utils/time.ts","../src/components/MessageBubble.tsx","../src/components/TypingIndicator.tsx","../src/components/MessageList.tsx","../src/components/ChatInput.tsx","../src/components/ActionCard.tsx","../src/components/StatusIndicator.tsx","../src/components/ChatWindow.tsx","../src/hooks/useTheme.ts","../src/context/ThemeContext.tsx","../src/components/ChatbotWidget.tsx","../src/init.ts"],"sourcesContent":["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error(\"act(...) is not supported in production builds of React.\");}\nexports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};\nexports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};\nexports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.3.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;\nfunction Lg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction Mg(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function Ng(a){var b=a._init;return b(a._payload)}\nfunction Og(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Pg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Qg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&Ng(f)===b.type))return d=e(b,c.props),d.ref=Lg(a,b,c),d.return=a,d;d=Rg(c.type,c.key,c.props,null,a.mode,d);d.ref=Lg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=Sg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Tg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=Qg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=Rg(b.type,b.key,b.props,null,a.mode,c),\nc.ref=Lg(a,null,b),c.return=a,c;case wa:return b=Sg(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Tg(b,a.mode,c,null),b.return=a,b;Mg(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);Mg(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);Mg(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var th={},uh=Uf(th),vh=Uf(th),wh=Uf(th);function xh(a){if(a===th)throw Error(p(174));return a}\nfunction yh(a,b){G(wh,b);G(vh,a);G(uh,th);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(uh);G(uh,b)}function zh(){E(uh);E(vh);E(wh)}function Ah(a){xh(wh.current);var b=xh(uh.current);var c=lb(b,a.type);b!==c&&(G(vh,a),G(uh,c))}function Bh(a){vh.current===a&&(E(uh),E(vh))}var L=Uf(0);\nfunction Ch(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Dh=[];\nfunction Eh(){for(var a=0;a<Dh.length;a++)Dh[a]._workInProgressVersionPrimary=null;Dh.length=0}var Fh=ua.ReactCurrentDispatcher,Gh=ua.ReactCurrentBatchConfig,Hh=0,M=null,N=null,O=null,Ih=!1,Jh=!1,Kh=0,Lh=0;function P(){throw Error(p(321));}function Mh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Nh(a,b,c,d,e,f){Hh=f;M=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Fh.current=null===a||null===a.memoizedState?Oh:Ph;a=c(d,e);if(Jh){f=0;do{Jh=!1;Kh=0;if(25<=f)throw Error(p(301));f+=1;O=N=null;b.updateQueue=null;Fh.current=Qh;a=c(d,e)}while(Jh)}Fh.current=Rh;b=null!==N&&null!==N.next;Hh=0;O=N=M=null;Ih=!1;if(b)throw Error(p(300));return a}function Sh(){var a=0!==Kh;Kh=0;return a}\nfunction Th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===O?M.memoizedState=O=a:O=O.next=a;return O}function Uh(){if(null===N){var a=M.alternate;a=null!==a?a.memoizedState:null}else a=N.next;var b=null===O?M.memoizedState:O.next;if(null!==b)O=b,N=a;else{if(null===a)throw Error(p(310));N=a;a={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null};null===O?M.memoizedState=O=a:O=O.next=a}return O}\nfunction Vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Wh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=N,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Hh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;M.lanes|=m;rh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(dh=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,M.lanes|=f,rh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction Xh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(dh=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function Yh(){}\nfunction Zh(a,b){var c=M,d=Uh(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,dh=!0);d=d.queue;$h(ai.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==O&&O.memoizedState.tag&1){c.flags|=2048;bi(9,ci.bind(null,c,d,e,b),void 0,null);if(null===Q)throw Error(p(349));0!==(Hh&30)||di(c,b,e)}return e}function di(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction ci(a,b,c,d){b.value=c;b.getSnapshot=d;ei(b)&&fi(a)}function ai(a,b,c){return c(function(){ei(b)&&fi(a)})}function ei(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function fi(a){var b=ih(a,1);null!==b&&gi(b,a,1,-1)}\nfunction hi(a){var b=Th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Vh,lastRenderedState:a};b.queue=a;a=a.dispatch=ii.bind(null,M,a);return[b.memoizedState,a]}\nfunction bi(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function ji(){return Uh().memoizedState}function ki(a,b,c,d){var e=Th();M.flags|=a;e.memoizedState=bi(1|b,c,void 0,void 0===d?null:d)}\nfunction li(a,b,c,d){var e=Uh();d=void 0===d?null:d;var f=void 0;if(null!==N){var g=N.memoizedState;f=g.destroy;if(null!==d&&Mh(d,g.deps)){e.memoizedState=bi(b,c,f,d);return}}M.flags|=a;e.memoizedState=bi(1|b,c,f,d)}function mi(a,b){return ki(8390656,8,a,b)}function $h(a,b){return li(2048,8,a,b)}function ni(a,b){return li(4,2,a,b)}function oi(a,b){return li(4,4,a,b)}\nfunction pi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function qi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return li(4,4,pi.bind(null,b,a),c)}function ri(){}function si(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction ti(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function ui(a,b,c){if(0===(Hh&21))return a.baseState&&(a.baseState=!1,dh=!0),a.memoizedState=c;He(c,b)||(c=yc(),M.lanes|=c,rh|=c,a.baseState=!0);return b}function vi(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Lh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Ph={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Wh,useRef:ji,useState:function(){return Wh(Vh)},\nuseDebugValue:ri,useDeferredValue:function(a){var b=Uh();return ui(b,N.memoizedState,a)},useTransition:function(){var a=Wh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1},Qh={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Xh,useRef:ji,useState:function(){return Xh(Vh)},useDebugValue:ri,useDeferredValue:function(a){var b=Uh();return null===\nN?b.memoizedState=a:ui(b,N.memoizedState,a)},useTransition:function(){var a=Xh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1};function Ci(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}function Di(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Ei={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=R(),d=\nyi(a),e=mh(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=nh(a,e,d);null!==b&&(gi(b,a,d,c),oh(b,a,d))}};function Fi(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction Gi(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=eh(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Ei;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Hi(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Ei.enqueueReplaceState(b,b.state,null)}\nfunction Ii(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs={};kh(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=eh(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Di(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Ei.enqueueReplaceState(e,e.state,null),qh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}function Ji(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}\nfunction Ki(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}function Li(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Mi=\"function\"===typeof WeakMap?WeakMap:Map;function Ni(a,b,c){c=mh(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Oi||(Oi=!0,Pi=d);Li(a,b)};return c}\nfunction Qi(a,b,c){c=mh(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Li(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Li(a,b);\"function\"!==typeof d&&(null===Ri?Ri=new Set([this]):Ri.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Si(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Mi;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ti.bind(null,a,b,c),b.then(a,a))}function Ui(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Vi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=mh(-1,1),b.tag=2,nh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Wi=ua.ReactCurrentOwner,dh=!1;function Xi(a,b,c,d){b.child=null===a?Vg(b,null,c,d):Ug(b,a.child,c,d)}\nfunction Yi(a,b,c,d,e){c=c.render;var f=b.ref;ch(b,e);d=Nh(a,b,c,d,f,e);c=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&c&&vg(b);b.flags|=1;Xi(a,b,d,e);return b.child}\nfunction $i(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!aj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,bj(a,b,f,d,e);a=Rg(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return Zi(a,b,e)}b.flags|=1;a=Pg(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction bj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(dh=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(dh=!0);else return b.lanes=a.lanes,Zi(a,b,e)}return cj(a,b,c,d,e)}\nfunction dj(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(ej,fj),fj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(ej,fj),fj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(ej,fj);fj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(ej,fj),fj|=d;Xi(a,b,e,c);return b.child}function gj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function cj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);ch(b,e);c=Nh(a,b,c,d,f,e);d=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&d&&vg(b);b.flags|=1;Xi(a,b,c,e);return b.child}\nfunction hj(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;ch(b,e);if(null===b.stateNode)ij(a,b),Gi(b,c,d),Ii(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=eh(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&Hi(b,g,d,l);jh=!1;var r=b.memoizedState;g.state=r;qh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||jh?(\"function\"===typeof m&&(Di(b,c,m,d),k=b.memoizedState),(h=jh||Fi(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;lh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Ci(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=eh(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&Hi(b,g,d,k);jh=!1;r=b.memoizedState;g.state=r;qh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||jh?(\"function\"===typeof y&&(Di(b,c,y,d),n=b.memoizedState),(l=jh||Fi(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return jj(a,b,c,d,f,e)}\nfunction jj(a,b,c,d,e,f){gj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),Zi(a,b,f);d=b.stateNode;Wi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Ug(b,a.child,null,f),b.child=Ug(b,null,h,f)):Xi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function kj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);yh(a,b.containerInfo)}\nfunction lj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Xi(a,b,c,d);return b.child}var mj={dehydrated:null,treeContext:null,retryLane:0};function nj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction oj(a,b,c){var d=b.pendingProps,e=L.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(L,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=pj(g,d,0,null),a=Tg(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=nj(c),b.memoizedState=mj,a):qj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return rj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=Pg(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=Pg(h,f):(f=Tg(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?nj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=mj;return d}f=a.child;a=f.sibling;d=Pg(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction qj(a,b){b=pj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function sj(a,b,c,d){null!==d&&Jg(d);Ug(b,a.child,null,c);a=qj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction rj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Ki(Error(p(422))),sj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=pj({mode:\"visible\",children:d.children},e,0,null);f=Tg(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Ug(b,a.child,null,g);b.child.memoizedState=nj(g);b.memoizedState=mj;return f}if(0===(b.mode&1))return sj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Ki(f,d,void 0);return sj(a,b,g,d)}h=0!==(g&a.childLanes);if(dh||h){d=Q;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,ih(a,e),gi(d,a,e,-1))}tj();d=Ki(Error(p(421)));return sj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=uj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=qj(b,d.children);b.flags|=4096;return b}function vj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);bh(a.return,b,c)}\nfunction wj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction xj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Xi(a,b,d.children,c);d=L.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&vj(a,c,b);else if(19===a.tag)vj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(L,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Ch(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);wj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Ch(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}wj(b,!0,c,null,f);break;case \"together\":wj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction ij(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Zi(a,b,c){null!==a&&(b.dependencies=a.dependencies);rh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=Pg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Pg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction yj(a,b,c){switch(b.tag){case 3:kj(b);Ig();break;case 5:Ah(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:yh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Wg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(L,L.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return oj(a,b,c);G(L,L.current&1);a=Zi(a,b,c);return null!==a?a.sibling:null}G(L,L.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return xj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(L,L.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,dj(a,b,c)}return Zi(a,b,c)}var zj,Aj,Bj,Cj;\nzj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Aj=function(){};\nBj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;xh(uh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Cj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Dj(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Ej(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;zh();E(Wf);E(H);Eh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Fj(zg),zg=null));Aj(a,b);S(b);return null;case 5:Bh(b);var e=xh(wh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Bj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Cj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=xh(wh.current);xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(L);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Fj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(L.current&1)?0===T&&(T=3):tj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return zh(),\nAj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return ah(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(L);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Dj(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Ch(a);if(null!==g){b.flags|=128;Dj(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(L,L.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Gj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Xj=!1;break a;case 3:X=h.stateNode.containerInfo;Xj=!0;break a;case 4:X=h.stateNode.containerInfo;Xj=!0;break a}h=h.return}if(null===X)throw Error(p(160));Zj(f,g,e);X=null;Xj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)dk(b,a),b=b.sibling}\nfunction dk(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:ck(b,a);ek(a);if(d&4){try{Pj(3,a,a.return),Qj(3,a)}catch(t){W(a,a.return,t)}try{Pj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);break;case 5:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:ck(b,a);ek(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:ck(b,a);ek(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:ck(b,a);ek(a);break;case 13:ck(b,a);ek(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(fk=B()));d&4&&ak(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,ck(b,a),U=l):ck(b,a);ek(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Pj(4,r,r.return);break;case 1:Lj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Lj(r,r.return);break;case 22:if(null!==r.memoizedState){gk(q);continue}}null!==y?(y.return=r,V=y):gk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:ck(b,a);ek(a);d&4&&ak(a);break;case 21:break;default:ck(b,\na),ek(a)}}function ek(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Tj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Uj(a);Wj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Uj(a);Vj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function hk(a,b,c){V=a;ik(a,b,c)}\nfunction ik(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Jj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Jj;var l=U;Jj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?jk(e):null!==k?(k.return=g,V=k):jk(e);for(;null!==f;)V=f,ik(f,b,c),f=f.sibling;V=e;Jj=h;U=l}kk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):kk(a,b,c)}}\nfunction kk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Qj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Ci(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&sh(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}sh(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Rj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function gk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction jk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Qj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Rj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Rj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar lk=Math.ceil,mk=ua.ReactCurrentDispatcher,nk=ua.ReactCurrentOwner,ok=ua.ReactCurrentBatchConfig,K=0,Q=null,Y=null,Z=0,fj=0,ej=Uf(0),T=0,pk=null,rh=0,qk=0,rk=0,sk=null,tk=null,fk=0,Gj=Infinity,uk=null,Oi=!1,Pi=null,Ri=null,vk=!1,wk=null,xk=0,yk=0,zk=null,Ak=-1,Bk=0;function R(){return 0!==(K&6)?B():-1!==Ak?Ak:Ak=B()}\nfunction yi(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Bk&&(Bk=yc()),Bk;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function gi(a,b,c,d){if(50<yk)throw yk=0,zk=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==Q)a===Q&&(0===(K&2)&&(qk|=c),4===T&&Ck(a,Z)),Dk(a,d),1===c&&0===K&&0===(b.mode&1)&&(Gj=B()+500,fg&&jg())}\nfunction Dk(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===Q?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Ek.bind(null,a)):hg(Ek.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Fk(c,Gk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Gk(a,b){Ak=-1;Bk=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Hk()&&a.callbackNode!==c)return null;var d=uc(a,a===Q?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Ik(a,d);else{b=d;var e=K;K|=2;var f=Jk();if(Q!==a||Z!==b)uk=null,Gj=B()+500,Kk(a,b);do try{Lk();break}catch(h){Mk(a,h)}while(1);$g();mk.current=f;K=e;null!==Y?b=0:(Q=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Nk(a,e)));if(1===b)throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;if(6===b)Ck(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Ok(e)&&(b=Ik(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Nk(a,f))),1===b))throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Pk(a,tk,uk);break;case 3:Ck(a,d);if((d&130023424)===d&&(b=fk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){R();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),b);break}Pk(a,tk,uk);break;case 4:Ck(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),d);break}Pk(a,tk,uk);break;case 5:Pk(a,tk,uk);break;default:throw Error(p(329));}}}Dk(a,B());return a.callbackNode===c?Gk.bind(null,a):null}\nfunction Nk(a,b){var c=sk;a.current.memoizedState.isDehydrated&&(Kk(a,b).flags|=256);a=Ik(a,b);2!==a&&(b=tk,tk=c,null!==b&&Fj(b));return a}function Fj(a){null===tk?tk=a:tk.push.apply(tk,a)}\nfunction Ok(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Ck(a,b){b&=~rk;b&=~qk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Ek(a){if(0!==(K&6))throw Error(p(327));Hk();var b=uc(a,0);if(0===(b&1))return Dk(a,B()),null;var c=Ik(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Nk(a,d))}if(1===c)throw c=pk,Kk(a,0),Ck(a,b),Dk(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Pk(a,tk,uk);Dk(a,B());return null}\nfunction Qk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Gj=B()+500,fg&&jg())}}function Rk(a){null!==wk&&0===wk.tag&&0===(K&6)&&Hk();var b=K;K|=1;var c=ok.transition,d=C;try{if(ok.transition=null,C=1,a)return a()}finally{C=d,ok.transition=c,K=b,0===(K&6)&&jg()}}function Hj(){fj=ej.current;E(ej)}\nfunction Kk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:zh();E(Wf);E(H);Eh();break;case 5:Bh(d);break;case 4:zh();break;case 13:E(L);break;case 19:E(L);break;case 10:ah(d.type._context);break;case 22:case 23:Hj()}c=c.return}Q=a;Y=a=Pg(a.current,null);Z=fj=b;T=0;pk=null;rk=qk=rh=0;tk=sk=null;if(null!==fh){for(b=\n0;b<fh.length;b++)if(c=fh[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}fh=null}return a}\nfunction Mk(a,b){do{var c=Y;try{$g();Fh.current=Rh;if(Ih){for(var d=M.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Ih=!1}Hh=0;O=N=M=null;Jh=!1;Kh=0;nk.current=null;if(null===c||null===c.return){T=1;pk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Ui(g);if(null!==y){y.flags&=-257;Vi(y,g,h,f,b);y.mode&1&&Si(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Si(f,l,b);tj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Ui(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Vi(J,g,h,f,b);Jg(Ji(k,h));break a}}f=k=Ji(k,h);4!==T&&(T=2);null===sk?sk=[f]:sk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Ni(f,k,b);ph(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Ri||!Ri.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Qi(f,h,b);ph(f,F);break a}}f=f.return}while(null!==f)}Sk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Jk(){var a=mk.current;mk.current=Rh;return null===a?Rh:a}\nfunction tj(){if(0===T||3===T||2===T)T=4;null===Q||0===(rh&268435455)&&0===(qk&268435455)||Ck(Q,Z)}function Ik(a,b){var c=K;K|=2;var d=Jk();if(Q!==a||Z!==b)uk=null,Kk(a,b);do try{Tk();break}catch(e){Mk(a,e)}while(1);$g();K=c;mk.current=d;if(null!==Y)throw Error(p(261));Q=null;Z=0;return T}function Tk(){for(;null!==Y;)Uk(Y)}function Lk(){for(;null!==Y&&!cc();)Uk(Y)}function Uk(a){var b=Vk(a.alternate,a,fj);a.memoizedProps=a.pendingProps;null===b?Sk(a):Y=b;nk.current=null}\nfunction Sk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Ej(c,b,fj),null!==c){Y=c;return}}else{c=Ij(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Pk(a,b,c){var d=C,e=ok.transition;try{ok.transition=null,C=1,Wk(a,b,c,d)}finally{ok.transition=e,C=d}return null}\nfunction Wk(a,b,c,d){do Hk();while(null!==wk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===Q&&(Y=Q=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||vk||(vk=!0,Fk(hc,function(){Hk();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=ok.transition;ok.transition=null;\nvar g=C;C=1;var h=K;K|=4;nk.current=null;Oj(a,c);dk(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;hk(c,a,e);dc();K=h;C=g;ok.transition=f}else a.current=c;vk&&(vk=!1,wk=a,xk=e);f=a.pendingLanes;0===f&&(Ri=null);mc(c.stateNode,d);Dk(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Oi)throw Oi=!1,a=Pi,Pi=null,a;0!==(xk&1)&&0!==a.tag&&Hk();f=a.pendingLanes;0!==(f&1)?a===zk?yk++:(yk=0,zk=a):yk=0;jg();return null}\nfunction Hk(){if(null!==wk){var a=Dc(xk),b=ok.transition,c=C;try{ok.transition=null;C=16>a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Pj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Sj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Pj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Qj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,ok.transition=b}}return!1}function Xk(a,b,c){b=Ji(c,b);b=Ni(a,b,1);a=nh(a,b,1);b=R();null!==a&&(Ac(a,1,b),Dk(a,b))}\nfunction W(a,b,c){if(3===a.tag)Xk(a,a,c);else for(;null!==b;){if(3===b.tag){Xk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ri||!Ri.has(d))){a=Ji(c,a);a=Qi(b,a,1);b=nh(b,a,1);a=R();null!==b&&(Ac(b,1,a),Dk(b,a));break}}b=b.return}}\nfunction Ti(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=R();a.pingedLanes|=a.suspendedLanes&c;Q===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction dl(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction el(a,b,c,d,e,f,g,h,k){a=bl(c,d,!0,a,e,f,g,h,k);a.context=dl(null);c=a.current;d=R();e=yi(c);f=mh(d,e);f.callback=void 0!==b&&null!==b?b:null;nh(c,f,e);a.current.lanes=e;Ac(a,e,d);Dk(a,d);return a}function fl(a,b,c,d){var e=b.current,f=R(),g=yi(e);c=dl(c);null===b.context?b.context=c:b.pendingContext=c;b=mh(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=nh(e,b,g);null!==a&&(gi(a,e,g,f),oh(a,e,g));return g}\nfunction gl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function hl(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function il(a,b){hl(a,b);(a=a.alternate)&&hl(a,b)}function jl(){return null}var kl=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ll(a){this._internalRoot=a}\nml.prototype.render=ll.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));fl(a,b,null,null)};ml.prototype.unmount=ll.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Rk(function(){fl(null,a,null,null)});b[uf]=null}};function ml(a){this._internalRoot=a}\nml.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function nl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function pl(){}\nfunction ql(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=gl(g);f.call(a)}}var g=el(b,d,a,0,null,!1,!1,\"\",pl);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Rk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=gl(k);h.call(a)}}var k=bl(a,0,!1,null,null,!1,!1,\"\",pl);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Rk(function(){fl(b,k,c,d)});return k}\nfunction rl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=gl(g);h.call(a)}}fl(b,g,a,e)}else g=ql(c,b,a,e,d);return gl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Dk(b,B()),0===(K&6)&&(Gj=B()+500,jg()))}break;case 13:Rk(function(){var b=ih(a,1);if(null!==b){var c=R();gi(b,a,1,c)}}),il(a,1)}};\nFc=function(a){if(13===a.tag){var b=ih(a,134217728);if(null!==b){var c=R();gi(b,a,134217728,c)}il(a,134217728)}};Gc=function(a){if(13===a.tag){var b=yi(a),c=ih(a,b);if(null!==c){var d=R();gi(c,a,b,d)}il(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Qk;Hb=Rk;\nvar sl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Qk]},tl={findFiberByHostInstance:Wc,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"};\nvar ul={bundleType:tl.bundleType,version:tl.version,rendererPackageName:tl.rendererPackageName,rendererConfig:tl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:tl.findFiberByHostInstance||\njl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var vl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!vl.isDisabled&&vl.supportsFiber)try{kc=vl.inject(ul),lc=vl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!nl(b))throw Error(p(200));return cl(a,b,null,c)};exports.createRoot=function(a,b){if(!nl(a))throw Error(p(299));var c=!1,d=\"\",e=kl;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=bl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ll(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Rk(a)};exports.hydrate=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!nl(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=kl;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=el(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new ml(b)};exports.render=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!ol(a))throw Error(p(40));return a._reactRootContainer?(Rk(function(){rl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Qk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!ol(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return rl(a,b,c,!1,d)};exports.version=\"18.3.1-next-f1338f8080-20240426\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import { useState, useRef, useCallback, useEffect } from 'react';\nimport 'fs';\nimport 'path';\n\n// src/ApiClient.ts\n// HTTP client for AsterMind backend API\n/**\n * Map backend source format to client Source interface\n */\nfunction mapSource(raw) {\n return {\n title: raw.title,\n snippet: raw.content,\n relevance: raw.score,\n documentId: raw.documentId,\n fullContent: raw.fullContent,\n downloadUrl: raw.downloadUrl,\n documentName: raw.documentName,\n sourceType: raw.sourceType,\n chunkId: raw.chunkId\n };\n}\n/**\n * HTTP/SSE client for AsterMind backend\n */\nclass ApiClient {\n constructor(baseUrl, apiKey) {\n this.baseUrl = baseUrl.replace(/\\/$/, ''); // Remove trailing slash\n this.apiKey = apiKey;\n }\n /**\n * Send chat message and get complete response\n */\n async chat(message, options) {\n const response = await fetch(`${this.baseUrl}/api/external/chat`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-API-Key': this.apiKey\n },\n body: JSON.stringify({\n message,\n sessionId: options?.sessionId,\n context: options?.context\n })\n });\n if (!response.ok) {\n const error = await response.json().catch(() => ({}));\n throw new Error(error.message || `HTTP ${response.status}: ${response.statusText}`);\n }\n const data = await response.json();\n // Map backend source format to client Source interface\n return {\n ...data,\n sources: (data.sources || []).map(mapSource)\n };\n }\n /**\n * Send chat message with streaming response via SSE\n */\n async chatStream(message, options) {\n const response = await fetch(`${this.baseUrl}/api/external/chat/stream`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-API-Key': this.apiKey\n },\n body: JSON.stringify({\n message,\n sessionId: options?.sessionId,\n context: options?.context\n })\n });\n if (!response.ok) {\n const error = await response.json().catch(() => ({}));\n throw new Error(error.message || `HTTP ${response.status}`);\n }\n const reader = response.body?.getReader();\n if (!reader) {\n throw new Error('Streaming not supported');\n }\n const decoder = new TextDecoder();\n let buffer = '';\n let fullText = '';\n let sources = [];\n let sessionId;\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done)\n break;\n buffer += decoder.decode(value, { stream: true });\n const lines = buffer.split('\\n');\n buffer = lines.pop() || '';\n for (const line of lines) {\n if (line.startsWith('event: ')) {\n // Event type handled in data line\n }\n else if (line.startsWith('data: ')) {\n try {\n const data = JSON.parse(line.slice(6));\n if (data.text !== undefined) {\n // Token event\n fullText += data.text;\n options.onToken?.(data.text);\n }\n else if (data.sources !== undefined) {\n // Sources event - map backend format to client format\n sources = (data.sources || []).map(mapSource);\n options.onSources?.(sources);\n }\n else if (data.sessionId !== undefined) {\n // Done event\n sessionId = data.sessionId;\n }\n }\n catch {\n // Skip malformed JSON\n }\n }\n }\n }\n options.onComplete?.({ fullText, sessionId, sources });\n }\n catch (error) {\n options.onError?.(error);\n }\n }\n /**\n * Get general documents for caching\n */\n async getGeneralDocs(since) {\n const params = new URLSearchParams();\n if (since) {\n params.set('since', since);\n }\n const url = `${this.baseUrl}/api/external/docs${params.toString() ? '?' + params : ''}`;\n const response = await fetch(url, {\n headers: {\n 'X-API-Key': this.apiKey\n }\n });\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}`);\n }\n const data = await response.json();\n return data.documents;\n }\n /**\n * Get API status, quota, and system settings\n */\n async getStatus() {\n const response = await fetch(`${this.baseUrl}/api/external/status`, {\n headers: {\n 'X-API-Key': this.apiKey\n }\n });\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}`);\n }\n return response.json();\n }\n /**\n * Health check (no auth required)\n */\n async health() {\n const response = await fetch(`${this.baseUrl}/api/external/health`);\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}`);\n }\n return response.json();\n }\n}\n\nconst instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\n// src/CyberneticCache.ts\n// IndexedDB cache for offline document storage\n/**\n * Document cache for offline RAG fallback\n */\nclass CyberneticCache {\n constructor(config) {\n this.db = null;\n this.dbPromise = null;\n this.documentCount = 0;\n this.lastSyncAt = null;\n this.config = config;\n if (config.storage === 'indexeddb' && typeof indexedDB !== 'undefined') {\n this.dbPromise = this.initDB();\n }\n else if (config.storage === 'localstorage') {\n // Load cached metadata from localStorage\n this.loadLocalStorageMetadata();\n }\n }\n /**\n * Load metadata from localStorage\n */\n loadLocalStorageMetadata() {\n try {\n const meta = localStorage.getItem('cybernetic-cache-meta');\n if (meta) {\n const parsed = JSON.parse(meta);\n this.documentCount = parsed.documentCount || 0;\n this.lastSyncAt = parsed.lastSyncAt || null;\n }\n }\n catch {\n // Ignore parse errors\n }\n }\n /**\n * Initialize IndexedDB\n */\n async initDB() {\n this.db = await openDB('cybernetic-cache', 1, {\n upgrade(db) {\n // Documents store\n if (!db.objectStoreNames.contains('documents')) {\n const docStore = db.createObjectStore('documents', { keyPath: 'id' });\n docStore.createIndex('by-updated', 'updatedAt');\n }\n // Metadata store\n if (!db.objectStoreNames.contains('metadata')) {\n db.createObjectStore('metadata', { keyPath: 'key' });\n }\n }\n });\n // Load cached metadata\n await this.loadMetadata();\n return this.db;\n }\n /**\n * Get database instance\n */\n async getDB() {\n if (this.db)\n return this.db;\n if (this.dbPromise)\n return this.dbPromise;\n throw new Error('Database not available');\n }\n /**\n * Load cached metadata (count, last sync)\n */\n async loadMetadata() {\n if (!this.db)\n return;\n const countMeta = await this.db.get('metadata', 'documentCount');\n this.documentCount = countMeta?.value || 0;\n const syncMeta = await this.db.get('metadata', 'lastSyncAt');\n this.lastSyncAt = syncMeta?.value || null;\n }\n /**\n * Store documents in cache\n */\n async store(documents) {\n if (this.config.storage === 'localstorage') {\n return this.storeLocalStorage(documents);\n }\n const db = await this.getDB();\n const tx = db.transaction(['documents', 'metadata'], 'readwrite');\n // Store documents\n for (const doc of documents) {\n await tx.objectStore('documents').put(doc);\n }\n // Update metadata\n this.documentCount = await tx.objectStore('documents').count();\n this.lastSyncAt = new Date().toISOString();\n await tx.objectStore('metadata').put({\n key: 'documentCount',\n value: this.documentCount\n });\n await tx.objectStore('metadata').put({\n key: 'lastSyncAt',\n value: this.lastSyncAt\n });\n await tx.done;\n }\n /**\n * Retrieve all cached documents\n */\n async retrieve() {\n if (this.config.storage === 'localstorage') {\n return this.retrieveLocalStorage();\n }\n const db = await this.getDB();\n return db.getAll('documents');\n }\n /**\n * Get last sync timestamp\n */\n async getLastSync() {\n return this.lastSyncAt;\n }\n /**\n * Get cache status\n */\n getStatus() {\n const now = Date.now();\n const lastSync = this.lastSyncAt ? new Date(this.lastSyncAt).getTime() : 0;\n const isStale = now - lastSync > this.config.maxAge;\n return {\n documentCount: this.documentCount,\n lastSyncAt: this.lastSyncAt,\n cacheSize: this.documentCount * 5000, // Rough estimate: ~5KB per doc\n isStale\n };\n }\n /**\n * Clear all cached data\n */\n async clear() {\n if (this.config.storage === 'localstorage') {\n localStorage.removeItem('cybernetic-cache-docs');\n localStorage.removeItem('cybernetic-cache-meta');\n this.documentCount = 0;\n this.lastSyncAt = null;\n return;\n }\n const db = await this.getDB();\n const tx = db.transaction(['documents', 'metadata'], 'readwrite');\n await tx.objectStore('documents').clear();\n await tx.objectStore('metadata').clear();\n await tx.done;\n this.documentCount = 0;\n this.lastSyncAt = null;\n }\n // ==================== LocalStorage fallback ====================\n storeLocalStorage(documents) {\n try {\n localStorage.setItem('cybernetic-cache-docs', JSON.stringify(documents));\n this.documentCount = documents.length;\n this.lastSyncAt = new Date().toISOString();\n localStorage.setItem('cybernetic-cache-meta', JSON.stringify({\n documentCount: this.documentCount,\n lastSyncAt: this.lastSyncAt\n }));\n }\n catch {\n // LocalStorage full - clear and retry with limit\n localStorage.removeItem('cybernetic-cache-docs');\n const limited = documents.slice(0, 50); // Keep only 50 docs\n localStorage.setItem('cybernetic-cache-docs', JSON.stringify(limited));\n this.documentCount = limited.length;\n }\n }\n retrieveLocalStorage() {\n try {\n const data = localStorage.getItem('cybernetic-cache-docs');\n return data ? JSON.parse(data) : [];\n }\n catch {\n return [];\n }\n }\n}\n\n// src/CyberneticLocalRAG.ts\n// Local RAG processing for offline fallback\nclass CyberneticLocalRAG {\n constructor() {\n this.documents = [];\n this.idf = new Map();\n this.indexed = false;\n this.loadedFromExport = false;\n this.vocabulary = new Map(); // term -> index for sparse vectors\n }\n /**\n * Check if documents are indexed\n */\n isIndexed() {\n return this.indexed && this.documents.length > 0;\n }\n /**\n * Index documents for local search\n */\n async index(documents) {\n this.documents = [];\n this.idf = new Map();\n // Tokenize and build document frequency\n const docFreq = new Map();\n for (const doc of documents) {\n // Skip documents without content\n if (!doc.content) {\n continue;\n }\n const tokens = this.tokenize(doc.content);\n const uniqueTokens = new Set(tokens);\n // Count document frequency\n for (const token of uniqueTokens) {\n docFreq.set(token, (docFreq.get(token) || 0) + 1);\n }\n // Store indexed document\n this.documents.push({\n id: doc.id,\n title: doc.title,\n content: doc.content,\n tokens,\n tfidf: new Map() // Computed after IDF is known\n });\n }\n // Compute IDF\n const N = documents.length;\n for (const [term, df] of docFreq) {\n this.idf.set(term, Math.log((N + 1) / (df + 1)) + 1);\n }\n // Compute TF-IDF for each document\n for (const doc of this.documents) {\n const termFreq = this.computeTermFrequency(doc.tokens);\n for (const [term, tf] of termFreq) {\n const idf = this.idf.get(term) || 1;\n doc.tfidf.set(term, tf * idf);\n }\n }\n this.indexed = true;\n }\n /**\n * Process query and generate response\n */\n async ask(query) {\n if (!this.indexed || this.documents.length === 0) {\n return {\n answer: 'I don\\'t have any information available offline.',\n sources: [],\n topScore: 0\n };\n }\n // Tokenize query and compute TF-IDF\n const queryTokens = this.tokenize(query);\n const queryTf = this.computeTermFrequency(queryTokens);\n const queryTfidf = new Map();\n for (const [term, tf] of queryTf) {\n const idf = this.idf.get(term) || 1;\n queryTfidf.set(term, tf * idf);\n }\n // Compute similarity scores\n const scores = this.documents.map(doc => ({\n doc,\n score: this.cosineSimilarity(queryTfidf, doc.tfidf)\n }));\n // Sort by score descending\n scores.sort((a, b) => b.score - a.score);\n // Take top 3 results\n const topResults = scores.slice(0, 3).filter(r => r.score > 0.1);\n if (topResults.length === 0) {\n return {\n answer: 'I couldn\\'t find relevant information for your question in my offline data.',\n sources: [],\n topScore: scores[0]?.score || 0\n };\n }\n // Generate simple answer from top result\n const topDoc = topResults[0].doc;\n const snippet = this.extractRelevantSnippet(topDoc.content, queryTokens);\n return {\n answer: snippet,\n sources: topResults.map(r => ({\n title: r.doc.title,\n snippet: r.doc.content.substring(0, 200) + '...',\n score: r.score\n })),\n topScore: topResults[0].score\n };\n }\n /**\n * Reset the index\n */\n reset() {\n this.documents = [];\n this.idf = new Map();\n this.vocabulary = new Map();\n this.indexed = false;\n this.loadedFromExport = false;\n this.exportVersion = undefined;\n this.exportedAt = undefined;\n }\n /**\n * Load pre-computed vectors from an export file\n * This skips client-side TF-IDF computation by using pre-computed values\n *\n * @param exportData - The offline vector export data\n */\n async loadFromExport(exportData) {\n this.reset();\n // Load pre-computed IDF from export\n this.idf = new Map(Object.entries(exportData.tfidfIndex.idf));\n // Build vocabulary mapping from IDF keys\n let vocabIndex = 0;\n for (const term of this.idf.keys()) {\n this.vocabulary.set(term, vocabIndex++);\n }\n // Load documents with pre-computed TF-IDF vectors\n for (const doc of exportData.documents) {\n // Convert sparse vector to Map\n const tfidfMap = new Map();\n for (const [termIndex, weight] of doc.tfidfVector) {\n // Find the term from vocabulary by index\n for (const [term, idx] of this.vocabulary) {\n if (idx === termIndex) {\n tfidfMap.set(term, weight);\n break;\n }\n }\n }\n this.documents.push({\n id: doc.id,\n title: doc.title,\n content: doc.content,\n tokens: [], // Not needed when loading from export\n tfidf: tfidfMap\n });\n }\n this.indexed = true;\n this.loadedFromExport = true;\n this.exportVersion = exportData.version;\n this.exportedAt = exportData.meta.exportedAt;\n console.log(`[CyberneticLocalRAG] Loaded ${this.documents.length} documents from export (v${exportData.version})`);\n }\n /**\n * Get export status information\n */\n getExportStatus() {\n return {\n loaded: this.indexed,\n loadedFromExport: this.loadedFromExport,\n documentCount: this.documents.length,\n chunkCount: this.documents.length, // Each document is a chunk\n exportVersion: this.exportVersion,\n exportedAt: this.exportedAt\n };\n }\n // ==================== PRIVATE METHODS ====================\n /**\n * Tokenize text into words\n */\n tokenize(text) {\n if (!text || typeof text !== 'string') {\n return [];\n }\n return text\n .toLowerCase()\n .replace(/[^\\w\\s]/g, ' ')\n .split(/\\s+/)\n .filter(token => token.length > 2 && !this.isStopWord(token));\n }\n /**\n * Compute term frequency\n */\n computeTermFrequency(tokens) {\n const freq = new Map();\n for (const token of tokens) {\n freq.set(token, (freq.get(token) || 0) + 1);\n }\n // Normalize by document length\n const maxFreq = Math.max(...freq.values());\n if (maxFreq > 0) {\n for (const [term, f] of freq) {\n freq.set(term, f / maxFreq);\n }\n }\n return freq;\n }\n /**\n * Compute cosine similarity between two TF-IDF vectors\n */\n cosineSimilarity(vec1, vec2) {\n let dotProduct = 0;\n let norm1 = 0;\n let norm2 = 0;\n for (const [term, val1] of vec1) {\n const val2 = vec2.get(term) || 0;\n dotProduct += val1 * val2;\n norm1 += val1 * val1;\n }\n for (const val of vec2.values()) {\n norm2 += val * val;\n }\n if (norm1 === 0 || norm2 === 0)\n return 0;\n return dotProduct / (Math.sqrt(norm1) * Math.sqrt(norm2));\n }\n /**\n * Extract most relevant snippet from content\n */\n extractRelevantSnippet(content, queryTokens) {\n const sentences = content.split(/[.!?]+/).filter(s => s.trim().length > 0);\n // Score sentences by query token overlap\n const scored = sentences.map(sentence => {\n const sentenceTokens = new Set(this.tokenize(sentence));\n let score = 0;\n for (const qt of queryTokens) {\n if (sentenceTokens.has(qt))\n score++;\n }\n return { sentence: sentence.trim(), score };\n });\n scored.sort((a, b) => b.score - a.score);\n // Take top 2-3 sentences\n const topSentences = scored.slice(0, 3).filter(s => s.score > 0);\n if (topSentences.length === 0) {\n return content.substring(0, 300) + '...';\n }\n return topSentences.map(s => s.sentence).join('. ') + '.';\n }\n /**\n * Check if word is a stop word\n */\n isStopWord(word) {\n const stopWords = new Set([\n 'the', 'a', 'an', 'and', 'or', 'but', 'in', 'on', 'at', 'to', 'for',\n 'of', 'with', 'by', 'from', 'up', 'about', 'into', 'through', 'during',\n 'is', 'are', 'was', 'were', 'be', 'been', 'being', 'have', 'has', 'had',\n 'do', 'does', 'did', 'will', 'would', 'could', 'should', 'may', 'might',\n 'this', 'that', 'these', 'those', 'it', 'its', 'they', 'them', 'their',\n 'what', 'which', 'who', 'whom', 'when', 'where', 'why', 'how',\n 'all', 'each', 'every', 'both', 'few', 'more', 'most', 'other', 'some',\n 'such', 'no', 'not', 'only', 'same', 'so', 'than', 'too', 'very'\n ]);\n return stopWords.has(word);\n }\n}\n\n// src/CyberneticOfflineStorage.ts\n// IndexedDB storage for offline vector exports\n/**\n * IndexedDB storage for offline vector exports\n * Provides persistent caching of pre-computed TF-IDF vectors\n */\nclass CyberneticOfflineStorage {\n constructor() {\n this.db = null;\n this.dbPromise = null;\n this.dbName = 'cybernetic-offline-vectors';\n this.dbVersion = 1;\n }\n /**\n * Initialize IndexedDB for vector storage\n */\n async initDB() {\n if (this.db) {\n return this.db;\n }\n if (this.dbPromise) {\n return this.dbPromise;\n }\n this.dbPromise = openDB(this.dbName, this.dbVersion, {\n upgrade(db) {\n if (!db.objectStoreNames.contains('vectors')) {\n db.createObjectStore('vectors', { keyPath: 'id' });\n }\n }\n });\n this.db = await this.dbPromise;\n return this.db;\n }\n /**\n * Store vector export in IndexedDB\n */\n async store(id, exportData) {\n const db = await this.getDB();\n await db.put('vectors', {\n id,\n exportVersion: exportData.version,\n exportedAt: exportData.meta.exportedAt,\n type: exportData.type,\n data: exportData\n });\n console.log(`[CyberneticOfflineStorage] Stored ${exportData.meta.chunkCount} chunks`);\n }\n /**\n * Retrieve vector export from IndexedDB\n */\n async retrieve(id) {\n const db = await this.getDB();\n const record = await db.get('vectors', id);\n return record?.data ?? null;\n }\n /**\n * Check if cached vectors are valid (not expired)\n */\n async isValid(id, maxAge) {\n const db = await this.getDB();\n const record = await db.get('vectors', id);\n if (!record)\n return false;\n const exportTime = new Date(record.exportedAt).getTime();\n return Date.now() - exportTime < maxAge;\n }\n /**\n * Get cached export metadata without loading full data\n */\n async getMeta(id) {\n const db = await this.getDB();\n const record = await db.get('vectors', id);\n if (!record)\n return null;\n return {\n version: record.exportVersion,\n exportedAt: record.exportedAt,\n documentCount: record.data.meta.documentCount,\n chunkCount: record.data.meta.chunkCount,\n type: record.type\n };\n }\n /**\n * Check if any cached vectors exist\n */\n async hasData() {\n const db = await this.getDB();\n const count = await db.count('vectors');\n return count > 0;\n }\n /**\n * Get all cached export IDs\n */\n async getStoredIds() {\n const db = await this.getDB();\n return db.getAllKeys('vectors');\n }\n /**\n * Clear specific cached vectors\n */\n async delete(id) {\n const db = await this.getDB();\n await db.delete('vectors', id);\n }\n /**\n * Clear all cached vectors\n */\n async clear() {\n const db = await this.getDB();\n await db.clear('vectors');\n console.log('[CyberneticOfflineStorage] Cache cleared');\n }\n /**\n * Get the database connection\n */\n async getDB() {\n if (this.db) {\n return this.db;\n }\n return this.initDB();\n }\n /**\n * Close database connection\n */\n close() {\n if (this.db) {\n this.db.close();\n this.db = null;\n this.dbPromise = null;\n }\n }\n}\n\n// src/license/base64url.ts\n// Base64URL encoding/decoding utilities for JWT handling\n/**\n * Decode a base64url string to Uint8Array\n * RFC 4648 §5 - Base64 URL-safe encoding\n */\nfunction base64urlDecode(input) {\n // Convert base64url to standard base64\n let base64 = input\n .replace(/-/g, '+')\n .replace(/_/g, '/');\n // Add padding if needed\n const padding = base64.length % 4;\n if (padding) {\n base64 += '='.repeat(4 - padding);\n }\n // Decode base64\n const binaryString = atob(base64);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n}\n/**\n * Decode base64url to UTF-8 string\n */\nfunction base64urlDecodeString(input) {\n const bytes = base64urlDecode(input);\n return new TextDecoder().decode(bytes);\n}\n/**\n * Parse a JWT token into its parts (header, payload, signature)\n * Does NOT verify the signature\n */\nfunction parseJWT(token) {\n try {\n const parts = token.split('.');\n if (parts.length !== 3) {\n return null;\n }\n const [headerB64, payloadB64, signatureB64] = parts;\n return {\n header: JSON.parse(base64urlDecodeString(headerB64)),\n payload: JSON.parse(base64urlDecodeString(payloadB64)),\n signature: base64urlDecode(signatureB64),\n signedContent: `${headerB64}.${payloadB64}`\n };\n }\n catch {\n return null;\n }\n}\n\n// src/license/verifier.ts\n// JWT verification for license tokens\n/**\n * AsterMind public key for license verification (ES256 - ECDSA P-256)\n * This key is embedded for verification of official AsterMind licenses\n */\nconst ASTERMIND_PUBLIC_KEY = `-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhLW7MXHQ0Fuk1OKt9D5CbRw7fUMN\nLJ5AZXvOhHaXdHzMuYKX5BpK4w7TqbPvJ6QPvKmLKvHh1VKcUJ6mJQgJJw==\n-----END PUBLIC KEY-----`;\n/**\n * Import a PEM-encoded public key for WebCrypto\n */\nasync function importPublicKey(pemKey) {\n // Remove PEM headers and whitespace\n const pemContents = pemKey\n .replace(/-----BEGIN PUBLIC KEY-----/, '')\n .replace(/-----END PUBLIC KEY-----/, '')\n .replace(/\\s/g, '');\n // Decode base64 to ArrayBuffer\n const binaryString = atob(pemContents);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n // Import as ECDSA P-256 key\n return crypto.subtle.importKey('spki', bytes.buffer, {\n name: 'ECDSA',\n namedCurve: 'P-256'\n }, false, ['verify']);\n}\n/**\n * Convert JWT signature from compact format to DER format for WebCrypto\n * JWT uses raw R||S format (64 bytes for P-256)\n * WebCrypto expects raw format for ECDSA, not DER\n */\nfunction convertJWTSignature(signature) {\n // For P-256, the signature should be 64 bytes (32 for R, 32 for S)\n // JWT compact serialization already uses this format\n return signature;\n}\n/**\n * Verify a JWT signature using WebCrypto\n */\nasync function verifySignature(signedContent, signature, publicKey) {\n try {\n const key = await importPublicKey(publicKey);\n const encoder = new TextEncoder();\n const data = encoder.encode(signedContent);\n const sig = convertJWTSignature(signature);\n // Create a new ArrayBuffer from the signature bytes to satisfy TypeScript\n const sigBuffer = new Uint8Array(sig).buffer;\n return await crypto.subtle.verify({\n name: 'ECDSA',\n hash: 'SHA-256'\n }, key, sigBuffer, data);\n }\n catch (error) {\n console.warn('[License] Signature verification failed:', error);\n return false;\n }\n}\n/**\n * Validate license payload structure\n */\nfunction validatePayload(payload) {\n // Required fields\n if (typeof payload.iss !== 'string')\n return null;\n if (typeof payload.sub !== 'string')\n return null;\n if (typeof payload.aud !== 'string')\n return null;\n if (typeof payload.iat !== 'number')\n return null;\n if (typeof payload.exp !== 'number')\n return null;\n if (typeof payload.plan !== 'string')\n return null;\n if (typeof payload.seats !== 'number')\n return null;\n if (!Array.isArray(payload.features))\n return null;\n if (typeof payload.licenseVersion !== 'number')\n return null;\n return {\n iss: payload.iss,\n sub: payload.sub,\n aud: payload.aud,\n iat: payload.iat,\n exp: payload.exp,\n plan: payload.plan,\n org: typeof payload.org === 'string' ? payload.org : undefined,\n seats: payload.seats,\n features: payload.features,\n graceUntil: typeof payload.graceUntil === 'number' ? payload.graceUntil : undefined,\n licenseVersion: payload.licenseVersion\n };\n}\n/**\n * Calculate days remaining until expiration\n */\nfunction calculateDaysRemaining(expTimestamp) {\n const now = Math.floor(Date.now() / 1000);\n const secondsRemaining = expTimestamp - now;\n return Math.floor(secondsRemaining / 86400); // 86400 = seconds in a day\n}\n/**\n * Verify a license token\n *\n * @param token - JWT license token\n * @param publicKey - Optional custom public key (defaults to AsterMind key)\n * @returns License state after verification\n */\nasync function verifyLicenseToken(token, publicKey) {\n // No token provided\n if (!token || token.trim() === '') {\n return {\n status: 'missing',\n payload: null,\n error: 'No license key provided',\n inGracePeriod: false,\n daysRemaining: null\n };\n }\n // Parse JWT\n const parsed = parseJWT(token);\n if (!parsed) {\n return {\n status: 'invalid',\n payload: null,\n error: 'Invalid license key format',\n inGracePeriod: false,\n daysRemaining: null\n };\n }\n // Validate payload structure\n const payload = validatePayload(parsed.payload);\n if (!payload) {\n return {\n status: 'invalid',\n payload: null,\n error: 'Invalid license payload structure',\n inGracePeriod: false,\n daysRemaining: null\n };\n }\n // Verify issuer\n if (payload.iss !== 'astermind') {\n return {\n status: 'invalid',\n payload: null,\n error: 'Invalid license issuer',\n inGracePeriod: false,\n daysRemaining: null\n };\n }\n // Verify audience (should be cybernetic-chatbot or wildcard)\n if (payload.aud !== 'cybernetic-chatbot' && payload.aud !== '*') {\n return {\n status: 'invalid',\n payload: null,\n error: 'License not valid for this product',\n inGracePeriod: false,\n daysRemaining: null\n };\n }\n // Verify signature (if WebCrypto is available)\n if (typeof crypto !== 'undefined' && crypto.subtle) {\n const keyToUse = publicKey || ASTERMIND_PUBLIC_KEY;\n const signatureValid = await verifySignature(parsed.signedContent, parsed.signature, keyToUse);\n if (!signatureValid) {\n return {\n status: 'invalid',\n payload: null,\n error: 'License signature verification failed',\n inGracePeriod: false,\n daysRemaining: null\n };\n }\n }\n // Check expiration\n const now = Math.floor(Date.now() / 1000);\n const daysRemaining = calculateDaysRemaining(payload.exp);\n if (payload.exp < now) {\n // Check for grace period\n if (payload.graceUntil && payload.graceUntil > now) {\n return {\n status: 'valid',\n payload,\n inGracePeriod: true,\n daysRemaining\n };\n }\n return {\n status: 'expired',\n payload,\n error: 'License has expired',\n inGracePeriod: false,\n daysRemaining\n };\n }\n // Check for evaluation license\n if (payload.plan === 'eval') {\n return {\n status: 'eval',\n payload,\n inGracePeriod: false,\n daysRemaining\n };\n }\n // License is valid\n return {\n status: 'valid',\n payload,\n inGracePeriod: false,\n daysRemaining\n };\n}\n/**\n * Quick check if a token looks like a valid JWT (does not verify)\n */\nfunction isValidJWTFormat(token) {\n return parseJWT(token) !== null;\n}\n/**\n * Extract expiration date from a token without verification\n * Useful for quick checks\n */\nfunction getTokenExpiration(token) {\n const parsed = parseJWT(token);\n if (!parsed || typeof parsed.payload.exp !== 'number') {\n return null;\n }\n return new Date(parsed.payload.exp * 1000);\n}\n\n// src/license/licenseManager.ts\n// License management with environment-aware enforcement\n/**\n * Required features for different capabilities\n */\nconst REQUIRED_FEATURES = {\n /** Feature required for basic client functionality */\n CLIENT: 'cybernetic-chatbot-client',\n /** Feature required for agentic capabilities (DOM automation, intent classification) */\n AGENTIC: 'agentic'\n};\n/**\n * License enforcement message shown in production when license is invalid\n */\nconst LICENSE_WARNING_MESSAGE = '\\n\\n---\\n⚠️ License Notice: Your AsterMind license key needs to be updated. ' +\n 'Please contact support@astermind.ai or visit https://astermind.ai/license to renew your license.';\n/**\n * Detect current environment based on URL and other signals\n */\nfunction detectEnvironment() {\n // Node.js environment\n if (typeof window === 'undefined') {\n return process?.env?.NODE_ENV === 'production' ? 'production' : 'development';\n }\n const hostname = window.location?.hostname || '';\n // Development indicators\n const devPatterns = [\n 'localhost',\n '127.0.0.1',\n '0.0.0.0',\n '.local',\n '.dev',\n '.test',\n ':3000', // Common dev ports\n ':5173', // Vite\n ':8080', // Common dev port\n ':4200', // Angular\n ];\n // Check for development patterns\n for (const pattern of devPatterns) {\n if (hostname.includes(pattern) || window.location?.port === pattern.replace(':', '')) {\n return 'development';\n }\n }\n // Check for file:// protocol (local development)\n if (window.location?.protocol === 'file:') {\n return 'development';\n }\n // Check for staging/preview patterns\n const stagingPatterns = [\n 'staging.',\n 'preview.',\n '-preview.',\n '.vercel.app',\n '.netlify.app',\n '.pages.dev',\n ];\n for (const pattern of stagingPatterns) {\n if (hostname.includes(pattern)) {\n // Treat staging as production for license enforcement\n return 'production';\n }\n }\n // Default to production for safety\n return 'production';\n}\n/**\n * Determine enforcement mode based on environment\n */\nfunction getEnforcementMode(environment) {\n return environment === 'development' ? 'soft' : 'hard';\n}\n/**\n * License Manager\n *\n * Manages license verification and enforcement for CyberneticClient.\n * - In development: Logs warnings to console (soft enforcement)\n * - In production: Appends warning to chatbot responses (hard enforcement)\n */\nclass LicenseManager {\n constructor(config = {}) {\n this.state = null;\n this.verificationPromise = null;\n this.hasLoggedWarning = false;\n this.loggedMissingFeatures = new Set();\n this.config = config;\n this.environment = config.environment || detectEnvironment();\n this.enforcementMode = getEnforcementMode(this.environment);\n }\n /**\n * Verify the license (async, caches result)\n */\n async verify() {\n // Return cached state if available\n if (this.state) {\n return this.state;\n }\n // Prevent concurrent verification calls\n if (this.verificationPromise) {\n return this.verificationPromise;\n }\n this.verificationPromise = verifyLicenseToken(this.config.licenseKey, this.config.publicKey);\n try {\n this.state = await this.verificationPromise;\n // Notify status change\n this.config.onStatusChange?.(this.state);\n // Log based on enforcement mode\n this.logLicenseStatus();\n return this.state;\n }\n finally {\n this.verificationPromise = null;\n }\n }\n /**\n * Get current license state (null if not yet verified)\n */\n getState() {\n return this.state;\n }\n /**\n * Check if license is valid or acceptable\n * Valid statuses: 'valid', 'eval'\n */\n isValid() {\n if (!this.state)\n return false;\n return this.state.status === 'valid' || this.state.status === 'eval';\n }\n /**\n * Check if license requires action (expired, missing, invalid)\n */\n requiresAction() {\n if (!this.state)\n return true;\n return this.state.status === 'expired' ||\n this.state.status === 'missing' ||\n this.state.status === 'invalid';\n }\n /**\n * Get current environment\n */\n getEnvironment() {\n return this.environment;\n }\n /**\n * Get current enforcement mode\n */\n getEnforcementMode() {\n return this.enforcementMode;\n }\n /**\n * Process a response based on license status\n * In production with invalid license: appends warning to response\n * In development: logs warning (once) and returns response unchanged\n *\n * @param response - The chatbot response text\n * @returns Modified response (or original if license valid)\n */\n processResponse(response) {\n // License not verified yet - allow through\n if (!this.state) {\n return response;\n }\n // Valid license - no modification\n if (this.isValid() && !this.state.inGracePeriod) {\n return response;\n }\n // Handle based on enforcement mode\n if (this.enforcementMode === 'soft') {\n // Development: just log warning (once)\n if (!this.hasLoggedWarning) {\n this.logDevelopmentWarning();\n this.hasLoggedWarning = true;\n }\n return response;\n }\n // Production: append warning to response\n return response + LICENSE_WARNING_MESSAGE;\n }\n /**\n * Get a human-readable license status message\n */\n getStatusMessage() {\n if (!this.state) {\n return 'License not verified';\n }\n switch (this.state.status) {\n case 'valid':\n if (this.state.inGracePeriod) {\n return `License expired but in grace period (${Math.abs(this.state.daysRemaining || 0)} days overdue)`;\n }\n return `License valid (${this.state.daysRemaining} days remaining)`;\n case 'eval':\n return `Evaluation license (${this.state.daysRemaining} days remaining)`;\n case 'expired':\n return `License expired ${Math.abs(this.state.daysRemaining || 0)} days ago`;\n case 'missing':\n return 'No license key provided';\n case 'invalid':\n return `Invalid license: ${this.state.error}`;\n default:\n return 'Unknown license status';\n }\n }\n /**\n * Force re-verification (clears cached state)\n */\n async reVerify() {\n this.state = null;\n this.hasLoggedWarning = false;\n this.loggedMissingFeatures.clear();\n return this.verify();\n }\n /**\n * Check if a specific feature is licensed\n *\n * @param feature - Feature name to check\n * @returns true if feature is present in license\n */\n hasFeature(feature) {\n if (!this.state?.payload)\n return false;\n return this.state.payload.features.includes(feature);\n }\n /**\n * Get all licensed features\n */\n getFeatures() {\n return this.state?.payload?.features || [];\n }\n /**\n * Check if client feature is licensed\n * Logs warning if not present (only once)\n *\n * @returns true if cybernetic-chatbot-client feature is present\n */\n checkClientFeature() {\n return this.checkFeatureWithLog(REQUIRED_FEATURES.CLIENT, 'CyberneticClient');\n }\n /**\n * Check if agentic feature is licensed\n * Logs warning if not present (only once)\n * Call this when attempting to use agentic capabilities\n *\n * @returns true if agentic feature is present\n */\n checkAgenticFeature() {\n return this.checkFeatureWithLog(REQUIRED_FEATURES.AGENTIC, 'Agentic capabilities');\n }\n /**\n * Check a feature and log if missing (only logs once per feature)\n */\n checkFeatureWithLog(feature, displayName) {\n // If license is missing/invalid, allow through (handled by other checks)\n if (!this.state?.payload) {\n return true;\n }\n const hasFeature = this.state.payload.features.includes(feature);\n if (!hasFeature && !this.loggedMissingFeatures.has(feature)) {\n this.loggedMissingFeatures.add(feature);\n this.logMissingFeature(feature, displayName);\n }\n return hasFeature;\n }\n /**\n * Log missing feature warning with available features\n */\n logMissingFeature(missingFeature, displayName) {\n const availableFeatures = this.getFeatures();\n const plan = this.state?.payload?.plan || 'unknown';\n console.warn(`[Cybernetic License] ${displayName} requires the '${missingFeature}' feature, ` +\n `which is not included in your license.`);\n console.info(`[Cybernetic License] Current license plan: ${plan}`);\n console.info(`[Cybernetic License] Licensed features: ${availableFeatures.length > 0\n ? availableFeatures.join(', ')\n : '(none)'}`);\n console.info(`[Cybernetic License] To add this feature, upgrade your license at https://astermind.ai/license`);\n }\n /**\n * Log license status based on enforcement mode\n */\n logLicenseStatus() {\n if (!this.state)\n return;\n const prefix = '[Cybernetic License]';\n switch (this.state.status) {\n case 'valid':\n if (this.state.inGracePeriod) {\n console.warn(`${prefix} License expired but in grace period. ` +\n `Please renew at https://astermind.ai/license`);\n }\n else if (this.state.daysRemaining !== null && this.state.daysRemaining <= 30) {\n console.info(`${prefix} License expires in ${this.state.daysRemaining} days`);\n }\n break;\n case 'eval':\n console.info(`${prefix} Evaluation license - ${this.state.daysRemaining} days remaining`);\n break;\n case 'expired':\n console.error(`${prefix} License expired. ` +\n `Enforcement mode: ${this.enforcementMode}. ` +\n `Renew at https://astermind.ai/license`);\n break;\n case 'missing':\n console.warn(`${prefix} No license key provided. ` +\n `Enforcement mode: ${this.enforcementMode}. ` +\n `Get a license at https://astermind.ai/license`);\n break;\n case 'invalid':\n console.error(`${prefix} Invalid license: ${this.state.error}. ` +\n `Enforcement mode: ${this.enforcementMode}`);\n break;\n }\n }\n /**\n * Log development-only warning\n */\n logDevelopmentWarning() {\n console.warn('[Cybernetic License] Running in development mode with ' +\n `${this.state?.status || 'unknown'} license. ` +\n 'In production, a warning will be appended to chatbot responses. ' +\n 'Get a license at https://astermind.ai/license');\n }\n}\n/**\n * Create a pre-configured license manager and verify immediately\n */\nasync function createLicenseManager(config) {\n const manager = new LicenseManager(config);\n await manager.verify();\n return manager;\n}\n\n// src/CyberneticClient.ts\n// Main client with API calls and offline fallback\n/**\n * Cybernetic Chatbot Client\n *\n * Provides API access to AsterMind backend with offline fallback.\n * Always returns a response, never throws exceptions.\n */\nclass CyberneticClient {\n constructor(config) {\n this.status = 'connecting';\n this.lastError = null;\n // Maintenance mode tracking (ADR-200)\n this.systemSettings = null;\n this.settingsLastChecked = 0;\n this.SETTINGS_CHECK_INTERVAL = 300000; // 5 minutes\n // Agentic capabilities (optional, registered separately via registerAgenticCapabilities)\n this.agenticCapabilities = null;\n // Offline vector storage\n this.offlineStorage = null;\n // Omega RAG (optional, loaded dynamically)\n this.omegaRAG = null;\n // Track if offline warning has been shown\n this.offlineWarningShown = false;\n // Apply defaults\n this.config = {\n apiUrl: config.apiUrl,\n apiKey: config.apiKey,\n fallback: {\n enabled: config.fallback?.enabled ?? true,\n cacheMaxAge: config.fallback?.cacheMaxAge ?? 86400000, // 24 hours\n cacheOnConnect: config.fallback?.cacheOnConnect ?? true,\n cacheStorage: config.fallback?.cacheStorage ?? 'indexeddb'\n },\n retry: {\n maxRetries: config.retry?.maxRetries ?? 2,\n initialDelay: config.retry?.initialDelay ?? 1000,\n exponentialBackoff: config.retry?.exponentialBackoff ?? true\n },\n agentic: config.agentic ?? null,\n offline: config.offline ?? null,\n sitemap: config.sitemap ?? null,\n sources: {\n enabled: config.sources?.enabled ?? true,\n showSummary: config.sources?.showSummary ?? true,\n showDownload: config.sources?.showDownload ?? true,\n includeFullContent: config.sources?.includeFullContent ?? false,\n maxSources: config.sources?.maxSources ?? 5\n },\n onStatusChange: config.onStatusChange || (() => { }),\n onError: config.onError || (() => { })\n };\n // Initialize components\n this.apiClient = new ApiClient(this.config.apiUrl, this.config.apiKey);\n this.cache = new CyberneticCache({\n storage: this.config.fallback.cacheStorage,\n maxAge: this.config.fallback.cacheMaxAge\n });\n this.localRAG = new CyberneticLocalRAG();\n // Initialize license manager\n this.licenseManager = new LicenseManager({\n licenseKey: config.licenseKey\n });\n // Verify license asynchronously (non-blocking)\n this.licenseManager.verify().then(() => {\n // Check client feature after verification\n this.licenseManager.checkClientFeature();\n }).catch(() => {\n // License verification errors are handled internally\n });\n // Monitor connection status\n this.monitorConnection();\n // Pre-cache documents on init if enabled\n if (this.config.fallback.enabled && this.config.fallback.cacheOnConnect) {\n this.syncCache().catch(() => {\n // Silent failure on init - cache may be stale but usable\n });\n }\n // Initialize offline vector support if configured\n if (this.config.offline?.enabled) {\n this.initializeOffline(this.config.offline).catch((error) => {\n console.warn('[Cybernetic] Failed to initialize offline vectors:', error);\n });\n }\n }\n // ==================== AGENTIC CAPABILITIES ====================\n /**\n * Register agentic capabilities\n * Called by registerAgenticCapabilities() helper from agentic module\n *\n * @example\n * ```typescript\n * import { CyberneticClient, registerAgenticCapabilities } from '@astermind/cybernetic-chatbot-client';\n * const client = new CyberneticClient(config);\n * registerAgenticCapabilities(client);\n * ```\n */\n registerAgentic(capabilities) {\n this.agenticCapabilities = capabilities;\n console.log('[Cybernetic] Agentic capabilities registered');\n }\n /**\n * Check if agentic capabilities are available and enabled\n */\n isAgenticEnabled() {\n if (this.agenticCapabilities === null || this.config.agentic?.enabled !== true) {\n return false;\n }\n // Check for agentic feature in license (logs warning if missing)\n this.licenseManager.checkAgenticFeature();\n return true;\n }\n /**\n * Get registered agentic capabilities (for advanced use)\n */\n getAgenticCapabilities() {\n return this.agenticCapabilities;\n }\n /**\n * Get agentic configuration\n */\n getAgenticConfig() {\n return this.config.agentic;\n }\n // ==================== SOURCES CONFIGURATION ====================\n /**\n * Get sources configuration\n * Returns merged configuration with all defaults applied\n */\n getSourcesConfig() {\n return { ...this.config.sources };\n }\n /**\n * Check if a specific source feature is available\n * Takes into account configuration, connection status, and requirements\n *\n * @param feature - The feature to check ('summary' or 'download')\n * @returns Whether the feature is available\n */\n isSourceFeatureAvailable(feature) {\n if (!this.config.sources.enabled) {\n return false;\n }\n if (feature === 'summary') {\n return this.config.sources.showSummary;\n }\n if (feature === 'download') {\n // Download only works when online\n return this.config.sources.showDownload && this.status === 'online';\n }\n return false;\n }\n /**\n * Classify user message intent for agentic action\n * Only works if agentic capabilities are registered and enabled\n *\n * @param message - User's message to classify\n * @returns Intent classification or null if agentic not available\n */\n classifyIntent(message) {\n if (!this.isAgenticEnabled() || !this.agenticCapabilities) {\n return null;\n }\n // Create agent instance if needed for classification\n const agentConfig = this.config.agentic;\n const AgentClass = this.agenticCapabilities.agent;\n const agent = new AgentClass(agentConfig);\n return agent.interpretIntent(message);\n }\n /**\n * Execute an agent action\n * Only works if agentic capabilities are registered and enabled\n *\n * @param action - Action to execute\n * @returns Action result or error\n */\n async executeAction(action) {\n if (!this.isAgenticEnabled() || !this.agenticCapabilities) {\n return {\n success: false,\n message: 'Agentic capabilities not enabled'\n };\n }\n const agentConfig = this.config.agentic;\n const AgentClass = this.agenticCapabilities.agent;\n const agent = new AgentClass(agentConfig);\n return agent.executeAction(action);\n }\n /**\n * Smart ask - checks for action intent first, then falls back to RAG\n * Combines agentic classification with standard RAG query\n *\n * @param message - User's message\n * @param options - Optional request configuration\n * @returns Object containing response, action, and/or action result\n */\n async smartAsk(message, options) {\n // Check for actionable intent if agentic is enabled\n const classification = this.classifyIntent(message);\n if (classification && classification.action && !classification.shouldEscalate) {\n // High confidence action detected\n if (this.config.agentic?.requireConfirmation !== false) {\n // Return action for UI confirmation without executing\n return { action: classification.action };\n }\n // Auto-execute if confirmation not required\n const result = await this.executeAction(classification.action);\n return {\n action: classification.action,\n actionResult: result\n };\n }\n // Low confidence or no action - proceed to RAG\n const response = await this.ask(message, options);\n return { response };\n }\n // ==================== OFFLINE VECTOR METHODS ====================\n /**\n * Initialize offline vector support\n * Loads pre-exported vectors from URL or inline data\n */\n async initializeOffline(config) {\n const storageMode = config.storageMode ?? 'hybrid';\n const maxAge = config.cacheMaxAge ?? 604800000; // 7 days default\n // Initialize IndexedDB storage if not memory-only\n if (storageMode !== 'memory') {\n this.offlineStorage = new CyberneticOfflineStorage();\n }\n // Check for cached vectors first\n if (this.offlineStorage && storageMode !== 'memory') {\n const cacheId = 'default';\n if (await this.offlineStorage.isValid(cacheId, maxAge)) {\n console.log('[Cybernetic] Loading vectors from IndexedDB cache');\n const cached = await this.offlineStorage.retrieve(cacheId);\n if (cached) {\n await this.localRAG.loadFromExport(cached);\n console.log('[Cybernetic] Loaded vectors from IndexedDB cache');\n return;\n }\n }\n }\n // Try to load from URL\n if (config.vectorFileUrl) {\n try {\n const response = await fetch(config.vectorFileUrl);\n if (!response.ok) {\n throw new Error(`Failed to fetch vectors: ${response.status}`);\n }\n const exportData = await response.json();\n // Store in IndexedDB for future use\n if (this.offlineStorage && storageMode !== 'memory') {\n await this.offlineStorage.store('default', exportData);\n }\n // Load into local RAG\n await this.localRAG.loadFromExport(exportData);\n // Initialize Omega if configured\n if (config.omega?.enabled) {\n await this.initializeOmega(config);\n }\n console.log('[Cybernetic] Loaded vectors from URL:', config.vectorFileUrl);\n return;\n }\n catch (error) {\n console.error('[Cybernetic] Failed to load offline vectors from URL:', error);\n }\n }\n // Try inline vector data\n if (config.vectorData) {\n await this.localRAG.loadFromExport(config.vectorData);\n // Initialize Omega if configured\n if (config.omega?.enabled) {\n await this.initializeOmega(config);\n }\n console.log('[Cybernetic] Loaded inline vector data');\n return;\n }\n // No vectors available - log warning (one-time)\n if (!this.offlineWarningShown) {\n console.warn('[Cybernetic] Offline functionality is enabled but no vectors are loaded. ' +\n 'Offline responses will be limited. To enable full offline functionality, ' +\n 'export vectors from the AsterMind admin panel and configure the vectorFileUrl ' +\n 'or vectorData option.');\n this.offlineWarningShown = true;\n }\n }\n /**\n * Initialize Omega RAG module\n */\n async initializeOmega(config) {\n if (!config.omega?.enabled)\n return;\n try {\n // Dynamic import to support tree-shaking\n const { OmegaOfflineRAG } = await Promise.resolve().then(function () { return OmegaOfflineRAG$1; });\n this.omegaRAG = new OmegaOfflineRAG({\n reranking: config.omega.reranking,\n topK: 5,\n verbose: false\n });\n // Load model from URL or inline data\n if (config.omega.modelUrl) {\n await this.omegaRAG.loadModelFromUrl(config.omega.modelUrl);\n }\n else if (config.omega.modelData) {\n // Convert our type to the astermind type\n await this.omegaRAG.loadModel(config.omega.modelData);\n }\n console.log('[Cybernetic] Omega RAG initialized');\n }\n catch (error) {\n console.warn('[Cybernetic] Failed to initialize Omega RAG:', error);\n this.omegaRAG = null;\n }\n }\n /**\n * Manually reload offline vectors\n * Clears cache and re-fetches from configured source\n */\n async reloadOfflineVectors() {\n if (!this.config.offline?.enabled) {\n console.warn('[Cybernetic] Offline mode is not enabled');\n return;\n }\n // Clear existing data\n this.localRAG.reset();\n if (this.offlineStorage) {\n await this.offlineStorage.clear();\n }\n if (this.omegaRAG) {\n this.omegaRAG.clear();\n }\n // Re-initialize\n await this.initializeOffline(this.config.offline);\n }\n /**\n * Check if Omega offline RAG is enabled and ready\n */\n isOmegaOfflineEnabled() {\n return this.omegaRAG?.isReady() ?? false;\n }\n /**\n * Get offline model info (if Omega is loaded)\n */\n getOfflineModelInfo() {\n return this.omegaRAG?.getModelInfo() ?? null;\n }\n /**\n * Get local RAG export status\n */\n getLocalRAGStatus() {\n return this.localRAG.getExportStatus();\n }\n /**\n * Get offline storage instance for advanced operations\n */\n getOfflineStorage() {\n return this.offlineStorage;\n }\n // ==================== CORE METHODS ====================\n /**\n * Send a message to the chatbot\n * Always returns a response, never throws\n *\n * @param message - User's message\n * @param options - Optional request configuration\n */\n async ask(message, options) {\n // Validate input\n if (!message || typeof message !== 'string') {\n return this.createErrorResponse('Message is required', 'none');\n }\n // Check maintenance mode before API call (ADR-200)\n const settings = await this.checkSystemStatus();\n if (settings.maintenanceMode || settings.forceOfflineClients) {\n console.log('[Cybernetic] Maintenance mode active, using cached data');\n // Return maintenance response if no cached data\n if (!this.isCacheValid()) {\n return {\n reply: settings.maintenanceMessage ||\n 'The service is currently under maintenance. Please try again later.',\n confidence: 'none',\n sources: [],\n offline: true,\n degradedReason: 'Maintenance mode active, no valid cache available'\n };\n }\n // Use local fallback during maintenance\n return await this.fallbackAsk(message);\n }\n // Try API first\n try {\n const response = await this.apiWithRetry(message, options);\n this.setStatus('online');\n // Process response through license manager (may add warning in production)\n const processedReply = this.licenseManager.processResponse(response.reply);\n return {\n reply: processedReply,\n confidence: 'high',\n sources: response.sources || [],\n offline: false,\n sessionId: response.sessionId\n };\n }\n catch (error) {\n const omegaError = this.normalizeError(error);\n this.lastError = omegaError;\n this.config.onError(omegaError);\n // Rate limit - don't fallback, return error response\n if (omegaError.code === 'RATE_LIMIT') {\n return {\n reply: 'I\\'m receiving too many requests right now. Please try again in a moment.',\n confidence: 'none',\n sources: [],\n offline: false,\n retryAfter: omegaError.retryAfter\n };\n }\n // Try fallback if enabled and not explicitly skipped\n if (this.config.fallback.enabled && !options?.skipFallback) {\n return await this.fallbackAsk(message);\n }\n // No fallback - return error response\n return this.createErrorResponse('Unable to connect to the chatbot service. Please try again later.', 'none', omegaError.retryAfter);\n }\n }\n /**\n * Send a message with streaming response\n *\n * @param message - User's message\n * @param callbacks - Streaming event callbacks\n * @param options - Optional request configuration\n */\n async askStream(message, callbacks, options) {\n if (!message || typeof message !== 'string') {\n callbacks.onError?.({\n code: 'LOCAL_RAG_ERROR',\n message: 'Message is required'\n });\n return;\n }\n // Check maintenance mode before API call (ADR-200)\n const settings = await this.checkSystemStatus();\n if (settings.maintenanceMode || settings.forceOfflineClients) {\n console.log('[Cybernetic] Maintenance mode active, falling back to offline');\n const response = await this.fallbackAsk(message);\n callbacks.onComplete?.(response);\n return;\n }\n try {\n await this.apiClient.chatStream(message, {\n sessionId: options?.sessionId,\n context: options?.context,\n onToken: callbacks.onToken,\n onSources: callbacks.onSources,\n onComplete: (data) => {\n this.setStatus('online');\n // Process response through license manager (may add warning in production)\n const processedReply = this.licenseManager.processResponse(data.fullText);\n callbacks.onComplete?.({\n reply: processedReply,\n confidence: 'high',\n sources: data.sources || [],\n offline: false,\n sessionId: data.sessionId\n });\n },\n onError: (error) => {\n const omegaError = this.normalizeError(error);\n this.config.onError(omegaError);\n callbacks.onError?.(omegaError);\n }\n });\n }\n catch (error) {\n const omegaError = this.normalizeError(error);\n this.lastError = omegaError;\n this.config.onError(omegaError);\n // Fall back to non-streaming if enabled\n if (this.config.fallback.enabled && !options?.skipFallback) {\n const response = await this.fallbackAsk(message);\n callbacks.onComplete?.(response);\n }\n else {\n callbacks.onError?.(omegaError);\n }\n }\n }\n /**\n * Sync documents to local cache for offline use\n */\n async syncCache() {\n try {\n const lastSync = await this.cache.getLastSync();\n const docs = await this.apiClient.getGeneralDocs(lastSync);\n if (docs.length > 0) {\n await this.cache.store(docs);\n await this.localRAG.index(docs);\n console.log(`[Cybernetic] Cache synced: ${docs.length} documents`);\n }\n this.setStatus('online');\n }\n catch (error) {\n console.warn('[Cybernetic] Cache sync failed:', error);\n // Don't change status - we may still have cached data\n }\n }\n /**\n * Get current connection status including system settings\n */\n getStatus() {\n return {\n connection: this.status,\n cache: this.cache.getStatus(),\n lastError: this.lastError,\n systemSettings: this.systemSettings,\n license: this.licenseManager.getState()\n };\n }\n /**\n * Get license manager for advanced license operations\n */\n getLicenseManager() {\n return this.licenseManager;\n }\n /**\n * Clear local cache\n */\n async clearCache() {\n await this.cache.clear();\n this.localRAG.reset();\n }\n /**\n * Manually check if backend is reachable\n */\n async checkConnection() {\n try {\n await this.apiClient.getStatus();\n this.setStatus('online');\n return true;\n }\n catch {\n this.setStatus('offline');\n return false;\n }\n }\n // ==================== MAINTENANCE MODE METHODS (ADR-200) ====================\n /**\n * Check system status including maintenance mode\n * Called periodically and before API calls\n */\n async checkSystemStatus() {\n // Use cached settings if recently checked\n if (this.systemSettings &&\n Date.now() - this.settingsLastChecked < this.SETTINGS_CHECK_INTERVAL) {\n return this.systemSettings;\n }\n try {\n const status = await this.apiClient.getStatus();\n // Extract system settings from status response\n this.systemSettings = {\n cacheRetentionHours: status.systemSettings?.cacheRetentionHours ?? 168,\n maintenanceMode: status.systemSettings?.maintenanceMode ?? false,\n maintenanceMessage: status.systemSettings?.maintenanceMessage,\n forceOfflineClients: status.systemSettings?.forceOfflineClients ?? false\n };\n this.settingsLastChecked = Date.now();\n return this.systemSettings;\n }\n catch {\n // On error, return cached settings or safe defaults\n return this.systemSettings || {\n cacheRetentionHours: 168,\n maintenanceMode: false,\n forceOfflineClients: false\n };\n }\n }\n /**\n * Check if maintenance mode is active\n */\n isMaintenanceMode() {\n return this.systemSettings?.maintenanceMode ?? false;\n }\n /**\n * Get maintenance message if in maintenance mode\n */\n getMaintenanceMessage() {\n return this.systemSettings?.maintenanceMessage;\n }\n /**\n * Validate cache using server-configured retention hours\n */\n isCacheValid() {\n const cacheStatus = this.cache.getStatus();\n if (!cacheStatus.lastSyncAt)\n return false;\n // Use server-configured retention or default 168 hours (7 days)\n const retentionHours = this.systemSettings?.cacheRetentionHours || 168;\n const retentionMs = retentionHours * 60 * 60 * 1000;\n const lastSyncTime = new Date(cacheStatus.lastSyncAt).getTime();\n return Date.now() - lastSyncTime < retentionMs;\n }\n // ==================== PRIVATE METHODS ====================\n /**\n * API call with retry logic\n */\n async apiWithRetry(message, options) {\n const { maxRetries, initialDelay, exponentialBackoff } = this.config.retry;\n let lastError = null;\n for (let attempt = 0; attempt <= maxRetries; attempt++) {\n try {\n return await this.apiClient.chat(message, {\n sessionId: options?.sessionId,\n context: options?.context\n });\n }\n catch (error) {\n lastError = error;\n // Don't retry on auth or rate limit errors\n const omegaError = this.normalizeError(error);\n if (omegaError.code === 'AUTH_ERROR' || omegaError.code === 'RATE_LIMIT') {\n throw error;\n }\n // Wait before retry\n if (attempt < maxRetries) {\n const delay = exponentialBackoff\n ? initialDelay * Math.pow(2, attempt)\n : initialDelay;\n await this.sleep(delay);\n }\n }\n }\n throw lastError;\n }\n /**\n * Fallback to local RAG processing\n * Uses Omega RAG if available, falls back to simple TF-IDF\n */\n async fallbackAsk(message) {\n this.setStatus('offline');\n // Try Omega RAG first if available\n if (this.omegaRAG?.isReady()) {\n try {\n const omegaResult = await this.omegaRAG.ask(message);\n if (!omegaResult.degraded) {\n // Process response through license manager\n const processedReply = this.licenseManager.processResponse(omegaResult.answer);\n return {\n reply: processedReply,\n confidence: omegaResult.confidence,\n sources: omegaResult.sources.map(s => ({\n title: s.heading,\n snippet: s.content.substring(0, 200) + '...',\n relevance: s.score\n })),\n offline: true,\n degradedReason: 'Omega hybrid retrieval (offline)'\n };\n }\n // If Omega degraded, fall through to simple RAG\n }\n catch (error) {\n console.warn('[Cybernetic] Omega RAG failed, falling back to TF-IDF:', error);\n // Fall through to simple RAG\n }\n }\n // Check if local RAG has pre-loaded vectors from export\n const localRAGStatus = this.localRAG.getExportStatus();\n if (localRAGStatus.loaded && localRAGStatus.documentCount > 0) {\n try {\n const result = await this.localRAG.ask(message);\n // Determine confidence based on match quality\n let confidence = 'medium';\n if (result.topScore < 0.3) {\n confidence = 'low';\n }\n else if (result.topScore > 0.7) {\n confidence = 'medium'; // Never 'high' for offline\n }\n // Process response through license manager\n const processedReply = this.licenseManager.processResponse(result.answer);\n return {\n reply: processedReply,\n confidence,\n sources: result.sources.map(s => ({\n title: s.title,\n snippet: s.snippet,\n relevance: s.score\n })),\n offline: true,\n degradedReason: localRAGStatus.loadedFromExport\n ? 'Using pre-exported vectors (offline)'\n : 'Processed locally with TF-IDF'\n };\n }\n catch (error) {\n console.error('[Cybernetic] Local RAG error:', error);\n // Fall through to cache-based fallback\n }\n }\n // Check if we have cached documents (original sync-based fallback)\n const cacheStatus = this.cache.getStatus();\n if (cacheStatus.documentCount === 0 && !localRAGStatus.loaded) {\n return {\n reply: 'I\\'m currently offline and don\\'t have any cached information. Please check your connection and try again.',\n confidence: 'none',\n sources: [],\n offline: true,\n degradedReason: 'No cached documents or offline vectors available'\n };\n }\n try {\n // Get documents from cache\n const docs = await this.cache.retrieve();\n // Ensure local RAG is indexed\n if (!this.localRAG.isIndexed()) {\n await this.localRAG.index(docs);\n }\n // Process with local RAG\n const result = await this.localRAG.ask(message);\n // Determine confidence based on match quality\n let confidence = 'medium';\n if (result.topScore < 0.3) {\n confidence = 'low';\n }\n else if (result.topScore > 0.7) {\n confidence = 'medium'; // Never 'high' for offline\n }\n // Process response through license manager (may add warning in production)\n const processedReply = this.licenseManager.processResponse(result.answer);\n return {\n reply: processedReply,\n confidence,\n sources: result.sources.map(s => ({\n title: s.title,\n snippet: s.snippet,\n relevance: s.score\n })),\n offline: true,\n degradedReason: cacheStatus.isStale\n ? 'Using stale cached data'\n : 'Processed locally without server'\n };\n }\n catch (error) {\n console.error('[Cybernetic] Local RAG error:', error);\n return {\n reply: 'I\\'m having trouble processing your request offline. Please try again when you\\'re back online.',\n confidence: 'none',\n sources: [],\n offline: true,\n degradedReason: 'Local RAG processing failed'\n };\n }\n }\n /**\n * Monitor browser online/offline events\n */\n monitorConnection() {\n if (typeof window !== 'undefined') {\n window.addEventListener('online', () => {\n this.syncCache().catch(() => { });\n });\n window.addEventListener('offline', () => {\n this.setStatus('offline');\n });\n // Set initial status\n if (!navigator.onLine) {\n this.setStatus('offline');\n }\n }\n }\n /**\n * Update connection status and notify listeners\n */\n setStatus(status) {\n if (this.status !== status) {\n this.status = status;\n this.config.onStatusChange(status);\n }\n }\n /**\n * Normalize various error types to CyberneticError\n */\n normalizeError(error) {\n if (error instanceof Error) {\n // Check for specific error types\n if (error.message.includes('401') || error.message.includes('Unauthorized')) {\n return {\n code: 'AUTH_ERROR',\n message: 'Invalid or expired API key',\n originalError: error\n };\n }\n if (error.message.includes('429') || error.message.includes('Rate limit')) {\n const match = error.message.match(/retry after (\\d+)/i);\n return {\n code: 'RATE_LIMIT',\n message: 'Rate limit exceeded',\n retryAfter: match ? parseInt(match[1], 10) : 60,\n originalError: error\n };\n }\n if (error.message.includes('5') || error.message.includes('Server')) {\n return {\n code: 'SERVER_ERROR',\n message: 'Server error occurred',\n originalError: error\n };\n }\n return {\n code: 'NETWORK_ERROR',\n message: error.message || 'Network error',\n originalError: error\n };\n }\n return {\n code: 'NETWORK_ERROR',\n message: 'Unknown error occurred'\n };\n }\n /**\n * Create standardized error response\n */\n createErrorResponse(message, confidence, retryAfter) {\n return {\n reply: message,\n confidence,\n sources: [],\n offline: false,\n retryAfter\n };\n }\n /**\n * Async sleep utility\n */\n sleep(ms) {\n return new Promise(resolve => setTimeout(resolve, ms));\n }\n}\n\n// src/config.ts\n// Configuration loading and validation\n/** Default API URL when not specified */\nconst DEFAULT_API_URL = 'https://api.astermind.ai';\n/**\n * Validate configuration\n */\nfunction validateConfig(config) {\n if (!config || typeof config !== 'object') {\n throw new Error('Config must be an object');\n }\n const c = config;\n if (!c.apiUrl || typeof c.apiUrl !== 'string') {\n throw new Error('apiUrl is required and must be a string');\n }\n if (!c.apiKey || typeof c.apiKey !== 'string') {\n throw new Error('apiKey is required and must be a string');\n }\n if (!c.apiKey.startsWith('am_')) {\n throw new Error('apiKey must start with \"am_\"');\n }\n return true;\n}\n/**\n * Load config from Node.js process.env (for bundlers that replace process.env)\n */\nfunction loadFromProcessEnv() {\n // Check if process.env exists (Node.js or bundler-injected)\n if (typeof process === 'undefined' || !process.env) {\n return null;\n }\n // Check for ASTERMIND_RAG_* env vars (non-prefixed, for Node.js/server environments)\n const apiKey = process.env.ASTERMIND_RAG_API_KEY;\n const apiUrl = process.env.ASTERMIND_RAG_API_SERVER_URL;\n if (apiKey) {\n return {\n apiKey,\n apiUrl: apiUrl || DEFAULT_API_URL,\n _source: 'env'\n };\n }\n // Check for CRA-style REACT_APP_* env vars\n const craApiKey = process.env.REACT_APP_ASTERMIND_RAG_API_KEY;\n const craApiUrl = process.env.REACT_APP_ASTERMIND_RAG_API_SERVER_URL;\n if (craApiKey) {\n return {\n apiKey: craApiKey,\n apiUrl: craApiUrl || DEFAULT_API_URL,\n _source: 'env'\n };\n }\n return null;\n}\n/**\n * Load config from Vite's import.meta.env (browser environment)\n * Note: This only works at build time when Vite replaces the variables\n */\nfunction loadFromViteEnv() {\n // Check for window.__ASTERMIND_CONFIG__ (SSR-injected config)\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const injected = window.__ASTERMIND_CONFIG__;\n if (injected && typeof injected === 'object' && injected.apiKey) {\n return {\n ...injected,\n apiUrl: injected.apiUrl || DEFAULT_API_URL,\n _source: 'vite'\n };\n }\n }\n // Check for Vite's import.meta.env (replaced at build time)\n // Note: TypeScript doesn't know about import.meta.env, so we use a try-catch\n try {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const importMeta = globalThis.import?.meta?.env;\n if (importMeta) {\n const apiKey = importMeta.VITE_ASTERMIND_RAG_API_KEY;\n const apiUrl = importMeta.VITE_ASTERMIND_RAG_API_SERVER_URL;\n if (apiKey) {\n return {\n apiKey,\n apiUrl: apiUrl || DEFAULT_API_URL,\n _source: 'vite'\n };\n }\n }\n }\n catch {\n // import.meta not available in this environment\n }\n return null;\n}\n/**\n * Load config from window.astermindConfig global object\n */\nfunction loadFromGlobalObject() {\n if (typeof window === 'undefined') {\n return null;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const globalConfig = window.astermindConfig;\n if (globalConfig && typeof globalConfig === 'object' && globalConfig.apiKey) {\n return {\n ...globalConfig,\n apiUrl: globalConfig.apiUrl || DEFAULT_API_URL,\n _source: 'window'\n };\n }\n return null;\n}\n/**\n * Load config from script tag data attributes\n */\nfunction loadFromScriptAttributes() {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return null;\n }\n const script = document.querySelector('script[data-astermind-key]');\n if (script) {\n const apiKey = script.getAttribute('data-astermind-key');\n if (apiKey) {\n return {\n apiKey,\n apiUrl: script.getAttribute('data-astermind-url') || DEFAULT_API_URL,\n _source: 'data-attr'\n };\n }\n }\n return null;\n}\n/**\n * Load config using priority-based fallback chain:\n * 1. Environment variables (process.env - for bundlers/Node.js)\n * 2. Vite environment variables (import.meta.env or window.__ASTERMIND_CONFIG__)\n * 3. Global object (window.astermindConfig)\n * 4. Script data attributes (data-astermind-key, data-astermind-url)\n *\n * @param options - Configuration options\n * @param options.throwOnMissingKey - If true (default), throws when no API key found. If false, returns null and logs a warning.\n * @returns Configuration object or null if not found and throwOnMissingKey is false\n */\nfunction loadConfig(options = {}) {\n const { throwOnMissingKey = true } = options;\n // Priority 1: Environment variables (Node.js/bundler)\n const envConfig = loadFromProcessEnv();\n if (envConfig) {\n return envConfig;\n }\n // Priority 2: Vite environment variables / SSR-injected config\n const viteConfig = loadFromViteEnv();\n if (viteConfig) {\n return viteConfig;\n }\n // Priority 3: Global object (window.astermindConfig)\n const globalConfig = loadFromGlobalObject();\n if (globalConfig) {\n validateConfig(globalConfig);\n return globalConfig;\n }\n // Priority 4: Script data attributes\n const scriptConfig = loadFromScriptAttributes();\n if (scriptConfig) {\n return scriptConfig;\n }\n // No config found\n if (throwOnMissingKey) {\n throw new Error('AsterMind API key is required. Configure using one of these methods:\\n' +\n ' 1. Set VITE_ASTERMIND_RAG_API_KEY environment variable (Vite)\\n' +\n ' 2. Set REACT_APP_ASTERMIND_RAG_API_KEY environment variable (CRA)\\n' +\n ' 3. Set window.astermindConfig = { apiKey: \"am_...\", apiUrl: \"...\" }\\n' +\n ' 4. Add data-astermind-key attribute to your script tag\\n' +\n ' 5. Pass apiKey directly to createClient() or CyberneticClient constructor');\n }\n else {\n console.warn('[AsterMind] No API key found. Chatbot will not function until configured.');\n return null;\n }\n}\n/**\n * Export individual loaders for testing and advanced use cases\n */\nconst configLoaders = {\n loadFromProcessEnv,\n loadFromViteEnv,\n loadFromGlobalObject,\n loadFromScriptAttributes\n};\n\n// src/agentic/SiteMapDiscovery.ts\n// Multi-source sitemap discovery and merging for agentic navigation\n// Zero-config mode: automatically discovers routes on any site\n// ==================== SMART DEFAULTS ====================\n/**\n * Comprehensive default selectors that work on most sites\n * Covers semantic HTML, common CSS patterns, and framework conventions\n */\nconst DEFAULT_NAV_SELECTORS = [\n // Semantic HTML5 navigation\n 'nav a[href]',\n '[role=\"navigation\"] a[href]',\n 'header a[href]',\n // Common CSS class patterns\n '.nav a[href]',\n '.navbar a[href]',\n '.navigation a[href]',\n '.sidebar a[href]',\n '.side-nav a[href]',\n '.sidenav a[href]',\n '.menu a[href]',\n '.main-menu a[href]',\n '.top-menu a[href]',\n // Data attributes\n '[data-nav] a[href]',\n '[data-menu] a[href]',\n '[data-navigation] a[href]',\n // ARIA patterns\n '[aria-label*=\"navigation\" i] a[href]',\n '[aria-label*=\"menu\" i] a[href]',\n // Breadcrumbs\n '[aria-label*=\"breadcrumb\" i] a[href]',\n '.breadcrumb a[href]',\n '.breadcrumbs a[href]',\n // Generic internal links (fallback - caught last)\n 'a[href^=\"/\"]',\n];\n/**\n * Default paths to exclude from discovery\n * Covers common auth, API, and framework-internal routes\n */\nconst DEFAULT_EXCLUDE_PATTERNS = [\n // Authentication routes\n '/login', '/logout', '/signin', '/signout', '/sign-in', '/sign-out',\n '/register', '/signup', '/sign-up', '/forgot-password', '/reset-password',\n '/auth/*', '/oauth/*', '/callback/*', '/sso/*',\n // API and framework internals\n '/api/*', '/_next/*', '/_nuxt/*', '/__*',\n // Special links\n 'javascript:*', 'mailto:*', 'tel:*', '#*',\n];\n/**\n * Default maximum number of links to scan from DOM\n * Prevents performance issues on sites with many links\n */\nconst DEFAULT_MAX_DOM_LINKS = 200;\n/**\n * Default cache TTL for localStorage (5 minutes)\n */\nconst DEFAULT_CACHE_TTL = 5 * 60 * 1000;\n/**\n * Cache version - increment when cache format changes\n */\nconst CACHE_VERSION = '1';\n/**\n * Multi-source sitemap discovery and management\n *\n * Combines routes from three sources:\n * 1. Static props (explicit configuration)\n * 2. Framework auto-discovery (React Router, Vue Router, etc.)\n * 3. Backend API (tenant-specific sitemaps)\n *\n * Zero-config mode: When agentic is enabled but no siteMapConfig provided,\n * automatically discovers routes using smart defaults.\n */\nclass SiteMapDiscovery {\n constructor(config, apiUrl, apiKey) {\n this.staticEntries = [];\n this.discoveredEntries = [];\n this.backendEntries = [];\n this.backendCache = null;\n this.isInitialized = false;\n this.initPromise = null;\n this.detectedFramework = 'generic';\n this.popstateHandler = null;\n this.config = config;\n this.apiUrl = apiUrl;\n this.apiKey = apiKey;\n // Load static entries immediately (synchronous)\n if (config.static) {\n this.staticEntries = this.enhanceEntries(config.static, 'props');\n }\n }\n // ==================== INITIALIZATION ====================\n /**\n * Initialize all sitemap sources\n * Call this during widget initialization or first query based on loadStrategy\n */\n async initialize() {\n if (this.isInitialized)\n return;\n if (this.initPromise)\n return this.initPromise;\n this.initPromise = this.performInitialization();\n await this.initPromise;\n this.isInitialized = true;\n }\n async performInitialization() {\n // Wait for DOM to be ready before discovery\n await this.waitForDOMReady();\n // Try to load from localStorage cache first\n const cachedEntries = this.loadFromLocalStorage();\n if (cachedEntries) {\n this.discoveredEntries = cachedEntries;\n console.log(`[SiteMapDiscovery] Loaded ${cachedEntries.length} entries from cache`);\n // Still run discovery in background to refresh cache\n this.refreshInBackground();\n return;\n }\n const tasks = [];\n // Source 2: Framework auto-discovery (enabled by default)\n if (this.config.discovery?.enabled !== false) {\n tasks.push(this.discoverFromFramework());\n }\n // Source 3: Backend API\n if (this.config.backend?.enabled !== false && this.config.backend?.endpoint) {\n tasks.push(this.fetchFromBackend());\n }\n const results = await Promise.allSettled(tasks);\n for (const result of results) {\n if (result.status === 'fulfilled') {\n const { entries, source } = result.value;\n if (source === 'discovery') {\n this.discoveredEntries = entries;\n // Save to localStorage\n this.saveToLocalStorage(entries);\n }\n else if (source === 'backend') {\n this.backendEntries = entries;\n }\n }\n else {\n console.warn('[SiteMapDiscovery] Source failed:', result.reason);\n }\n }\n // Set up popstate listener for SPA navigation\n this.setupPopstateListener();\n const total = this.staticEntries.length + this.discoveredEntries.length + this.backendEntries.length;\n console.log(`[SiteMapDiscovery] Initialized with ${total} total entries (${this.staticEntries.length} static, ${this.discoveredEntries.length} discovered, ${this.backendEntries.length} backend)`);\n }\n /**\n * Wait for DOM to be ready before scanning\n */\n async waitForDOMReady() {\n if (typeof document === 'undefined')\n return;\n if (document.readyState === 'complete' || document.readyState === 'interactive') {\n // DOM is ready, but give frameworks a microtask to mount\n await new Promise(resolve => setTimeout(resolve, 0));\n return;\n }\n return new Promise((resolve) => {\n document.addEventListener('DOMContentLoaded', () => resolve(), { once: true });\n });\n }\n /**\n * Set up popstate listener to re-discover on SPA navigation\n */\n setupPopstateListener() {\n if (typeof window === 'undefined')\n return;\n this.popstateHandler = () => {\n // Debounce re-discovery\n setTimeout(() => {\n this.refreshInBackground();\n }, 100);\n };\n window.addEventListener('popstate', this.popstateHandler);\n }\n /**\n * Refresh discovery in background without blocking\n */\n async refreshInBackground() {\n try {\n const result = await this.discoverFromFramework();\n if (result.entries.length > 0) {\n this.discoveredEntries = result.entries;\n this.saveToLocalStorage(result.entries);\n }\n }\n catch (error) {\n // Silent fail for background refresh\n console.debug('[SiteMapDiscovery] Background refresh failed:', error);\n }\n }\n // ==================== LOCALSTORAGE CACHING ====================\n /**\n * Get localStorage cache key for current origin\n */\n getCacheKey() {\n if (typeof window === 'undefined')\n return 'astermind-sitemap';\n return `astermind-sitemap-${window.location.origin}`;\n }\n /**\n * Load discovered entries from localStorage cache\n */\n loadFromLocalStorage() {\n if (typeof localStorage === 'undefined')\n return null;\n try {\n const key = this.getCacheKey();\n const cached = localStorage.getItem(key);\n if (!cached)\n return null;\n const data = JSON.parse(cached);\n // Check version\n if (data.version !== CACHE_VERSION) {\n localStorage.removeItem(key);\n return null;\n }\n // Check TTL\n const ttl = this.config.discovery?.cacheTtl ?? DEFAULT_CACHE_TTL;\n if (Date.now() - data.timestamp > ttl) {\n localStorage.removeItem(key);\n return null;\n }\n this.detectedFramework = data.framework;\n return data.entries;\n }\n catch (error) {\n console.debug('[SiteMapDiscovery] Failed to load from cache:', error);\n return null;\n }\n }\n /**\n * Save discovered entries to localStorage cache\n */\n saveToLocalStorage(entries) {\n if (typeof localStorage === 'undefined')\n return;\n if (this.config.discovery?.cacheRoutes === false)\n return;\n try {\n const key = this.getCacheKey();\n const data = {\n entries,\n url: typeof window !== 'undefined' ? window.location.href : '',\n timestamp: Date.now(),\n framework: this.detectedFramework,\n version: CACHE_VERSION\n };\n localStorage.setItem(key, JSON.stringify(data));\n }\n catch (error) {\n // localStorage might be full or disabled\n console.debug('[SiteMapDiscovery] Failed to save to cache:', error);\n }\n }\n /**\n * Clear localStorage cache\n */\n clearCache() {\n if (typeof localStorage === 'undefined')\n return;\n localStorage.removeItem(this.getCacheKey());\n }\n // ==================== CLEANUP ====================\n /**\n * Dispose of resources (event listeners, etc.)\n */\n dispose() {\n if (this.popstateHandler && typeof window !== 'undefined') {\n window.removeEventListener('popstate', this.popstateHandler);\n this.popstateHandler = null;\n }\n }\n /**\n * Get detected framework name\n */\n getDetectedFramework() {\n return this.detectedFramework;\n }\n /**\n * Get merged sitemap entries with deduplication\n */\n getMergedEntries() {\n return this.mergeEntries(this.staticEntries, this.discoveredEntries, this.backendEntries);\n }\n /**\n * Convert to legacy AgenticSiteMapEntry format for classifier compatibility\n */\n getLegacyEntries() {\n return this.getMergedEntries().map(e => ({\n path: e.path,\n name: e.name,\n description: e.description,\n params: e.params,\n dynamicParams: e.dynamicParams,\n aliases: e.aliases\n }));\n }\n // ==================== SOURCE 2: FRAMEWORK DISCOVERY ====================\n async discoverFromFramework() {\n const config = this.config.discovery || {};\n const entries = [];\n try {\n // Detect framework if not specified\n const framework = config.framework || this.detectFramework();\n this.detectedFramework = framework;\n let routes = [];\n switch (framework) {\n case 'react-router':\n routes = this.discoverReactRouter();\n break;\n case 'vue-router':\n routes = this.discoverVueRouter();\n break;\n case 'next':\n routes = this.discoverNextRoutes();\n break;\n case 'angular':\n routes = this.discoverAngularRoutes();\n break;\n default:\n if (config.domFallback !== false) {\n routes = this.discoverFromDOM(config.navSelectors);\n }\n }\n // Transform routes to sitemap entries\n for (const route of routes) {\n // Apply exclude patterns\n if (this.shouldExcludeRoute(route.path, config.excludePaths)) {\n continue;\n }\n // Apply custom transform if provided\n let entry;\n if (config.transformRoute) {\n entry = config.transformRoute(route);\n }\n else {\n entry = this.defaultRouteTransform(route);\n }\n if (entry) {\n entries.push(this.enhanceEntry(entry, 'discovery'));\n }\n }\n console.log(`[SiteMapDiscovery] Discovered ${entries.length} routes from ${framework}`);\n }\n catch (error) {\n console.warn('[SiteMapDiscovery] Framework discovery failed:', error);\n return {\n entries: [],\n source: 'discovery',\n timestamp: Date.now(),\n error: String(error)\n };\n }\n return {\n entries,\n source: 'discovery',\n timestamp: Date.now()\n };\n }\n /**\n * Detect JavaScript framework from global objects\n */\n detectFramework() {\n if (typeof window === 'undefined')\n return 'generic';\n const win = window;\n // React Router v6.4+ data router\n if (win.__REACT_ROUTER_DATA_ROUTER__) {\n return 'react-router';\n }\n // React Router v5 context\n if (win.__reactRouterContext) {\n return 'react-router';\n }\n // Vue Router\n if (win.__VUE_ROUTER__ || win.__VUE_APP__?.$router) {\n return 'vue-router';\n }\n // Next.js\n if (win.__NEXT_DATA__) {\n return 'next';\n }\n // Angular\n if (win.ng || document.querySelector('[ng-version]')) {\n return 'angular';\n }\n return 'generic';\n }\n /**\n * Discover routes from React Router\n */\n discoverReactRouter() {\n const routes = [];\n if (typeof window === 'undefined')\n return routes;\n const win = window;\n // Try React Router v6.4+ data router\n const dataRouter = win.__REACT_ROUTER_DATA_ROUTER__;\n if (dataRouter?.routes) {\n this.extractRoutesFromConfig(dataRouter.routes, routes, '');\n return routes;\n }\n // Fallback: Try to find routes from __REACT_DEVTOOLS_GLOBAL_HOOK__\n // This is less reliable but can work in some cases\n return routes;\n }\n /**\n * Extract routes recursively from React Router config\n */\n extractRoutesFromConfig(routeConfigs, routes, parentPath) {\n for (const config of routeConfigs) {\n const path = this.normalizePath(parentPath, config.path || '');\n // Extract route info from handle metadata\n const route = {\n path,\n name: config.handle?.name || config.handle?.title || config.id,\n meta: config.handle || {},\n children: []\n };\n // Only include routes with paths (skip layout routes without path)\n if (config.path || config.index) {\n routes.push(route);\n }\n // Recursively process children\n if (config.children) {\n this.extractRoutesFromConfig(config.children, routes, path);\n }\n }\n }\n /**\n * Discover routes from Vue Router\n */\n discoverVueRouter() {\n const routes = [];\n if (typeof window === 'undefined')\n return routes;\n const win = window;\n // Access Vue Router instance\n const app = win.__VUE_APP__;\n const router = app?.$router || win.__VUE_ROUTER__;\n if (router?.getRoutes) {\n const vueRoutes = router.getRoutes();\n for (const vueRoute of vueRoutes) {\n routes.push({\n path: vueRoute.path,\n name: vueRoute.name?.toString(),\n meta: vueRoute.meta || {},\n component: vueRoute.components?.default?.name\n });\n }\n }\n return routes;\n }\n /**\n * Discover routes from Next.js\n */\n discoverNextRoutes() {\n const routes = [];\n if (typeof window === 'undefined')\n return routes;\n const win = window;\n const nextData = win.__NEXT_DATA__;\n if (!nextData)\n return routes;\n // Next.js doesn't expose routes directly in client\n // We can extract from build manifest if available\n const pages = nextData.buildManifest?.pages || {};\n for (const pagePath of Object.keys(pages)) {\n if (pagePath.startsWith('/_'))\n continue; // Skip internal pages\n routes.push({\n path: pagePath,\n name: this.pathToName(pagePath)\n });\n }\n return routes;\n }\n /**\n * Discover routes from Angular Router\n */\n discoverAngularRoutes() {\n // Angular route discovery requires access to Router service\n // which is typically not exposed globally\n // Users should provide routes via props or backend\n return [];\n }\n /**\n * Discover routes by scanning DOM navigation elements\n * Uses smart defaults when no selectors provided\n */\n discoverFromDOM(selectors) {\n const routes = [];\n if (typeof document === 'undefined')\n return routes;\n // Use provided selectors or smart defaults\n const allSelectors = selectors || DEFAULT_NAV_SELECTORS;\n // Get max links limit from config or use default\n const maxLinks = this.config.discovery?.maxDomLinks ?? DEFAULT_MAX_DOM_LINKS;\n // Get exclude patterns (merge user-provided with defaults)\n const userExcludes = this.config.discovery?.excludePaths || [];\n const allExcludes = [...DEFAULT_EXCLUDE_PATTERNS, ...userExcludes];\n const seen = new Set();\n let linkCount = 0;\n for (const selector of allSelectors) {\n // Stop if we've hit the limit\n if (linkCount >= maxLinks)\n break;\n try {\n const links = document.querySelectorAll(selector);\n for (const link of links) {\n // Stop if we've hit the limit\n if (linkCount >= maxLinks)\n break;\n const href = link.getAttribute('href');\n if (!href)\n continue;\n // Only process internal links\n if (href.startsWith('http') && !href.startsWith(window.location.origin)) {\n continue;\n }\n // Normalize path\n let path = href;\n if (href.startsWith('http')) {\n try {\n path = new URL(href).pathname;\n }\n catch {\n continue;\n }\n }\n else if (!href.startsWith('/')) {\n path = `/${href}`;\n }\n // Clean path (remove query string and hash)\n const cleanPath = path.split('?')[0].split('#')[0];\n // Skip duplicates\n if (seen.has(cleanPath))\n continue;\n // Skip root path\n if (cleanPath === '/')\n continue;\n // Skip paths matching exclude patterns\n if (this.shouldExcludeRoute(cleanPath, allExcludes))\n continue;\n seen.add(cleanPath);\n linkCount++;\n routes.push({\n path: cleanPath,\n name: link.textContent?.trim() || this.pathToName(cleanPath)\n });\n }\n }\n catch (e) {\n // Invalid selector - skip\n }\n }\n console.log(`[SiteMapDiscovery] DOM scan found ${routes.length} routes (limit: ${maxLinks})`);\n return routes;\n }\n // ==================== SOURCE 3: BACKEND API ====================\n async fetchFromBackend() {\n const config = this.config.backend || {};\n const endpoint = config.endpoint || '/api/external/sitemap';\n // Check cache\n if (this.backendCache && Date.now() < this.backendCache.expiresAt) {\n return {\n entries: this.backendCache.entries,\n source: 'backend',\n timestamp: this.backendCache.fetchedAt\n };\n }\n try {\n const url = new URL(endpoint, this.apiUrl);\n // Add query params\n if (config.tenantScoped !== false) {\n url.searchParams.set('tenantScoped', 'true');\n }\n if (config.includeGeneral !== false) {\n url.searchParams.set('includeGeneral', 'true');\n }\n const response = await fetch(url.toString(), {\n method: 'GET',\n headers: {\n 'X-API-Key': this.apiKey,\n 'Content-Type': 'application/json',\n ...config.headers\n }\n });\n if (!response.ok) {\n throw new Error(`Backend sitemap fetch failed: ${response.status}`);\n }\n const data = await response.json();\n const entries = this.transformBackendResponse(data);\n // Update cache\n const ttl = config.cacheTtl || 300000; // 5 minutes default\n this.backendCache = {\n entries,\n fetchedAt: Date.now(),\n expiresAt: Date.now() + ttl\n };\n console.log(`[SiteMapDiscovery] Loaded ${entries.length} routes from backend`);\n return {\n entries,\n source: 'backend',\n timestamp: Date.now()\n };\n }\n catch (error) {\n console.warn('[SiteMapDiscovery] Backend fetch failed:', error);\n return {\n entries: this.backendCache?.entries || [],\n source: 'backend',\n timestamp: Date.now(),\n error: String(error)\n };\n }\n }\n /**\n * Transform backend response to enhanced entries\n */\n transformBackendResponse(data) {\n // Handle array or object with entries/sitemap key\n const rawEntries = Array.isArray(data)\n ? data\n : data.entries || data.sitemap || data.routes || [];\n return rawEntries.map((entry) => this.enhanceEntry({\n path: entry.url || entry.path,\n name: entry.title || entry.name,\n description: entry.description,\n aliases: entry.keywords || entry.aliases,\n params: entry.params,\n dynamicParams: entry.dynamicParams\n }, 'backend'));\n }\n // ==================== MERGE LOGIC ====================\n /**\n * Merge entries from all sources with deduplication\n */\n mergeEntries(...sources) {\n const mergeConfig = this.config.merge || {};\n const priorityOrder = mergeConfig.sourcePriority || ['props', 'backend', 'discovery'];\n const dedupeStrategy = mergeConfig.deduplication || 'path';\n // Create priority map (higher number = higher priority)\n const priorityMap = new Map();\n priorityOrder.forEach((source, index) => {\n priorityMap.set(source, priorityOrder.length - index);\n });\n // Flatten all entries with priority scores\n const allEntries = [];\n for (const sourceEntries of sources) {\n for (const entry of sourceEntries) {\n const priority = priorityMap.get(entry._source || 'props') || 0;\n allEntries.push({ ...entry, _priority: priority });\n }\n }\n // Sort by priority (higher first)\n allEntries.sort((a, b) => (b._priority || 0) - (a._priority || 0));\n // Deduplicate\n const seen = new Map();\n for (const entry of allEntries) {\n let key;\n switch (dedupeStrategy) {\n case 'name':\n key = entry.name.toLowerCase();\n break;\n case 'both':\n key = `${entry.path}|${entry.name.toLowerCase()}`;\n break;\n case 'path':\n default:\n key = this.normalizePath('', entry.path);\n }\n if (!seen.has(key)) {\n seen.set(key, entry);\n }\n else if (mergeConfig.keepNonConflicting !== false) {\n // Merge non-conflicting fields from lower priority entry\n const existing = seen.get(key);\n if (!existing.description && entry.description) {\n existing.description = entry.description;\n }\n if (!existing.aliases?.length && entry.aliases?.length) {\n existing.aliases = entry.aliases;\n }\n }\n }\n return Array.from(seen.values());\n }\n // ==================== HELPERS ====================\n enhanceEntries(entries, source) {\n return entries.map(e => this.enhanceEntry(e, source));\n }\n enhanceEntry(entry, source) {\n return {\n ...entry,\n _source: source,\n _discoveredAt: Date.now()\n };\n }\n /**\n * Default transformation from DiscoveredRoute to AgenticSiteMapEntry\n */\n defaultRouteTransform(route) {\n // Skip routes without meaningful paths\n if (!route.path || route.path === '*' || route.path === '**') {\n return null;\n }\n return {\n path: route.path,\n name: route.name || route.meta?.title || this.pathToName(route.path),\n description: route.meta?.description,\n aliases: route.meta?.keywords || route.meta?.aliases,\n dynamicParams: route.path.includes(':') || route.path.includes('[')\n };\n }\n /**\n * Normalize path by combining parent and child paths\n */\n normalizePath(parent, path) {\n if (!path || path === '/')\n return parent || '/';\n if (path.startsWith('/'))\n return path;\n if (!parent || parent === '/')\n return `/${path}`;\n return `${parent}/${path}`.replace(/\\/+/g, '/');\n }\n /**\n * Convert path to human-readable name\n */\n pathToName(path) {\n const segments = path.split('/').filter(Boolean);\n const last = segments[segments.length - 1] || 'Home';\n return last\n .replace(/[-_]/g, ' ')\n .replace(/\\[.*?\\]/g, '') // Remove Next.js dynamic segments\n .replace(/:/g, '') // Remove React Router params\n .split(' ')\n .map(w => w.charAt(0).toUpperCase() + w.slice(1))\n .join(' ')\n .trim() || 'Page';\n }\n /**\n * Check if route should be excluded based on glob patterns\n */\n shouldExcludeRoute(path, patterns) {\n if (!patterns?.length)\n return false;\n for (const pattern of patterns) {\n // Simple glob matching (supports * wildcard)\n const regex = new RegExp('^' + pattern.replace(/\\*/g, '.*').replace(/\\?/g, '.') + '$');\n if (regex.test(path))\n return true;\n }\n return false;\n }\n /**\n * Force refresh from all sources\n */\n async refresh() {\n this.backendCache = null;\n this.isInitialized = false;\n this.initPromise = null;\n await this.initialize();\n }\n /**\n * Check if initialized\n */\n isReady() {\n return this.isInitialized;\n }\n /**\n * Get current entry counts by source\n */\n getStats() {\n return {\n static: this.staticEntries.length,\n discovered: this.discoveredEntries.length,\n backend: this.backendEntries.length,\n merged: this.getMergedEntries().length\n };\n }\n}\n\n// src/agentic/CyberneticIntentClassifier.ts\n// Hybrid intent classification for agentic capabilities\n/**\n * Action intent patterns with weights\n */\nconst ACTION_PATTERNS = {\n navigate: [\n { pattern: /^(go to|navigate to|take me to|open|show me|bring up)\\s+(.+)/i, type: 'navigate', weight: 0.9 },\n { pattern: /^(i want to see|i need to go to|let me see)\\s+(.+)/i, type: 'navigate', weight: 0.85 },\n { pattern: /^(where is|how do i get to)\\s+(.+)/i, type: 'navigate', weight: 0.6 }, // Lower - might be question\n ],\n fillForm: [\n { pattern: /^(search for|find|look up|search)\\s+(.+)/i, type: 'fillForm', weight: 0.88 },\n { pattern: /^(filter by|set .+ to|change .+ to)\\s+(.+)/i, type: 'fillForm', weight: 0.85 },\n { pattern: /^(enter|type|put)\\s+(.+)\\s+(in|into)\\s+(.+)/i, type: 'fillForm', weight: 0.9 },\n ],\n clickElement: [\n { pattern: /^(click|press|hit|tap)\\s+(the\\s+)?(.+)\\s+(button|link)/i, type: 'clickElement', weight: 0.9 },\n { pattern: /^(submit|send|confirm|save|cancel|delete)/i, type: 'clickElement', weight: 0.85 },\n ],\n triggerModal: [\n { pattern: /^(open|show|display)\\s+(the\\s+)?(.+)\\s+(modal|dialog|popup|window)/i, type: 'triggerModal', weight: 0.9 },\n { pattern: /^(open|show)\\s+(help|settings|preferences|options)/i, type: 'triggerModal', weight: 0.85 },\n ],\n scroll: [\n { pattern: /^(scroll to|jump to|go to)\\s+(the\\s+)?(.+)\\s+(section|area|part)/i, type: 'scroll', weight: 0.85 },\n { pattern: /^(show me|take me to)\\s+(the\\s+)?(bottom|top|end|beginning)/i, type: 'scroll', weight: 0.8 },\n ],\n highlight: [\n { pattern: /^(highlight|show me|point to|where is)\\s+(the\\s+)?(.+)/i, type: 'highlight', weight: 0.7 },\n ],\n custom: [\n { pattern: /^(export|download|refresh|reload|sync)/i, type: 'custom', weight: 0.85 },\n ]\n};\n/**\n * Intent classifier for agentic actions\n *\n * Classifies user messages to determine if they should trigger\n * a local DOM action or be sent to the backend RAG.\n */\nclass CyberneticIntentClassifier {\n /**\n * Create a new intent classifier\n *\n * @param config - Agent configuration\n * @param apiUrl - Backend API URL (for multi-source sitemap)\n * @param apiKey - API key for authentication\n */\n constructor(config, apiUrl = '', apiKey = '') {\n this.categories = [];\n this.topicKeywords = new Map(); // topic -> keywords\n /** Multi-source sitemap discovery instance */\n this.siteMapDiscovery = null;\n this.config = config;\n this.siteMapIndex = new Map();\n this.formIndex = new Map();\n this.modalIndex = new Map();\n // Build indexes for fast lookup\n this.buildIndexes();\n // Auto-enable sitemap discovery when agentic is enabled but no explicit config provided\n // This enables zero-config mode: just set enabled: true and discovery works automatically\n const siteMapConfig = config.siteMapConfig ?? (config.enabled && !config.siteMap?.length\n ? { discovery: { enabled: true } }\n : undefined);\n // Initialize multi-source sitemap discovery\n if (siteMapConfig) {\n this.siteMapDiscovery = new SiteMapDiscovery(siteMapConfig, apiUrl, apiKey);\n // Log zero-config mode activation\n if (!config.siteMapConfig && config.enabled) {\n console.log('[CyberneticIntentClassifier] Zero-config mode: auto-discovery enabled');\n }\n }\n }\n /**\n * Build search indexes from configuration\n */\n buildIndexes() {\n // Site map index\n if (this.config.siteMap) {\n for (const entry of this.config.siteMap) {\n // Index by name and aliases\n const keys = [\n entry.name.toLowerCase(),\n entry.path.toLowerCase(),\n ...(entry.aliases || []).map(a => a.toLowerCase())\n ];\n for (const key of keys) {\n this.siteMapIndex.set(key, entry);\n }\n }\n }\n // Form fields index\n if (this.config.forms) {\n for (const [key, field] of Object.entries(this.config.forms)) {\n const keys = [\n key.toLowerCase(),\n field.name.toLowerCase(),\n ...(field.aliases || []).map(a => a.toLowerCase())\n ];\n for (const k of keys) {\n this.formIndex.set(k, field);\n }\n }\n }\n // Modal triggers index\n if (this.config.modals) {\n for (const [key, modal] of Object.entries(this.config.modals)) {\n const keys = [\n key.toLowerCase(),\n modal.id.toLowerCase(),\n ...(modal.aliases || []).map(a => a.toLowerCase())\n ];\n for (const k of keys) {\n this.modalIndex.set(k, modal);\n }\n }\n }\n }\n /**\n * Classify user message intent\n *\n * @param message - User's message to classify\n * @returns Classification result with action and confidence\n */\n classify(message) {\n if (!this.config.enabled) {\n return {\n action: null,\n shouldEscalate: true,\n rawConfidence: 0\n };\n }\n const normalizedMessage = message.trim().toLowerCase();\n // Try each action type\n for (const [actionType, patterns] of Object.entries(ACTION_PATTERNS)) {\n for (const { pattern, weight } of patterns) {\n const match = message.match(pattern);\n if (match) {\n const result = this.buildAction(actionType, match, weight);\n if (result) {\n return result;\n }\n }\n }\n }\n // No pattern match - try fuzzy site map match\n const siteMapResult = this.fuzzyMatchSiteMap(normalizedMessage);\n if (siteMapResult) {\n return siteMapResult;\n }\n // Check for custom action keywords\n const customResult = this.matchCustomAction(normalizedMessage);\n if (customResult) {\n return customResult;\n }\n // No match - escalate to backend\n return {\n action: null,\n shouldEscalate: true,\n rawConfidence: 0,\n matchedPatterns: []\n };\n }\n /**\n * Build action from pattern match\n */\n buildAction(actionType, match, baseWeight) {\n const threshold = this.config.confidenceThreshold ?? 0.8;\n switch (actionType) {\n case 'navigate': {\n const target = this.extractTarget(match);\n const siteMatch = this.findSiteMapMatch(target);\n if (siteMatch) {\n const confidence = baseWeight * siteMatch.similarity;\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'navigate',\n target: siteMatch.entry.path,\n confidence,\n explanation: `Navigate to ${siteMatch.entry.name}`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['navigate', siteMatch.entry.name]\n };\n }\n break;\n }\n case 'fillForm': {\n const target = this.extractTarget(match);\n const { field, value } = this.parseFormIntent(match);\n if (field) {\n const confidence = baseWeight * 0.95;\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'fillForm',\n target: field.selector,\n params: { value },\n confidence,\n explanation: `Fill \"${field.name}\" with \"${value}\"`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['fillForm', field.name]\n };\n }\n // Default to search field\n if (this.config.forms?.search) {\n const confidence = baseWeight * 0.9;\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'fillForm',\n target: this.config.forms.search.selector,\n params: { value: target },\n confidence,\n explanation: `Search for \"${target}\"`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['fillForm', 'search']\n };\n }\n break;\n }\n case 'clickElement': {\n const buttonName = this.extractTarget(match);\n const selector = this.findButtonSelector(buttonName);\n if (selector) {\n const confidence = baseWeight * 0.95;\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'clickElement',\n target: selector,\n confidence,\n explanation: `Click \"${buttonName}\" button`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['clickElement', buttonName]\n };\n }\n break;\n }\n case 'triggerModal': {\n const modalName = this.extractTarget(match);\n const modal = this.findModalConfig(modalName);\n if (modal) {\n const confidence = baseWeight * 0.95;\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'triggerModal',\n target: modal.trigger,\n confidence,\n explanation: `Open ${modal.id} modal`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['triggerModal', modal.id]\n };\n }\n break;\n }\n case 'scroll': {\n const target = this.extractTarget(match);\n const selector = this.findScrollTarget(target);\n if (selector) {\n const confidence = baseWeight * 0.9;\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'scroll',\n target: selector,\n confidence,\n explanation: `Scroll to ${target}`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['scroll', target]\n };\n }\n break;\n }\n case 'highlight': {\n // Highlighting is typically lower confidence\n const target = this.extractTarget(match);\n const selector = this.findElementByDescription(target);\n if (selector) {\n const confidence = baseWeight * 0.85;\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'highlight',\n target: selector,\n confidence,\n explanation: `Highlight ${target}`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['highlight', target]\n };\n }\n break;\n }\n case 'custom': {\n const actionName = match[1]?.toLowerCase();\n if (this.config.customActions?.[actionName]) {\n const confidence = baseWeight * 0.95;\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'custom',\n target: actionName,\n confidence,\n explanation: `Execute ${actionName} action`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['custom', actionName]\n };\n }\n break;\n }\n }\n return null;\n }\n /**\n * Extract target from regex match\n */\n extractTarget(match) {\n // Get the last non-empty capture group\n for (let i = match.length - 1; i >= 1; i--) {\n if (match[i]) {\n return match[i].trim();\n }\n }\n return '';\n }\n /**\n * Strip common articles and filler words for better matching\n */\n stripArticles(text) {\n return text\n .replace(/^(the|a|an|my|our|your|this|that)\\s+/gi, '')\n .replace(/\\s+(page|section|screen|view)$/gi, '')\n .trim();\n }\n /**\n * Find site map match for target string\n */\n findSiteMapMatch(target) {\n const normalizedTarget = target.toLowerCase().replace(/[^a-z0-9\\s]/g, '');\n const strippedTarget = this.stripArticles(normalizedTarget);\n // Exact match (try both with and without articles)\n const exact = this.siteMapIndex.get(normalizedTarget) || this.siteMapIndex.get(strippedTarget);\n if (exact) {\n return { entry: exact, similarity: 1.0 };\n }\n // Fuzzy match using stripped version for better accuracy\n let bestMatch = null;\n let bestScore = 0;\n for (const [key, entry] of this.siteMapIndex) {\n // Compare both original and stripped versions, take the better score\n const score1 = this.calculateSimilarity(normalizedTarget, key);\n const score2 = this.calculateSimilarity(strippedTarget, key);\n const score = Math.max(score1, score2);\n if (score > bestScore && score > 0.5) {\n bestScore = score;\n bestMatch = entry;\n }\n }\n if (bestMatch) {\n return { entry: bestMatch, similarity: bestScore };\n }\n return null;\n }\n /**\n * Fuzzy match against site map for unstructured queries\n */\n fuzzyMatchSiteMap(message) {\n const threshold = this.config.confidenceThreshold ?? 0.8;\n // Look for page/site name mentions\n for (const [key, entry] of this.siteMapIndex) {\n if (message.includes(key)) {\n const confidence = 0.75; // Lower confidence for implicit matches\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'navigate',\n target: entry.path,\n confidence,\n explanation: `Navigate to ${entry.name}`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['fuzzy-sitemap', key]\n };\n }\n }\n return null;\n }\n /**\n * Match custom action keywords\n */\n matchCustomAction(message) {\n if (!this.config.customActions)\n return null;\n const threshold = this.config.confidenceThreshold ?? 0.8;\n for (const actionName of Object.keys(this.config.customActions)) {\n if (message.includes(actionName.toLowerCase())) {\n const confidence = 0.85;\n return {\n action: {\n id: `action-${Date.now()}`,\n type: 'custom',\n target: actionName,\n confidence,\n explanation: `Execute ${actionName}`\n },\n shouldEscalate: confidence < threshold,\n rawConfidence: confidence,\n matchedPatterns: ['custom', actionName]\n };\n }\n }\n return null;\n }\n /**\n * Parse form fill intent\n */\n parseFormIntent(match) {\n const fullText = match[0];\n // Try to extract field name and value\n for (const [, field] of this.formIndex) {\n if (fullText.toLowerCase().includes(field.name.toLowerCase())) {\n // Extract value - everything after the field name\n const valueMatch = fullText.match(new RegExp(`${field.name}[^a-z]*(.+)`, 'i'));\n return {\n field,\n value: valueMatch?.[1]?.trim() || ''\n };\n }\n }\n return { field: null, value: this.extractTarget(match) };\n }\n /**\n * Find button selector by name\n */\n findButtonSelector(name) {\n const normalizedName = name.toLowerCase();\n // Check if we're in a browser environment\n if (typeof document === 'undefined') {\n // Return a generic selector for server-side contexts\n return `button:contains(\"${name}\")`;\n }\n // Common button selectors\n const selectors = [\n `[data-action=\"${normalizedName}\"]`,\n `[aria-label*=\"${normalizedName}\" i]`,\n `.btn-${normalizedName}`,\n `#${normalizedName}-button`,\n `button.${normalizedName}`\n ];\n // Check if any selector matches\n for (const selector of selectors) {\n try {\n if (document.querySelector(selector)) {\n return selector;\n }\n }\n catch {\n // Invalid selector, continue\n }\n }\n // Fallback - try to find any button with matching text\n const buttons = document.querySelectorAll('button, [role=\"button\"], a.btn');\n for (const btn of buttons) {\n if (btn.textContent?.toLowerCase().includes(normalizedName)) {\n return this.generateUniqueSelector(btn);\n }\n }\n return null;\n }\n /**\n * Find modal config by name\n */\n findModalConfig(name) {\n return this.modalIndex.get(name.toLowerCase()) || null;\n }\n /**\n * Find scroll target selector\n */\n findScrollTarget(target) {\n const normalizedTarget = target.toLowerCase();\n // Special cases\n if (normalizedTarget === 'top' || normalizedTarget === 'beginning') {\n return 'body';\n }\n if (normalizedTarget === 'bottom' || normalizedTarget === 'end') {\n return 'body:last-child';\n }\n // Check if we're in a browser environment\n if (typeof document === 'undefined') {\n return `#${normalizedTarget.replace(/\\s+/g, '-')}`;\n }\n // Try to find section by id or class\n const selectors = [\n `#${normalizedTarget.replace(/\\s+/g, '-')}`,\n `[data-section=\"${normalizedTarget}\"]`,\n `.${normalizedTarget.replace(/\\s+/g, '-')}-section`,\n `section[aria-label*=\"${normalizedTarget}\" i]`\n ];\n for (const selector of selectors) {\n try {\n if (document.querySelector(selector)) {\n return selector;\n }\n }\n catch {\n continue;\n }\n }\n return null;\n }\n /**\n * Find element by description\n */\n findElementByDescription(description) {\n const normalizedDesc = description.toLowerCase();\n // Check if we're in a browser environment\n if (typeof document === 'undefined') {\n return `[aria-label*=\"${normalizedDesc}\" i]`;\n }\n // Try common patterns\n const selectors = [\n `[aria-label*=\"${normalizedDesc}\" i]`,\n `[data-testid*=\"${normalizedDesc}\" i]`,\n `[title*=\"${normalizedDesc}\" i]`\n ];\n for (const selector of selectors) {\n try {\n if (document.querySelector(selector)) {\n return selector;\n }\n }\n catch {\n continue;\n }\n }\n return null;\n }\n /**\n * Generate unique selector for an element\n */\n generateUniqueSelector(element) {\n // Try ID first\n if (element.id) {\n return `#${element.id}`;\n }\n // Try data attributes\n if (element.getAttribute('data-testid')) {\n return `[data-testid=\"${element.getAttribute('data-testid')}\"]`;\n }\n // Build path selector\n const path = [];\n let current = element;\n while (current && current !== document.body) {\n let selector = current.tagName.toLowerCase();\n if (current.className && typeof current.className === 'string') {\n const classes = current.className.split(' ').filter(c => c && !c.includes(' '));\n if (classes.length > 0) {\n selector += `.${classes.slice(0, 2).join('.')}`;\n }\n }\n path.unshift(selector);\n current = current.parentElement;\n }\n return path.join(' > ');\n }\n /**\n * Calculate string similarity (Jaccard index)\n */\n calculateSimilarity(a, b) {\n const setA = new Set(a.split(/\\s+/));\n const setB = new Set(b.split(/\\s+/));\n const intersection = new Set([...setA].filter(x => setB.has(x)));\n const union = new Set([...setA, ...setB]);\n return intersection.size / union.size;\n }\n /**\n * Get configuration\n */\n getConfig() {\n return this.config;\n }\n // ==================== EXPORT/SITEMAP LOADING METHODS ====================\n /**\n * Train classifier from exported documents\n * Extracts topics and keywords for better intent classification\n *\n * @param exportData - The offline vector export data\n */\n async trainFromExport(exportData) {\n // Load explicit categories if provided\n if (exportData.categories) {\n this.categories = exportData.categories;\n for (const category of exportData.categories) {\n // Index category keywords for matching\n for (const keyword of category.keywords) {\n const existing = this.topicKeywords.get(category.name) || [];\n existing.push(keyword.toLowerCase());\n this.topicKeywords.set(category.name, existing);\n }\n }\n }\n // Extract topics from documents\n const docTopics = this.extractTopicsFromDocuments(exportData.documents);\n for (const [topic, keywords] of docTopics) {\n const existing = this.topicKeywords.get(topic) || [];\n existing.push(...keywords);\n this.topicKeywords.set(topic, [...new Set(existing)]); // Dedupe\n }\n // Load sitemap from export if available\n if (exportData.sitemap) {\n this.loadSitemapEntries(exportData.sitemap);\n }\n console.log(`[CyberneticIntentClassifier] Trained with ${this.categories.length} categories, ${this.topicKeywords.size} topics`);\n }\n /**\n * Load sitemap from configuration\n *\n * @param config - Sitemap configuration with URL or inline data\n */\n async loadSitemap(config) {\n if (!config.enabled)\n return;\n // Load from inline data\n if (config.sitemapData) {\n this.loadSitemapEntries(config.sitemapData);\n return;\n }\n // Load from URL\n if (config.sitemapUrl) {\n try {\n const response = await fetch(config.sitemapUrl);\n if (!response.ok) {\n throw new Error(`Failed to fetch sitemap: ${response.status}`);\n }\n const data = await response.json();\n this.loadSitemapEntries(data);\n }\n catch (error) {\n console.error('[CyberneticIntentClassifier] Failed to load sitemap:', error);\n }\n }\n }\n /**\n * Load sitemap entries into the index\n */\n loadSitemapEntries(entries) {\n for (const entry of entries) {\n // Convert GlobalSiteMapEntry to agentic SiteMapEntry format\n const siteMapEntry = {\n path: entry.url,\n name: entry.title,\n description: entry.description,\n aliases: entry.keywords\n };\n // Index by title, URL, description, and keywords\n const keys = [\n entry.title.toLowerCase(),\n entry.url.toLowerCase(),\n ...(entry.keywords || []).map(k => k.toLowerCase())\n ];\n if (entry.description) {\n // Also index significant words from description\n const descWords = entry.description\n .toLowerCase()\n .split(/\\s+/)\n .filter(w => w.length > 4);\n keys.push(...descWords);\n }\n for (const key of keys) {\n this.siteMapIndex.set(key, siteMapEntry);\n }\n }\n console.log(`[CyberneticIntentClassifier] Loaded ${entries.length} sitemap entries`);\n }\n /**\n * Extract topics and keywords from document content\n */\n extractTopicsFromDocuments(docs) {\n const topics = new Map();\n for (const doc of docs) {\n // Use title as topic\n const topic = doc.title.toLowerCase();\n const keywords = [];\n // Extract keywords from metadata\n if (doc.metadata?.keywords) {\n keywords.push(...doc.metadata.keywords.map(k => k.toLowerCase()));\n }\n // Extract significant words from title\n const titleWords = doc.title\n .toLowerCase()\n .replace(/[^a-z0-9\\s]/g, '')\n .split(/\\s+/)\n .filter(w => w.length > 3 && !this.isStopWord(w));\n keywords.push(...titleWords);\n // Extract frequent significant words from content (simple TF)\n const contentWords = doc.content\n .toLowerCase()\n .replace(/[^a-z0-9\\s]/g, '')\n .split(/\\s+/)\n .filter(w => w.length > 4 && !this.isStopWord(w));\n const wordFreq = new Map();\n for (const word of contentWords) {\n wordFreq.set(word, (wordFreq.get(word) || 0) + 1);\n }\n // Get top 5 most frequent words\n const topWords = [...wordFreq.entries()]\n .sort((a, b) => b[1] - a[1])\n .slice(0, 5)\n .map(([word]) => word);\n keywords.push(...topWords);\n topics.set(topic, [...new Set(keywords)]); // Dedupe\n }\n return topics;\n }\n /**\n * Check if word is a stop word\n */\n isStopWord(word) {\n const stopWords = new Set([\n 'the', 'a', 'an', 'and', 'or', 'but', 'in', 'on', 'at', 'to', 'for',\n 'of', 'with', 'by', 'from', 'up', 'about', 'into', 'through', 'during',\n 'is', 'are', 'was', 'were', 'be', 'been', 'being', 'have', 'has', 'had',\n 'do', 'does', 'did', 'will', 'would', 'could', 'should', 'may', 'might',\n 'this', 'that', 'these', 'those', 'it', 'its', 'they', 'them', 'their',\n 'what', 'which', 'who', 'whom', 'when', 'where', 'why', 'how',\n 'all', 'each', 'every', 'both', 'few', 'more', 'most', 'other', 'some',\n 'such', 'no', 'not', 'only', 'same', 'so', 'than', 'too', 'very',\n 'can', 'just', 'dont', 'now', 'here', 'there', 'also', 'your', 'you'\n ]);\n return stopWords.has(word);\n }\n /**\n * Get loaded categories\n */\n getCategories() {\n return this.categories;\n }\n /**\n * Get topic keywords\n */\n getTopicKeywords() {\n return this.topicKeywords;\n }\n /**\n * Check if classifier has been trained\n */\n isTrained() {\n return this.categories.length > 0 || this.topicKeywords.size > 0;\n }\n // ==================== MULTI-SOURCE SITEMAP DISCOVERY ====================\n /**\n * Initialize multi-source sitemap discovery\n * Call this after construction to load all sitemap sources\n *\n * @returns Promise that resolves when discovery is complete\n */\n async initializeDiscovery() {\n if (!this.siteMapDiscovery) {\n console.log('[CyberneticIntentClassifier] No siteMapConfig provided, skipping discovery');\n return;\n }\n try {\n await this.siteMapDiscovery.initialize();\n this.rebuildIndexesFromDiscovery();\n console.log(`[CyberneticIntentClassifier] Discovery complete, indexed ${this.siteMapIndex.size} entries`);\n }\n catch (error) {\n console.error('[CyberneticIntentClassifier] Discovery initialization failed:', error);\n }\n }\n /**\n * Rebuild sitemap indexes from discovery results\n * Merges discovered entries with existing static config\n */\n rebuildIndexesFromDiscovery() {\n if (!this.siteMapDiscovery)\n return;\n // Get merged entries from discovery (includes static props)\n const mergedEntries = this.siteMapDiscovery.getLegacyEntries();\n // Clear existing sitemap index (keep form and modal indexes)\n this.siteMapIndex.clear();\n // Index all merged entries\n for (const entry of mergedEntries) {\n const siteMapEntry = {\n path: entry.path,\n name: entry.name,\n description: entry.description,\n params: entry.params,\n aliases: entry.aliases\n };\n // Index by name and aliases\n const keys = [\n entry.name.toLowerCase(),\n entry.path.toLowerCase(),\n ...(entry.aliases || []).map(a => a.toLowerCase())\n ];\n // Also index description words for fuzzy matching\n if (entry.description) {\n const descWords = entry.description\n .toLowerCase()\n .split(/\\s+/)\n .filter(w => w.length > 4 && !this.isStopWord(w));\n keys.push(...descWords);\n }\n for (const key of keys) {\n this.siteMapIndex.set(key, siteMapEntry);\n }\n }\n }\n /**\n * Check if sitemap discovery is ready\n *\n * @returns true if discovery is complete and entries are loaded\n */\n isSiteMapReady() {\n if (!this.siteMapDiscovery) {\n // No discovery configured - check if static sitemap exists\n return this.siteMapIndex.size > 0 || (this.config.siteMap?.length ?? 0) > 0;\n }\n return this.siteMapDiscovery.isReady();\n }\n /**\n * Ensure sitemap is ready before classification\n * Initializes discovery if not already done\n *\n * @returns Promise that resolves when sitemap is ready\n */\n async ensureSiteMapReady() {\n if (this.isSiteMapReady()) {\n return;\n }\n await this.initializeDiscovery();\n }\n /**\n * Refresh sitemap from all sources\n * Forces reload of backend and re-discovery\n *\n * @returns Promise that resolves when refresh is complete\n */\n async refreshSiteMap() {\n if (!this.siteMapDiscovery) {\n console.log('[CyberneticIntentClassifier] No siteMapConfig provided, cannot refresh');\n return;\n }\n await this.siteMapDiscovery.refresh();\n this.rebuildIndexesFromDiscovery();\n }\n /**\n * Get the SiteMapDiscovery instance for advanced use cases\n *\n * @returns The SiteMapDiscovery instance or null if not configured\n */\n getSiteMapDiscovery() {\n return this.siteMapDiscovery;\n }\n /**\n * Get current sitemap entries (merged from all sources)\n *\n * @returns Array of sitemap entries\n */\n getSiteMapEntries() {\n if (this.siteMapDiscovery) {\n return this.siteMapDiscovery.getLegacyEntries();\n }\n // Fall back to static config\n return this.config.siteMap || [];\n }\n}\n\n// src/agentic/CyberneticAgent.ts\n// DOM interaction agent for agentic actions\n/**\n * DOM interaction agent\n *\n * Executes actions on the host page based on classified intent.\n * Supports navigation, form filling, clicking, scrolling, and more.\n */\nclass CyberneticAgent {\n constructor(config) {\n this.highlightOverlay = null;\n this.actionCount = 0;\n this.lastActionReset = Date.now();\n this.config = config;\n this.classifier = new CyberneticIntentClassifier(config);\n // Inject highlight styles (only in browser)\n if (typeof document !== 'undefined') {\n this.injectStyles();\n }\n }\n /**\n * Interpret user message and determine action\n *\n * @param message - User's message to interpret\n * @returns Intent classification with suggested action\n */\n interpretIntent(message) {\n return this.classifier.classify(message);\n }\n /**\n * Execute an agent action\n *\n * @param action - The action to execute\n * @returns Result of action execution\n */\n async executeAction(action) {\n // Reset action count every minute\n const now = Date.now();\n if (now - this.lastActionReset > 60000) {\n this.actionCount = 0;\n this.lastActionReset = now;\n }\n // Check rate limit\n const maxActions = this.config.maxActionsPerTurn ?? 5;\n if (this.actionCount >= maxActions) {\n return {\n success: false,\n message: `Rate limit exceeded. Maximum ${maxActions} actions per minute.`\n };\n }\n // Validate action is allowed\n if (!this.isActionAllowed(action)) {\n return {\n success: false,\n message: `Action type \"${action.type}\" is not allowed`\n };\n }\n this.actionCount++;\n switch (action.type) {\n case 'navigate':\n return this.navigate(action.target, action.params);\n case 'fillForm':\n return this.fillForm(action.target, action.params?.value);\n case 'clickElement':\n return this.clickElement(action.target);\n case 'triggerModal':\n return this.triggerModal(action.target);\n case 'scroll':\n return this.scrollToElement(action.target);\n case 'highlight':\n return this.highlightElement(action.target);\n case 'custom':\n return this.executeCustomAction(action.target, action.params);\n default:\n return {\n success: false,\n message: `Unknown action type: ${action.type}`\n };\n }\n }\n /**\n * Check if an action type is allowed by configuration\n */\n isActionAllowed(action) {\n const allowedActions = this.config.allowedActions;\n if (!allowedActions)\n return true; // All allowed by default\n const actionTypeMap = {\n 'navigate': 'navigate',\n 'fillForm': 'fill',\n 'clickElement': 'click',\n 'scroll': 'scroll',\n 'highlight': 'click', // Highlight is a form of interaction\n 'triggerModal': 'click',\n 'custom': 'click'\n };\n const mappedType = actionTypeMap[action.type];\n return allowedActions.includes(mappedType);\n }\n /**\n * Check if selector is allowed (not blocked)\n */\n isSelectorAllowed(selector) {\n // Check blocked selectors\n if (this.config.blockedSelectors) {\n for (const blocked of this.config.blockedSelectors) {\n if (selector.includes(blocked)) {\n return false;\n }\n }\n }\n // Check allowed selectors (if specified, only those are allowed)\n if (this.config.allowedSelectors && this.config.allowedSelectors.length > 0) {\n return this.config.allowedSelectors.some(allowed => selector.includes(allowed));\n }\n return true;\n }\n // ==================== ACTION IMPLEMENTATIONS ====================\n /**\n * Navigate to a URL\n */\n async navigate(path, params) {\n try {\n // Validate URL\n if (!this.validateNavigationUrl(path)) {\n return {\n success: false,\n message: 'Invalid or blocked URL'\n };\n }\n // Build URL with params\n let url = path;\n if (params) {\n const searchParams = new URLSearchParams();\n for (const [key, value] of Object.entries(params)) {\n if (value !== undefined && value !== null) {\n searchParams.set(key, String(value));\n }\n }\n const queryString = searchParams.toString();\n if (queryString) {\n url += (url.includes('?') ? '&' : '?') + queryString;\n }\n }\n // Check if we're in a browser environment\n if (typeof window === 'undefined') {\n return {\n success: true,\n message: `Navigation to ${path} would be executed (server-side)`\n };\n }\n // Check if internal or external navigation\n if (this.isInternalUrl(url)) {\n // Try client-side navigation first (SPA support)\n if (this.tryClientSideNavigation(url)) {\n return {\n success: true,\n message: `Navigated to ${path}`\n };\n }\n // Fallback to full page navigation\n window.location.href = url;\n return {\n success: true,\n message: `Navigating to ${path}...`\n };\n }\n // External URL - open in new tab\n window.open(url, '_blank', 'noopener,noreferrer');\n return {\n success: true,\n message: `Opened ${url} in new tab`\n };\n }\n catch (error) {\n return {\n success: false,\n message: 'Navigation failed',\n error: String(error)\n };\n }\n }\n /**\n * Fill a form field\n */\n async fillForm(selector, value) {\n // Check selector is allowed\n if (!this.isSelectorAllowed(selector)) {\n return {\n success: false,\n message: `Selector \"${selector}\" is not allowed`\n };\n }\n // Sanitize selector\n const sanitizedSelector = this.sanitizeSelector(selector);\n // Check if we're in a browser environment\n if (typeof document === 'undefined') {\n return {\n success: true,\n message: `Form fill would set \"${sanitizedSelector}\" to \"${value}\" (server-side)`\n };\n }\n try {\n const element = document.querySelector(sanitizedSelector);\n if (!element) {\n return {\n success: false,\n message: `Element not found: ${sanitizedSelector}`\n };\n }\n if (!(element instanceof HTMLInputElement ||\n element instanceof HTMLTextAreaElement ||\n element instanceof HTMLSelectElement)) {\n return {\n success: false,\n message: 'Element is not a form field'\n };\n }\n // Focus the element\n element.focus();\n // Set value\n if (element instanceof HTMLSelectElement) {\n // For select, find matching option\n const option = Array.from(element.options).find(opt => opt.value.toLowerCase() === value.toLowerCase() ||\n opt.text.toLowerCase() === value.toLowerCase());\n if (option) {\n element.value = option.value;\n }\n else {\n return {\n success: false,\n message: `Option \"${value}\" not found`\n };\n }\n }\n else {\n element.value = value;\n }\n // Dispatch events to trigger frameworks\n element.dispatchEvent(new Event('input', { bubbles: true }));\n element.dispatchEvent(new Event('change', { bubbles: true }));\n // For React - try to set value natively\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value')?.set;\n if (nativeInputValueSetter && element instanceof HTMLInputElement) {\n nativeInputValueSetter.call(element, value);\n element.dispatchEvent(new Event('input', { bubbles: true }));\n }\n return {\n success: true,\n message: `Filled field with \"${value}\"`\n };\n }\n catch (error) {\n return {\n success: false,\n message: 'Failed to fill form field',\n error: String(error)\n };\n }\n }\n /**\n * Click an element\n */\n async clickElement(selector) {\n // Check selector is allowed\n if (!this.isSelectorAllowed(selector)) {\n return {\n success: false,\n message: `Selector \"${selector}\" is not allowed`\n };\n }\n // Sanitize selector\n const sanitizedSelector = this.sanitizeSelector(selector);\n // Check if we're in a browser environment\n if (typeof document === 'undefined') {\n return {\n success: true,\n message: `Click on \"${sanitizedSelector}\" would be executed (server-side)`\n };\n }\n try {\n const element = document.querySelector(sanitizedSelector);\n if (!element) {\n return {\n success: false,\n message: `Element not found: ${sanitizedSelector}`\n };\n }\n if (!(element instanceof HTMLElement)) {\n return {\n success: false,\n message: 'Element is not clickable'\n };\n }\n // Scroll into view\n element.scrollIntoView({ behavior: 'smooth', block: 'center' });\n // Brief delay for scroll\n await this.sleep(300);\n // Click\n element.click();\n return {\n success: true,\n message: 'Element clicked'\n };\n }\n catch (error) {\n return {\n success: false,\n message: 'Failed to click element',\n error: String(error)\n };\n }\n }\n /**\n * Trigger a modal by clicking its trigger element\n */\n async triggerModal(triggerSelector) {\n return this.clickElement(triggerSelector);\n }\n /**\n * Scroll to an element\n */\n async scrollToElement(selector) {\n // Check if we're in a browser environment\n if (typeof window === 'undefined') {\n return {\n success: true,\n message: `Scroll to \"${selector}\" would be executed (server-side)`\n };\n }\n try {\n // Special case for top/bottom\n if (selector === 'body') {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n return { success: true, message: 'Scrolled to top' };\n }\n if (selector === 'body:last-child') {\n window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });\n return { success: true, message: 'Scrolled to bottom' };\n }\n const element = document.querySelector(selector);\n if (!element) {\n return {\n success: false,\n message: `Element not found: ${selector}`\n };\n }\n element.scrollIntoView({ behavior: 'smooth', block: 'start' });\n return {\n success: true,\n message: 'Scrolled to element'\n };\n }\n catch (error) {\n return {\n success: false,\n message: 'Failed to scroll',\n error: String(error)\n };\n }\n }\n /**\n * Highlight an element with animation\n */\n async highlightElement(selector) {\n // Check selector is allowed\n if (!this.isSelectorAllowed(selector)) {\n return {\n success: false,\n message: `Selector \"${selector}\" is not allowed`\n };\n }\n // Check if we're in a browser environment\n if (typeof document === 'undefined') {\n return {\n success: true,\n message: `Highlight on \"${selector}\" would be shown (server-side)`\n };\n }\n try {\n const element = document.querySelector(selector);\n if (!element) {\n return {\n success: false,\n message: `Element not found: ${selector}`\n };\n }\n // Remove existing highlight\n this.removeHighlight();\n // Scroll element into view\n element.scrollIntoView({ behavior: 'smooth', block: 'center' });\n // Brief delay for scroll\n await this.sleep(300);\n // Create highlight overlay\n const rect = element.getBoundingClientRect();\n const overlay = document.createElement('div');\n overlay.className = 'astermind-highlight-overlay';\n overlay.style.cssText = `\n position: fixed;\n top: ${rect.top - 4}px;\n left: ${rect.left - 4}px;\n width: ${rect.width + 8}px;\n height: ${rect.height + 8}px;\n border: 3px solid #4F46E5;\n border-radius: 4px;\n pointer-events: none;\n z-index: 999999;\n animation: astermind-highlight-pulse 1s ease-in-out 3;\n `;\n document.body.appendChild(overlay);\n this.highlightOverlay = overlay;\n // Remove after animation\n setTimeout(() => this.removeHighlight(), 3000);\n return {\n success: true,\n message: 'Element highlighted'\n };\n }\n catch (error) {\n return {\n success: false,\n message: 'Failed to highlight element',\n error: String(error)\n };\n }\n }\n /**\n * Execute a custom action callback\n */\n async executeCustomAction(actionName, params) {\n // Validate custom action is in whitelist\n if (!this.isAllowedCustomAction(actionName)) {\n return {\n success: false,\n message: `Custom action \"${actionName}\" not found`\n };\n }\n const callback = this.config.customActions[actionName];\n try {\n return await callback(params);\n }\n catch (error) {\n return {\n success: false,\n message: `Custom action \"${actionName}\" failed`,\n error: String(error)\n };\n }\n }\n // ==================== HELPER METHODS ====================\n /**\n * Check if URL is internal to the current site\n */\n isInternalUrl(url) {\n // Relative URLs are internal\n if (url.startsWith('/') || url.startsWith('./') || url.startsWith('../')) {\n return true;\n }\n // Check if we're in a browser environment\n if (typeof window === 'undefined') {\n return true;\n }\n // Check if same origin\n try {\n const urlObj = new URL(url, window.location.href);\n return urlObj.origin === window.location.origin;\n }\n catch {\n return true; // Assume internal on error\n }\n }\n /**\n * Try client-side navigation for SPAs\n */\n tryClientSideNavigation(url) {\n if (typeof window === 'undefined') {\n return false;\n }\n // Try History API pushState\n try {\n window.history.pushState({}, '', url);\n window.dispatchEvent(new PopStateEvent('popstate'));\n // Also dispatch hashchange for hash routing\n if (url.includes('#')) {\n window.dispatchEvent(new HashChangeEvent('hashchange'));\n }\n return true;\n }\n catch {\n return false;\n }\n }\n /**\n * Validate navigation URL\n */\n validateNavigationUrl(url) {\n // Reject javascript: and data: URLs\n if (/^(javascript|data):/i.test(url)) {\n return false;\n }\n // Check if we're in a browser environment\n if (typeof window === 'undefined') {\n return true;\n }\n // Only allow relative URLs or same-origin\n try {\n const urlObj = new URL(url, window.location.href);\n return urlObj.origin === window.location.origin || url.startsWith('/');\n }\n catch {\n return url.startsWith('/');\n }\n }\n /**\n * Sanitize CSS selector to prevent injection\n */\n sanitizeSelector(selector) {\n // Remove potentially dangerous characters\n return selector\n .replace(/[<>'\"]/g, '')\n .replace(/javascript:/gi, '')\n .replace(/data:/gi, '')\n .trim();\n }\n /**\n * Validate custom action is in whitelist\n */\n isAllowedCustomAction(actionName) {\n return this.config.customActions !== undefined &&\n Object.prototype.hasOwnProperty.call(this.config.customActions, actionName);\n }\n /**\n * Remove highlight overlay\n */\n removeHighlight() {\n if (this.highlightOverlay) {\n this.highlightOverlay.remove();\n this.highlightOverlay = null;\n }\n }\n /**\n * Inject required styles\n */\n injectStyles() {\n if (typeof document === 'undefined') {\n return;\n }\n if (document.getElementById('astermind-agent-styles')) {\n return;\n }\n const style = document.createElement('style');\n style.id = 'astermind-agent-styles';\n style.textContent = `\n @keyframes astermind-highlight-pulse {\n 0%, 100% {\n box-shadow: 0 0 0 0 rgba(79, 70, 229, 0.4);\n }\n 50% {\n box-shadow: 0 0 0 10px rgba(79, 70, 229, 0);\n }\n }\n\n .astermind-highlight-overlay {\n transition: all 0.2s ease-out;\n }\n `;\n document.head.appendChild(style);\n }\n /**\n * Sleep utility\n */\n sleep(ms) {\n return new Promise(resolve => setTimeout(resolve, ms));\n }\n /**\n * Get agent configuration\n */\n getConfig() {\n return this.config;\n }\n /**\n * Get the intent classifier\n */\n getClassifier() {\n return this.classifier;\n }\n /**\n * Reset action count (for testing)\n */\n resetActionCount() {\n this.actionCount = 0;\n this.lastActionReset = Date.now();\n }\n}\n\n// src/agentic/register.ts\n// Helper for registering agentic capabilities with CyberneticClient\n/**\n * Register agentic capabilities with a CyberneticClient\n *\n * This function is the bridge between core and agentic modules.\n * It must be called after creating the client to enable agentic features.\n *\n * @example\n * ```typescript\n * import { CyberneticClient, registerAgenticCapabilities } from '@astermind/cybernetic-chatbot-client';\n *\n * const client = new CyberneticClient({\n * apiUrl: 'https://api.example.com',\n * apiKey: 'am_xxx_123',\n * agentic: {\n * enabled: true,\n * allowedActions: ['click', 'fill', 'scroll'],\n * confirmActions: true\n * }\n * });\n *\n * // Register agentic capabilities\n * registerAgenticCapabilities(client);\n *\n * // Now client supports agentic responses\n * const response = await client.ask('Click the Add to Cart button');\n * ```\n *\n * @param client - The CyberneticClient instance to register capabilities with\n */\nfunction registerAgenticCapabilities(client) {\n const capabilities = {\n agent: CyberneticAgent,\n intentClassifier: CyberneticIntentClassifier\n };\n client.registerAgentic(capabilities);\n}\n\n// src/hooks/useSiteMapDiscovery.ts\n// React hook for sitemap discovery integration\n// Note: React is a peer dependency - this hook is optional for non-React consumers\n/**\n * Hook for discovering routes from React Router and other frameworks\n *\n * @example\n * ```tsx\n * function App() {\n * const { entries, isDiscovering } = useSiteMapDiscovery({\n * enabled: true,\n * excludePaths: ['/admin/*', '/internal/*']\n * });\n *\n * return (\n * <ChatbotWidget\n * agent={{\n * enabled: true,\n * siteMap: entries\n * }}\n * />\n * );\n * }\n * ```\n */\nfunction useSiteMapDiscovery(options = {}) {\n const { enabled = true, transformRoute: _transformRoute, excludePaths: _excludePaths = [], navSelectors: _navSelectors, disableDomFallback = false } = options;\n const [state, setState] = useState({\n entries: [],\n isDiscovering: false,\n error: null,\n framework: null\n });\n const discoveredRef = useRef(false);\n const optionsRef = useRef(options);\n optionsRef.current = options;\n /**\n * Detect JavaScript framework\n */\n const detectFramework = useCallback(() => {\n if (typeof window === 'undefined')\n return 'generic';\n const win = window;\n if (win.__REACT_ROUTER_DATA_ROUTER__)\n return 'react-router';\n if (win.__reactRouterContext)\n return 'react-router';\n if (win.__VUE_ROUTER__ || win.__VUE_APP__?.$router)\n return 'vue-router';\n if (win.__NEXT_DATA__)\n return 'next';\n if (win.ng || document.querySelector('[ng-version]'))\n return 'angular';\n return 'generic';\n }, []);\n /**\n * Check if path should be excluded\n */\n const shouldExclude = useCallback((path) => {\n const patterns = optionsRef.current.excludePaths || [];\n for (const pattern of patterns) {\n const regex = new RegExp('^' + pattern.replace(/\\*/g, '.*') + '$');\n if (regex.test(path))\n return true;\n }\n return false;\n }, []);\n /**\n * Convert path to human-readable name\n */\n const pathToName = useCallback((path) => {\n const segments = path.split('/').filter(Boolean);\n const last = segments[segments.length - 1] || 'Home';\n return last\n .replace(/[-_:]/g, ' ')\n .replace(/\\[.*?\\]/g, '')\n .split(' ')\n .map(w => w.charAt(0).toUpperCase() + w.slice(1))\n .join(' ')\n .trim() || 'Page';\n }, []);\n /**\n * Default route transform\n */\n const defaultTransform = useCallback((route) => {\n if (!route.path || route.path === '*' || route.path === '**')\n return null;\n return {\n path: route.path,\n name: route.name || route.meta?.title || pathToName(route.path),\n description: route.meta?.description,\n aliases: route.meta?.keywords || route.meta?.aliases,\n dynamicParams: route.path.includes(':') || route.path.includes('[')\n };\n }, [pathToName]);\n /**\n * Extract routes from React Router config\n */\n const extractReactRouterRoutes = useCallback((routeConfigs, routes, parentPath) => {\n for (const config of routeConfigs) {\n let path = config.path || '';\n if (path && !path.startsWith('/')) {\n path = parentPath ? `${parentPath}/${path}`.replace(/\\/+/g, '/') : `/${path}`;\n }\n else if (!path && parentPath) {\n path = parentPath;\n }\n const route = {\n path,\n name: config.handle?.name || config.handle?.title || config.id,\n meta: config.handle || {}\n };\n if (config.path && !shouldExclude(path)) {\n routes.push(route);\n }\n if (config.children) {\n extractReactRouterRoutes(config.children, routes, path);\n }\n }\n }, [shouldExclude]);\n /**\n * Discover routes from DOM navigation\n */\n const discoverFromDOM = useCallback(() => {\n if (typeof document === 'undefined')\n return [];\n const defaultSelectors = [\n 'nav a[href]',\n '[role=\"navigation\"] a[href]',\n '.nav a[href]',\n '.sidebar a[href]',\n '.menu a[href]',\n 'header a[href]'\n ];\n const selectors = optionsRef.current.navSelectors || defaultSelectors;\n const routes = [];\n const seen = new Set();\n for (const selector of selectors) {\n try {\n const links = document.querySelectorAll(selector);\n for (const link of links) {\n const href = link.getAttribute('href');\n if (!href || href.startsWith('http') || href.startsWith('javascript:'))\n continue;\n const path = href.startsWith('/') ? href : `/${href}`;\n const cleanPath = path.split('?')[0].split('#')[0];\n if (seen.has(cleanPath) || cleanPath === '/' || shouldExclude(cleanPath))\n continue;\n seen.add(cleanPath);\n routes.push({\n path: cleanPath,\n name: link.textContent?.trim() || pathToName(cleanPath)\n });\n }\n }\n catch (e) {\n // Invalid selector\n }\n }\n return routes;\n }, [shouldExclude, pathToName]);\n /**\n * Main discovery function\n */\n const discoverRoutes = useCallback(() => {\n if (!enabled || typeof window === 'undefined') {\n return;\n }\n setState((prev) => ({ ...prev, isDiscovering: true, error: null }));\n try {\n const framework = detectFramework();\n const routes = [];\n const win = window;\n // Try framework-specific discovery\n if (framework === 'react-router' && win.__REACT_ROUTER_DATA_ROUTER__?.routes) {\n extractReactRouterRoutes(win.__REACT_ROUTER_DATA_ROUTER__.routes, routes, '');\n }\n else if (framework === 'vue-router') {\n const router = win.__VUE_APP__?.$router || win.__VUE_ROUTER__;\n if (router?.getRoutes) {\n for (const vueRoute of router.getRoutes()) {\n if (!shouldExclude(vueRoute.path)) {\n routes.push({\n path: vueRoute.path,\n name: vueRoute.name?.toString(),\n meta: vueRoute.meta || {}\n });\n }\n }\n }\n }\n else if (framework === 'next' && win.__NEXT_DATA__?.buildManifest?.pages) {\n for (const pagePath of Object.keys(win.__NEXT_DATA__.buildManifest.pages)) {\n if (!pagePath.startsWith('/_') && !shouldExclude(pagePath)) {\n routes.push({\n path: pagePath,\n name: pathToName(pagePath)\n });\n }\n }\n }\n // DOM fallback if no routes found and not disabled\n if (routes.length === 0 && !disableDomFallback) {\n routes.push(...discoverFromDOM());\n }\n // Transform routes to sitemap entries\n const transform = optionsRef.current.transformRoute || defaultTransform;\n const entries = [];\n for (const route of routes) {\n const entry = transform(route);\n if (entry) {\n entries.push(entry);\n }\n }\n setState({\n entries,\n isDiscovering: false,\n error: null,\n framework\n });\n discoveredRef.current = true;\n console.log(`[useSiteMapDiscovery] Discovered ${entries.length} routes from ${framework}`);\n }\n catch (error) {\n console.warn('[useSiteMapDiscovery] Discovery failed:', error);\n setState((prev) => ({\n ...prev,\n isDiscovering: false,\n error: String(error)\n }));\n }\n }, [\n enabled,\n detectFramework,\n extractReactRouterRoutes,\n discoverFromDOM,\n defaultTransform,\n shouldExclude,\n pathToName,\n disableDomFallback\n ]);\n // Initial discovery with delay to ensure router is mounted\n useEffect(() => {\n if (!enabled || discoveredRef.current)\n return;\n const timer = setTimeout(discoverRoutes, 100);\n return () => clearTimeout(timer);\n }, [enabled, discoverRoutes]);\n // Re-discover on location changes (for SPAs)\n useEffect(() => {\n if (!enabled || typeof window === 'undefined')\n return;\n const handlePopState = () => {\n // Re-run discovery after navigation (routes might have changed)\n setTimeout(discoverRoutes, 50);\n };\n window.addEventListener('popstate', handlePopState);\n return () => window.removeEventListener('popstate', handlePopState);\n }, [enabled, discoverRoutes]);\n return {\n ...state,\n refresh: discoverRoutes\n };\n}\n/**\n * Create a FrameworkDiscoveryConfig from hook options\n * Useful for passing to CyberneticClient\n */\nfunction createDiscoveryConfig(options) {\n return {\n enabled: options.enabled ?? true,\n domFallback: !options.disableDomFallback,\n navSelectors: options.navSelectors,\n excludePaths: options.excludePaths,\n transformRoute: options.transformRoute\n };\n}\n\n// © 2026 AsterMind AI Co. – All Rights Reserved.\n// Patent Pending US 63/897,713\n// ELMConfig.ts - Configuration interfaces, defaults, helpers for ELM-based models\n/* =========== Defaults =========== */\nconst defaultBase = {\n hiddenUnits: 50,\n activation: 'relu',\n ridgeLambda: 1e-2,\n weightInit: 'xavier',\n seed: 1337,\n dropout: 0,\n log: { verbose: true, toFile: false, modelName: 'Unnamed ELM Model', level: 'info' },\n};\nObject.assign(Object.assign({}, defaultBase), { useTokenizer: false });\nObject.assign(Object.assign({}, defaultBase), { useTokenizer: true, maxLen: 30, charSet: 'abcdefghijklmnopqrstuvwxyz', tokenizerDelimiter: /\\s+/ });\n\nfunction buildRFF(d, D, sigma = 1.0, rng = Math.random) {\n const W = new Float64Array(D * d);\n const b = new Float64Array(D);\n const s = 1 / Math.max(1e-12, sigma); // N(0, 1/sigma^2)\n for (let i = 0; i < D * d; i++)\n W[i] = gauss$1(rng) * s;\n for (let i = 0; i < D; i++)\n b[i] = rng() * 2 * Math.PI;\n return { W, b, D, d, sigma };\n}\nfunction mapRFF(rff, x) {\n const { W, b, D, d } = rff;\n const z = new Float64Array(2 * D);\n for (let k = 0; k < D; k++) {\n let dot = b[k];\n const off = k * d;\n for (let j = 0; j < d; j++)\n dot += W[off + j] * (x[j] || 0);\n z[k] = Math.cos(dot);\n z[D + k] = Math.sin(dot);\n }\n // L2 normalize block to keep ridge well-conditioned\n let s = 0;\n for (let i = 0; i < z.length; i++)\n s += z[i] * z[i];\n const inv = 1 / Math.sqrt(Math.max(s, 1e-12));\n for (let i = 0; i < z.length; i++)\n z[i] *= inv;\n return z;\n}\n// Box-Muller\nfunction gauss$1(rng) {\n let u = 0, v = 0;\n while (u === 0)\n u = rng();\n while (v === 0)\n v = rng();\n return Math.sqrt(-2 * Math.log(u)) * Math.cos(2 * Math.PI * v);\n}\n\n// online_ridge.ts — maintain (Φ^T Φ + λI)^{-1} and β for linear ridge\nclass OnlineRidge {\n constructor(p, m, lambda = 1e-4) {\n this.p = p;\n this.m = m;\n this.lambda = lambda;\n this.Ainv = new Float64Array(p * p);\n this.Beta = new Float64Array(p * m);\n // Ainv = (λ I)^-1 = (1/λ) I\n const inv = 1 / Math.max(1e-12, lambda);\n for (let i = 0; i < p; i++)\n this.Ainv[i * p + i] = inv;\n }\n // rank-1 update with a single sample (φ, y)\n update(phi, y) {\n const { p, m, Ainv, Beta } = this;\n // u = Ainv * phi\n const u = new Float64Array(p);\n for (let i = 0; i < p; i++) {\n let s = 0, row = i * p;\n for (let j = 0; j < p; j++)\n s += Ainv[row + j] * phi[j];\n u[i] = s;\n }\n // denom = 1 + phi^T u\n let denom = 1;\n for (let j = 0; j < p; j++)\n denom += phi[j] * u[j];\n denom = Math.max(denom, 1e-12);\n const scale = 1 / denom;\n // Ainv <- Ainv - (u u^T) * scale\n for (let i = 0; i < p; i++) {\n const ui = u[i] * scale;\n for (let j = 0; j < p; j++)\n Ainv[i * p + j] -= ui * u[j];\n }\n // Beta <- Beta + Ainv * (phi * y^T)\n // compute t = Ainv * phi (reuse u after Ainv update)\n for (let i = 0; i < p; i++) {\n let s = 0, row = i * p;\n for (let j = 0; j < p; j++)\n s += Ainv[row + j] * phi[j];\n u[i] = s; // reuse u as t\n }\n // Beta += outer(u, y)\n for (let i = 0; i < p; i++) {\n const ui = u[i];\n for (let c = 0; c < m; c++)\n Beta[i * m + c] += ui * y[c];\n }\n }\n // yhat = φ^T Beta\n predict(phi) {\n const { p, m, Beta } = this;\n const out = new Float64Array(m);\n for (let c = 0; c < m; c++) {\n let s = 0;\n for (let i = 0; i < p; i++)\n s += phi[i] * Beta[i * m + c];\n out[c] = s;\n }\n return out;\n }\n}\n\n// src/math/index.ts — production-grade numerics for Ω\n// Backward compatible with previous exports; adds robust, stable helpers.\n// ---------- Constants\nconst EPS = 1e-12; // general epsilon for divides/sqrt\n// ---------- Norms / normalization\nfunction l2$1(a) {\n // robust L2 (avoids NaN on weird input)\n let s = 0;\n for (let i = 0; i < a.length; i++)\n s += a[i] * a[i];\n return Math.sqrt(Math.max(0, s));\n}\nfunction normalizeL2(a, eps = EPS) {\n const nrm = l2$1(a);\n if (!(nrm > eps) || !Number.isFinite(nrm))\n return new Float64Array(a.length); // zero vec\n const o = new Float64Array(a.length);\n const inv = 1 / nrm;\n for (let i = 0; i < a.length; i++)\n o[i] = a[i] * inv;\n return o;\n}\n// ---------- Cosine (robust)\nfunction cosine$2(a, b) {\n var _a, _b;\n const n = Math.min(a.length, b.length);\n if (n === 0)\n return 0;\n let dotv = 0, na = 0, nb = 0;\n for (let i = 0; i < n; i++) {\n const ai = ((_a = a[i]) !== null && _a !== void 0 ? _a : 0), bi = ((_b = b[i]) !== null && _b !== void 0 ? _b : 0);\n dotv += ai * bi;\n na += ai * ai;\n nb += bi * bi;\n }\n const denom = Math.sqrt(Math.max(na * nb, EPS));\n const v = dotv / denom;\n return Number.isFinite(v) ? v : 0;\n}\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\n// Omega.ts v2 — improved local reasoning + summarization\n// uses your math.ts, rff.ts, online_ridge.ts\n// -------- sentence + text helpers ----------\nfunction splitSentences$1(text) {\n return text\n .replace(/\\s+/g, \" \")\n .split(/(?<=[.?!])\\s+/)\n .map((s) => s.trim())\n .filter((s) => s.length > 8 && /\\w/.test(s));\n}\nfunction clean(text) {\n return text\n .replace(/```[\\s\\S]*?```/g, \" \")\n .replace(/`[^`]+`/g, \" \")\n .replace(/\\[[^\\]]*\\]\\([^)]*\\)/g, \"\") // strip markdown links\n .replace(/[-–>•→]/g, \" \")\n .replace(/\\s+/g, \" \")\n .trim();\n}\nfunction isMetaSentence(s) {\n // simple heuristics for table-of-contents or chapter headings\n return (/^(\\*|#)/.test(s) || // markdown markers\n /chapter/i.test(s) || // \"Chapter 11\", \"Chapters 11–15\"\n /part\\s*\\d+/i.test(s) || // \"Part 3\"\n /section/i.test(s) || // \"Section 2.3\"\n /^\\s*[A-Z]\\)\\s*$/.test(s) || // single-letter outlines\n s.length < 15 // very short stray lines\n );\n}\nfunction rewrite(summary) {\n return summary\n .replace(/\\s+[-–>•→]\\s+/g, \" \")\n .replace(/\\s+\\.\\s+/g, \". \")\n .replace(/([a-z]) - ([a-z])/gi, \"$1-$2\")\n .replace(/\\s{2,}/g, \" \")\n .trim();\n}\n// ------------------------------------------------------------\nfunction omegaComposeAnswer(question_1, items_1) {\n return __awaiter(this, arguments, void 0, function* (question, items, opts = {}) {\n // License check removed // Premium feature - requires valid license\n if (!(items === null || items === void 0 ? void 0 : items.length))\n return \"No results found.\";\n const { dim = 64, features = 32, sigma = 1.0, rounds = 3, topSentences = 8, personality = \"neutral\", } = opts;\n // ---------- 1. Clean + collect sentences ----------\n const allText = items.map((i) => clean(i.content)).join(\" \");\n let sentences = splitSentences$1(allText)\n .filter(s => !isMetaSentence(s))\n .slice(0, 120);\n if (sentences.length === 0)\n return clean(items[0].content).slice(0, 400);\n // ---------- 2. Build encoder + ridge ----------\n const rff = buildRFF(dim, features, sigma);\n const ridge = new OnlineRidge(2 * features, 1, 1e-3);\n const encode = (s) => {\n const vec = new Float64Array(dim);\n const len = Math.min(s.length, dim);\n for (let i = 0; i < len; i++)\n vec[i] = s.charCodeAt(i) / 255;\n return mapRFF(rff, normalizeL2(vec));\n };\n const qVec = encode(question);\n const qTokens = question.toLowerCase().split(/\\W+/).filter((t) => t.length > 2);\n // ---------- 3. Score + select top sentences ----------\n const scored = sentences.map((s) => {\n const v = encode(s);\n let w = cosine$2(v, qVec);\n // small lexical bonus for overlapping words\n const lower = s.toLowerCase();\n for (const t of qTokens)\n if (lower.includes(t))\n w += 0.02;\n return { s, v, w };\n });\n scored.sort((a, b) => b.w - a.w);\n let top = scored.slice(0, topSentences);\n // ---------- 4. Recursive compression ----------\n let summary = top.map((t) => t.s).join(\" \");\n let meanVec = new Float64Array(2 * features);\n for (let r = 0; r < rounds; r++) {\n const subs = splitSentences$1(summary).slice(0, topSentences);\n const embeds = subs.map((s) => encode(s));\n const weights = embeds.map((v) => cosine$2(v, qVec));\n for (let i = 0; i < embeds.length; i++) {\n ridge.update(embeds[i], new Float64Array([weights[i]]));\n }\n // weighted mean vector\n meanVec.fill(0);\n for (let i = 0; i < embeds.length; i++) {\n const v = embeds[i], w = weights[i];\n for (let j = 0; j < v.length; j++)\n meanVec[j] += v[j] * w;\n }\n const norm = l2$1(meanVec) || 1;\n for (let j = 0; j < meanVec.length; j++)\n meanVec[j] /= norm;\n const rescored = subs.map((s) => ({\n s,\n w: cosine$2(encode(s), meanVec),\n }));\n rescored.sort((a, b) => b.w - a.w);\n summary = rescored\n .slice(0, Math.max(3, Math.floor(topSentences / 2)))\n .map((r) => r.s)\n .join(\" \");\n }\n // ---------- 5. Compose readable answer ----------\n summary = rewrite(summary);\n const firstChar = summary.charAt(0).toUpperCase() + summary.slice(1);\n const title = items[0].heading || \"Answer\";\n const prefix = personality === \"teacher\"\n ? \"Here’s a simple way to think about it:\\n\\n\"\n : personality === \"scientist\"\n ? \"From the retrieved material, we can infer:\\n\\n\"\n : \"\";\n return `${prefix}${firstChar}\\n\\n(${title}, Ω-synthesized)`;\n });\n}\n\n// Vectorization utilities for sparse and dense vectors\n// Extracted from workers for reuse\n/**\n * Compute TF-IDF vector from tokens\n */\nfunction toTfidf(tokens, idf, vmap, headingW = 1) {\n const counts = new Map();\n // crude heuristic: first 8 tokens considered heading-weighted\n for (let i = 0; i < tokens.length; i++) {\n const t = tokens[i];\n const id = vmap.get(t);\n if (id === undefined)\n continue;\n const w = (i < 8) ? headingW : 1;\n counts.set(id, (counts.get(id) || 0) + w);\n }\n const maxTf = Math.max(1, ...counts.values());\n const v = new Map();\n for (const [i, c] of counts) {\n const tf = 0.5 + 0.5 * (c / maxTf);\n v.set(i, tf * (idf[i] || 0));\n }\n return v;\n}\n/**\n * Cosine similarity between two sparse vectors\n */\nfunction cosineSparse(a, b) {\n let dot = 0, na = 0, nb = 0;\n for (const [i, av] of a) {\n na += av * av;\n const bv = b.get(i);\n if (bv)\n dot += av * bv;\n }\n for (const [, bv] of b)\n nb += bv * bv;\n if (!na || !nb)\n return 0;\n return dot / (Math.sqrt(na) * Math.sqrt(nb));\n}\n/**\n * Convert sparse vector to dense Float64Array\n */\nfunction sparseToDense(v, dim) {\n const x = new Float64Array(dim);\n for (const [i, val] of v)\n x[i] = val;\n return x;\n}\n/**\n * Dot product of two dense vectors\n */\nfunction dotProd$1(a, b) {\n let s = 0;\n for (let i = 0; i < a.length; i++)\n s += a[i] * b[i];\n return s;\n}\n/**\n * Base kernel function (RBF, cosine, or poly2)\n */\nfunction baseKernel$1(a, b, k, sigma) {\n if (k === 'cosine') {\n const dot = dotProd$1(a, b), na = Math.hypot(...a), nb = Math.hypot(...b);\n return (na && nb) ? (dot / (na * nb)) : 0;\n }\n else if (k === 'poly2') {\n const dot = dotProd$1(a, b);\n return Math.pow((dot + 1), 2);\n }\n else {\n let s = 0;\n for (let i = 0; i < a.length; i++) {\n const d = a[i] - b[i];\n s += d * d;\n }\n return Math.exp(-s / Math.max(1e-9, 2 * sigma * sigma));\n }\n}\n/**\n * Kernel similarity between two dense vectors\n */\nfunction kernelSim(a, b, k, sigma) {\n if (k === 'cosine') {\n const dot = dotProd$1(a, b), na = Math.hypot(...a), nb = Math.hypot(...b);\n return (na && nb) ? (dot / (na * nb)) : 0;\n }\n else if (k === 'poly2') {\n const dot = dotProd$1(a, b);\n return Math.pow((dot + 1), 2);\n }\n else {\n let s = 0;\n for (let i = 0; i < a.length; i++) {\n const d = a[i] - b[i];\n s += d * d;\n }\n return Math.exp(-s / Math.max(1e-9, 2 * sigma * sigma));\n }\n}\n/**\n * Project sparse vector to dense using Nyström landmarks\n */\nfunction projectToDense(v, vocabSize, landmarkMat, kernel, sigma) {\n const x = sparseToDense(v, vocabSize);\n const feats = new Float64Array(landmarkMat.length);\n for (let j = 0; j < landmarkMat.length; j++) {\n const l = landmarkMat[j];\n feats[j] = baseKernel$1(x, l, kernel, sigma);\n }\n const n = Math.hypot(...feats);\n if (n > 0)\n for (let i = 0; i < feats.length; i++)\n feats[i] /= n;\n return feats;\n}\n\n// Tokenization and stemming utilities\n// Extracted from workers for reuse\n// Memo for speed\nconst STEM_CACHE = new Map();\nfunction normalizeWord(raw) {\n const k = raw;\n const cached = STEM_CACHE.get(k);\n if (cached)\n return cached;\n let w = raw.toLowerCase();\n w = w.replace(/^[^a-z0-9]+|[^a-z0-9]+$/g, '');\n if (w.length <= 2) {\n STEM_CACHE.set(k, w);\n return w;\n }\n // plural → singular\n if (w.endsWith('ies') && w.length > 4) {\n w = w.slice(0, -3) + 'y';\n }\n else if (/(xes|ches|shes|zes|sses)$/.test(w) && w.length > 4) {\n w = w.replace(/(xes|ches|shes|zes|sses)$/, (m) => (m === 'sses' ? 'ss' : m.replace(/es$/, '')));\n }\n else if (w.endsWith('s') && !/(ss|us)$/.test(w) && w.length > 3) {\n w = w.slice(0, -1);\n }\n // conservative suffix trimming\n const rules = [\n [/ization$|isation$/, 'ize'],\n [/ational$/, 'ate'],\n [/fulness$/, 'ful'],\n [/ousness$/, 'ous'],\n [/iveness$/, 'ive'],\n [/ability$/, 'able'],\n [/ness$/, ''],\n [/ment$/, ''],\n [/ations?$/, 'ate'],\n [/izer$|iser$/, 'ize'],\n [/ally$/, 'al'],\n [/ically$/, 'ic'],\n [/ingly$|edly$/, ''],\n [/ing$|ed$/, ''],\n ];\n for (const [re, rep] of rules) {\n if (re.test(w) && w.length - rep.length >= 4) {\n w = w.replace(re, rep);\n break;\n }\n }\n STEM_CACHE.set(k, w);\n return w;\n}\nfunction tokenize$1(text, doStem) {\n const base = text.toLowerCase()\n .replace(/[`*_>~]/g, ' ')\n .replace(/[^a-z0-9]+/g, ' ')\n .split(/\\s+/)\n .filter(Boolean);\n if (!doStem)\n return base;\n const out = [];\n for (const t of base) {\n const n = normalizeWord(t);\n if (n && n.length > 1)\n out.push(n);\n }\n return out;\n}\nfunction expandQuery(q) {\n const adds = [];\n if (/\\bmap\\b/.test(q))\n adds.push('dict key value make');\n if (/\\bchan|channel\\b/.test(q))\n adds.push('goroutine concurrency select buffer');\n if (/\\berror\\b/.test(q))\n adds.push('fmt wrap unwrap sentinel try catch');\n if (/\\bstruct\\b/.test(q))\n adds.push('field method receiver init zero value');\n return q + ' ' + adds.join(' ');\n}\n\n// Hybrid retrieval system (sparse + dense + keyword bonus)\n// Extracted from workers for reuse\n// License removed - all features are now free!\n/**\n * Compute keyword bonus scores for chunks\n */\nfunction keywordBonus(chunks, query) {\n const kws = Array.from(new Set(query.toLowerCase().split(/\\W+/).filter(t => t.length > 2)));\n const syntaxBoost = /\\b(define|declare|syntax|example|function|struct|map|interface)\\b/i.test(query);\n return chunks.map(c => {\n const text = c.rich || c.content || '';\n const lc = text.toLowerCase();\n let hit = 0;\n for (const k of kws)\n if (lc.includes(k))\n hit++;\n if (syntaxBoost && /```/.test(text))\n hit += 5; // strong bonus for code presence\n return Math.min(1.0, hit * 0.03);\n });\n}\n/**\n * Get top K indices from scores\n */\nfunction topKIndices(arr, k) {\n const idx = Array.from(arr, (_, i) => i);\n idx.sort((i, j) => (arr[j] - arr[i]));\n return idx.slice(0, k);\n}\n/**\n * Clamp value between min and max\n */\nfunction clamp$1(x, a, b) {\n return Math.max(a, Math.min(b, x));\n}\n/**\n * Perform hybrid retrieval (sparse + dense + keyword bonus)\n */\nfunction hybridRetrieve(opts) {\n // License check removed // Premium feature - requires valid license\n const { query, chunks, vocabMap, idf, tfidfDocs, denseDocs, landmarksIdx, landmarkMat, vocabSize, kernel, sigma, alpha, beta, ridge, headingW, useStem, expandQuery: shouldExpand, topK: k, prefilter, } = opts;\n // Expand query if needed\n const qexp = shouldExpand ? expandQuery(query) : query;\n const toks = tokenize$1(qexp, useStem);\n const qvec = toTfidf(toks, idf, vocabMap, headingW);\n const qdense = projectToDense(qvec, vocabSize, landmarkMat, kernel, sigma);\n // Compute sparse (TF-IDF) scores\n const tfidfScores = tfidfDocs.map(v => cosineSparse(v, qvec));\n // Compute dense (kernel) scores\n const denseScores = denseDocs.map((v) => kernelSim(v, qdense, kernel, sigma));\n // Compute keyword bonus\n const bonus = keywordBonus(chunks, query);\n // Hybrid scoring with ridge regularization\n const alphaClamped = clamp$1(alpha, 0, 1);\n const lambda = ridge !== null && ridge !== void 0 ? ridge : 0.08;\n const scores = denseScores.map((d, i) => {\n const t = tfidfScores[i];\n const b = beta * bonus[i];\n // Ridge damping on ALL components (dense, tfidf, and keyword bonus)\n const reg = 1 / (1 + lambda * (d * d + t * t + 0.5 * b * b));\n const s = reg * (alphaClamped * d + (1 - alphaClamped) * t + b);\n // soft clip extremes; helps prevent a single noisy dimension from dominating\n return Math.tanh(s);\n });\n // Pre-filter then final topK (retrieval stage)\n const pre = Math.max(k, prefilter !== null && prefilter !== void 0 ? prefilter : 0);\n const idxs = topKIndices(scores, pre);\n const finalIdxs = topKIndices(idxs.map(i => scores[i]), k).map(k => idxs[k]);\n // Build result items\n const items = finalIdxs.map(i => {\n const c = chunks[i];\n const body = (c.rich && c.rich.trim()) || (c.content && c.content.trim()) || '(see subsections)';\n return {\n score: scores[i],\n heading: c.heading,\n content: body,\n index: i,\n };\n });\n return {\n items,\n scores: finalIdxs.map(i => scores[i]),\n indices: finalIdxs,\n tfidfScores: finalIdxs.map(i => tfidfScores[i]),\n denseScores: finalIdxs.map(i => denseScores[i]),\n };\n}\n\n// OmegaRR.ts\n// Reranker + Reducer for AsterMind docs\n// - Extracts rich query–chunk features (sparse text + structural signals)\n// - Trains a tiny ridge model on-the-fly with weak supervision (per query)\n// - Produces score_rr and p_relevant\n// - Filters with threshold + MMR coverage under a character budget\n// - (v2) Optionally exposes engineered features (values + names) for TE/diagnostics\n/* ====================== Tokenization ======================= */\nconst STOP$1 = new Set([\n \"a\", \"an\", \"the\", \"and\", \"or\", \"but\", \"if\", \"then\", \"else\", \"for\", \"to\", \"of\", \"in\", \"on\", \"at\", \"by\", \"with\",\n \"is\", \"are\", \"was\", \"were\", \"be\", \"been\", \"being\", \"as\", \"from\", \"that\", \"this\", \"it\", \"its\", \"you\", \"your\",\n \"i\", \"we\", \"they\", \"he\", \"she\", \"them\", \"his\", \"her\", \"our\", \"us\", \"do\", \"does\", \"did\", \"done\", \"not\", \"no\",\n \"yes\", \"can\", \"could\", \"should\", \"would\", \"may\", \"might\", \"into\", \"about\", \"over\", \"under\", \"between\"\n]);\nfunction tokenize(s) {\n return s\n .toLowerCase()\n .replace(/[`*_#>~=\\[\\]{}()!?.:,;'\"<>|/\\\\+-]+/g, \" \")\n .split(/\\s+/)\n .filter(t => t && !STOP$1.has(t));\n}\nfunction unique(arr) { return Array.from(new Set(arr)); }\nfunction buildCorpusStats(docs) {\n const vocab = new Map();\n const tfs = [];\n const docLens = [];\n let nextId = 0;\n for (const d of docs) {\n const toks = tokenize(d);\n docLens.push(toks.length);\n const tf = new Map();\n for (const w of toks) {\n let id = vocab.get(w);\n if (id === undefined) {\n id = nextId++;\n vocab.set(w, id);\n }\n tf.set(id, (tf.get(id) || 0) + 1);\n }\n tfs.push(tf);\n }\n const N = docs.length;\n const df = Array(nextId).fill(0);\n for (const tf of tfs)\n for (const id of tf.keys())\n df[id] += 1;\n const idf = df.map(df_i => Math.log((N + 1) / (df_i + 1)) + 1);\n const avgLen = docLens.reduce((a, b) => a + b, 0) / Math.max(1, N);\n return { stats: { vocab, idf, avgLen, df }, tf: tfs, docLens };\n}\nfunction tfidfVector(tf, idf) {\n const out = new Map();\n let norm2 = 0;\n for (const [i, f] of tf) {\n const val = (f) * (idf[i] || 0);\n out.set(i, val);\n norm2 += val * val;\n }\n const norm = Math.sqrt(norm2) || 1e-12;\n for (const [i, v] of out)\n out.set(i, v / norm);\n return out;\n}\nfunction cosine$1(a, b) {\n const [small, large] = a.size < b.size ? [a, b] : [b, a];\n let dot = 0;\n for (const [i, v] of small) {\n const u = large.get(i);\n if (u !== undefined)\n dot += v * u;\n }\n return dot;\n}\nfunction bm25Score(qTf, dTf, stats, dLen, k1 = 1.5, b = 0.75) {\n let score = 0;\n for (const [i] of qTf) {\n const f = dTf.get(i) || 0;\n if (f <= 0)\n continue;\n const idf = Math.log(((stats.df[i] || 0) + 0.5) / ((stats.idf.length - (stats.df[i] || 0)) + 0.5) + 1);\n const denom = f + k1 * (1 - b + b * (dLen / (stats.avgLen || 1)));\n score += idf * ((f * (k1 + 1)) / (denom || 1e-12));\n }\n return score;\n}\n/* ========== Light Random Projection from TF-IDF (dense hint) ========== */\nfunction projectSparse(vec, dim, seed = 1337) {\n // deterministic per (feature, j) hash: simple LCG/xorshift mix\n const out = new Float64Array(dim);\n for (const [i, v] of vec) {\n let s = (i * 2654435761) >>> 0;\n for (let j = 0; j < dim; j++) {\n s ^= s << 13;\n s ^= s >>> 17;\n s ^= s << 5;\n const r = ((s >>> 0) / 4294967296) * 2 - 1; // [-1,1]\n out[j] += v * r;\n }\n }\n let n2 = 0;\n for (let j = 0; j < dim; j++)\n n2 += out[j] * out[j];\n const n = Math.sqrt(n2) || 1e-12;\n for (let j = 0; j < dim; j++)\n out[j] /= n;\n return out;\n}\n/* ===================== Structural Signals ===================== */\nfunction containsGoCodeBlock(s) {\n return /```+\\s*go([\\s\\S]*?)```/i.test(s) || /\\bfunc\\s+\\w+\\s*\\(.*\\)\\s*\\w*\\s*{/.test(s);\n}\nfunction containsCodeBlock(s) {\n return /```+/.test(s) || /{[^}]*}/.test(s);\n}\nfunction headingQueryMatch(head, q) {\n const ht = unique(tokenize(head));\n const qt = new Set(tokenize(q));\n if (ht.length === 0 || qt.size === 0)\n return 0;\n let hit = 0;\n for (const t of ht)\n if (qt.has(t))\n hit++;\n return hit / ht.length;\n}\nfunction jaccard$1(a, b) {\n const A = new Set(tokenize(a));\n const B = new Set(tokenize(b));\n let inter = 0;\n for (const t of A)\n if (B.has(t))\n inter++;\n const uni = A.size + B.size - inter;\n return uni === 0 ? 0 : inter / uni;\n}\nfunction golangSpecFlag(s) {\n return /(golang\\.org|go\\.dev|pkg\\.go\\.dev)/i.test(s) ? 1 : 0;\n}\nfunction buildFeatures$1(q, chunk, qTfIdf, cTfIdf, qTfRaw, cTfRaw, stats, cLen, projQ, projC) {\n var _a;\n const f = [];\n const names = [];\n // 1) Sparse sims\n const cos = cosine$1(qTfIdf, cTfIdf);\n f.push(cos);\n names.push(\"cosine_tfidf\");\n const bm25 = bm25Score(qTfRaw, cTfRaw, stats, cLen);\n f.push(bm25);\n names.push(\"bm25\");\n // 2) Heading & lexical overlaps\n const hMatch = headingQueryMatch(chunk.heading || \"\", q);\n f.push(hMatch);\n names.push(\"heading_match_frac\");\n const jac = jaccard$1(q, chunk.content || \"\");\n f.push(jac);\n names.push(\"jaccard_tokens\");\n // 3) Structural flags\n const hasGo = containsGoCodeBlock(chunk.rich || chunk.content || \"\");\n const hasCode = containsCodeBlock(chunk.rich || chunk.content || \"\");\n f.push(hasGo ? 1 : 0);\n names.push(\"flag_go_code\");\n f.push(hasCode ? 1 : 0);\n names.push(\"flag_any_code\");\n // 4) Source cues\n f.push(golangSpecFlag(chunk.content || \"\") ? 1 : 0);\n names.push(\"flag_go_spec_link\");\n // 5) Prior score (baseline)\n f.push(((_a = chunk.score_base) !== null && _a !== void 0 ? _a : 0));\n names.push(\"prior_score_base\");\n // 6) Length heuristics (prefer concise answers)\n const lenChars = (chunk.content || \"\").length;\n f.push(1 / Math.sqrt(1 + lenChars));\n names.push(\"len_inv_sqrt\");\n // 7) Dense hint from projection\n if (projQ && projC) {\n let dot = 0, l1 = 0;\n for (let i = 0; i < projQ.length; i++) {\n dot += projQ[i] * projC[i];\n l1 += Math.abs(projQ[i] - projC[i]);\n }\n f.push(dot);\n names.push(\"proj_dot\");\n f.push(l1 / projQ.length);\n names.push(\"proj_l1mean\");\n }\n return { names, values: f };\n}\n/* ======================== Ridge Model ======================== */\nclass Ridge {\n constructor() {\n this.w = null;\n this.mu = null;\n this.sigma = null;\n }\n fit(X, y, lambda = 1e-2) {\n var _a;\n const n = X.length;\n const d = ((_a = X[0]) === null || _a === void 0 ? void 0 : _a.length) || 0;\n if (n === 0 || d === 0) {\n this.w = new Float64Array(d);\n return;\n }\n // standardize\n const mu = new Float64Array(d);\n const sig = new Float64Array(d);\n for (let j = 0; j < d; j++) {\n let m = 0;\n for (let i = 0; i < n; i++)\n m += X[i][j];\n m /= n;\n mu[j] = m;\n let v = 0;\n for (let i = 0; i < n; i++) {\n const z = X[i][j] - m;\n v += z * z;\n }\n sig[j] = Math.sqrt(v / n) || 1;\n }\n const Z = Array.from({ length: n }, (_, i) => new Float64Array(d));\n for (let i = 0; i < n; i++)\n for (let j = 0; j < d; j++)\n Z[i][j] = (X[i][j] - mu[j]) / sig[j];\n // A = Z^T Z + λI, Zy = Z^T y\n const A = Array.from({ length: d }, () => new Float64Array(d));\n const Zy = new Float64Array(d);\n for (let i = 0; i < n; i++) {\n const zi = Z[i];\n const yi = y[i];\n for (let j = 0; j < d; j++) {\n Zy[j] += zi[j] * yi;\n const zij = zi[j];\n for (let k = 0; k <= j; k++)\n A[j][k] += zij * zi[k];\n }\n }\n for (let j = 0; j < d; j++) {\n for (let k = 0; k < j; k++)\n A[k][j] = A[j][k];\n A[j][j] += lambda;\n }\n // Cholesky solve\n const L = Array.from({ length: d }, () => new Float64Array(d));\n for (let i = 0; i < d; i++) {\n for (let j = 0; j <= i; j++) {\n let sum = A[i][j];\n for (let k = 0; k < j; k++)\n sum -= L[i][k] * L[j][k];\n L[i][j] = (i === j) ? Math.sqrt(Math.max(sum, 1e-12)) : (sum / (L[j][j] || 1e-12));\n }\n }\n const z = new Float64Array(d);\n for (let i = 0; i < d; i++) {\n let s = Zy[i];\n for (let k = 0; k < i; k++)\n s -= L[i][k] * z[k];\n z[i] = s / (L[i][i] || 1e-12);\n }\n const w = new Float64Array(d);\n for (let i = d - 1; i >= 0; i--) {\n let s = z[i];\n for (let k = i + 1; k < d; k++)\n s -= L[k][i] * w[k];\n w[i] = s / (L[i][i] || 1e-12);\n }\n this.w = w;\n this.mu = mu;\n this.sigma = sig;\n }\n predict(x) {\n if (!this.w || !this.mu || !this.sigma)\n return 0;\n let s = 0;\n for (let j = 0; j < this.w.length; j++) {\n const z = (x[j] - this.mu[j]) / this.sigma[j];\n s += this.w[j] * z;\n }\n return s;\n }\n}\n/* ===================== Weak Supervision ===================== */\nfunction generateWeakLabel(q, chunk, feats) {\n var _a;\n const txt = (chunk.rich || chunk.content || \"\");\n let y = 0;\n const qIsGoFunc = /\\bgo\\b/.test(q.toLowerCase()) && /(define|declare|function|func)/i.test(q);\n if (qIsGoFunc && containsGoCodeBlock(txt))\n y = Math.max(y, 1.0);\n const headHit = headingQueryMatch(chunk.heading || \"\", q);\n if (headHit >= 0.34 && containsCodeBlock(txt))\n y = Math.max(y, 0.8);\n const cosIdx = feats.names.indexOf(\"cosine_tfidf\");\n const bm25Idx = feats.names.indexOf(\"bm25\");\n const cos = cosIdx >= 0 ? feats.values[cosIdx] : 0;\n const bm = bm25Idx >= 0 ? feats.values[bm25Idx] : 0;\n if (cos > 0.25)\n y = Math.max(y, 0.6);\n if (bm > 1.0)\n y = Math.max(y, 0.6);\n const priorIdx = feats.names.indexOf(\"prior_score_base\");\n const prior = priorIdx >= 0 ? feats.values[priorIdx] : 0;\n if (((_a = chunk.score_base) !== null && _a !== void 0 ? _a : 0) > 0)\n y = Math.max(y, Math.min(0.6, 0.2 + 0.5 * prior));\n return y;\n}\nfunction sigmoid(x) {\n if (x >= 0) {\n const z = Math.exp(-x);\n return 1 / (1 + z);\n }\n else {\n const z = Math.exp(x);\n return z / (1 + z);\n }\n}\n/* ========================= MMR Filter ========================= */\nfunction mmrFilter(scored, lambda = 0.7, budgetChars = 1200) {\n const sel = [];\n const docs = scored.map(s => s.content || \"\");\n const { stats, tf: tfList } = buildCorpusStats(docs);\n const tfidf = tfList.map(tf => tfidfVector(tf, stats.idf));\n const selectedIdx = new Set();\n let used = 0;\n while (selectedIdx.size < scored.length) {\n let bestIdx = -1, bestVal = -Infinity;\n for (let i = 0; i < scored.length; i++) {\n if (selectedIdx.has(i))\n continue;\n const cand = scored[i];\n let red = 0;\n for (const j of selectedIdx) {\n const sim = cosine$1(tfidf[i], tfidf[j]);\n if (sim > red)\n red = sim;\n }\n const val = lambda * cand.score_rr - (1 - lambda) * red;\n if (val > bestVal) {\n bestVal = val;\n bestIdx = i;\n }\n }\n if (bestIdx < 0)\n break;\n const chosen = scored[bestIdx];\n const addLen = (chosen.content || \"\").length;\n if (used + addLen > budgetChars && sel.length > 0)\n break;\n sel.push(chosen);\n used += addLen;\n selectedIdx.add(bestIdx);\n }\n return sel;\n}\n/* ========================= Public API ========================= */\n/** Train per-query ridge model and score chunks. */\nfunction rerank(query, chunks, opts = {}) {\n var _a, _b;\n // License check removed // Premium feature - requires valid license\n const { lambdaRidge = 1e-2, randomProjDim = 32, exposeFeatures = true, attachFeatureNames = false, } = opts;\n const docs = [query, ...chunks.map(c => c.content || \"\")];\n const { stats, tf: tfRaw, docLens } = buildCorpusStats(docs);\n const tfidfAll = tfRaw.map(tf => tfidfVector(tf, stats.idf));\n const qTfRaw = tfRaw[0];\n const qTfIdf = tfidfAll[0];\n const projQ = randomProjDim > 0 ? projectSparse(qTfIdf, randomProjDim) : undefined;\n const X = [];\n const y = [];\n const featPacks = [];\n for (let i = 0; i < chunks.length; i++) {\n const c = chunks[i];\n const cTfRaw = tfRaw[i + 1];\n const cTfIdf = tfidfAll[i + 1];\n const projC = randomProjDim > 0 ? projectSparse(cTfIdf, randomProjDim, 1337 + i) : undefined;\n const feats = buildFeatures$1(query, c, qTfIdf, cTfIdf, qTfRaw, cTfRaw, stats, docLens[i + 1] || 1, projQ, projC);\n featPacks.push(feats);\n X.push(feats.values);\n const label = generateWeakLabel(query, c, feats);\n y.push(label);\n }\n const allSame = y.every(v => Math.abs(v - y[0]) < 1e-9);\n if (allSame) {\n const cosIdx = featPacks[0].names.indexOf(\"cosine_tfidf\");\n if (cosIdx >= 0) {\n for (let i = 0; i < y.length; i++)\n y[i] = Math.max(0, Math.min(1, 0.2 + 0.6 * X[i][cosIdx]));\n }\n }\n const rr = new Ridge();\n rr.fit(X, y, lambdaRidge);\n let minS = Infinity, maxS = -Infinity;\n const rawScores = X.map(x => rr.predict(x));\n for (const s of rawScores) {\n if (s < minS)\n minS = s;\n if (s > maxS)\n maxS = s;\n }\n const range = Math.max(1e-9, maxS - minS);\n const featureNames = attachFeatureNames ? (_b = (_a = featPacks[0]) === null || _a === void 0 ? void 0 : _a.names) !== null && _b !== void 0 ? _b : [] : undefined;\n const scored = chunks.map((c, i) => {\n const s01 = (rawScores[i] - minS) / range;\n const p = sigmoid((rawScores[i] - 0.5 * (minS + maxS)) / (0.2 * range + 1e-6));\n const base = Object.assign(Object.assign({}, c), { score_rr: s01, p_relevant: p });\n if (exposeFeatures)\n base._features = X[i];\n if (featureNames)\n base._feature_names = featureNames;\n return base;\n });\n scored.sort((a, b) => b.score_rr - a.score_rr);\n return scored;\n}\n/** Filter scored chunks using probability/near-top thresholds and MMR coverage. */\nfunction filterMMR(scored, opts = {}) {\n // License check removed // Premium feature - requires valid license\n const { probThresh = 0.45, epsilonTop = 0.05, useMMR = true, mmrLambda = 0.7, budgetChars = 1200 } = opts;\n if (scored.length === 0)\n return [];\n const top = scored[0].score_rr;\n const bandKept = scored.filter(s => s.p_relevant >= probThresh && s.score_rr >= (top - epsilonTop));\n const seed = bandKept.length > 0 ? bandKept : [scored[0]];\n if (!useMMR) {\n const out = [];\n let used = 0;\n for (const s of seed) {\n const add = (s.content || \"\").length;\n if (used + add > budgetChars && out.length > 0)\n break;\n out.push(s);\n used += add;\n }\n return out;\n }\n const boosted = scored.map(s => (Object.assign(Object.assign({}, s), { score_rr: seed.includes(s) ? s.score_rr + 0.01 : s.score_rr })));\n return mmrFilter(boosted, mmrLambda, budgetChars);\n}\n/** Convenience: run rerank then filter. */\nfunction rerankAndFilter(query, chunks, opts = {}) {\n // License check removed // Premium feature - requires valid license\n const scored = rerank(query, chunks, opts);\n return filterMMR(scored, opts);\n}\nfunction importModel(model, opts) {\n // License check removed // Premium feature - requires valid license\n if (model.version !== 'astermind-pro-v1' && model.version !== 'astermind-elm-v1') {\n throw new Error(`Unsupported model version: ${model.version}. Expected 'astermind-pro-v1' or 'astermind-elm-v1'`);\n }\n // 1) restore settings\n const settings = JSON.parse(JSON.stringify(model.settings || {}));\n // 2) vocab & idf\n const vocabMap = new Map(model.vocab);\n const idf = Float64Array.from(model.idf); // keep as number[] for compatibility\n // 3) chunks\n const chunks = model.chunks.map(c => ({\n heading: c.heading,\n content: c.content || '',\n rich: c.rich,\n level: c.level,\n secId: c.secId\n }));\n // 4) tfidfDocs from pairs\n const tfidfDocs = model.tfidfDocs.map(row => {\n const m = new Map();\n for (const [i, v] of row)\n m.set(i, v);\n return m;\n });\n // 5) Nyström landmarks\n const landmarksIdx = Array.from(model.landmarksIdx);\n const landmarkMat = model.landmarkMat.map(a => Float64Array.from(a));\n // 6) denseDocs: use stored or recompute\n const needRecompute = !model.denseDocs || model.denseDocs.length !== tfidfDocs.length;\n let denseDocs;\n if (needRecompute) {\n throw new Error('recomputeDense=true but buildDense function not provided');\n }\n else {\n denseDocs = model.denseDocs.map(a => Float64Array.from(a));\n }\n return {\n settings,\n vocabMap,\n idf,\n chunks,\n tfidfDocs,\n landmarksIdx,\n landmarkMat,\n denseDocs,\n };\n}\n\n// src/omega/OmegaOfflineRAG.ts\n// Omega-powered offline RAG using @astermind/astermind-community\n/**\n * Omega-powered offline RAG class\n *\n * Uses @astermind/astermind-community for hybrid retrieval and reranking.\n * Provides enhanced offline capabilities over simple TF-IDF fallback.\n */\nclass OmegaOfflineRAG {\n constructor(config) {\n this.modelState = null;\n this.model = null;\n this.config = {\n reranking: {\n enabled: config?.reranking?.enabled ?? true,\n lambdaRidge: config?.reranking?.lambdaRidge ?? 0.1,\n useMMR: config?.reranking?.useMMR ?? true,\n mmrLambda: config?.reranking?.mmrLambda ?? 0.5,\n probThresh: config?.reranking?.probThresh ?? 0.1\n },\n topK: config?.topK ?? 5,\n verbose: config?.verbose ?? false\n };\n }\n /**\n * Load a pre-exported model from SerializedModel object\n */\n async loadModel(model) {\n const startTime = performance.now();\n this.model = model;\n this.modelState = importModel(model);\n if (this.config.verbose) {\n const loadTime = performance.now() - startTime;\n console.log(`[OmegaOfflineRAG] Model loaded in ${loadTime.toFixed(0)}ms`);\n console.log(`[OmegaOfflineRAG] ${this.modelState.chunks.length} chunks, ${this.modelState.vocabMap.size} vocab`);\n }\n }\n /**\n * Load model from a URL\n */\n async loadModelFromUrl(url) {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(`Failed to fetch model from ${url}: ${response.status}`);\n }\n const model = await response.json();\n await this.loadModel(model);\n }\n /**\n * Check if model is loaded and ready\n */\n isReady() {\n return this.modelState !== null;\n }\n /**\n * Get model information\n */\n getModelInfo() {\n if (!this.model || !this.modelState)\n return null;\n return {\n version: this.model.version,\n savedAt: this.model.savedAt,\n documentCount: this.modelState.chunks.length,\n vocabularySize: this.modelState.vocabMap.size,\n landmarkCount: this.modelState.landmarksIdx.length,\n hasDenseVectors: this.modelState.denseDocs.length > 0,\n settings: this.model.settings\n };\n }\n /**\n * Perform RAG query and return answer with sources\n */\n async ask(query) {\n const startTime = performance.now();\n if (!this.modelState || !this.model) {\n return {\n answer: 'Omega model not loaded. Please load a model first.',\n confidence: 'none',\n sources: [],\n processingTime: 0,\n degraded: true,\n degradedReason: 'Model not loaded'\n };\n }\n try {\n // Extract settings with proper type assertions\n const settings = this.model.settings;\n const kernel = settings.kernel ?? 'rbf';\n const sigma = settings.sigma ?? 1.0;\n const alpha = settings.alpha ?? 0.5;\n const beta = settings.beta ?? 0.3;\n const ridge = settings.ridge ?? 0.001;\n const headingW = settings.headingW ?? 0.2;\n const useStem = settings.useStem ?? true;\n const expandQuery = settings.expandQuery ?? false;\n const prefilter = settings.prefilter ?? 100;\n // Perform hybrid retrieval\n const retrievalResult = hybridRetrieve({\n query,\n chunks: this.modelState.chunks,\n vocabMap: this.modelState.vocabMap,\n idf: this.modelState.idf,\n tfidfDocs: this.modelState.tfidfDocs,\n denseDocs: this.modelState.denseDocs,\n landmarksIdx: this.modelState.landmarksIdx,\n landmarkMat: this.modelState.landmarkMat,\n vocabSize: this.modelState.vocabMap.size,\n kernel: kernel,\n sigma,\n alpha,\n beta,\n ridge,\n headingW,\n useStem,\n expandQuery,\n topK: this.config.topK * 2, // Get more for reranking\n prefilter\n });\n let sources;\n // Apply reranking if enabled\n if (this.config.reranking.enabled && retrievalResult.items.length > 0) {\n const chunksForRerank = retrievalResult.items.map((item, idx) => ({\n heading: item.heading,\n content: item.content,\n rich: item.rich,\n score_base: retrievalResult.scores[idx]\n }));\n const reranked = rerankAndFilter(query, chunksForRerank, {\n lambdaRidge: this.config.reranking.lambdaRidge,\n useMMR: this.config.reranking.useMMR,\n mmrLambda: this.config.reranking.mmrLambda,\n probThresh: this.config.reranking.probThresh\n });\n sources = reranked.slice(0, this.config.topK).map((chunk) => ({\n heading: chunk.heading,\n content: chunk.content,\n rich: chunk.rich,\n score: chunk.score_base ?? 0,\n rerankScore: chunk.score_rr,\n probability: chunk.p_relevant\n }));\n }\n else {\n sources = retrievalResult.items.slice(0, this.config.topK).map((item, idx) => ({\n heading: item.heading,\n content: item.content,\n rich: item.rich,\n score: retrievalResult.scores[idx]\n }));\n }\n // Compose answer using Omega\n const answer = await omegaComposeAnswer(query, sources.map(s => ({ heading: s.heading, content: s.content, score: s.score })));\n const processingTime = performance.now() - startTime;\n // Determine confidence based on scores\n const topScore = sources[0]?.score ?? 0;\n const confidence = this.determineConfidence(topScore, sources.length);\n // Classify query type\n const queryClassification = this.classifyQuery(query);\n return {\n answer,\n confidence,\n sources,\n processingTime,\n degraded: false,\n queryClassification\n };\n }\n catch (error) {\n const processingTime = performance.now() - startTime;\n console.error('[OmegaOfflineRAG] Error during retrieval:', error);\n return {\n answer: 'An error occurred while processing your question offline.',\n confidence: 'none',\n sources: [],\n processingTime,\n degraded: true,\n degradedReason: error instanceof Error ? error.message : 'Unknown error'\n };\n }\n }\n /**\n * Retrieve relevant chunks without generating an answer\n */\n async retrieve(query, topK) {\n if (!this.modelState || !this.model) {\n return [];\n }\n const k = topK ?? this.config.topK;\n // Extract settings with proper type assertions\n const settings = this.model.settings;\n const kernel = settings.kernel ?? 'rbf';\n const sigma = settings.sigma ?? 1.0;\n const alpha = settings.alpha ?? 0.5;\n const beta = settings.beta ?? 0.3;\n const ridge = settings.ridge ?? 0.001;\n const headingW = settings.headingW ?? 0.2;\n const useStem = settings.useStem ?? true;\n const expandQuery = settings.expandQuery ?? false;\n const prefilter = settings.prefilter ?? 100;\n const retrievalResult = hybridRetrieve({\n query,\n chunks: this.modelState.chunks,\n vocabMap: this.modelState.vocabMap,\n idf: this.modelState.idf,\n tfidfDocs: this.modelState.tfidfDocs,\n denseDocs: this.modelState.denseDocs,\n landmarksIdx: this.modelState.landmarksIdx,\n landmarkMat: this.modelState.landmarkMat,\n vocabSize: this.modelState.vocabMap.size,\n kernel: kernel,\n sigma,\n alpha,\n beta,\n ridge,\n headingW,\n useStem,\n expandQuery,\n topK: k,\n prefilter\n });\n return retrievalResult.items.map((item, idx) => ({\n heading: item.heading,\n content: item.content,\n rich: item.rich,\n score: retrievalResult.scores[idx]\n }));\n }\n /**\n * Classify query type for better handling\n */\n classifyQuery(query) {\n const lowerQuery = query.toLowerCase();\n const words = lowerQuery.split(/\\s+/);\n // Simple keyword-based classification\n const factualKeywords = ['what', 'who', 'when', 'where', 'which', 'is', 'are', 'was', 'were'];\n const proceduralKeywords = ['how', 'steps', 'guide', 'tutorial', 'process', 'procedure'];\n const conceptualKeywords = ['why', 'explain', 'describe', 'meaning', 'definition', 'concept'];\n const navigationKeywords = ['go to', 'navigate', 'find', 'page', 'link', 'take me', 'show me'];\n let type = 'unknown';\n let confidence = 0.5;\n const keywords = [];\n // Check navigation first (phrase matching)\n for (const phrase of navigationKeywords) {\n if (lowerQuery.includes(phrase)) {\n type = 'navigational';\n confidence = 0.8;\n keywords.push(phrase);\n break;\n }\n }\n if (type === 'unknown') {\n // Check other types\n const firstWord = words[0];\n if (proceduralKeywords.includes(firstWord) || proceduralKeywords.some(k => lowerQuery.includes(k))) {\n type = 'procedural';\n confidence = 0.7;\n keywords.push(...proceduralKeywords.filter(k => lowerQuery.includes(k)));\n }\n else if (conceptualKeywords.includes(firstWord) || conceptualKeywords.some(k => lowerQuery.includes(k))) {\n type = 'conceptual';\n confidence = 0.7;\n keywords.push(...conceptualKeywords.filter(k => lowerQuery.includes(k)));\n }\n else if (factualKeywords.includes(firstWord)) {\n type = 'factual';\n confidence = 0.7;\n keywords.push(firstWord);\n }\n }\n return { type, confidence, keywords };\n }\n /**\n * Determine confidence level based on retrieval scores\n */\n determineConfidence(topScore, sourceCount) {\n if (sourceCount === 0)\n return 'none';\n if (topScore >= 0.7)\n return 'medium'; // Never 'high' for offline\n if (topScore >= 0.4)\n return 'medium';\n if (topScore >= 0.2)\n return 'low';\n return 'low';\n }\n /**\n * Clear loaded model\n */\n clear() {\n this.modelState = null;\n this.model = null;\n }\n}\n\nvar OmegaOfflineRAG$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n OmegaOfflineRAG: OmegaOfflineRAG\n});\n\n// src/index.ts\n// Main package exports (core + tree-shakeable agentic)\n// Core exports\nfunction createClient(config) {\n return new CyberneticClient(config);\n}\n\nexport { ApiClient, CyberneticAgent, CyberneticCache, CyberneticClient, CyberneticIntentClassifier, CyberneticLocalRAG, CyberneticOfflineStorage, LicenseManager, OmegaOfflineRAG, REQUIRED_FEATURES, SiteMapDiscovery, configLoaders, createClient, createDiscoveryConfig, createLicenseManager, detectEnvironment, getEnforcementMode, getTokenExpiration, isValidJWTFormat, loadConfig, registerAgenticCapabilities, useSiteMapDiscovery, validateConfig, verifyLicenseToken };\n//# sourceMappingURL=cybernetic-chatbot-client.esm.js.map\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["l","Symbol","for","n","p","q","r","t","u","v","w","x","y","z","iterator","B","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","C","Object","assign","D","E","a","b","e","this","props","context","refs","updater","F","G","prototype","isReactComponent","setState","Error","forceUpdate","H","constructor","isPureReactComponent","I","Array","isArray","J","hasOwnProperty","K","current","L","key","ref","__self","__source","M","d","c","k","h","call","g","arguments","length","children","f","m","defaultProps","$$typeof","type","_owner","O","P","Q","replace","escape","toString","R","N","push","A","next","done","value","String","keys","join","S","T","_status","_result","then","default","U","V","transition","W","ReactCurrentDispatcher","ReactCurrentBatchConfig","ReactCurrentOwner","X","react_production_min","Children","map","forEach","apply","count","toArray","only","Component","Profiler","PureComponent","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","act","cloneElement","createContext","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","_context","createElement","createFactory","bind","createRef","forwardRef","render","isValidElement","lazy","_payload","_init","memo","compare","startTransition","unstable_act","useCallback","useContext","useDebugValue","useDeferredValue","useEffect","useId","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useSyncExternalStore","useTransition","version","reactModule","exports","require$$0","pop","sortIndex","id","performance","now","unstable_now","Date","setTimeout","clearTimeout","setImmediate","callback","startTime","expirationTime","priorityLevel","navigator","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_IdlePriority","unstable_ImmediatePriority","unstable_LowPriority","unstable_NormalPriority","unstable_Profiling","unstable_UserBlockingPriority","unstable_cancelCallback","unstable_forceFrameRate","console","error","Math","floor","unstable_getCurrentPriorityLevel","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_requestPaint","unstable_runWithPriority","unstable_scheduleCallback","delay","unstable_shouldYield","unstable_wrapCallback","schedulerModule","aa","ca","require$$1","encodeURIComponent","da","Set","ea","fa","ha","add","ia","window","document","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","split","toLowerCase","ra","sa","toUpperCase","ta","slice","pa","isNaN","qa","test","oa","removeAttribute","setAttribute","setAttributeNS","xlinkHref","ua","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","stack","trim","match","Na","Oa","prepareStackTrace","defineProperty","set","Reflect","construct","displayName","includes","name","Pa","tag","Qa","Ra","Sa","Ta","nodeName","Va","_valueTracker","getOwnPropertyDescriptor","get","configurable","enumerable","getValue","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","body","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","cb","db","ownerDocument","eb","fb","options","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","innerHTML","valueOf","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeType","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","style","indexOf","setProperty","charAt","substring","tb","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr","ub","vb","is","wb","xb","target","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","addEventListener","removeEventListener","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","child","sibling","Yb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","oc","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","shift","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","data","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","fromCharCode","code","location","repeat","locale","which","Rd","Td","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","date","datetime","email","month","number","password","range","search","tel","text","time","url","week","me","ne","oe","event","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","node","offset","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","href","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","start","end","selectionStart","selectionEnd","min","defaultView","getSelection","extend","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","element","left","scrollLeft","top","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","concat","nf","Ub","instance","listener","of","has","pf","qf","rf","random","sf","capture","passive","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","unshift","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Promise","Jf","queueMicrotask","resolve","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","elementType","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","_stringRef","Mg","Ng","Og","index","Pg","Qg","Rg","implementation","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","childLanes","ch","dependencies","firstContext","lanes","dh","eh","memoizedValue","fh","gh","hh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","lh","mh","eventTime","lane","payload","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","tagName","zh","Ah","Bh","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","queue","Uh","Vh","Wh","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","Xh","Yh","Zh","$h","ai","getSnapshot","bi","ci","di","lastEffect","stores","ei","fi","gi","hi","ii","create","destroy","deps","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","readContext","useMutableSource","unstable_isNewReconciler","identifierPrefix","Ci","Di","Ei","_reactInternals","Fi","shouldComponentUpdate","Gi","contextType","state","Hi","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ii","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Ji","message","digest","Ki","Li","Mi","WeakMap","Ni","Oi","Pi","Qi","getDerivedStateFromError","componentDidCatch","Ri","componentStack","Si","pingCache","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","baseLanes","cachePool","transitions","ej","fj","gj","hj","ij","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","jj","kj","pendingContext","lj","zj","Aj","Bj","Cj","mj","nj","oj","fallback","pj","qj","sj","dataset","dgst","tj","uj","_reactRetry","rj","subtreeFlags","vj","wj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","xj","Dj","Ej","Fj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","size","createElementNS","autoFocus","createTextNode","Gj","Hj","Ij","Jj","Kj","WeakSet","Lj","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","insertBefore","_reactRootContainer","Wj","Xj","Yj","Zj","onCommitFiberUnmount","componentWillUnmount","ak","bk","ck","dk","ek","isHidden","fk","gk","display","hk","ik","jk","kk","__reactInternalSnapshotBeforeUpdate","src","Vk","lk","ceil","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","Infinity","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","finishedWork","finishedLanes","Pk","timeoutHandle","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Bc","Oj","onCommitFiberRoot","mc","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","pendingChildren","al","mutableSourceEagerHydrationData","bl","cache","pendingSuspenseBoundaries","dl","el","fl","gl","hl","il","yj","Zk","kl","reportError","ll","_internalRoot","ml","nl","ol","pl","rl","ql","unmount","unstable_scheduleHydration","splice","querySelectorAll","JSON","stringify","form","sl","usingClientEntryPoint","Events","tl","findFiberByHostInstance","bundleType","rendererPackageName","ul","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","vl","isDisabled","supportsFiber","inject","reactDom_production_min","createPortal","cl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","err","reactDomModule","reactJsxRuntime_production_min","jsx","jsxs","jsxRuntimeModule","mapSource","raw","title","snippet","content","relevance","score","documentId","fullContent","downloadUrl","documentName","sourceType","chunkId","ApiClient","baseUrl","apiKey","chat","response","fetch","method","headers","sessionId","json","status","statusText","sources","chatStream","reader","getReader","decoder","TextDecoder","buffer","fullText","read","decode","stream","lines","line","startsWith","parse","undefined","onToken","onSources","onComplete","getGeneralDocs","since","params","URLSearchParams","documents","getStatus","health","idbProxyableTypes","cursorAdvanceMethods","cursorRequestMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","idbProxyTraps","prop","receiver","IDBTransaction","objectStoreNames","objectStore","wrap","wrapFunction","func","IDBDatabase","transaction","IDBCursor","advance","continue","continuePrimaryKey","args","unwrap","storeNames","tx","sort","transformCachableValue","reject","unlisten","complete","DOMException","cacheDonePromiseForTransaction","object","IDBObjectStore","IDBIndex","some","Proxy","IDBRequest","request","promise","success","result","promisifyRequest","newValue","openDB","blocked","upgrade","blocking","terminated","indexedDB","open","openPromise","oldVersion","newVersion","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","async","storeName","store","all","oldTraps","CyberneticCache","config","dbPromise","documentCount","lastSyncAt","storage","initDB","loadLocalStorageMetadata","localStorage","getItem","parsed","createObjectStore","keyPath","createIndex","loadMetadata","getDB","countMeta","syncMeta","storeLocalStorage","doc","put","toISOString","retrieve","retrieveLocalStorage","getAll","getLastSync","isStale","getTime","maxAge","cacheSize","clear","removeItem","setItem","limited","CyberneticLocalRAG","idf","indexed","loadedFromExport","vocabulary","isIndexed","docFreq","tokens","tokenize","uniqueTokens","token","tfidf","term","termFreq","computeTermFrequency","ask","query","answer","topScore","queryTokens","queryTf","queryTfidf","scores","cosineSimilarity","topResults","filter","topDoc","extractRelevantSnippet","reset","exportVersion","exportedAt","loadFromExport","exportData","entries","tfidfIndex","vocabIndex","tfidfMap","termIndex","weight","tfidfVector","idx","getExportStatus","loaded","chunkCount","isStopWord","freq","maxFreq","max","values","vec1","vec2","dotProduct","norm1","norm2","val1","val","sqrt","scored","s","sentence","sentenceTokens","qt","topSentences","word","CyberneticOfflineStorage","dbName","dbVersion","record","isValid","exportTime","getMeta","hasData","getStoredIds","getAllKeys","close","base64urlDecode","base64","padding","binaryString","atob","bytes","Uint8Array","i","charCodeAt","base64urlDecodeString","verifySignature","signedContent","signature","publicKey","pemKey","pemContents","crypto","subtle","importKey","namedCurve","importPublicKey","TextEncoder","encode","sigBuffer","verify","hash","warn","verifyLicenseToken","inGracePeriod","daysRemaining","parts","headerB64","payloadB64","signatureB64","header","parseJWT","iss","sub","aud","iat","exp","plan","seats","features","licenseVersion","org","graceUntil","validatePayload","keyToUse","expTimestamp","secondsRemaining","calculateDaysRemaining","REQUIRED_FEATURES","LicenseManager","verificationPromise","hasLoggedWarning","loggedMissingFeatures","environment","process","env","NODE_ENV","hostname","devPatterns","pattern","port","protocol","stagingPatterns","detectEnvironment","enforcementMode","licenseKey","onStatusChange","logLicenseStatus","getState","requiresAction","getEnvironment","getEnforcementMode","processResponse","logDevelopmentWarning","getStatusMessage","abs","reVerify","hasFeature","feature","getFeatures","checkClientFeature","checkFeatureWithLog","checkAgenticFeature","logMissingFeature","missingFeature","availableFeatures","info","prefix","CyberneticClient","lastError","systemSettings","settingsLastChecked","SETTINGS_CHECK_INTERVAL","agenticCapabilities","offlineStorage","omegaRAG","offlineWarningShown","apiUrl","enabled","cacheMaxAge","cacheOnConnect","cacheStorage","retry","maxRetries","initialDelay","exponentialBackoff","agentic","offline","sitemap","showSummary","showDownload","includeFullContent","maxSources","apiClient","localRAG","licenseManager","monitorConnection","syncCache","initializeOffline","registerAgentic","capabilities","isAgenticEnabled","getAgenticCapabilities","getAgenticConfig","getSourcesConfig","isSourceFeatureAvailable","classifyIntent","agentConfig","AgentClass","agent","interpretIntent","executeAction","smartAsk","classification","shouldEscalate","requireConfirmation","actionResult","storageMode","cacheId","cached","vectorFileUrl","omega","initializeOmega","vectorData","OmegaOfflineRAG","OmegaOfflineRAG$1","reranking","topK","verbose","modelUrl","loadModelFromUrl","modelData","loadModel","reloadOfflineVectors","isOmegaOfflineEnabled","isReady","getOfflineModelInfo","getModelInfo","getLocalRAGStatus","getOfflineStorage","createErrorResponse","settings","checkSystemStatus","maintenanceMode","forceOfflineClients","isCacheValid","fallbackAsk","reply","maintenanceMessage","confidence","degradedReason","apiWithRetry","setStatus","omegaError","normalizeError","retryAfter","skipFallback","askStream","callbacks","processedReply","lastSync","docs","connection","license","getLicenseManager","clearCache","checkConnection","cacheRetentionHours","isMaintenanceMode","getMaintenanceMessage","cacheStatus","retentionMs","lastSyncTime","attempt","pow","sleep","omegaResult","degraded","heading","localRAGStatus","onLine","originalError","parseInt","ms","DEFAULT_NAV_SELECTORS","DEFAULT_EXCLUDE_PATTERNS","SiteMapDiscovery","staticEntries","discoveredEntries","backendEntries","backendCache","isInitialized","initPromise","detectedFramework","popstateHandler","static","enhanceEntries","initialize","performInitialization","waitForDOMReady","cachedEntries","loadFromLocalStorage","refreshInBackground","tasks","discovery","discoverFromFramework","backend","endpoint","fetchFromBackend","results","allSettled","saveToLocalStorage","reason","setupPopstateListener","total","readyState","once","debug","getCacheKey","origin","ttl","cacheTtl","timestamp","framework","cacheRoutes","dispose","getDetectedFramework","getMergedEntries","mergeEntries","getLegacyEntries","path","description","dynamicParams","aliases","detectFramework","routes","discoverReactRouter","discoverVueRouter","discoverNextRoutes","discoverAngularRoutes","domFallback","discoverFromDOM","navSelectors","route","shouldExcludeRoute","excludePaths","entry","transformRoute","defaultRouteTransform","enhanceEntry","win","__REACT_ROUTER_DATA_ROUTER__","__reactRouterContext","__VUE_ROUTER__","__VUE_APP__","$router","__NEXT_DATA__","querySelector","dataRouter","extractRoutesFromConfig","routeConfigs","parentPath","normalizePath","handle","app","router","getRoutes","vueRoutes","vueRoute","component","components","nextData","pages","buildManifest","pagePath","pathToName","selectors","allSelectors","maxLinks","maxDomLinks","userExcludes","allExcludes","seen","linkCount","selector","links","getAttribute","URL","pathname","cleanPath","expiresAt","fetchedAt","tenantScoped","searchParams","includeGeneral","transformBackendResponse","keywords","mergeConfig","merge","priorityOrder","sourcePriority","dedupeStrategy","deduplication","priorityMap","allEntries","sourceEntries","_priority","keepNonConflicting","existing","from","_discoveredAt","parent","segments","Boolean","patterns","RegExp","refresh","getStats","discovered","merged","ACTION_PATTERNS","navigate","fillForm","clickElement","triggerModal","scroll","highlight","custom","CyberneticIntentClassifier","categories","topicKeywords","siteMapDiscovery","siteMapIndex","formIndex","modalIndex","buildIndexes","siteMapConfig","siteMap","forms","field","modals","modal","classify","rawConfidence","normalizedMessage","actionType","buildAction","siteMapResult","fuzzyMatchSiteMap","customResult","matchCustomAction","matchedPatterns","baseWeight","threshold","confidenceThreshold","extractTarget","siteMatch","findSiteMapMatch","similarity","explanation","parseFormIntent","buttonName","findButtonSelector","modalName","findModalConfig","trigger","findScrollTarget","findElementByDescription","actionName","customActions","stripArticles","normalizedTarget","strippedTarget","exact","bestMatch","bestScore","score1","calculateSimilarity","score2","valueMatch","normalizedName","btn","generateUniqueSelector","normalizedDesc","className","classes","parentElement","setA","setB","intersection","union","getConfig","trainFromExport","category","keyword","docTopics","extractTopicsFromDocuments","topic","loadSitemapEntries","loadSitemap","sitemapData","sitemapUrl","siteMapEntry","descWords","topics","metadata","titleWords","contentWords","wordFreq","topWords","getCategories","getTopicKeywords","isTrained","initializeDiscovery","rebuildIndexesFromDiscovery","mergedEntries","isSiteMapReady","ensureSiteMapReady","refreshSiteMap","getSiteMapDiscovery","getSiteMapEntries","CyberneticAgent","highlightOverlay","actionCount","lastActionReset","classifier","injectStyles","maxActions","maxActionsPerTurn","isActionAllowed","scrollToElement","highlightElement","executeCustomAction","allowedActions","mappedType","isSelectorAllowed","blockedSelectors","allowedSelectors","allowed","validateNavigationUrl","queryString","isInternalUrl","tryClientSideNavigation","sanitizedSelector","sanitizeSelector","HTMLInputElement","HTMLTextAreaElement","HTMLSelectElement","option","find","opt","Event","nativeInputValueSetter","HTMLElement","scrollIntoView","behavior","block","click","triggerSelector","scrollTo","scrollHeight","removeHighlight","rect","getBoundingClientRect","overlay","cssText","isAllowedCustomAction","history","pushState","PopStateEvent","HashChangeEvent","remove","getElementById","head","getClassifier","resetActionCount","defaultBase","hiddenUnits","activation","ridgeLambda","weightInit","seed","dropout","toFile","modelName","level","gauss$1","rng","cos","PI","useTokenizer","maxLen","charSet","tokenizerDelimiter","OnlineRidge","lambda","Ainv","Float64Array","Beta","inv","update","phi","row","j","denom","scale","predict","out","l2$1","cosine$2","_a","_b","dotv","Number","isFinite","__awaiter","thisArg","_arguments","generator","fulfilled","step","rejected","splitSentences$1","clean","omegaComposeAnswer","question_1","items_1","question","items","opts","dim","sigma","rounds","personality","sentences","isMetaSentence","rff","buildRFF","ridge","vec","len","dot","off","sin","mapRFF","eps","nrm","o","normalizeL2","qVec","qTokens","lower","summary","meanVec","subs","embeds","weights","fill","norm","rescored","rewrite","dotProd$1","baseKernel$1","hypot","projectToDense","vocabSize","landmarkMat","kernel","sparseToDense","feats","SuppressedError","STEM_CACHE","normalizeWord","endsWith","rules","rep","topKIndices","arr","_","hybridRetrieve","chunks","vocabMap","tfidfDocs","denseDocs","landmarksIdx","alpha","beta","headingW","useStem","expandQuery","shouldExpand","prefilter","qexp","adds","toks","doStem","tokenize$1","qvec","vmap","counts","maxTf","toTfidf","qdense","tfidfScores","av","bv","cosineSparse","denseScores","kernelSim","bonus","kws","syntaxBoost","rich","hit","keywordBonus","alphaClamped","clamp$1","tanh","pre","idxs","finalIdxs","indices","STOP$1","buildCorpusStats","vocab","tfs","docLens","nextId","df_i","avgLen","reduce","stats","cosine$1","small","large","projectSparse","n2","containsGoCodeBlock","containsCodeBlock","headingQueryMatch","ht","buildFeatures$1","chunk","qTfIdf","cTfIdf","qTfRaw","cTfRaw","cLen","projQ","projC","names","bm25","qTf","dTf","dLen","k1","bm25Score","hMatch","jac","inter","uni","jaccard$1","hasGo","hasCode","score_base","lenChars","l1","Ridge","mu","fit","sig","Zy","zij","sum","generateWeakLabel","txt","cosIdx","bm25Idx","bm","priorIdx","prior","rerank","lambdaRidge","randomProjDim","exposeFeatures","attachFeatureNames","tfRaw","tfidfAll","featPacks","label","allSame","every","rr","minS","maxS","rawScores","featureNames","s01","sigmoid","score_rr","p_relevant","_features","_feature_names","filterMMR","probThresh","epsilonTop","useMMR","mmrLambda","budgetChars","bandKept","used","sel","tfList","selectedIdx","bestIdx","bestVal","cand","red","sim","chosen","addLen","mmrFilter","freeze","__proto__","modelState","model","secId","importModel","loadTime","toFixed","savedAt","vocabularySize","landmarkCount","hasDenseVectors","processingTime","retrievalResult","reranked","rerankAndFilter","item","rerankScore","probability","determineConfidence","queryClassification","classifyQuery","lowerQuery","words","factualKeywords","proceduralKeywords","conceptualKeywords","navigationKeywords","phrase","firstWord","sourceCount","ChatBubble","position","unreadCount","_jsxs","_jsx","viewBox","xmlns","stroke","strokeLinecap","strokeLinejoin","ChatHeader","subtitle","onClose","renderMarkdown","EyeIcon","cx","cy","DownloadIcon","points","x1","y1","x2","y2","SourceItem","showSummaryButton","showDownloadButton","onViewSummary","onDownload","isExpanded","setIsExpanded","round","SourceCitation","isOnline","formatTime","diff","toDateString","toLocaleTimeString","hour","minute","toLocaleDateString","day","MessageBubble","sourceConfig","onViewSourceSummary","onDownloadSource","showSources","setShowSources","role","isStreaming","TypingIndicator","MessageList","messages","isProcessing","listRef","ChatInput","placeholder","onSend","inputRef","handleSend","onChange","textarea","onKeyDown","rows","ActionCard","onConfirm","onCancel","getActionIcon","getActionLabel","StatusIndicator","getLabel","ChatWindow","connectionStatus","pendingAction","headerTitle","headerSubtitle","showPoweredBy","onSendMessage","onActionConfirm","onActionCancel","rel","defaultTheme","primaryColor","primaryHover","backgroundColor","surfaceColor","textColor","textMuted","borderColor","userBubbleBackground","userBubbleText","botBubbleBackground","botBubbleText","widgetWidth","widgetHeight","bubbleSize","borderRadius","fontFamily","fontSize","shadow","ThemeContext","ThemeProvider","theme","themeValue","mergedTheme","cssVariables","useTheme","ChatbotWidget","defaults","_documentCurrentScript","baseURI","REACT_APP_ASTERMIND_RAG_API_KEY","REACT_APP_ASTERMIND_RAG_API_SERVER_URL","injected","__ASTERMIND_CONFIG__","getDefaultConfig","propApiKey","propApiUrl","throwOnMissingKey","greeting","sourceDisplay","defaultOpen","onReady","onMessage","onAction","onToggle","isOpen","setIsOpen","client","setClient","setMessages","setIsProcessing","setSessionId","setPendingAction","setConnectionStatus","resolvedSourceConfig","clientConfig","handleViewSourceSummary","handleDownloadSource","contentDisposition","filename","blob","createObjectURL","download","revokeObjectURL","errorMessage","agenticConfig","cyberneticClient","intentClassifier","registerAgenticCapabilities","greetingMsg","handleToggle","newState","handleClose","handleSendMessage","userMessage","prev","smartResult","agentAction","executedAction","actionMessage","finalMessage","assistantId","placeholderMessage","msg","handleNonStreamingResponse","messageId","handleActionConfirm","confirmedAction","failedAction","handleActionCancel","cancelledAction","root","init","scriptConfig","script","loadScriptAttributes","mergedConfig","globalConfig","astermindConfig","loadGlobalConfig","container","widgetProps","containerEl","mountPoint","React","AsterMindChatbot"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]}