@intelliweave/embedded 1.7.58 → 1.7.59

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,4 +1,4 @@
1
- import{b as Ni,c as va,d as _a,e as J}from"./chunk-AIYMQX7V.js";var Sl=Ni((sw,_l)=>{"use strict";var di=Object.prototype.hasOwnProperty,vl=Object.prototype.toString,ml=Object.defineProperty,gl=Object.getOwnPropertyDescriptor,hl=function(n){return typeof Array.isArray=="function"?Array.isArray(n):vl.call(n)==="[object Array]"},fl=function(n){if(!n||vl.call(n)!=="[object Object]")return!1;var t=di.call(n,"constructor"),i=n.constructor&&n.constructor.prototype&&di.call(n.constructor.prototype,"isPrototypeOf");if(n.constructor&&!t&&!i)return!1;var r;for(r in n);return typeof r>"u"||di.call(n,r)},yl=function(n,t){ml&&t.name==="__proto__"?ml(n,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):n[t.name]=t.newValue},bl=function(n,t){if(t==="__proto__")if(di.call(n,t)){if(gl)return gl(n,t).value}else return;return n[t]};_l.exports=function e(){var n,t,i,r,a,o,s=arguments[0],l=1,c=arguments.length,u=!1;for(typeof s=="boolean"&&(u=s,s=arguments[1]||{},l=2),(s==null||typeof s!="object"&&typeof s!="function")&&(s={});l<c;++l)if(n=arguments[l],n!=null)for(t in n)i=bl(s,t),r=bl(n,t),s!==r&&(u&&r&&(fl(r)||(a=hl(r)))?(a?(a=!1,o=i&&hl(i)?i:[]):o=i&&fl(i)?i:{},yl(s,{name:t,newValue:e(u,o,r)})):typeof r<"u"&&yl(s,{name:t,newValue:r}));return s}});var Wl=Ni(V=>{"use strict";var un=Symbol.for("react.element"),og=Symbol.for("react.portal"),sg=Symbol.for("react.fragment"),lg=Symbol.for("react.strict_mode"),cg=Symbol.for("react.profiler"),ug=Symbol.for("react.provider"),dg=Symbol.for("react.context"),pg=Symbol.for("react.forward_ref"),mg=Symbol.for("react.suspense"),gg=Symbol.for("react.memo"),hg=Symbol.for("react.lazy"),Nl=Symbol.iterator;function fg(e){return e===null||typeof e!="object"?null:(e=Nl&&e[Nl]||e["@@iterator"],typeof e=="function"?e:null)}var Ol={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Bl=Object.assign,Fl={};function Dt(e,n,t){this.props=e,this.context=n,this.refs=Fl,this.updater=t||Ol}Dt.prototype.isReactComponent={};Dt.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=null)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,e,n,"setState")};Dt.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Gl(){}Gl.prototype=Dt.prototype;function ua(e,n,t){this.props=e,this.context=n,this.refs=Fl,this.updater=t||Ol}var da=ua.prototype=new Gl;da.constructor=ua;Bl(da,Dt.prototype);da.isPureReactComponent=!0;var Ll=Array.isArray,zl=Object.prototype.hasOwnProperty,pa={current:null},Ul={key:!0,ref:!0,__self:!0,__source:!0};function Hl(e,n,t){var i,r={},a=null,o=null;if(n!=null)for(i in n.ref!==void 0&&(o=n.ref),n.key!==void 0&&(a=""+n.key),n)zl.call(n,i)&&!Ul.hasOwnProperty(i)&&(r[i]=n[i]);var s=arguments.length-2;if(s===1)r.children=t;else if(1<s){for(var l=Array(s),c=0;c<s;c++)l[c]=arguments[c+2];r.children=l}if(e&&e.defaultProps)for(i in s=e.defaultProps,s)r[i]===void 0&&(r[i]=s[i]);return{$$typeof:un,type:e,key:a,ref:o,props:r,_owner:pa.current}}function yg(e,n){return{$$typeof:un,type:e.type,key:n,ref:e.ref,props:e.props,_owner:e._owner}}function ma(e){return typeof e=="object"&&e!==null&&e.$$typeof===un}function bg(e){var n={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(t){return n[t]})}var Ml=/\/+/g;function ca(e,n){return typeof e=="object"&&e!==null&&e.key!=null?bg(""+e.key):n.toString(36)}function xi(e,n,t,i,r){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(a){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case un:case og:o=!0}}if(o)return o=e,r=r(o),e=i===""?"."+ca(o,0):i,Ll(r)?(t="",e!=null&&(t=e.replace(Ml,"$&/")+"/"),xi(r,n,t,"",function(c){return c})):r!=null&&(ma(r)&&(r=yg(r,t+(!r.key||o&&o.key===r.key?"":(""+r.key).replace(Ml,"$&/")+"/")+e)),n.push(r)),1;if(o=0,i=i===""?".":i+":",Ll(e))for(var s=0;s<e.length;s++){a=e[s];var l=i+ca(a,s);o+=xi(a,n,t,l,r)}else if(l=fg(e),typeof l=="function")for(e=l.call(e),s=0;!(a=e.next()).done;)a=a.value,l=i+ca(a,s++),o+=xi(a,n,t,l,r);else if(a==="object")throw n=String(e),Error("Objects are not valid as a React child (found: "+(n==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":n)+"). If you meant to render a collection of children, use an array instead.");return o}function Ai(e,n,t){if(e==null)return e;var i=[],r=0;return xi(e,i,"","",function(a){return n.call(t,a,r++)}),i}function vg(e){if(e._status===-1){var n=e._result;n=n(),n.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=n)}if(e._status===1)return e._result.default;throw e._result}var ge={current:null},Ii={transition:null},_g={ReactCurrentDispatcher:ge,ReactCurrentBatchConfig:Ii,ReactCurrentOwner:pa};function Vl(){throw Error("act(...) is not supported in production builds of React.")}V.Children={map:Ai,forEach:function(e,n,t){Ai(e,function(){n.apply(this,arguments)},t)},count:function(e){var n=0;return Ai(e,function(){n++}),n},toArray:function(e){return Ai(e,function(n){return n})||[]},only:function(e){if(!ma(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};V.Component=Dt;V.Fragment=sg;V.Profiler=cg;V.PureComponent=ua;V.StrictMode=lg;V.Suspense=mg;V.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=_g;V.act=Vl;V.cloneElement=function(e,n,t){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var i=Bl({},e.props),r=e.key,a=e.ref,o=e._owner;if(n!=null){if(n.ref!==void 0&&(a=n.ref,o=pa.current),n.key!==void 0&&(r=""+n.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(l in n)zl.call(n,l)&&!Ul.hasOwnProperty(l)&&(i[l]=n[l]===void 0&&s!==void 0?s[l]:n[l])}var l=arguments.length-2;if(l===1)i.children=t;else if(1<l){s=Array(l);for(var c=0;c<l;c++)s[c]=arguments[c+2];i.children=s}return{$$typeof:un,type:e.type,key:r,ref:a,props:i,_owner:o}};V.createContext=function(e){return e={$$typeof:dg,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:ug,_context:e},e.Consumer=e};V.createElement=Hl;V.createFactory=function(e){var n=Hl.bind(null,e);return n.type=e,n};V.createRef=function(){return{current:null}};V.forwardRef=function(e){return{$$typeof:pg,render:e}};V.isValidElement=ma;V.lazy=function(e){return{$$typeof:hg,_payload:{_status:-1,_result:e},_init:vg}};V.memo=function(e,n){return{$$typeof:gg,type:e,compare:n===void 0?null:n}};V.startTransition=function(e){var n=Ii.transition;Ii.transition={};try{e()}finally{Ii.transition=n}};V.unstable_act=Vl;V.useCallback=function(e,n){return ge.current.useCallback(e,n)};V.useContext=function(e){return ge.current.useContext(e)};V.useDebugValue=function(){};V.useDeferredValue=function(e){return ge.current.useDeferredValue(e)};V.useEffect=function(e,n){return ge.current.useEffect(e,n)};V.useId=function(){return ge.current.useId()};V.useImperativeHandle=function(e,n,t){return ge.current.useImperativeHandle(e,n,t)};V.useInsertionEffect=function(e,n){return ge.current.useInsertionEffect(e,n)};V.useLayoutEffect=function(e,n){return ge.current.useLayoutEffect(e,n)};V.useMemo=function(e,n){return ge.current.useMemo(e,n)};V.useReducer=function(e,n,t){return ge.current.useReducer(e,n,t)};V.useRef=function(e){return ge.current.useRef(e)};V.useState=function(e){return ge.current.useState(e)};V.useSyncExternalStore=function(e,n,t){return ge.current.useSyncExternalStore(e,n,t)};V.useTransition=function(){return ge.current.useTransition()};V.version="18.3.1"});var ql=Ni((OT,jl)=>{"use strict";jl.exports=Wl()});var le=[];for(pn=0;pn<256;++pn)le.push((pn+256).toString(16).slice(1));var pn;function Sa(e,n=0){return(le[e[n+0]]+le[e[n+1]]+le[e[n+2]]+le[e[n+3]]+"-"+le[e[n+4]]+le[e[n+5]]+"-"+le[e[n+6]]+le[e[n+7]]+"-"+le[e[n+8]]+le[e[n+9]]+"-"+le[e[n+10]]+le[e[n+11]]+le[e[n+12]]+le[e[n+13]]+le[e[n+14]]+le[e[n+15]]).toLowerCase()}var mn,Ql=new Uint8Array(16);function Li(){if(!mn&&(mn=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!mn))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return mn(Ql)}var ec=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Mi={randomUUID:ec};function tc(e,n,t){if(Mi.randomUUID&&!n&&!e)return Mi.randomUUID();e=e||{};var i=e.random||(e.rng||Li)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,n){t=t||0;for(var r=0;r<16;++r)n[t+r]=i[r];return n}return Sa(i)}var Te=tc;function Oi(e){let n=(e||"").split(`
1
+ import{b as Li,c as va,d as _a,e as J}from"./chunk-AIYMQX7V.js";var Sl=Li((sw,_l)=>{"use strict";var pi=Object.prototype.hasOwnProperty,vl=Object.prototype.toString,ml=Object.defineProperty,gl=Object.getOwnPropertyDescriptor,hl=function(n){return typeof Array.isArray=="function"?Array.isArray(n):vl.call(n)==="[object Array]"},fl=function(n){if(!n||vl.call(n)!=="[object Object]")return!1;var t=pi.call(n,"constructor"),i=n.constructor&&n.constructor.prototype&&pi.call(n.constructor.prototype,"isPrototypeOf");if(n.constructor&&!t&&!i)return!1;var r;for(r in n);return typeof r>"u"||pi.call(n,r)},yl=function(n,t){ml&&t.name==="__proto__"?ml(n,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):n[t.name]=t.newValue},bl=function(n,t){if(t==="__proto__")if(pi.call(n,t)){if(gl)return gl(n,t).value}else return;return n[t]};_l.exports=function e(){var n,t,i,r,a,o,s=arguments[0],l=1,c=arguments.length,u=!1;for(typeof s=="boolean"&&(u=s,s=arguments[1]||{},l=2),(s==null||typeof s!="object"&&typeof s!="function")&&(s={});l<c;++l)if(n=arguments[l],n!=null)for(t in n)i=bl(s,t),r=bl(n,t),s!==r&&(u&&r&&(fl(r)||(a=hl(r)))?(a?(a=!1,o=i&&hl(i)?i:[]):o=i&&fl(i)?i:{},yl(s,{name:t,newValue:e(u,o,r)})):typeof r<"u"&&yl(s,{name:t,newValue:r}));return s}});var Wl=Li(V=>{"use strict";var un=Symbol.for("react.element"),og=Symbol.for("react.portal"),sg=Symbol.for("react.fragment"),lg=Symbol.for("react.strict_mode"),cg=Symbol.for("react.profiler"),ug=Symbol.for("react.provider"),dg=Symbol.for("react.context"),pg=Symbol.for("react.forward_ref"),mg=Symbol.for("react.suspense"),gg=Symbol.for("react.memo"),hg=Symbol.for("react.lazy"),Ll=Symbol.iterator;function fg(e){return e===null||typeof e!="object"?null:(e=Ll&&e[Ll]||e["@@iterator"],typeof e=="function"?e:null)}var Ol={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Bl=Object.assign,Fl={};function Dt(e,n,t){this.props=e,this.context=n,this.refs=Fl,this.updater=t||Ol}Dt.prototype.isReactComponent={};Dt.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=null)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,e,n,"setState")};Dt.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Gl(){}Gl.prototype=Dt.prototype;function ua(e,n,t){this.props=e,this.context=n,this.refs=Fl,this.updater=t||Ol}var da=ua.prototype=new Gl;da.constructor=ua;Bl(da,Dt.prototype);da.isPureReactComponent=!0;var Nl=Array.isArray,zl=Object.prototype.hasOwnProperty,pa={current:null},Ul={key:!0,ref:!0,__self:!0,__source:!0};function Hl(e,n,t){var i,r={},a=null,o=null;if(n!=null)for(i in n.ref!==void 0&&(o=n.ref),n.key!==void 0&&(a=""+n.key),n)zl.call(n,i)&&!Ul.hasOwnProperty(i)&&(r[i]=n[i]);var s=arguments.length-2;if(s===1)r.children=t;else if(1<s){for(var l=Array(s),c=0;c<s;c++)l[c]=arguments[c+2];r.children=l}if(e&&e.defaultProps)for(i in s=e.defaultProps,s)r[i]===void 0&&(r[i]=s[i]);return{$$typeof:un,type:e,key:a,ref:o,props:r,_owner:pa.current}}function yg(e,n){return{$$typeof:un,type:e.type,key:n,ref:e.ref,props:e.props,_owner:e._owner}}function ma(e){return typeof e=="object"&&e!==null&&e.$$typeof===un}function bg(e){var n={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(t){return n[t]})}var Ml=/\/+/g;function ca(e,n){return typeof e=="object"&&e!==null&&e.key!=null?bg(""+e.key):n.toString(36)}function Ii(e,n,t,i,r){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(a){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case un:case og:o=!0}}if(o)return o=e,r=r(o),e=i===""?"."+ca(o,0):i,Nl(r)?(t="",e!=null&&(t=e.replace(Ml,"$&/")+"/"),Ii(r,n,t,"",function(c){return c})):r!=null&&(ma(r)&&(r=yg(r,t+(!r.key||o&&o.key===r.key?"":(""+r.key).replace(Ml,"$&/")+"/")+e)),n.push(r)),1;if(o=0,i=i===""?".":i+":",Nl(e))for(var s=0;s<e.length;s++){a=e[s];var l=i+ca(a,s);o+=Ii(a,n,t,l,r)}else if(l=fg(e),typeof l=="function")for(e=l.call(e),s=0;!(a=e.next()).done;)a=a.value,l=i+ca(a,s++),o+=Ii(a,n,t,l,r);else if(a==="object")throw n=String(e),Error("Objects are not valid as a React child (found: "+(n==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":n)+"). If you meant to render a collection of children, use an array instead.");return o}function xi(e,n,t){if(e==null)return e;var i=[],r=0;return Ii(e,i,"","",function(a){return n.call(t,a,r++)}),i}function vg(e){if(e._status===-1){var n=e._result;n=n(),n.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=n)}if(e._status===1)return e._result.default;throw e._result}var ge={current:null},Ri={transition:null},_g={ReactCurrentDispatcher:ge,ReactCurrentBatchConfig:Ri,ReactCurrentOwner:pa};function Vl(){throw Error("act(...) is not supported in production builds of React.")}V.Children={map:xi,forEach:function(e,n,t){xi(e,function(){n.apply(this,arguments)},t)},count:function(e){var n=0;return xi(e,function(){n++}),n},toArray:function(e){return xi(e,function(n){return n})||[]},only:function(e){if(!ma(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};V.Component=Dt;V.Fragment=sg;V.Profiler=cg;V.PureComponent=ua;V.StrictMode=lg;V.Suspense=mg;V.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=_g;V.act=Vl;V.cloneElement=function(e,n,t){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var i=Bl({},e.props),r=e.key,a=e.ref,o=e._owner;if(n!=null){if(n.ref!==void 0&&(a=n.ref,o=pa.current),n.key!==void 0&&(r=""+n.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(l in n)zl.call(n,l)&&!Ul.hasOwnProperty(l)&&(i[l]=n[l]===void 0&&s!==void 0?s[l]:n[l])}var l=arguments.length-2;if(l===1)i.children=t;else if(1<l){s=Array(l);for(var c=0;c<l;c++)s[c]=arguments[c+2];i.children=s}return{$$typeof:un,type:e.type,key:r,ref:a,props:i,_owner:o}};V.createContext=function(e){return e={$$typeof:dg,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:ug,_context:e},e.Consumer=e};V.createElement=Hl;V.createFactory=function(e){var n=Hl.bind(null,e);return n.type=e,n};V.createRef=function(){return{current:null}};V.forwardRef=function(e){return{$$typeof:pg,render:e}};V.isValidElement=ma;V.lazy=function(e){return{$$typeof:hg,_payload:{_status:-1,_result:e},_init:vg}};V.memo=function(e,n){return{$$typeof:gg,type:e,compare:n===void 0?null:n}};V.startTransition=function(e){var n=Ri.transition;Ri.transition={};try{e()}finally{Ri.transition=n}};V.unstable_act=Vl;V.useCallback=function(e,n){return ge.current.useCallback(e,n)};V.useContext=function(e){return ge.current.useContext(e)};V.useDebugValue=function(){};V.useDeferredValue=function(e){return ge.current.useDeferredValue(e)};V.useEffect=function(e,n){return ge.current.useEffect(e,n)};V.useId=function(){return ge.current.useId()};V.useImperativeHandle=function(e,n,t){return ge.current.useImperativeHandle(e,n,t)};V.useInsertionEffect=function(e,n){return ge.current.useInsertionEffect(e,n)};V.useLayoutEffect=function(e,n){return ge.current.useLayoutEffect(e,n)};V.useMemo=function(e,n){return ge.current.useMemo(e,n)};V.useReducer=function(e,n,t){return ge.current.useReducer(e,n,t)};V.useRef=function(e){return ge.current.useRef(e)};V.useState=function(e){return ge.current.useState(e)};V.useSyncExternalStore=function(e,n,t){return ge.current.useSyncExternalStore(e,n,t)};V.useTransition=function(){return ge.current.useTransition()};V.version="18.3.1"});var ql=Li((OT,jl)=>{"use strict";jl.exports=Wl()});var le=[];for(mn=0;mn<256;++mn)le.push((mn+256).toString(16).slice(1));var mn;function Sa(e,n=0){return(le[e[n+0]]+le[e[n+1]]+le[e[n+2]]+le[e[n+3]]+"-"+le[e[n+4]]+le[e[n+5]]+"-"+le[e[n+6]]+le[e[n+7]]+"-"+le[e[n+8]]+le[e[n+9]]+"-"+le[e[n+10]]+le[e[n+11]]+le[e[n+12]]+le[e[n+13]]+le[e[n+14]]+le[e[n+15]]).toLowerCase()}var gn,Ql=new Uint8Array(16);function Ni(){if(!gn&&(gn=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!gn))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return gn(Ql)}var ec=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Mi={randomUUID:ec};function tc(e,n,t){if(Mi.randomUUID&&!n&&!e)return Mi.randomUUID();e=e||{};var i=e.random||(e.rng||Ni)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,n){t=t||0;for(var r=0;r<16;++r)n[t+r]=i[r];return n}return Sa(i)}var Te=tc;function Oi(e){let n=(e||"").split(`
2
2
  `);for(;n.length>0&&n[0].trim()=="";)n.shift();for(;n.length>0&&n[n.length-1].trim()=="";)n.pop();let t=1/0;for(let i of n){let r=i.match(/^\s*/)?.[0].length||0;t=Math.min(t,r)}return t>0&&t<1/0&&(n=n.map(i=>i.substring(t))),n.join(`
3
3
  `)}var nc={};function He(){return typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:nc}function $(){return He().intelliweave=He().intelliweave||He().webWeaver||{},He().intelliweave}async function*Ea(e){let n="",t=function*(){for(;;){let a=n.indexOf(`
4
4
 
@@ -6,7 +6,7 @@ import{b as Ni,c as va,d as _a,e as J}from"./chunk-AIYMQX7V.js";var Sl=Ni((sw,_l
6
6
  `);for(let c of l){a=c.indexOf(": ");let u=c.slice(0,a),d=c.slice(a+2);a==-1&&(u=c,d=""),u&&(s[u]!==void 0?s[u]+=`
7
7
  `+d:s[u]=d)}yield s}},i=new TextDecoder,r=e.getReader();for(;;){let{done:a,value:o}=await r.read();if(a)break;n+=i.decode(o,{stream:!0}),yield*t()}n+=i.decode()+`
8
8
 
9
- `,yield*t()}function Ca(){if($().userID)return $().userID;if(typeof localStorage<"u"){let e=localStorage.getItem("intelliweave.uid")||"";return e||(e=Te(),localStorage.setItem("intelliweave.uid",e),e)}else return Te()}var gn=class gn{constructor(n){this.module="IntelliWeave";this.module=n}get debugEnabled(){return gn.debug?!0:typeof window<"u"&&$().debug}log(...n){this.debugEnabled&&console.log(`[IntelliWeave > ${this.module}]`,...n)}debug(...n){this.debugEnabled&&console.debug(`[IntelliWeave > ${this.module}]`,...n)}info(...n){this.debugEnabled&&console.info(`[IntelliWeave > ${this.module}]`,...n)}warn(...n){console.warn(`[IntelliWeave > ${this.module}]`,...n)}error(...n){console.error(`[IntelliWeave > ${this.module}]`,...n)}timer(n,...t){let i=Date.now();return this.debug(`[${n} 0ms] Started`,...t),(...r)=>this.debug(`[${n} ${Math.floor(Date.now()-i)}ms]`,...r)}};gn.debug=!1;var q=gn;var ka=["!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~",[161],[162],[163],[164],[165],[166],[167],[168],[169],[170],[171],[172],[174],[175],[176],[177],[178],[179],[180],[181],[182],[183],[184],[185],[186],[187],[188],[189],[190],[191],[192],[193],[194],[195],[196],[197],[198],[199],[200],[201],[202],[203],[204],[205],[206],[207],[208],[209],[210],[211],[212],[213],[214],[215],[216],[217],[218],[219],[220],[221],[222],[223],[224],[225],[226],[227],[228],[229],[230],[231],[232],[233],[234],[235],[236],[237],[238],[239],[240],[241],[242],[243],[244],[245],[246],[247],[248],[249],[250],[251],[252],[253],[254],[255],"\0","","","","","","","\x07","\b"," ",`
9
+ `,yield*t()}function Ca(){if($().userID)return $().userID||"";if(typeof localStorage<"u"){let e=localStorage.getItem("intelliweave.uid")||"";return e||(e=Te(),localStorage.setItem("intelliweave.uid",e),e)}else return Te()}var hn=class hn{constructor(n){this.module="IntelliWeave";this.module=n}get debugEnabled(){return hn.debug?!0:typeof window<"u"&&$().debug}log(...n){this.debugEnabled&&console.log(`[IntelliWeave > ${this.module}]`,...n)}debug(...n){this.debugEnabled&&console.debug(`[IntelliWeave > ${this.module}]`,...n)}info(...n){this.debugEnabled&&console.info(`[IntelliWeave > ${this.module}]`,...n)}warn(...n){console.warn(`[IntelliWeave > ${this.module}]`,...n)}error(...n){console.error(`[IntelliWeave > ${this.module}]`,...n)}timer(n,...t){let i=Date.now();return this.debug(`[${n} 0ms] Started`,...t),(...r)=>this.debug(`[${n} ${Math.floor(Date.now()-i)}ms]`,...r)}};hn.debug=!1;var q=hn;var ka=["!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~",[161],[162],[163],[164],[165],[166],[167],[168],[169],[170],[171],[172],[174],[175],[176],[177],[178],[179],[180],[181],[182],[183],[184],[185],[186],[187],[188],[189],[190],[191],[192],[193],[194],[195],[196],[197],[198],[199],[200],[201],[202],[203],[204],[205],[206],[207],[208],[209],[210],[211],[212],[213],[214],[215],[216],[217],[218],[219],[220],[221],[222],[223],[224],[225],[226],[227],[228],[229],[230],[231],[232],[233],[234],[235],[236],[237],[238],[239],[240],[241],[242],[243],[244],[245],[246],[247],[248],[249],[250],[251],[252],[253],[254],[255],"\0","","","","","","","\x07","\b"," ",`
10
10
  `,"\v","\f","\r","","","","","","","","","","","","","","\x1B","","","",""," ","\x7F",[128],[129],[130],[131],[132],[133],[134],[135],[136],[137],[138],[139],[140],[141],[142],[143],[144],[145],[146],[147],[148],[149],[150],[151],[152],[153],[154],[155],[156],[157],[158],[159],[160],[173]," "," ","in"," t"," ","er"," ","on"," a","re","at","st","en","or"," th",`
11
11
 
12
12
  `," c","le"," s","it","an","ar","al"," the",`;
@@ -3246,12 +3246,12 @@ import{b as Ni,c as va,d as _a,e as J}from"./chunk-AIYMQX7V.js";var Sl=Ni((sw,_l
3246
3246
  `," spac"," rookies","(describing","ngen",[224,174,191,224,174],".rdf",".Mutex"," kneeling"," QE","setMax","ReadStream"," ventas","sut","cmpeq",".WriteAllText"," Experienced","$__"," kaum"," LIS"," documentos","_HEALTH","icontains"," artisans","OWNER"," blinked","getDisplay"," toen"," rowNum"," avril"," invis"," Kear","toBeInTheDocument","apur"," racked"," McMaster","_ATTRIB","Haz"," factura","/ts"," \u0440\u0430\u0437\u043C\u0435\u0440"," zf"," shortfall",".fasta"," CONSTANT",".managed","gems","SharedPointer"," blurry","brightness","(components",` ..."
3247
3247
 
3248
3248
  `,"SELL"," Illustrator",".getChannel"," trouv\xE9","ysters"," vois"," Linden"," emojis"," brawl"," MSR"," Elo"," Croatian","PopupMenu","Lewis",".JWT"," astonished","Bush","(itemId"," detachment"," Encore","\u5C14"," rekl"," cram",")$/",".getHost","_recommend","-HT","_calibration","Authenticate",".firebaseapp","UNIX"," Camera"," HEAP","Ideal",".office"," goofy","(Symbol"," jouer","_partitions"," rapidement"," GNUNET","idUser"," supervise","(Contact","AWN","\u3058"," naam"," aust","\u5728\u7EBF","_softmax","AllowAnonymous","ammable","ROUTE","*D"," aden"," Cristina"," Cristiano"," bloodstream","subclass","_persona","CHILD","-know"," navigationOptions"," Zukunft"," Pixar","Tyler"," underworld"," sincerity"," dispenser"," kter","idders",".addNode","-checked"," keyst"," WTO",".signals"," adventurer"," Pang","\\R","=pos"," dispensaries"," Closet",'("{\\"',"ideon"," n\xE9cessaire",`()"
3249
- `,"_RECEIVED"," r\xE9sultats"," moden"," Icelandic",";d",".allowed","(newUser"," merciless",".WaitFor"," daycare"," Conveyor"],ic=ka.concat(wa);ka.length=0;wa.length=0;var Ta=ic;var mt="all";var Aa=e=>e<=127;function Bi(e){if(e.length===0)return!1;let n=e.charCodeAt(e.length-1);return n>=55296&&n<=56319}function rc(e){let n=0;for(;n<e.length;){let t=e[n],i=0,r=0;if(t<=127)i=1,r=t;else if((t&224)===192){if(i=2,r=t&31,t<=193)return!1}else if((t&240)===224)i=3,r=t&15;else if((t&248)===240){if(i=4,r=t&7,t>244)return!1}else return!1;if(n+i>e.length)return!1;for(let a=1;a<i;a++){let o=e[n+a];if(o===void 0||(o&192)!==128)return!1;r=r<<6|o&63}if(i===2&&r<128||i===3&&r<2048||i===4&&r<65536||r>=55296&&r<=57343||r>1114111)return!1;n+=i}return!0}var ac=new TextDecoder("utf8",{fatal:!1});function xa(e){if(rc(e))return ac.decode(e)}function Ia(e,n){let t=Math.min(e.length,n.length);for(let i=0;i<t;i++)if(e[i]!==n[i])return e[i]-n[i];return e.length-n.length}function Ra(e){let n=0;return e.forEach(t=>{n=Math.max(n,t)}),n}function Fi(e){return e.replace(/[$()*+.?[\\\]^{|}]/g,"\\$&")}function Gi(e){let t=[...e].map(Fi).join("|");return new RegExp(`(${t})`)}var hn=new Uint8Array(0),gt=new TextDecoder("utf8"),fn=class{constructor({bytePairRankDecoder:n,specialTokensEncoder:t,tokenSplitRegex:i,mergeCacheSize:r=1e5}){J(this,"mergeableBytePairRankCount");J(this,"bytePairRankDecoder");J(this,"bytePairNonUtfRankDecoder",new Map);J(this,"bytePairNonUtfSortedEncoder");J(this,"bytePairStringRankEncoder");J(this,"tokenSplitRegex");J(this,"specialTokensEncoder");J(this,"specialTokensDecoder");J(this,"specialTokenPatternRegex");J(this,"textEncoder",new TextEncoder);J(this,"mergeCache");J(this,"mergeCacheSize");this.bytePairRankDecoder=n,this.bytePairStringRankEncoder=new Map,this.mergeCacheSize=r,r>0&&(this.mergeCache=new Map),this.mergeableBytePairRankCount=Object.keys(n).length;let a=[];n.forEach((l,c)=>{if(typeof l=="string"){this.bytePairStringRankEncoder.set(l,c);return}let u=new Uint8Array(l);a.push([u,c]),this.bytePairNonUtfRankDecoder.set(c,u)}),this.bytePairNonUtfSortedEncoder=a.sort((l,c)=>Ia(l[0],c[0])),this.specialTokensEncoder=t??new Map,this.specialTokensDecoder=t?new Map([...t].map(([l,c])=>[c,l])):new Map,this.tokenSplitRegex=i;let s=[...this.specialTokensEncoder.keys()].map(Fi).join("|");try{this.specialTokenPatternRegex=new RegExp(s,"y")}catch{throw new Error("Invalid regular expression pattern.")}}setMergeCacheSize(n){this.mergeCacheSize===0&&n>0&&(this.mergeCache=new Map),this.mergeCacheSize=n,n===0&&(this.mergeCache=void 0)}clearMergeCache(){this.mergeCache?.clear()}*encodeNativeGenerator(n,t){let i=0,r=0;for(;;){let a=this.findNextSpecialToken(n,t,i),o=a?.[0],s=o??n.length,l=i===0&&s===n.length?n:n.slice(i,s);for(let[c]of l.matchAll(this.tokenSplitRegex)){let u=this.getBpeRankFromString(c);if(u!==void 0){r=1,yield[u];continue}let d=this.bytePairEncode(c);r=d.length,yield d}if(o!==void 0){let c=a[1],u=this.specialTokensEncoder.get(c);if(u===void 0)throw new Error(`Special token "${c}" is not in the special token encoder.`);yield[u],i=o+c.length,r=1}else break}return r}encodeNative(n,t){let i=0,r=[];for(;;){let a=this.findNextSpecialToken(n,t,i),o=a?.[0],s=o??n.length,l=i===0&&s===n.length?n:n.slice(i,s);for(let[c]of l.matchAll(this.tokenSplitRegex)){let u=this.getBpeRankFromString(c);if(u!==void 0){r.push(u);continue}let d=this.bytePairEncode(c);r.push(...d)}if(o!==void 0){let c=a[1],u=this.specialTokensEncoder.get(c);if(u===void 0)throw new Error(`Special token "${c}" is not in the special token encoder.`);r.push(u),i=o+c.length}else break}return r}countNative(n,t){let i=0,r=0;for(;;){let a=this.findNextSpecialToken(n,t,i),o=a?.[0],s=o??n.length,l=i===0&&s===n.length?n:n.slice(i,s);for(let[c]of l.matchAll(this.tokenSplitRegex)){if(this.getBpeRankFromString(c)!==void 0){r++;continue}let d=this.bytePairEncode(c);r+=d.length}if(o!==void 0){let c=a[1];if(this.specialTokensEncoder.get(c)===void 0)throw new Error(`Special token "${c}" is not in the special token encoder.`);r++,i=o+c.length}else break}return r}*decodeNativeGenerator(n){for(let t of n){let i=this.tryDecodeToken(t);i&&(yield i)}}decodeNative(n){let t="",i=hn;for(let r of n){let a=this.tryDecodeToken(r);if(a===void 0)throw new Error(`Token ${r} is not in the byte pair encoder.`);if(typeof a=="string")i!==hn&&(t+=gt.decode(i,{stream:!0}),i=hn),t+=a;else{let o=new Uint8Array(i.length+a.length);o.set(i),o.set(a,i.length),i=o}}return i!==hn&&(t+=gt.decode(i,{stream:!0})),t}async*decodeNativeAsyncIterable(n){for await(let t of n){let i=this.tryDecodeToken(t);i&&(yield i)}}getBpeRankFromString(n){return this.bytePairStringRankEncoder.get(n)}getBpeRankFromStringOrThrow(n){let t=this.getBpeRankFromString(n);if(t===void 0)throw new Error(`The byte-pair encoding does not contain a value for: ${n}`);return t}getBpeRankFromBytes(n){let t=xa(n);if(t!==void 0)return this.getBpeRankFromString(t);let i=this.binarySearch(n);if(i!==-1)return this.bytePairNonUtfSortedEncoder[i][1]}getBpeRankFromBytesOrThrow(n){let t=this.getBpeRankFromBytes(n);if(t===void 0)throw new Error(`The byte-pair encoding does not contain a value for: ${n.toString()}`);return t}binarySearch(n){let t=0,i=this.bytePairNonUtfSortedEncoder.length-1;for(;t<=i;){let r=t+i>>>1,a=this.bytePairNonUtfSortedEncoder[r][0],o=0,s=Math.min(a.length,n.length);for(let l=0;l<s&&(o=a[l]-n[l],o===0);l++);if(o===0&&(o=a.length-n.length),o===0)return r;o<0?t=r+1:i=r-1}return-1}findNextSpecialToken(n,t,i){let r=i;for(;;){this.specialTokenPatternRegex.lastIndex=r;let a=this.specialTokenPatternRegex.exec(n);if(!a)return;let o=a[0];if(t?.has(o))return[a.index+r,o];r=a.index+r+1}}tryDecodeToken(n){let t=this.bytePairRankDecoder[n];if(typeof t=="string")return t;if(typeof t=="object"){let i=this.bytePairNonUtfRankDecoder.get(n);if(i)return i}return this.specialTokensDecoder.get(n)}addToMergeCache(n,t){if(this.mergeCache){if(this.mergeCache.size>=this.mergeCacheSize){let i=this.mergeCache.keys().next().value;this.mergeCache.delete(i)}this.mergeCache.set(n,t)}}bytePairEncode(n){if(n.length===1&&Aa(n.codePointAt(0)))return[this.getBpeRankFromStringOrThrow(n)];if(this.mergeCache?.has(n)){let r=this.mergeCache.get(n);return this.mergeCache.delete(n),this.mergeCache.set(n,r),r}let t=this.textEncoder.encode(n),i=this.bytePairMerge(t);return this.addToMergeCache(n,i),i}bytePairMerge(n){let t=[],i=[],r=(o,s=t[o],l=t[o+2])=>{if(l===void 0)return Number.POSITIVE_INFINITY;let c=n.subarray(s,l);return this.getBpeRankFromBytes(c)??Number.POSITIVE_INFINITY};for(let o=0;o<=n.length;o++)t.push(o),o<n.length-1?i.push(r(o,o,o+2)):i.push(Number.POSITIVE_INFINITY);for(;t.length>1;){let o=Number.POSITIVE_INFINITY,s=-1;for(let l=0;l<i.length-1;l++){let c=i[l];c<o&&(o=c,s=l)}if(o===Number.POSITIVE_INFINITY||s===-1)break;t.splice(s+1,1),i.splice(s,1),i[s]=r(s),s>0&&(i[s-1]=r(s-1))}let a=[];for(let o=0;o<t.length-1;o++){let s=t[o],l=t[o+1],c=this.getBpeRankFromBytesOrThrow(n.subarray(s,l));a.push(c)}return a}};var Pa={humanName:"GPT-4o (Aug 2024)",description:"Our high-intelligence flagship model for complex, multi-step tasks. GPT-4o is cheaper and faster than GPT-4 Turbo. Currently points to gpt-4o-2024-08-06.",encoding:"o200k_base",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10,batchInput:1.25,batchOutput:5,cachedInput:1.25}},sc={humanName:"GPT-4o (Nov 2024)",description:"November 2024 snapshot of the GPT-4o model with enhanced capabilities.",encoding:"o200k_base",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10,batchInput:1.25,batchOutput:5,cachedInput:1.25}},lc={humanName:"GPT-4o",description:"Original gpt-4o snapshot from May 13, 2024, offering advanced multimodal capabilities.",encoding:"o200k_base",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:5,output:15,batchInput:2.5,batchOutput:7.5}},Da={humanName:"GPT-4o Mini",description:"Our affordable and intelligent small model for fast, lightweight tasks. GPT-4o mini is cheaper and more capable than GPT-3.5 Turbo. Currently points to gpt-4o-mini-2024-07-18.",encoding:"o200k_base",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:.15,output:.6,batchInput:.075,batchOutput:.3,cachedInput:.075}},Na={humanName:"OpenAI o1",description:"Our most intelligent model, optimal for complex tasks requiring deep understanding and expertise. Currently points to o1-2024-12-17.",encoding:"o200k_base",context:128e3,maxOutput:32768,trainingData:"2023-10",cost:{input:15,output:60,batchInput:7.5,batchOutput:30,cachedInput:7.5}},La={humanName:"OpenAI o1-preview",description:"Preview version of the o1 model: o1-preview-2024-09-12.",encoding:"o200k_base",context:128e3,maxOutput:32768,trainingData:"2023-10",cost:{input:15,output:60,batchInput:7.5,batchOutput:30,cachedInput:7.5}},Ma={humanName:"OpenAI o1-mini",description:"Points to the most recent o1-mini snapshot: o1-mini-2024-09-12.",encoding:"o200k_base",context:128e3,maxOutput:65536,trainingData:"2023-10",cost:{input:1.1,output:4.4,batchInput:.55,batchOutput:2.2,cachedInput:.55}},cc={humanName:"OpenAI o3-mini",description:"Small cost-efficient reasoning model that's optimized for coding, math, and science, and supports tools and Structured Outputs.",encoding:"o200k_base",context:2e5,maxOutput:65536,trainingData:"2023-10",cost:{input:1.1,output:4.4,batchInput:.55,batchOutput:2.2,cachedInput:.55}},uc={humanName:"Text Embedding 3 Small",description:"Embedding model for small-scale applications.",encoding:"cl100k_base",maxInput:8191,cost:{input:.02,batchInput:.01}},dc={humanName:"Text Embedding 3 Large",description:"Embedding model for large-scale applications.",encoding:"cl100k_base",maxInput:8191,cost:{input:.13,batchInput:.065}},pc={humanName:"Ada v2",description:"A versatile model suitable for text embeddings and lightweight NLP tasks.",encoding:"cl100k_base",maxInput:8191,cost:{input:.1,output:0,batchInput:.05,batchOutput:0}},mc={humanName:"GPT-4o Realtime Preview",encoding:"o200k_base",description:"Preview release for the Realtime API.",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:5,output:20,cachedInput:2.5}},gc={humanName:"GPT-4o Realtime Preview (Oct 2024)",encoding:"o200k_base",description:"Current snapshot for the Realtime API model.",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:5,output:20,cachedInput:2.5}},hc={humanName:"GPT-4o Realtime Preview (Dec 2024)",encoding:"o200k_base",description:"December 2024 snapshot for the Realtime API model.",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:5,output:20,cachedInput:2.5}},Oa={humanName:"GPT-4o Mini Realtime Preview (Dec 2024)",encoding:"o200k_base",description:"Mini version for the Realtime API with December 2024 snapshot.",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:.6,output:2.4,cachedInput:.3}},fc={humanName:"GPT-4o Audio Preview",encoding:"o200k_base",description:"Preview release for audio inputs in chat completions.",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10}},yc={humanName:"GPT-4o Audio Preview (Oct 2024)",encoding:"o200k_base",description:"Current snapshot for the Audio API model.",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10}},bc={humanName:"GPT-4o Audio Preview (Dec 2024)",encoding:"o200k_base",description:"December 2024 snapshot for the Audio API model.",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10}},Ba={humanName:"GPT-4o Mini Audio Preview (Dec 2024)",encoding:"o200k_base",description:"Mini version for the Audio API with December 2024 snapshot.",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:.15,output:.6}},vc={humanName:"GPT-4o 2024-08-06 Finetuning",description:"GPT-4o finetuned for custom tasks.",encoding:"o200k_base",cost:{input:3.75,output:15,batchInput:1.875,batchOutput:7.5,cachedInput:1.875,training:25}},_c={humanName:"GPT-4o Mini 2024-07-18 Finetuning",description:"GPT-4o mini finetuned for custom tasks.",encoding:"o200k_base",cost:{input:.3,output:1.2,batchInput:.15,batchOutput:.6,cachedInput:.15,training:3}},Sc={humanName:"GPT-3.5 Turbo Finetuning",description:"Finetuning GPT-3.5 Turbo with custom data.",encoding:"cl100k_base",cost:{input:3,output:6,batchInput:1.5,batchOutput:3,training:8}},Fa={humanName:"GPT-4o Mini Training",description:"Training GPT-4o Mini with custom datasets.",encoding:"o200k_base",cost:{input:3,output:0,batchInput:1.5,batchOutput:0}},Ec={humanName:"GPT-3.5 Turbo 16k",description:"GPT-3.5 model with 16k token context.",encoding:"cl100k_base",cost:{input:3,output:4,batchInput:1.5,batchOutput:2}},Ga={humanName:"GPT-4 Turbo 2024-04-09",description:"The latest GPT-4 Turbo model with vision capabilities. Vision requests can now use JSON mode and function calling. Currently points to gpt-4-turbo-2024-04-09.",encoding:"cl100k_base",context:128e3,maxOutput:4096,trainingData:"2023-12",cost:{input:10,output:30,batchInput:5,batchOutput:15}},Cc={humanName:"ChatGPT 4o Latest",description:"The chatgpt-4o-latest model version continuously points to the version of GPT-4o used in ChatGPT, and is updated frequently when there are significant changes.",encoding:"o200k_base",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:5,output:15}},za={humanName:"GPT-4",description:"Currently points to gpt-4-0613. See continuous model upgrades.",encoding:"cl100k_base",context:8192,maxOutput:8192,trainingData:"2021-09",cost:{input:30,output:60,batchInput:15,batchOutput:30}},zi={humanName:"GPT-4 0125 Preview",description:"GPT-4 Turbo preview model intended to reduce cases of \u201Claziness\u201D where the model doesn\u2019t complete a task.",encoding:"cl100k_base",context:128e3,maxOutput:4096,trainingData:"2023-12",cost:{input:10,output:30,batchInput:5,batchOutput:15}},kc={...zi,humanName:"GPT-4 1106 Preview"},Ua={humanName:"GPT-3.5 Turbo 0125",description:"The latest GPT-3.5 Turbo model with higher accuracy at responding in requested formats and a fix for a bug which caused a text encoding issue for non-English language function calls.",encoding:"cl100k_base",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:.5,output:1.5,batchInput:.25,batchOutput:.75}},Ha={humanName:"GPT-3.5 Turbo Instruct",description:"Similar capabilities as GPT-3 era models. Compatible with legacy Completions endpoint and not Chat Completions.",encoding:"cl100k_base",context:4096,maxOutput:4096,trainingData:"2021-09",cost:{input:1.5,output:2}},wc={humanName:"GPT-3.5 Turbo 1106",description:"GPT-3.5 Turbo model with improved instruction following, JSON mode, reproducible outputs, parallel function calling, and more.",encoding:"cl100k_base",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:1,output:2,batchInput:.5,batchOutput:1}},Tc={humanName:"Davinci 002",description:"Replacement for the GPT-3 curie and davinci base models.",encoding:"p50k_base",context:16384,maxOutput:16384,trainingData:"2021-09",cost:{input:2,output:2,batchInput:1,batchOutput:1}},Ac={humanName:"Davinci-002 Finetuning",description:"Davinci-002 finetuned for custom tasks.",encoding:"p50k_base",cost:{input:12,output:12,batchInput:6,batchOutput:6,training:6}},xc={humanName:"Babbage 002",description:"Replacement for the GPT-3 ada and babbage base models.",encoding:"p50k_base",context:16384,trainingData:"2021-09",cost:{input:.4,output:.4,batchInput:.2,batchOutput:.2}},Ic={humanName:"Babbage-002 Finetuning",description:"Babbage-002 finetuned for custom tasks.",encoding:"p50k_base",cost:{input:1.6,output:1.6,batchInput:.8,batchOutput:.8,training:.4}},Ui={humanName:"GPT-4 32k",encoding:"cl100k_base",description:"Snapshot of gpt-4 from June 13th 2023 with improved function calling support.",shutdownDate:"2025-06-06",recommendedReplacement:"gpt-4o",context:32768,maxOutput:16384,trainingData:"2021-09",cost:{input:60,output:120,batchInput:30,batchOutput:60}},ja={humanName:"GPT-4 Vision Preview",encoding:"cl100k_base",description:"Vision capabilities preview of GPT-4.",shutdownDate:"2024-12-06",recommendedReplacement:"gpt-4o",context:128e3,maxOutput:4096,trainingData:"2023-12",cost:{input:10,output:30,batchInput:5,batchOutput:15}},Rc=ja,Pc={humanName:"GPT-3.5 Turbo 0613",encoding:"cl100k_base",description:"Version of GPT-3.5 Turbo from June 2013.",shutdownDate:"2024-09-13",recommendedReplacement:"gpt-3.5-turbo",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:1.5,output:2,batchInput:.75,batchOutput:1}},Dc={humanName:"GPT-3.5 Turbo 16k 0613",encoding:"cl100k_base",description:"16k context version from June 2013.",shutdownDate:"2024-09-13",recommendedReplacement:"gpt-3.5-turbo",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:3,output:4,batchInput:1.5,batchOutput:2}},Nc={humanName:"Text Ada 001",encoding:"r50k_base",description:"Model for lightweight tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:.4}},Lc={humanName:"Text Babbage 001",encoding:"r50k_base",description:"Model for efficient processing.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:.5}},Mc={humanName:"Text Curie 001",encoding:"r50k_base",description:"Mid-range model for various tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:2}},Oc={humanName:"Text Davinci 001",encoding:"r50k_base",description:"High-performance model for complex tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:20}},Bc={humanName:"Text Davinci 002",encoding:"p50k_base",description:"Legacy high-performance model.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:20}},Fc={humanName:"Text Davinci 003",encoding:"p50k_base",description:"Latest of the Davinci series.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:20}},Gc={humanName:"Ada",encoding:"r50k_base",description:"Base model for lightweight tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"babbage-002",cost:{input:.4}},zc={humanName:"Babbage",encoding:"r50k_base",description:"Model for efficient processing.",shutdownDate:"2024-01-04",recommendedReplacement:"babbage-002",cost:{input:.5}},Uc={humanName:"Curie",encoding:"r50k_base",description:"Mid-range model for a variety of applications.",shutdownDate:"2024-01-04",recommendedReplacement:"davinci-002",cost:{input:2}},Hc={humanName:"Davinci",encoding:"p50k_base",description:"High-performance legacy model.",shutdownDate:"2024-01-04",recommendedReplacement:"davinci-002",cost:{input:20}},Vc={humanName:"Code Davinci 002",encoding:"p50k_base",description:"Legacy coding model.",shutdownDate:"2023-03-23",recommendedReplacement:"gpt-4o"},Va={humanName:"Code Davinci 001",encoding:"p50k_base",description:"Older coding model.",shutdownDate:"2023-03-23",recommendedReplacement:"gpt-4o"},Wc={humanName:"Code Davinci 001",encoding:"p50k_edit",description:"Older coding model.",shutdownDate:"2023-03-23"},jc={humanName:"Code Cushman 002",encoding:"p50k_base",description:"Legacy model for coding.",shutdownDate:"2023-03-23",recommendedReplacement:"gpt-4o"},Wa={humanName:"Code Cushman 001",encoding:"p50k_base",description:"Older model for coding tasks.",shutdownDate:"2023-03-23",recommendedReplacement:"gpt-4o"},qc={humanName:"GPT-4 0314",encoding:"cl100k_base",description:"Variant of GPT-4 model.",shutdownDate:"2024-06-13",recommendedReplacement:"gpt-4o",context:8192,maxOutput:8192,trainingData:"2021-09",cost:{input:30,output:60}},Kc={humanName:"GPT-3.5 Turbo 0301",encoding:"cl100k_base",description:"Earlier version of GPT-3.5 Turbo.",shutdownDate:"2024-09-13",recommendedReplacement:"gpt-3.5-turbo",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:1.5,output:2,batchInput:.75,batchOutput:1}},Xc={...Ui,humanName:"GPT-4 32k 0314"},Yc={humanName:"Text Similarity Ada 001",encoding:"r50k_base",description:"Embedding model for similarity tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},Jc={humanName:"Text Search Ada Doc 001",encoding:"r50k_base",description:"Embedding model for document search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},Zc={humanName:"Text Search Ada Query 001",encoding:"r50k_base",description:"Embedding model for query search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},$c={humanName:"Code Search Ada Code 001",encoding:"r50k_base",description:"Embedding model for code search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},Qc={humanName:"Code Search Ada Text 001",encoding:"r50k_base",description:"Embedding model for text search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},eu={humanName:"Text Davinci 001",encoding:"p50k_edit",description:"Older text model.",shutdownDate:"2023-03-23"},tu={humanName:"Text Similarity Babbage 001",encoding:"r50k_base",description:"Embedding model for similarity tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},nu={humanName:"Text Search Babbage Doc 001",encoding:"r50k_base",description:"Embedding model for document search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},iu={humanName:"Text Search Babbage Query 001",encoding:"r50k_base",description:"Embedding model for query search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},ru={humanName:"Code Search Babbage Code 001",encoding:"r50k_base",description:"Embedding model for code search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},au={humanName:"Code Search Babbage Text 001",encoding:"r50k_base",description:"Embedding model for text search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},ou={humanName:"Text Similarity Curie 001",encoding:"r50k_base",description:"Embedding model for similarity tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:20}},su={humanName:"Text Search Curie Doc 001",encoding:"r50k_base",description:"Embedding model for document search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:20}},lu={humanName:"Text Search Curie Query 001",encoding:"r50k_base",description:"Embedding model for query search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:20}},cu={humanName:"Text Similarity Davinci 001",encoding:"r50k_base",description:"Embedding model for similarity tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:200}},uu={humanName:"Text Search Davinci Doc 001",encoding:"r50k_base",description:"Embedding model for document search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:200}},du={humanName:"Text Search Davinci Query 001",encoding:"r50k_base",description:"Embedding model for query search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:200}},Hi={o1:Na,"o1-2024-12-17":Na,"o1-preview":La,"o1-preview-2024-09-12":La,"o1-mini":Ma,"o1-mini-2024-09-12":Ma,"o3-mini":cc,"chatgpt-4o-latest":Cc,"gpt-4o":Pa,"gpt-4o-2024-11-20":sc,"gpt-4o-2024-08-06":Pa,"gpt-4o-2024-05-13":lc,"gpt-4o-mini":Da,"gpt-4o-mini-2024-07-18":Da,"gpt-4o-realtime-preview":mc,"gpt-4o-realtime-preview-2024-10-01":gc,"gpt-4o-realtime-preview-2024-12-17":hc,"gpt-4o-mini-realtime-preview":Oa,"gpt-4o-mini-realtime-preview-2024-12-17":Oa,"gpt-4o-audio-preview":fc,"gpt-4o-audio-preview-2024-10-01":yc,"gpt-4o-audio-preview-2024-12-17":bc,"gpt-4o-mini-audio-preview":Ba,"gpt-4o-mini-audio-preview-2024-12-17":Ba,"gpt-4o-2024-08-06-finetune":vc,"gpt-4o-mini-2024-07-18-finetune":_c,"gpt-4o-mini-training":Fa,"gpt-4o-mini-training-2024-07-18":Fa,"davinci-002-finetune":Ac,"babbage-002-finetune":Ic,"gpt-4-turbo":Ga,"gpt-4-turbo-2024-04-09":Ga,"gpt-4-turbo-preview":zi,"gpt-4-0125-preview":zi,"gpt-4-1106-preview":kc,"gpt-4":za,"gpt-4-0613":za,"gpt-3.5-turbo":Ua,"gpt-3.5-turbo-0125":Ua,"gpt-3.5-turbo-1106":wc,"gpt-3.5-turbo-finetune":Sc,"gpt-3.5-turbo-16k":Ec,"gpt-4-32k":Ui,"gpt-4-32k-0613":Ui,"gpt-4-vision-preview":ja,"gpt-4-1106-vision-preview":Rc,"gpt-4-0314":qc,"gpt-4-32k-0314":Xc,"gpt-3.5-turbo-0613":Pc,"gpt-3.5-turbo-16k-0613":Dc,"gpt-3.5-turbo-0301":Kc},yn={...Hi,"text-embedding-3-small":uc,"text-embedding-3-large":dc,"text-embedding-ada-002":pc,"gpt-3.5-turbo-instruct":Ha,"gpt-3.5-turbo-instruct-0914":Ha,"davinci-002":Tc,"babbage-002":xc,"text-ada-001":Nc,"text-babbage-001":Lc,"text-curie-001":Mc,"text-davinci-001":Oc,"text-davinci-002":Bc,"text-davinci-003":Fc,ada:Gc,babbage:zc,curie:Uc,davinci:Hc,"code-davinci-002":Vc,"code-davinci-001":Va,"davinci-codex":Va,"code-davinci-edit-001":Wc,"code-cushman-002":jc,"code-cushman-001":Wa,"cushman-codex":Wa,"code-search-ada-code-001":$c,"code-search-ada-text-001":Qc,"text-davinci-edit-001":eu,"text-similarity-ada-001":Yc,"text-search-ada-doc-001":Jc,"text-search-ada-query-001":Zc,"text-similarity-babbage-001":tu,"text-search-babbage-doc-001":nu,"text-search-babbage-query-001":iu,"code-search-babbage-code-001":ru,"code-search-babbage-text-001":au,"text-similarity-curie-001":ou,"text-search-curie-doc-001":su,"text-search-curie-query-001":lu,"text-similarity-davinci-001":cu,"text-search-davinci-doc-001":uu,"text-search-davinci-query-001":du};var Ee="<|endoftext|>",Ve="<|fim_prefix|>",We="<|fim_middle|>",je="<|fim_suffix|>",ht="<|im_start|>",ft="<|im_end|>",qe="<|im_sep|>",yt="<|endofprompt|>";var qa=Object.fromEntries(Object.entries(Hi).map(([e,n])=>[e,n.encoding])),Ka=Object.fromEntries(Object.entries(yn).map(([e,n])=>[e,n.encoding])),pu={messageSeparator:`
3249
+ `,"_RECEIVED"," r\xE9sultats"," moden"," Icelandic",";d",".allowed","(newUser"," merciless",".WaitFor"," daycare"," Conveyor"],ic=ka.concat(wa);ka.length=0;wa.length=0;var Ta=ic;var mt="all";var Aa=e=>e<=127;function Bi(e){if(e.length===0)return!1;let n=e.charCodeAt(e.length-1);return n>=55296&&n<=56319}function rc(e){let n=0;for(;n<e.length;){let t=e[n],i=0,r=0;if(t<=127)i=1,r=t;else if((t&224)===192){if(i=2,r=t&31,t<=193)return!1}else if((t&240)===224)i=3,r=t&15;else if((t&248)===240){if(i=4,r=t&7,t>244)return!1}else return!1;if(n+i>e.length)return!1;for(let a=1;a<i;a++){let o=e[n+a];if(o===void 0||(o&192)!==128)return!1;r=r<<6|o&63}if(i===2&&r<128||i===3&&r<2048||i===4&&r<65536||r>=55296&&r<=57343||r>1114111)return!1;n+=i}return!0}var ac=new TextDecoder("utf8",{fatal:!1});function xa(e){if(rc(e))return ac.decode(e)}function Ia(e,n){let t=Math.min(e.length,n.length);for(let i=0;i<t;i++)if(e[i]!==n[i])return e[i]-n[i];return e.length-n.length}function Ra(e){let n=0;return e.forEach(t=>{n=Math.max(n,t)}),n}function Fi(e){return e.replace(/[$()*+.?[\\\]^{|}]/g,"\\$&")}function Gi(e){let t=[...e].map(Fi).join("|");return new RegExp(`(${t})`)}var fn=new Uint8Array(0),gt=new TextDecoder("utf8"),yn=class{constructor({bytePairRankDecoder:n,specialTokensEncoder:t,tokenSplitRegex:i,mergeCacheSize:r=1e5}){J(this,"mergeableBytePairRankCount");J(this,"bytePairRankDecoder");J(this,"bytePairNonUtfRankDecoder",new Map);J(this,"bytePairNonUtfSortedEncoder");J(this,"bytePairStringRankEncoder");J(this,"tokenSplitRegex");J(this,"specialTokensEncoder");J(this,"specialTokensDecoder");J(this,"specialTokenPatternRegex");J(this,"textEncoder",new TextEncoder);J(this,"mergeCache");J(this,"mergeCacheSize");this.bytePairRankDecoder=n,this.bytePairStringRankEncoder=new Map,this.mergeCacheSize=r,r>0&&(this.mergeCache=new Map),this.mergeableBytePairRankCount=Object.keys(n).length;let a=[];n.forEach((l,c)=>{if(typeof l=="string"){this.bytePairStringRankEncoder.set(l,c);return}let u=new Uint8Array(l);a.push([u,c]),this.bytePairNonUtfRankDecoder.set(c,u)}),this.bytePairNonUtfSortedEncoder=a.sort((l,c)=>Ia(l[0],c[0])),this.specialTokensEncoder=t??new Map,this.specialTokensDecoder=t?new Map([...t].map(([l,c])=>[c,l])):new Map,this.tokenSplitRegex=i;let s=[...this.specialTokensEncoder.keys()].map(Fi).join("|");try{this.specialTokenPatternRegex=new RegExp(s,"y")}catch{throw new Error("Invalid regular expression pattern.")}}setMergeCacheSize(n){this.mergeCacheSize===0&&n>0&&(this.mergeCache=new Map),this.mergeCacheSize=n,n===0&&(this.mergeCache=void 0)}clearMergeCache(){this.mergeCache?.clear()}*encodeNativeGenerator(n,t){let i=0,r=0;for(;;){let a=this.findNextSpecialToken(n,t,i),o=a?.[0],s=o??n.length,l=i===0&&s===n.length?n:n.slice(i,s);for(let[c]of l.matchAll(this.tokenSplitRegex)){let u=this.getBpeRankFromString(c);if(u!==void 0){r=1,yield[u];continue}let d=this.bytePairEncode(c);r=d.length,yield d}if(o!==void 0){let c=a[1],u=this.specialTokensEncoder.get(c);if(u===void 0)throw new Error(`Special token "${c}" is not in the special token encoder.`);yield[u],i=o+c.length,r=1}else break}return r}encodeNative(n,t){let i=0,r=[];for(;;){let a=this.findNextSpecialToken(n,t,i),o=a?.[0],s=o??n.length,l=i===0&&s===n.length?n:n.slice(i,s);for(let[c]of l.matchAll(this.tokenSplitRegex)){let u=this.getBpeRankFromString(c);if(u!==void 0){r.push(u);continue}let d=this.bytePairEncode(c);r.push(...d)}if(o!==void 0){let c=a[1],u=this.specialTokensEncoder.get(c);if(u===void 0)throw new Error(`Special token "${c}" is not in the special token encoder.`);r.push(u),i=o+c.length}else break}return r}countNative(n,t){let i=0,r=0;for(;;){let a=this.findNextSpecialToken(n,t,i),o=a?.[0],s=o??n.length,l=i===0&&s===n.length?n:n.slice(i,s);for(let[c]of l.matchAll(this.tokenSplitRegex)){if(this.getBpeRankFromString(c)!==void 0){r++;continue}let d=this.bytePairEncode(c);r+=d.length}if(o!==void 0){let c=a[1];if(this.specialTokensEncoder.get(c)===void 0)throw new Error(`Special token "${c}" is not in the special token encoder.`);r++,i=o+c.length}else break}return r}*decodeNativeGenerator(n){for(let t of n){let i=this.tryDecodeToken(t);i&&(yield i)}}decodeNative(n){let t="",i=fn;for(let r of n){let a=this.tryDecodeToken(r);if(a===void 0)throw new Error(`Token ${r} is not in the byte pair encoder.`);if(typeof a=="string")i!==fn&&(t+=gt.decode(i,{stream:!0}),i=fn),t+=a;else{let o=new Uint8Array(i.length+a.length);o.set(i),o.set(a,i.length),i=o}}return i!==fn&&(t+=gt.decode(i,{stream:!0})),t}async*decodeNativeAsyncIterable(n){for await(let t of n){let i=this.tryDecodeToken(t);i&&(yield i)}}getBpeRankFromString(n){return this.bytePairStringRankEncoder.get(n)}getBpeRankFromStringOrThrow(n){let t=this.getBpeRankFromString(n);if(t===void 0)throw new Error(`The byte-pair encoding does not contain a value for: ${n}`);return t}getBpeRankFromBytes(n){let t=xa(n);if(t!==void 0)return this.getBpeRankFromString(t);let i=this.binarySearch(n);if(i!==-1)return this.bytePairNonUtfSortedEncoder[i][1]}getBpeRankFromBytesOrThrow(n){let t=this.getBpeRankFromBytes(n);if(t===void 0)throw new Error(`The byte-pair encoding does not contain a value for: ${n.toString()}`);return t}binarySearch(n){let t=0,i=this.bytePairNonUtfSortedEncoder.length-1;for(;t<=i;){let r=t+i>>>1,a=this.bytePairNonUtfSortedEncoder[r][0],o=0,s=Math.min(a.length,n.length);for(let l=0;l<s&&(o=a[l]-n[l],o===0);l++);if(o===0&&(o=a.length-n.length),o===0)return r;o<0?t=r+1:i=r-1}return-1}findNextSpecialToken(n,t,i){let r=i;for(;;){this.specialTokenPatternRegex.lastIndex=r;let a=this.specialTokenPatternRegex.exec(n);if(!a)return;let o=a[0];if(t?.has(o))return[a.index+r,o];r=a.index+r+1}}tryDecodeToken(n){let t=this.bytePairRankDecoder[n];if(typeof t=="string")return t;if(typeof t=="object"){let i=this.bytePairNonUtfRankDecoder.get(n);if(i)return i}return this.specialTokensDecoder.get(n)}addToMergeCache(n,t){if(this.mergeCache){if(this.mergeCache.size>=this.mergeCacheSize){let i=this.mergeCache.keys().next().value;this.mergeCache.delete(i)}this.mergeCache.set(n,t)}}bytePairEncode(n){if(n.length===1&&Aa(n.codePointAt(0)))return[this.getBpeRankFromStringOrThrow(n)];if(this.mergeCache?.has(n)){let r=this.mergeCache.get(n);return this.mergeCache.delete(n),this.mergeCache.set(n,r),r}let t=this.textEncoder.encode(n),i=this.bytePairMerge(t);return this.addToMergeCache(n,i),i}bytePairMerge(n){let t=[],i=[],r=(o,s=t[o],l=t[o+2])=>{if(l===void 0)return Number.POSITIVE_INFINITY;let c=n.subarray(s,l);return this.getBpeRankFromBytes(c)??Number.POSITIVE_INFINITY};for(let o=0;o<=n.length;o++)t.push(o),o<n.length-1?i.push(r(o,o,o+2)):i.push(Number.POSITIVE_INFINITY);for(;t.length>1;){let o=Number.POSITIVE_INFINITY,s=-1;for(let l=0;l<i.length-1;l++){let c=i[l];c<o&&(o=c,s=l)}if(o===Number.POSITIVE_INFINITY||s===-1)break;t.splice(s+1,1),i.splice(s,1),i[s]=r(s),s>0&&(i[s-1]=r(s-1))}let a=[];for(let o=0;o<t.length-1;o++){let s=t[o],l=t[o+1],c=this.getBpeRankFromBytesOrThrow(n.subarray(s,l));a.push(c)}return a}};var Pa={humanName:"GPT-4o (Aug 2024)",description:"Our high-intelligence flagship model for complex, multi-step tasks. GPT-4o is cheaper and faster than GPT-4 Turbo. Currently points to gpt-4o-2024-08-06.",encoding:"o200k_base",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10,batchInput:1.25,batchOutput:5,cachedInput:1.25}},sc={humanName:"GPT-4o (Nov 2024)",description:"November 2024 snapshot of the GPT-4o model with enhanced capabilities.",encoding:"o200k_base",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10,batchInput:1.25,batchOutput:5,cachedInput:1.25}},lc={humanName:"GPT-4o",description:"Original gpt-4o snapshot from May 13, 2024, offering advanced multimodal capabilities.",encoding:"o200k_base",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:5,output:15,batchInput:2.5,batchOutput:7.5}},Da={humanName:"GPT-4o Mini",description:"Our affordable and intelligent small model for fast, lightweight tasks. GPT-4o mini is cheaper and more capable than GPT-3.5 Turbo. Currently points to gpt-4o-mini-2024-07-18.",encoding:"o200k_base",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:.15,output:.6,batchInput:.075,batchOutput:.3,cachedInput:.075}},La={humanName:"OpenAI o1",description:"Our most intelligent model, optimal for complex tasks requiring deep understanding and expertise. Currently points to o1-2024-12-17.",encoding:"o200k_base",context:128e3,maxOutput:32768,trainingData:"2023-10",cost:{input:15,output:60,batchInput:7.5,batchOutput:30,cachedInput:7.5}},Na={humanName:"OpenAI o1-preview",description:"Preview version of the o1 model: o1-preview-2024-09-12.",encoding:"o200k_base",context:128e3,maxOutput:32768,trainingData:"2023-10",cost:{input:15,output:60,batchInput:7.5,batchOutput:30,cachedInput:7.5}},Ma={humanName:"OpenAI o1-mini",description:"Points to the most recent o1-mini snapshot: o1-mini-2024-09-12.",encoding:"o200k_base",context:128e3,maxOutput:65536,trainingData:"2023-10",cost:{input:1.1,output:4.4,batchInput:.55,batchOutput:2.2,cachedInput:.55}},cc={humanName:"OpenAI o3-mini",description:"Small cost-efficient reasoning model that's optimized for coding, math, and science, and supports tools and Structured Outputs.",encoding:"o200k_base",context:2e5,maxOutput:65536,trainingData:"2023-10",cost:{input:1.1,output:4.4,batchInput:.55,batchOutput:2.2,cachedInput:.55}},uc={humanName:"Text Embedding 3 Small",description:"Embedding model for small-scale applications.",encoding:"cl100k_base",maxInput:8191,cost:{input:.02,batchInput:.01}},dc={humanName:"Text Embedding 3 Large",description:"Embedding model for large-scale applications.",encoding:"cl100k_base",maxInput:8191,cost:{input:.13,batchInput:.065}},pc={humanName:"Ada v2",description:"A versatile model suitable for text embeddings and lightweight NLP tasks.",encoding:"cl100k_base",maxInput:8191,cost:{input:.1,output:0,batchInput:.05,batchOutput:0}},mc={humanName:"GPT-4o Realtime Preview",encoding:"o200k_base",description:"Preview release for the Realtime API.",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:5,output:20,cachedInput:2.5}},gc={humanName:"GPT-4o Realtime Preview (Oct 2024)",encoding:"o200k_base",description:"Current snapshot for the Realtime API model.",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:5,output:20,cachedInput:2.5}},hc={humanName:"GPT-4o Realtime Preview (Dec 2024)",encoding:"o200k_base",description:"December 2024 snapshot for the Realtime API model.",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:5,output:20,cachedInput:2.5}},Oa={humanName:"GPT-4o Mini Realtime Preview (Dec 2024)",encoding:"o200k_base",description:"Mini version for the Realtime API with December 2024 snapshot.",context:128e3,maxOutput:4096,trainingData:"2023-10",cost:{input:.6,output:2.4,cachedInput:.3}},fc={humanName:"GPT-4o Audio Preview",encoding:"o200k_base",description:"Preview release for audio inputs in chat completions.",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10}},yc={humanName:"GPT-4o Audio Preview (Oct 2024)",encoding:"o200k_base",description:"Current snapshot for the Audio API model.",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10}},bc={humanName:"GPT-4o Audio Preview (Dec 2024)",encoding:"o200k_base",description:"December 2024 snapshot for the Audio API model.",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:2.5,output:10}},Ba={humanName:"GPT-4o Mini Audio Preview (Dec 2024)",encoding:"o200k_base",description:"Mini version for the Audio API with December 2024 snapshot.",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:.15,output:.6}},vc={humanName:"GPT-4o 2024-08-06 Finetuning",description:"GPT-4o finetuned for custom tasks.",encoding:"o200k_base",cost:{input:3.75,output:15,batchInput:1.875,batchOutput:7.5,cachedInput:1.875,training:25}},_c={humanName:"GPT-4o Mini 2024-07-18 Finetuning",description:"GPT-4o mini finetuned for custom tasks.",encoding:"o200k_base",cost:{input:.3,output:1.2,batchInput:.15,batchOutput:.6,cachedInput:.15,training:3}},Sc={humanName:"GPT-3.5 Turbo Finetuning",description:"Finetuning GPT-3.5 Turbo with custom data.",encoding:"cl100k_base",cost:{input:3,output:6,batchInput:1.5,batchOutput:3,training:8}},Fa={humanName:"GPT-4o Mini Training",description:"Training GPT-4o Mini with custom datasets.",encoding:"o200k_base",cost:{input:3,output:0,batchInput:1.5,batchOutput:0}},Ec={humanName:"GPT-3.5 Turbo 16k",description:"GPT-3.5 model with 16k token context.",encoding:"cl100k_base",cost:{input:3,output:4,batchInput:1.5,batchOutput:2}},Ga={humanName:"GPT-4 Turbo 2024-04-09",description:"The latest GPT-4 Turbo model with vision capabilities. Vision requests can now use JSON mode and function calling. Currently points to gpt-4-turbo-2024-04-09.",encoding:"cl100k_base",context:128e3,maxOutput:4096,trainingData:"2023-12",cost:{input:10,output:30,batchInput:5,batchOutput:15}},Cc={humanName:"ChatGPT 4o Latest",description:"The chatgpt-4o-latest model version continuously points to the version of GPT-4o used in ChatGPT, and is updated frequently when there are significant changes.",encoding:"o200k_base",context:128e3,maxOutput:16384,trainingData:"2023-10",cost:{input:5,output:15}},za={humanName:"GPT-4",description:"Currently points to gpt-4-0613. See continuous model upgrades.",encoding:"cl100k_base",context:8192,maxOutput:8192,trainingData:"2021-09",cost:{input:30,output:60,batchInput:15,batchOutput:30}},zi={humanName:"GPT-4 0125 Preview",description:"GPT-4 Turbo preview model intended to reduce cases of \u201Claziness\u201D where the model doesn\u2019t complete a task.",encoding:"cl100k_base",context:128e3,maxOutput:4096,trainingData:"2023-12",cost:{input:10,output:30,batchInput:5,batchOutput:15}},kc={...zi,humanName:"GPT-4 1106 Preview"},Ua={humanName:"GPT-3.5 Turbo 0125",description:"The latest GPT-3.5 Turbo model with higher accuracy at responding in requested formats and a fix for a bug which caused a text encoding issue for non-English language function calls.",encoding:"cl100k_base",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:.5,output:1.5,batchInput:.25,batchOutput:.75}},Ha={humanName:"GPT-3.5 Turbo Instruct",description:"Similar capabilities as GPT-3 era models. Compatible with legacy Completions endpoint and not Chat Completions.",encoding:"cl100k_base",context:4096,maxOutput:4096,trainingData:"2021-09",cost:{input:1.5,output:2}},wc={humanName:"GPT-3.5 Turbo 1106",description:"GPT-3.5 Turbo model with improved instruction following, JSON mode, reproducible outputs, parallel function calling, and more.",encoding:"cl100k_base",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:1,output:2,batchInput:.5,batchOutput:1}},Tc={humanName:"Davinci 002",description:"Replacement for the GPT-3 curie and davinci base models.",encoding:"p50k_base",context:16384,maxOutput:16384,trainingData:"2021-09",cost:{input:2,output:2,batchInput:1,batchOutput:1}},Ac={humanName:"Davinci-002 Finetuning",description:"Davinci-002 finetuned for custom tasks.",encoding:"p50k_base",cost:{input:12,output:12,batchInput:6,batchOutput:6,training:6}},xc={humanName:"Babbage 002",description:"Replacement for the GPT-3 ada and babbage base models.",encoding:"p50k_base",context:16384,trainingData:"2021-09",cost:{input:.4,output:.4,batchInput:.2,batchOutput:.2}},Ic={humanName:"Babbage-002 Finetuning",description:"Babbage-002 finetuned for custom tasks.",encoding:"p50k_base",cost:{input:1.6,output:1.6,batchInput:.8,batchOutput:.8,training:.4}},Ui={humanName:"GPT-4 32k",encoding:"cl100k_base",description:"Snapshot of gpt-4 from June 13th 2023 with improved function calling support.",shutdownDate:"2025-06-06",recommendedReplacement:"gpt-4o",context:32768,maxOutput:16384,trainingData:"2021-09",cost:{input:60,output:120,batchInput:30,batchOutput:60}},ja={humanName:"GPT-4 Vision Preview",encoding:"cl100k_base",description:"Vision capabilities preview of GPT-4.",shutdownDate:"2024-12-06",recommendedReplacement:"gpt-4o",context:128e3,maxOutput:4096,trainingData:"2023-12",cost:{input:10,output:30,batchInput:5,batchOutput:15}},Rc=ja,Pc={humanName:"GPT-3.5 Turbo 0613",encoding:"cl100k_base",description:"Version of GPT-3.5 Turbo from June 2013.",shutdownDate:"2024-09-13",recommendedReplacement:"gpt-3.5-turbo",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:1.5,output:2,batchInput:.75,batchOutput:1}},Dc={humanName:"GPT-3.5 Turbo 16k 0613",encoding:"cl100k_base",description:"16k context version from June 2013.",shutdownDate:"2024-09-13",recommendedReplacement:"gpt-3.5-turbo",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:3,output:4,batchInput:1.5,batchOutput:2}},Lc={humanName:"Text Ada 001",encoding:"r50k_base",description:"Model for lightweight tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:.4}},Nc={humanName:"Text Babbage 001",encoding:"r50k_base",description:"Model for efficient processing.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:.5}},Mc={humanName:"Text Curie 001",encoding:"r50k_base",description:"Mid-range model for various tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:2}},Oc={humanName:"Text Davinci 001",encoding:"r50k_base",description:"High-performance model for complex tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:20}},Bc={humanName:"Text Davinci 002",encoding:"p50k_base",description:"Legacy high-performance model.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:20}},Fc={humanName:"Text Davinci 003",encoding:"p50k_base",description:"Latest of the Davinci series.",shutdownDate:"2024-01-04",recommendedReplacement:"gpt-3.5-turbo-instruct",cost:{input:20}},Gc={humanName:"Ada",encoding:"r50k_base",description:"Base model for lightweight tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"babbage-002",cost:{input:.4}},zc={humanName:"Babbage",encoding:"r50k_base",description:"Model for efficient processing.",shutdownDate:"2024-01-04",recommendedReplacement:"babbage-002",cost:{input:.5}},Uc={humanName:"Curie",encoding:"r50k_base",description:"Mid-range model for a variety of applications.",shutdownDate:"2024-01-04",recommendedReplacement:"davinci-002",cost:{input:2}},Hc={humanName:"Davinci",encoding:"p50k_base",description:"High-performance legacy model.",shutdownDate:"2024-01-04",recommendedReplacement:"davinci-002",cost:{input:20}},Vc={humanName:"Code Davinci 002",encoding:"p50k_base",description:"Legacy coding model.",shutdownDate:"2023-03-23",recommendedReplacement:"gpt-4o"},Va={humanName:"Code Davinci 001",encoding:"p50k_base",description:"Older coding model.",shutdownDate:"2023-03-23",recommendedReplacement:"gpt-4o"},Wc={humanName:"Code Davinci 001",encoding:"p50k_edit",description:"Older coding model.",shutdownDate:"2023-03-23"},jc={humanName:"Code Cushman 002",encoding:"p50k_base",description:"Legacy model for coding.",shutdownDate:"2023-03-23",recommendedReplacement:"gpt-4o"},Wa={humanName:"Code Cushman 001",encoding:"p50k_base",description:"Older model for coding tasks.",shutdownDate:"2023-03-23",recommendedReplacement:"gpt-4o"},qc={humanName:"GPT-4 0314",encoding:"cl100k_base",description:"Variant of GPT-4 model.",shutdownDate:"2024-06-13",recommendedReplacement:"gpt-4o",context:8192,maxOutput:8192,trainingData:"2021-09",cost:{input:30,output:60}},Kc={humanName:"GPT-3.5 Turbo 0301",encoding:"cl100k_base",description:"Earlier version of GPT-3.5 Turbo.",shutdownDate:"2024-09-13",recommendedReplacement:"gpt-3.5-turbo",context:16385,maxOutput:4096,trainingData:"2021-09",cost:{input:1.5,output:2,batchInput:.75,batchOutput:1}},Xc={...Ui,humanName:"GPT-4 32k 0314"},Yc={humanName:"Text Similarity Ada 001",encoding:"r50k_base",description:"Embedding model for similarity tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},Jc={humanName:"Text Search Ada Doc 001",encoding:"r50k_base",description:"Embedding model for document search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},Zc={humanName:"Text Search Ada Query 001",encoding:"r50k_base",description:"Embedding model for query search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},$c={humanName:"Code Search Ada Code 001",encoding:"r50k_base",description:"Embedding model for code search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},Qc={humanName:"Code Search Ada Text 001",encoding:"r50k_base",description:"Embedding model for text search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:4}},eu={humanName:"Text Davinci 001",encoding:"p50k_edit",description:"Older text model.",shutdownDate:"2023-03-23"},tu={humanName:"Text Similarity Babbage 001",encoding:"r50k_base",description:"Embedding model for similarity tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},nu={humanName:"Text Search Babbage Doc 001",encoding:"r50k_base",description:"Embedding model for document search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},iu={humanName:"Text Search Babbage Query 001",encoding:"r50k_base",description:"Embedding model for query search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},ru={humanName:"Code Search Babbage Code 001",encoding:"r50k_base",description:"Embedding model for code search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},au={humanName:"Code Search Babbage Text 001",encoding:"r50k_base",description:"Embedding model for text search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:5}},ou={humanName:"Text Similarity Curie 001",encoding:"r50k_base",description:"Embedding model for similarity tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:20}},su={humanName:"Text Search Curie Doc 001",encoding:"r50k_base",description:"Embedding model for document search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:20}},lu={humanName:"Text Search Curie Query 001",encoding:"r50k_base",description:"Embedding model for query search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:20}},cu={humanName:"Text Similarity Davinci 001",encoding:"r50k_base",description:"Embedding model for similarity tasks.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:200}},uu={humanName:"Text Search Davinci Doc 001",encoding:"r50k_base",description:"Embedding model for document search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:200}},du={humanName:"Text Search Davinci Query 001",encoding:"r50k_base",description:"Embedding model for query search.",shutdownDate:"2024-01-04",recommendedReplacement:"text-embedding-3-small",cost:{input:200}},Hi={o1:La,"o1-2024-12-17":La,"o1-preview":Na,"o1-preview-2024-09-12":Na,"o1-mini":Ma,"o1-mini-2024-09-12":Ma,"o3-mini":cc,"chatgpt-4o-latest":Cc,"gpt-4o":Pa,"gpt-4o-2024-11-20":sc,"gpt-4o-2024-08-06":Pa,"gpt-4o-2024-05-13":lc,"gpt-4o-mini":Da,"gpt-4o-mini-2024-07-18":Da,"gpt-4o-realtime-preview":mc,"gpt-4o-realtime-preview-2024-10-01":gc,"gpt-4o-realtime-preview-2024-12-17":hc,"gpt-4o-mini-realtime-preview":Oa,"gpt-4o-mini-realtime-preview-2024-12-17":Oa,"gpt-4o-audio-preview":fc,"gpt-4o-audio-preview-2024-10-01":yc,"gpt-4o-audio-preview-2024-12-17":bc,"gpt-4o-mini-audio-preview":Ba,"gpt-4o-mini-audio-preview-2024-12-17":Ba,"gpt-4o-2024-08-06-finetune":vc,"gpt-4o-mini-2024-07-18-finetune":_c,"gpt-4o-mini-training":Fa,"gpt-4o-mini-training-2024-07-18":Fa,"davinci-002-finetune":Ac,"babbage-002-finetune":Ic,"gpt-4-turbo":Ga,"gpt-4-turbo-2024-04-09":Ga,"gpt-4-turbo-preview":zi,"gpt-4-0125-preview":zi,"gpt-4-1106-preview":kc,"gpt-4":za,"gpt-4-0613":za,"gpt-3.5-turbo":Ua,"gpt-3.5-turbo-0125":Ua,"gpt-3.5-turbo-1106":wc,"gpt-3.5-turbo-finetune":Sc,"gpt-3.5-turbo-16k":Ec,"gpt-4-32k":Ui,"gpt-4-32k-0613":Ui,"gpt-4-vision-preview":ja,"gpt-4-1106-vision-preview":Rc,"gpt-4-0314":qc,"gpt-4-32k-0314":Xc,"gpt-3.5-turbo-0613":Pc,"gpt-3.5-turbo-16k-0613":Dc,"gpt-3.5-turbo-0301":Kc},bn={...Hi,"text-embedding-3-small":uc,"text-embedding-3-large":dc,"text-embedding-ada-002":pc,"gpt-3.5-turbo-instruct":Ha,"gpt-3.5-turbo-instruct-0914":Ha,"davinci-002":Tc,"babbage-002":xc,"text-ada-001":Lc,"text-babbage-001":Nc,"text-curie-001":Mc,"text-davinci-001":Oc,"text-davinci-002":Bc,"text-davinci-003":Fc,ada:Gc,babbage:zc,curie:Uc,davinci:Hc,"code-davinci-002":Vc,"code-davinci-001":Va,"davinci-codex":Va,"code-davinci-edit-001":Wc,"code-cushman-002":jc,"code-cushman-001":Wa,"cushman-codex":Wa,"code-search-ada-code-001":$c,"code-search-ada-text-001":Qc,"text-davinci-edit-001":eu,"text-similarity-ada-001":Yc,"text-search-ada-doc-001":Jc,"text-search-ada-query-001":Zc,"text-similarity-babbage-001":tu,"text-search-babbage-doc-001":nu,"text-search-babbage-query-001":iu,"code-search-babbage-code-001":ru,"code-search-babbage-text-001":au,"text-similarity-curie-001":ou,"text-search-curie-doc-001":su,"text-search-curie-query-001":lu,"text-similarity-davinci-001":cu,"text-search-davinci-doc-001":uu,"text-search-davinci-query-001":du};var Ee="<|endoftext|>",Ve="<|fim_prefix|>",We="<|fim_middle|>",je="<|fim_suffix|>",ht="<|im_start|>",ft="<|im_end|>",qe="<|im_sep|>",yt="<|endofprompt|>";var qa=Object.fromEntries(Object.entries(Hi).map(([e,n])=>[e,n.encoding])),Ka=Object.fromEntries(Object.entries(bn).map(([e,n])=>[e,n.encoding])),pu={messageSeparator:`
3250
3250
  `,roleSeparator:`
3251
- `},mu={messageSeparator:"",roleSeparator:qe},Xa=Object.fromEntries(Object.keys(qa).flatMap(e=>e.startsWith("gpt-4")?[[e,mu]]:e.startsWith("gpt-3.5-turbo")?[[e,pu]]:[])),Kg=Object.keys(qa);var bt=/'s|'t|'re|'ve|'m|'ll|'d| ?\p{L}+| ?\p{N}+| ?[^\s\p{L}\p{N}]+|\s+(?!\S)|\s+/gu,bn=/(?:'s|'t|'re|'ve|'m|'ll|'d)|[^\r\n\p{L}\p{N}]?\p{L}+|\p{N}{1,3}| ?[^\s\p{L}\p{N}]+[\r\n]*|\s*[\r\n]+|\s+(?!\S)|\s+/giu;function Ya(e){return{tokenSplitRegex:bn,bytePairRankDecoder:e,specialTokensEncoder:new Map([[Ee,100257],[Ve,100258],[We,100259],[je,100260],[ht,100264],[ft,100265],[qe,100266],[yt,100276]])}}function Ja(e){return{tokenSplitRegex:bn,bytePairRankDecoder:e,specialTokensEncoder:new Map([[Ee,199999],[Ve,2e5],[We,200001],[je,200002],[ht,200003],[ft,200004],[qe,200005],[yt,200006]])}}function Za(e){return{expectedVocabularySize:50281,tokenSplitRegex:bt,bytePairRankDecoder:e,specialTokensEncoder:new Map([[Ee,50256]])}}function $a(e){return{tokenSplitRegex:bt,bytePairRankDecoder:e,specialTokensEncoder:new Map([[Ee,50256],[Ve,50281],[We,50282],[je,50283]])}}function Qa(e){return{expectedVocabularySize:50257,tokenSplitRegex:bt,bytePairRankDecoder:e,specialTokensEncoder:new Map([[Ee,50256]])}}function Vi(e,n){let t=n(e);switch(e.toLowerCase()){case"r50k_base":return Qa(t);case"p50k_base":return Za(t);case"p50k_edit":return $a(t);case"cl100k_base":return Ya(t);case"o200k_base":return Ja(t);default:throw new Error(`Unknown encoding name: ${e}`)}}var Fe=class Fe{constructor({bytePairRankDecoder:n,specialTokensEncoder:t,expectedVocabularySize:i,modelName:r,...a}){J(this,"modelName");J(this,"bytePairEncodingCoreProcessor");J(this,"specialTokensEncoder");J(this,"specialTokensSet");J(this,"allSpecialTokenRegex");J(this,"defaultSpecialTokenConfig");J(this,"vocabularySize");this.specialTokensEncoder=t,this.specialTokensSet=new Set(this.specialTokensEncoder.keys()),this.allSpecialTokenRegex=Gi(this.specialTokensSet),this.bytePairEncodingCoreProcessor=new fn({bytePairRankDecoder:n,specialTokensEncoder:t,...a}),this.defaultSpecialTokenConfig=this.processSpecialTokens();let o=Math.max(n.length-1,Ra(t));if(this.vocabularySize=this.bytePairEncodingCoreProcessor.mergeableBytePairRankCount+t.size,i!==void 0){if(this.vocabularySize!==i)throw new Error("The number of mergeable tokens and special tokens must be equal to expectedVocabularySize.");if(o!==i-1)throw new Error(`The model encodings are invalid. The maximum token value must be equal to expectedVocabularySize - 1. Currently ${o}, expected ${i-1}`)}this.encode=this.encode.bind(this),this.decode=this.decode.bind(this),this.encodeGenerator=this.encodeGenerator.bind(this),this.decodeGenerator=this.decodeGenerator.bind(this),this.decodeAsyncGenerator=this.decodeAsyncGenerator.bind(this),this.decodeAsync=this.decodeAsync.bind(this),this.isWithinTokenLimit=this.isWithinTokenLimit.bind(this),this.encodeChat=this.encodeChat.bind(this),this.encodeChatGenerator=this.encodeChatGenerator.bind(this),this.countTokens=this.countTokens.bind(this),this.setMergeCacheSize=this.setMergeCacheSize.bind(this),this.clearMergeCache=this.clearMergeCache.bind(this),this.estimateCost=this.estimateCost.bind(this),this.modelName=r}static getEncodingApi(n,t){let i=Vi(n,t);return new Fe(i)}static getEncodingApiForModel(n,t){let i=Ka[n],r=Vi(i,t);return new Fe({...r,modelName:n})}processSpecialTokens({allowedSpecial:n,disallowedSpecial:t}={}){let i;if(n===mt||n?.has(mt)){n=new Set(this.specialTokensSet);let r=n;if(t===mt)throw new Error('allowedSpecial and disallowedSpecial cannot both be set to "all".');typeof t=="object"?t.forEach(a=>r.delete(a)):t=new Set}if(!t||t===mt||t.has(mt)){t=new Set(this.specialTokensSet);let r=t;n?.size?(n.forEach(a=>r.delete(a)),t.forEach(a=>n.delete(a)),t.size>0&&(i=Gi(t))):i=this.allSpecialTokenRegex}return{allowedSpecial:n,regexPattern:i}}encodeGenerator(n,t){let i=t?this.processSpecialTokens(t):this.defaultSpecialTokenConfig;if(i.regexPattern){let r=n.match(i.regexPattern);if(r!==null)throw new Error(`Disallowed special token found: ${r[0]}`)}return this.bytePairEncodingCoreProcessor.encodeNativeGenerator(n,i.allowedSpecial)}encode(n,t){let i=t?this.processSpecialTokens(t):this.defaultSpecialTokenConfig;if(i.regexPattern){let r=n.match(i.regexPattern);if(r!==null)throw new Error(`Disallowed special token found: ${r[0]}`)}return this.bytePairEncodingCoreProcessor.encodeNative(n,i.allowedSpecial)}*encodeChatGenerator(n,t=this.modelName){if(!t)throw new Error("Model name must be provided either during initialization or passed in to the method.");let i=Xa[t],r=this.specialTokensEncoder.get(ht),a=this.specialTokensEncoder.get(ft);if(!i||r===void 0||a===void 0)throw new Error(`Model '${t}' does not support chat.`);let o=new Set([qe]),{messageSeparator:s,roleSeparator:l}=i,c=s.length>0?this.encode(s):[],u=l.length>0?this.encode(l,{allowedSpecial:o}):[],d=new Map;for(let{role:m="system",name:p=m,content:f}of n){if(f===void 0)throw new Error("Content must be defined for all messages.");yield[r];let _=d.get(p)??this.encode(p);d.set(p,_),yield _,u.length>0&&(yield u),yield*this.encodeGenerator(f),yield[a],yield c}yield[r],yield*this.encodeGenerator("assistant"),u.length>0&&(yield u)}encodeChat(n,t=this.modelName){return[...this.encodeChatGenerator(n,t)].flat()}isWithinTokenLimit(n,t){let i=typeof n=="string"?this.encodeGenerator(n):this.encodeChatGenerator(n),r=0;for(let a of i)if(r+=a.length,r>t)return!1;return r}countTokens(n,t){if(typeof n=="string"){let a=t?this.processSpecialTokens(t):this.defaultSpecialTokenConfig;if(a.regexPattern){let o=n.match(a.regexPattern);if(o!==null)throw new Error(`Disallowed special token found: ${o[0]}`)}return this.bytePairEncodingCoreProcessor.countNative(n,a.allowedSpecial)}let i=this.encodeChatGenerator(n),r=0;for(let a of i)r+=a.length;return r}setMergeCacheSize(n){this.bytePairEncodingCoreProcessor.setMergeCacheSize(n)}clearMergeCache(){this.bytePairEncodingCoreProcessor.clearMergeCache()}decode(n){return this.bytePairEncodingCoreProcessor.decodeNative(n)}*decodeGenerator(n){let t=this.bytePairEncodingCoreProcessor.decodeNativeGenerator(n),i="";for(let r of t)i+=typeof r=="string"?r:gt.decode(r,{stream:!0}),!(i.length===0||Bi(i))&&(yield i,i="");i.length>0&&(yield i)}async*decodeAsyncGenerator(n){let t=this.bytePairEncodingCoreProcessor.decodeNativeAsyncIterable(n),i="";for await(let r of t)i+=typeof r=="string"?r:gt.decode(r,{stream:!0}),!(i.length===0||Bi(i))&&(yield i,i="");i.length>0&&(yield i)}async decodeAsync(n){let t=this.bytePairEncodingCoreProcessor.decodeNativeAsyncIterable(n),i="";for await(let r of t)i+=typeof r=="string"?r:gt.decode(r,{stream:!0});return i}estimateCost(n,t=this.modelName){if(!t)throw new Error("Model name must be provided either during initialization or passed in to the method.");let i=yn[t];if(!i)throw new Error(`Unknown model: ${t}`);if(!i.cost)throw new Error(`No cost information available for model: ${t}`);let r=i.cost,a={},o=n/1e6;return r.input!==void 0&&(a.input=r.input*o),r.output!==void 0&&(a.output=r.output*o),r.batchInput!==void 0&&(a.batchInput=r.batchInput*o),r.batchOutput!==void 0&&(a.batchOutput=r.batchOutput*o),a}};J(Fe,"EndOfPrompt",yt),J(Fe,"EndOfText",Ee),J(Fe,"FimMiddle",We),J(Fe,"FimPrefix",Ve),J(Fe,"FimSuffix",je);var vn=Fe;var gu=vn.getEncodingApi("cl100k_base",()=>Ta),{decode:Dh,decodeAsyncGenerator:Nh,decodeGenerator:Lh,encode:Mh,encodeGenerator:Oh,isWithinTokenLimit:Bh,countTokens:Ot,encodeChat:Fh,encodeChatGenerator:Gh,vocabularySize:zh,setMergeCacheSize:Uh,clearMergeCache:Hh,estimateCost:Vh}=gu;var _n=class{constructor(){this.size=4096;this.groups=[]}createGroup(n){let t=new Wi;return t.id=n,this.groups.push(t),t}group(n){return this.groups.find(t=>t.id===n)}countTokens(){return this.groups.reduce((n,t)=>n+t.tokenCount,0)}removeOverflow(){let n=this.countTokens(),t=this.groups.reduce((i,r)=>i+r.weight,0);for(;n>this.size;){let i=this.groups.slice().sort((a,o)=>{let s=Math.floor(a.weight/t*this.size),l=Math.floor(o.weight/t*this.size),c=a.tokenCount-s;return o.tokenCount-l-c}),r=this.removeOneItem(i);if(!r)throw new Error("Too many items in the token window that cannot be removed.");n-=r.tokenCount}}removeOneItem(n){for(let t of n){let i=t.items.findIndex(a=>!a.cannotRemove);if(i===-1)continue;let r=t.items[i];return t.items.splice(i,1),t.tokenCount-=r.tokenCount,r}return null}},Wi=class{constructor(){this.id="";this.items=[];this.weight=1;this.tokenCount=0;this.separator=`
3252
- `;this.itemPadding=0;this.sortFunction=(n,t)=>n.sortOrder!==t.sortOrder?n.sortOrder-t.sortOrder:n.dateAdded!==t.dateAdded?n.dateAdded-t.dateAdded:n.content.localeCompare(t.content)}setItemPadding(n){return this.itemPadding=n,this.recalculateTokens(),this}sortBy(n){return this.sortFunction=n,this.items.sort(this.sortFunction),this}setSeparator(n){return this.separator==n?this:(this.separator=n,this.recalculateTokens(),this)}setWeight(n){return this.weight=n,this}recalculateTokens(){this.tokenCount=this.items.reduce((n,t)=>(t.tokenCount=Ot(t.content)+Ot(this.separator)+this.itemPadding,n+t.tokenCount),0)}add(n){typeof n=="string"&&(n={content:n});let t=n;t.id===void 0&&(t.id=Te());let i=this.items.find(r=>r.id===t.id);return i?(this.tokenCount-=i.tokenCount,Object.assign(i,t),t=i):this.items.push(t),t.dateAdded===void 0&&(t.dateAdded=Date.now()),t.sortOrder===void 0&&(t.sortOrder=0),t.disabled===void 0&&(t.disabled=!1),t.tokenCount=t.disabled?0:Ot(n.content)+Ot(this.separator)+this.itemPadding,this.tokenCount+=t.tokenCount,this.items.sort(this.sortFunction),t}getAllAsString(){return this.getAll().map(n=>n.content).join(this.separator)}getAll(){return this.items.filter(n=>!n.disabled)}empty(){this.items=[],this.tokenCount=0}};var vt=1,Ke=new q("ChatGPT"),Sn=class{constructor(n){this.id="";this.metadata={};this.config={apiKey:"",endpoint:"",model:"gpt-4-turbo",systemMessage:"",userID:"",stream:!0,maxTokens:4096};this.maxToolCallsPerMessage=10;this.stats={tokensUsed:0};this.tokenWindow=(()=>{let n=new _n;return n.createGroup("context").setSeparator(`
3251
+ `},mu={messageSeparator:"",roleSeparator:qe},Xa=Object.fromEntries(Object.keys(qa).flatMap(e=>e.startsWith("gpt-4")?[[e,mu]]:e.startsWith("gpt-3.5-turbo")?[[e,pu]]:[])),Kg=Object.keys(qa);var bt=/'s|'t|'re|'ve|'m|'ll|'d| ?\p{L}+| ?\p{N}+| ?[^\s\p{L}\p{N}]+|\s+(?!\S)|\s+/gu,vn=/(?:'s|'t|'re|'ve|'m|'ll|'d)|[^\r\n\p{L}\p{N}]?\p{L}+|\p{N}{1,3}| ?[^\s\p{L}\p{N}]+[\r\n]*|\s*[\r\n]+|\s+(?!\S)|\s+/giu;function Ya(e){return{tokenSplitRegex:vn,bytePairRankDecoder:e,specialTokensEncoder:new Map([[Ee,100257],[Ve,100258],[We,100259],[je,100260],[ht,100264],[ft,100265],[qe,100266],[yt,100276]])}}function Ja(e){return{tokenSplitRegex:vn,bytePairRankDecoder:e,specialTokensEncoder:new Map([[Ee,199999],[Ve,2e5],[We,200001],[je,200002],[ht,200003],[ft,200004],[qe,200005],[yt,200006]])}}function Za(e){return{expectedVocabularySize:50281,tokenSplitRegex:bt,bytePairRankDecoder:e,specialTokensEncoder:new Map([[Ee,50256]])}}function $a(e){return{tokenSplitRegex:bt,bytePairRankDecoder:e,specialTokensEncoder:new Map([[Ee,50256],[Ve,50281],[We,50282],[je,50283]])}}function Qa(e){return{expectedVocabularySize:50257,tokenSplitRegex:bt,bytePairRankDecoder:e,specialTokensEncoder:new Map([[Ee,50256]])}}function Vi(e,n){let t=n(e);switch(e.toLowerCase()){case"r50k_base":return Qa(t);case"p50k_base":return Za(t);case"p50k_edit":return $a(t);case"cl100k_base":return Ya(t);case"o200k_base":return Ja(t);default:throw new Error(`Unknown encoding name: ${e}`)}}var Fe=class Fe{constructor({bytePairRankDecoder:n,specialTokensEncoder:t,expectedVocabularySize:i,modelName:r,...a}){J(this,"modelName");J(this,"bytePairEncodingCoreProcessor");J(this,"specialTokensEncoder");J(this,"specialTokensSet");J(this,"allSpecialTokenRegex");J(this,"defaultSpecialTokenConfig");J(this,"vocabularySize");this.specialTokensEncoder=t,this.specialTokensSet=new Set(this.specialTokensEncoder.keys()),this.allSpecialTokenRegex=Gi(this.specialTokensSet),this.bytePairEncodingCoreProcessor=new yn({bytePairRankDecoder:n,specialTokensEncoder:t,...a}),this.defaultSpecialTokenConfig=this.processSpecialTokens();let o=Math.max(n.length-1,Ra(t));if(this.vocabularySize=this.bytePairEncodingCoreProcessor.mergeableBytePairRankCount+t.size,i!==void 0){if(this.vocabularySize!==i)throw new Error("The number of mergeable tokens and special tokens must be equal to expectedVocabularySize.");if(o!==i-1)throw new Error(`The model encodings are invalid. The maximum token value must be equal to expectedVocabularySize - 1. Currently ${o}, expected ${i-1}`)}this.encode=this.encode.bind(this),this.decode=this.decode.bind(this),this.encodeGenerator=this.encodeGenerator.bind(this),this.decodeGenerator=this.decodeGenerator.bind(this),this.decodeAsyncGenerator=this.decodeAsyncGenerator.bind(this),this.decodeAsync=this.decodeAsync.bind(this),this.isWithinTokenLimit=this.isWithinTokenLimit.bind(this),this.encodeChat=this.encodeChat.bind(this),this.encodeChatGenerator=this.encodeChatGenerator.bind(this),this.countTokens=this.countTokens.bind(this),this.setMergeCacheSize=this.setMergeCacheSize.bind(this),this.clearMergeCache=this.clearMergeCache.bind(this),this.estimateCost=this.estimateCost.bind(this),this.modelName=r}static getEncodingApi(n,t){let i=Vi(n,t);return new Fe(i)}static getEncodingApiForModel(n,t){let i=Ka[n],r=Vi(i,t);return new Fe({...r,modelName:n})}processSpecialTokens({allowedSpecial:n,disallowedSpecial:t}={}){let i;if(n===mt||n?.has(mt)){n=new Set(this.specialTokensSet);let r=n;if(t===mt)throw new Error('allowedSpecial and disallowedSpecial cannot both be set to "all".');typeof t=="object"?t.forEach(a=>r.delete(a)):t=new Set}if(!t||t===mt||t.has(mt)){t=new Set(this.specialTokensSet);let r=t;n?.size?(n.forEach(a=>r.delete(a)),t.forEach(a=>n.delete(a)),t.size>0&&(i=Gi(t))):i=this.allSpecialTokenRegex}return{allowedSpecial:n,regexPattern:i}}encodeGenerator(n,t){let i=t?this.processSpecialTokens(t):this.defaultSpecialTokenConfig;if(i.regexPattern){let r=n.match(i.regexPattern);if(r!==null)throw new Error(`Disallowed special token found: ${r[0]}`)}return this.bytePairEncodingCoreProcessor.encodeNativeGenerator(n,i.allowedSpecial)}encode(n,t){let i=t?this.processSpecialTokens(t):this.defaultSpecialTokenConfig;if(i.regexPattern){let r=n.match(i.regexPattern);if(r!==null)throw new Error(`Disallowed special token found: ${r[0]}`)}return this.bytePairEncodingCoreProcessor.encodeNative(n,i.allowedSpecial)}*encodeChatGenerator(n,t=this.modelName){if(!t)throw new Error("Model name must be provided either during initialization or passed in to the method.");let i=Xa[t],r=this.specialTokensEncoder.get(ht),a=this.specialTokensEncoder.get(ft);if(!i||r===void 0||a===void 0)throw new Error(`Model '${t}' does not support chat.`);let o=new Set([qe]),{messageSeparator:s,roleSeparator:l}=i,c=s.length>0?this.encode(s):[],u=l.length>0?this.encode(l,{allowedSpecial:o}):[],d=new Map;for(let{role:m="system",name:p=m,content:f}of n){if(f===void 0)throw new Error("Content must be defined for all messages.");yield[r];let _=d.get(p)??this.encode(p);d.set(p,_),yield _,u.length>0&&(yield u),yield*this.encodeGenerator(f),yield[a],yield c}yield[r],yield*this.encodeGenerator("assistant"),u.length>0&&(yield u)}encodeChat(n,t=this.modelName){return[...this.encodeChatGenerator(n,t)].flat()}isWithinTokenLimit(n,t){let i=typeof n=="string"?this.encodeGenerator(n):this.encodeChatGenerator(n),r=0;for(let a of i)if(r+=a.length,r>t)return!1;return r}countTokens(n,t){if(typeof n=="string"){let a=t?this.processSpecialTokens(t):this.defaultSpecialTokenConfig;if(a.regexPattern){let o=n.match(a.regexPattern);if(o!==null)throw new Error(`Disallowed special token found: ${o[0]}`)}return this.bytePairEncodingCoreProcessor.countNative(n,a.allowedSpecial)}let i=this.encodeChatGenerator(n),r=0;for(let a of i)r+=a.length;return r}setMergeCacheSize(n){this.bytePairEncodingCoreProcessor.setMergeCacheSize(n)}clearMergeCache(){this.bytePairEncodingCoreProcessor.clearMergeCache()}decode(n){return this.bytePairEncodingCoreProcessor.decodeNative(n)}*decodeGenerator(n){let t=this.bytePairEncodingCoreProcessor.decodeNativeGenerator(n),i="";for(let r of t)i+=typeof r=="string"?r:gt.decode(r,{stream:!0}),!(i.length===0||Bi(i))&&(yield i,i="");i.length>0&&(yield i)}async*decodeAsyncGenerator(n){let t=this.bytePairEncodingCoreProcessor.decodeNativeAsyncIterable(n),i="";for await(let r of t)i+=typeof r=="string"?r:gt.decode(r,{stream:!0}),!(i.length===0||Bi(i))&&(yield i,i="");i.length>0&&(yield i)}async decodeAsync(n){let t=this.bytePairEncodingCoreProcessor.decodeNativeAsyncIterable(n),i="";for await(let r of t)i+=typeof r=="string"?r:gt.decode(r,{stream:!0});return i}estimateCost(n,t=this.modelName){if(!t)throw new Error("Model name must be provided either during initialization or passed in to the method.");let i=bn[t];if(!i)throw new Error(`Unknown model: ${t}`);if(!i.cost)throw new Error(`No cost information available for model: ${t}`);let r=i.cost,a={},o=n/1e6;return r.input!==void 0&&(a.input=r.input*o),r.output!==void 0&&(a.output=r.output*o),r.batchInput!==void 0&&(a.batchInput=r.batchInput*o),r.batchOutput!==void 0&&(a.batchOutput=r.batchOutput*o),a}};J(Fe,"EndOfPrompt",yt),J(Fe,"EndOfText",Ee),J(Fe,"FimMiddle",We),J(Fe,"FimPrefix",Ve),J(Fe,"FimSuffix",je);var _n=Fe;var gu=_n.getEncodingApi("cl100k_base",()=>Ta),{decode:Dh,decodeAsyncGenerator:Lh,decodeGenerator:Nh,encode:Mh,encodeGenerator:Oh,isWithinTokenLimit:Bh,countTokens:Ot,encodeChat:Fh,encodeChatGenerator:Gh,vocabularySize:zh,setMergeCacheSize:Uh,clearMergeCache:Hh,estimateCost:Vh}=gu;var Sn=class{constructor(){this.size=4096;this.groups=[]}createGroup(n){let t=new Wi;return t.id=n,this.groups.push(t),t}group(n){return this.groups.find(t=>t.id===n)}countTokens(){return this.groups.reduce((n,t)=>n+t.tokenCount,0)}removeOverflow(){let n=this.countTokens(),t=this.groups.reduce((i,r)=>i+r.weight,0);for(;n>this.size;){let i=this.groups.slice().sort((a,o)=>{let s=Math.floor(a.weight/t*this.size),l=Math.floor(o.weight/t*this.size),c=a.tokenCount-s;return o.tokenCount-l-c}),r=this.removeOneItem(i);if(!r)throw new Error("Too many items in the token window that cannot be removed.");n-=r.tokenCount}}removeOneItem(n){for(let t of n){let i=t.items.findIndex(a=>!a.cannotRemove);if(i===-1)continue;let r=t.items[i];return t.items.splice(i,1),t.tokenCount-=r.tokenCount,r}return null}},Wi=class{constructor(){this.id="";this.items=[];this.weight=1;this.tokenCount=0;this.separator=`
3252
+ `;this.itemPadding=0;this.sortFunction=(n,t)=>n.sortOrder!==t.sortOrder?n.sortOrder-t.sortOrder:n.dateAdded!==t.dateAdded?n.dateAdded-t.dateAdded:n.content.localeCompare(t.content)}setItemPadding(n){return this.itemPadding=n,this.recalculateTokens(),this}sortBy(n){return this.sortFunction=n,this.items.sort(this.sortFunction),this}setSeparator(n){return this.separator==n?this:(this.separator=n,this.recalculateTokens(),this)}setWeight(n){return this.weight=n,this}recalculateTokens(){this.tokenCount=this.items.reduce((n,t)=>(t.tokenCount=Ot(t.content)+Ot(this.separator)+this.itemPadding,n+t.tokenCount),0)}add(n){typeof n=="string"&&(n={content:n});let t=n;t.id===void 0&&(t.id=Te());let i=this.items.find(r=>r.id===t.id);return i?(this.tokenCount-=i.tokenCount,Object.assign(i,t),t=i):this.items.push(t),t.dateAdded===void 0&&(t.dateAdded=Date.now()),t.sortOrder===void 0&&(t.sortOrder=0),t.disabled===void 0&&(t.disabled=!1),t.tokenCount=t.disabled?0:Ot(n.content)+Ot(this.separator)+this.itemPadding,this.tokenCount+=t.tokenCount,this.items.sort(this.sortFunction),t}getAllAsString(){return this.getAll().map(n=>n.content).join(this.separator)}getAll(){return this.items.filter(n=>!n.disabled)}empty(){this.items=[],this.tokenCount=0}};var vt=1,Ke=new q("ChatGPT"),En=class{constructor(n){this.id="";this.metadata={};this.config={apiKey:"",endpoint:"",model:"gpt-4-turbo",systemMessage:"",userID:"",stream:!0,maxTokens:4096};this.maxToolCallsPerMessage=10;this.stats={tokensUsed:0};this.tokenWindow=(()=>{let n=new Sn;return n.createGroup("context").setSeparator(`
3253
3253
 
3254
- `),n.createGroup("actions").setItemPadding(25),n.createGroup("messages").setItemPadding(10),n})();this.config={...this.config,...n},this.tokenWindow.size=this.config.maxTokens||4096}get contextGroup(){return this.tokenWindow.group("context")}get toolGroup(){return this.tokenWindow.group("actions")}get messageGroup(){return this.tokenWindow.group("messages")}async sendMessage(n){let t={role:"user",content:n};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(t),customData:t}),await this.processMessages();let r=this.messageGroup.items[this.messageGroup.items.length-1]?.customData;return r?.role=="assistant"&&r.content||""}addAssistantMessage(n){let t={role:"assistant",content:n};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(t),customData:t})}addUserMessage(n){let t={role:"user",content:n};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(t),customData:t})}getMessages(){return this.messageGroup.items.map(n=>n.customData)}getLatestMessage(){return this.messageGroup.items.length?this.messageGroup.items[this.messageGroup.items.length-1]?.customData:void 0}async processMessages(){await this.config.onBeforeMessageProcessing?.(),Ke.debugEnabled&&Ke.debug("Process message state:",{context:this.contextGroup.getAllAsString(),tools:this.toolGroup.getAll().map(i=>i.customData),messages:this.messageGroup.items.map(i=>i.customData),tokens:{used:this.tokenWindow.countTokens(),max:this.tokenWindow.size}});let t=this.messageGroup.items[this.messageGroup.items.length-1]?.customData;if(t?.role=="user"||t?.role=="tool")await this.sendToAPI(),await this.processMessages();else if(t?.role=="assistant"&&t?.tool_calls?.length){for(let i of t.tool_calls)await this.processToolCall(i);await this.processMessages()}}async trimMessages(){for(this.tokenWindow.removeOverflow();this.messageGroup.items.length&&this.messageGroup.items[0].customData?.role=="tool";)this.messageGroup.items.shift()}async sendToAPI(n){this.config.systemMessage&&this.contextGroup.add({id:"_gpt_context",cannotRemove:!0,sortOrder:0,content:this.config.systemMessage}),await this.trimMessages();let t=0;for(let l=this.messageGroup.items.length-1;l>=0;l--){let c=this.messageGroup.items[l].customData;if(c.role=="assistant"&&c.tool_calls){if(t+=1,t>=this.maxToolCallsPerMessage)throw new Error(`Exceeded the maximum tool calls per message limit of ${this.maxToolCallsPerMessage}.`)}else if(c.role=="user")break}Ke.debugEnabled&&Ke.debug("Before LLM state:",{context:this.contextGroup.getAllAsString(),tools:this.toolGroup.getAll().map(l=>l.customData),messages:this.messageGroup.items.map(l=>l.customData),tokens:{used:this.tokenWindow.countTokens(),max:this.tokenWindow.size}});let i={model:this.config.model,temperature:.2,user:this.config.userID,tools:[],stream:!!this.config.stream,max_tokens:1024,messages:[{role:"system",content:this.contextGroup.getAllAsString()},...this.messageGroup.getAll().map(l=>l.customData)]};for(let l of this.toolGroup.getAll()){let c=l.customData;c.description&&c.description.length>1024&&Ke.warn(`Tool description for "${c.name}" is too long, it will be truncated.`);let u={type:"function",function:{name:c.name,description:(c.description||"").substring(0,1024),parameters:{type:"object",properties:{}}}};if(Array.isArray(c.params))for(let d of c.params)u.function.parameters.properties[d.name]={type:d.type,description:d.description};else if(c.params){let d=c.params;for(let m in d)u.function.parameters.properties[m]={type:"string",description:d[m]}}i.tools.push(u)}i.user||delete i.user,i.tools.length||delete i.tools;let r={};if(r["Content-Type"]="application/json",this.config.apiKey&&(r.Authorization=`Bearer ${this.config.apiKey}`),n)return i;let a=await fetch(this.config.endpoint||"https://api.openai.com/v1/chat/completions",{method:"POST",headers:r,body:JSON.stringify(i)});if(!a.ok){let l=`${a.status} ${a.statusText}`;try{let u=await a.json();l=u.errorText||u.error?.message||u.error||l}catch{}let c=new Error(l);throw c.code=a.status,c}let o=null,s=null;if(this.config.stream)for await(let l of Ea(a.body)){if(l.data=="[DONE]")break;if(!l.data)continue;let c=JSON.parse(l.data);if(s){for(let u in c.choices[0].delta)if(typeof c.choices[0].delta[u]=="string"){if(u=="role"&&s[u]==c.choices[0].delta[u])continue;s[u]=(s[u]||"")+c.choices[0].delta[u]}for(let u of c.choices[0].delta.tool_calls||[]){if(s.tool_calls||(s.tool_calls=[]),!s.tool_calls[u.index]){s.tool_calls[u.index]=u;continue}let d=s.tool_calls[u.index];d.function=d.function||{},d.function.name=(d.function.name||"")+(u.function?.name||""),d.function.arguments=(d.function.arguments||"")+(u.function?.arguments||"")}}else s={chunkID:c.id,...c.choices[0].delta};s?.content&&!s.content.startsWith("{")&&this.config.onAIMessage?.(s.content,!0)}else o=await a.json(),this.stats.tokensUsed+=o.usage?.total_tokens||0,Ke.debug(`Used ${o.usage?.total_tokens||0} tokens, total used: ${this.stats.tokensUsed}`),s=o.choices?.[0]?.message;if(s||(Ke.warn("No response block in API response."),s={role:"assistant",content:""}),s.role=="user")throw new Error("API returned a user message, which is not allowed.");this.processIncomingMessage(s),this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(s),customData:s}),s.content&&this.config.onAIMessage?.(s.content,!1)}processIncomingMessage(n){}registerTool(n){this.toolGroup.add({id:n.name,cannotRemove:!n.canRemove,content:JSON.stringify(n),customData:n})}async processToolCall(n){try{let i=this.toolGroup.items.find(s=>s.id==n.function.name)?.customData;if(!i)throw new Error(`Tool "${n.function.name}" not found.`);let r=JSON.parse(n.function.arguments);this.config.onAIToolStart?.(n.function.name,r);let a=await i.callback(r);typeof a!="string"&&(a=JSON.stringify(a)||""),(a===""||a==="undefined")&&(a="success");let o={role:"tool",content:a,tool_call_id:n.id};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(o),customData:o})}catch(t){Ke.warn(`Unable to process tool call for "${n?.function?.name}"`,t);let i={role:"tool",content:`Error: ${t.message}`,tool_call_id:n.id};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(i),customData:i})}}resetConversation(){this.messageGroup.empty()}};var Z=function(){return Z=Object.assign||function(n){for(var t,i=1,r=arguments.length;i<r;i++){t=arguments[i];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(n[a]=t[a])}return n},Z.apply(this,arguments)};function hu(e,n,t,i){function r(a){return a instanceof t?a:new t(function(o){o(a)})}return new(t||(t=Promise))(function(a,o){function s(u){try{c(i.next(u))}catch(d){o(d)}}function l(u){try{c(i.throw(u))}catch(d){o(d)}}function c(u){u.done?a(u.value):r(u.value).then(s,l)}c((i=i.apply(e,n||[])).next())})}function fu(e,n){var t={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},i,r,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(c){return function(u){return l([c,u])}}function l(c){if(i)throw new TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(t=0)),t;)try{if(i=1,r&&(a=c[0]&2?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[c[0]&2,a.value]),c[0]){case 0:case 1:a=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,r=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(a=t.trys,!(a=a.length>0&&a[a.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!a||c[1]>a[0]&&c[1]<a[3])){t.label=c[1];break}if(c[0]===6&&t.label<a[1]){t.label=a[1],a=c;break}if(a&&t.label<a[2]){t.label=a[2],t.ops.push(c);break}a[2]&&t.ops.pop(),t.trys.pop();continue}c=n.call(e,t)}catch(u){c=[6,u],r=0}finally{i=a=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}function U(e){var n=typeof Symbol=="function"&&Symbol.iterator,t=n&&e[n],i=0;if(t)return t.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function ee(e,n){var t=typeof Symbol=="function"&&e[Symbol.iterator];if(!t)return e;var i=t.call(e),r,a=[],o;try{for(;(n===void 0||n-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return a}var yu="ENTRIES",ro="KEYS",ao="VALUES",ce="",ji=function(){function e(n,t){var i=n._tree,r=Array.from(i.keys());this.set=n,this._type=t,this._path=r.length>0?[{node:i,keys:r}]:[]}return e.prototype.next=function(){var n=this.dive();return this.backtrack(),n},e.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var n=_t(this._path),t=n.node,i=n.keys;if(_t(i)===ce)return{done:!1,value:this.result()};var r=t.get(_t(i));return this._path.push({node:r,keys:Array.from(r.keys())}),this.dive()},e.prototype.backtrack=function(){if(this._path.length!==0){var n=_t(this._path).keys;n.pop(),!(n.length>0)&&(this._path.pop(),this.backtrack())}},e.prototype.key=function(){return this.set._prefix+this._path.map(function(n){var t=n.keys;return _t(t)}).filter(function(n){return n!==ce}).join("")},e.prototype.value=function(){return _t(this._path).node.get(ce)},e.prototype.result=function(){switch(this._type){case ao:return this.value();case ro:return this.key();default:return[this.key(),this.value()]}},e.prototype[Symbol.iterator]=function(){return this},e}(),_t=function(e){return e[e.length-1]},bu=function(e,n,t){var i=new Map;if(n===void 0)return i;for(var r=n.length+1,a=r+t,o=new Uint8Array(a*r).fill(t+1),s=0;s<r;++s)o[s]=s;for(var l=1;l<a;++l)o[l*r]=l;return oo(e,n,t,i,o,1,r,""),i},oo=function(e,n,t,i,r,a,o,s){var l,c,u=a*o;try{e:for(var d=U(e.keys()),m=d.next();!m.done;m=d.next()){var p=m.value;if(p===ce){var f=r[u-1];f<=t&&i.set(s,[e.get(p),f])}else{for(var _=a,E=0;E<p.length;++E,++_){for(var y=p[E],T=o*_,S=T-o,N=r[T],L=Math.max(0,_-t-1),b=Math.min(o-1,_+t),I=L;I<b;++I){var D=y!==n[I],P=r[S+I]+ +D,M=r[S+I+1]+1,H=r[T+I]+1,R=r[T+I+1]=Math.min(P,M,H);R<N&&(N=R)}if(N>t)continue e}oo(e.get(p),n,t,i,r,_,o,s+p)}}}catch(w){l={error:w}}finally{try{m&&!m.done&&(c=d.return)&&c.call(d)}finally{if(l)throw l.error}}},qi=function(){function e(n,t){n===void 0&&(n=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=n,this._prefix=t}return e.prototype.atPrefix=function(n){var t,i;if(!n.startsWith(this._prefix))throw new Error("Mismatched prefix");var r=ee(Cn(this._tree,n.slice(this._prefix.length)),2),a=r[0],o=r[1];if(a===void 0){var s=ee(er(o),2),l=s[0],c=s[1];try{for(var u=U(l.keys()),d=u.next();!d.done;d=u.next()){var m=d.value;if(m!==ce&&m.startsWith(c)){var p=new Map;return p.set(m.slice(c.length),l.get(m)),new e(p,n)}}}catch(f){t={error:f}}finally{try{d&&!d.done&&(i=u.return)&&i.call(u)}finally{if(t)throw t.error}}}return new e(a,n)},e.prototype.clear=function(){this._size=void 0,this._tree.clear()},e.prototype.delete=function(n){return this._size=void 0,vu(this._tree,n)},e.prototype.entries=function(){return new ji(this,yu)},e.prototype.forEach=function(n){var t,i;try{for(var r=U(this),a=r.next();!a.done;a=r.next()){var o=ee(a.value,2),s=o[0],l=o[1];n(s,l,this)}}catch(c){t={error:c}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},e.prototype.fuzzyGet=function(n,t){return bu(this._tree,n,t)},e.prototype.get=function(n){var t=Zi(this._tree,n);return t!==void 0?t.get(ce):void 0},e.prototype.has=function(n){var t=Zi(this._tree,n);return t!==void 0&&t.has(ce)},e.prototype.keys=function(){return new ji(this,ro)},e.prototype.set=function(n,t){if(typeof n!="string")throw new Error("key must be a string");this._size=void 0;var i=Ki(this._tree,n);return i.set(ce,t),this},Object.defineProperty(e.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var n=this.entries();!n.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),e.prototype.update=function(n,t){if(typeof n!="string")throw new Error("key must be a string");this._size=void 0;var i=Ki(this._tree,n);return i.set(ce,t(i.get(ce))),this},e.prototype.fetch=function(n,t){if(typeof n!="string")throw new Error("key must be a string");this._size=void 0;var i=Ki(this._tree,n),r=i.get(ce);return r===void 0&&i.set(ce,r=t()),r},e.prototype.values=function(){return new ji(this,ao)},e.prototype[Symbol.iterator]=function(){return this.entries()},e.from=function(n){var t,i,r=new e;try{for(var a=U(n),o=a.next();!o.done;o=a.next()){var s=ee(o.value,2),l=s[0],c=s[1];r.set(l,c)}}catch(u){t={error:u}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}}return r},e.fromObject=function(n){return e.from(Object.entries(n))},e}(),Cn=function(e,n,t){var i,r;if(t===void 0&&(t=[]),n.length===0||e==null)return[e,t];try{for(var a=U(e.keys()),o=a.next();!o.done;o=a.next()){var s=o.value;if(s!==ce&&n.startsWith(s))return t.push([e,s]),Cn(e.get(s),n.slice(s.length),t)}}catch(l){i={error:l}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return t.push([e,n]),Cn(void 0,"",t)},Zi=function(e,n){var t,i;if(n.length===0||e==null)return e;try{for(var r=U(e.keys()),a=r.next();!a.done;a=r.next()){var o=a.value;if(o!==ce&&n.startsWith(o))return Zi(e.get(o),n.slice(o.length))}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},Ki=function(e,n){var t,i,r=n.length;e:for(var a=0;e&&a<r;){try{for(var o=(t=void 0,U(e.keys())),s=o.next();!s.done;s=o.next()){var l=s.value;if(l!==ce&&n[a]===l[0]){for(var c=Math.min(r-a,l.length),u=1;u<c&&n[a+u]===l[u];)++u;var d=e.get(l);if(u===l.length)e=d;else{var m=new Map;m.set(l.slice(u),d),e.set(n.slice(a,a+u),m),e.delete(l),e=m}a+=u;continue e}}}catch(f){t={error:f}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}var p=new Map;return e.set(n.slice(a),p),p}return e},vu=function(e,n){var t=ee(Cn(e,n),2),i=t[0],r=t[1];if(i!==void 0){if(i.delete(ce),i.size===0)so(r);else if(i.size===1){var a=ee(i.entries().next().value,2),o=a[0],s=a[1];lo(r,o,s)}}},so=function(e){if(e.length!==0){var n=ee(er(e),2),t=n[0],i=n[1];if(t.delete(i),t.size===0)so(e.slice(0,-1));else if(t.size===1){var r=ee(t.entries().next().value,2),a=r[0],o=r[1];a!==ce&&lo(e.slice(0,-1),a,o)}}},lo=function(e,n,t){if(e.length!==0){var i=ee(er(e),2),r=i[0],a=i[1];r.set(a+n,t),r.delete(a)}},er=function(e){return e[e.length-1]},Bt,tr="or",co="and",_u="and_not",uo=function(){function e(n){if(n?.fields==null)throw new Error('MiniSearch: option "fields" must be provided');var t=n.autoVacuum==null||n.autoVacuum===!0?Ji:n.autoVacuum;this._options=Z(Z(Z({},Yi),n),{autoVacuum:t,searchOptions:Z(Z({},eo),n.searchOptions||{}),autoSuggestOptions:Z(Z({},wu),n.autoSuggestOptions||{})}),this._index=new qi,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=Qi,this.addFields(this._options.fields)}return e.prototype.add=function(n){var t,i,r,a,o,s,l=this._options,c=l.extractField,u=l.tokenize,d=l.processTerm,m=l.fields,p=l.idField,f=c(n,p);if(f==null)throw new Error('MiniSearch: document does not have ID field "'.concat(p,'"'));if(this._idToShortId.has(f))throw new Error("MiniSearch: duplicate ID ".concat(f));var _=this.addDocumentId(f);this.saveStoredFields(_,n);try{for(var E=U(m),y=E.next();!y.done;y=E.next()){var T=y.value,S=c(n,T);if(S!=null){var N=u(S.toString(),T),L=this._fieldIds[T],b=new Set(N).size;this.addFieldLength(_,L,this._documentCount-1,b);try{for(var I=(r=void 0,U(N)),D=I.next();!D.done;D=I.next()){var P=D.value,M=d(P,T);if(Array.isArray(M))try{for(var H=(o=void 0,U(M)),R=H.next();!R.done;R=H.next()){var w=R.value;this.addTerm(L,_,w)}}catch(x){o={error:x}}finally{try{R&&!R.done&&(s=H.return)&&s.call(H)}finally{if(o)throw o.error}}else M&&this.addTerm(L,_,M)}}catch(x){r={error:x}}finally{try{D&&!D.done&&(a=I.return)&&a.call(I)}finally{if(r)throw r.error}}}}}catch(x){t={error:x}}finally{try{y&&!y.done&&(i=E.return)&&i.call(E)}finally{if(t)throw t.error}}},e.prototype.addAll=function(n){var t,i;try{for(var r=U(n),a=r.next();!a.done;a=r.next()){var o=a.value;this.add(o)}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},e.prototype.addAllAsync=function(n,t){var i=this;t===void 0&&(t={});var r=t.chunkSize,a=r===void 0?10:r,o={chunk:[],promise:Promise.resolve()},s=n.reduce(function(u,d,m){var p=u.chunk,f=u.promise;return p.push(d),(m+1)%a===0?{chunk:[],promise:f.then(function(){return new Promise(function(_){return setTimeout(_,0)})}).then(function(){return i.addAll(p)})}:{chunk:p,promise:f}},o),l=s.chunk,c=s.promise;return c.then(function(){return i.addAll(l)})},e.prototype.remove=function(n){var t,i,r,a,o,s,l=this._options,c=l.tokenize,u=l.processTerm,d=l.extractField,m=l.fields,p=l.idField,f=d(n,p);if(f==null)throw new Error('MiniSearch: document does not have ID field "'.concat(p,'"'));var _=this._idToShortId.get(f);if(_==null)throw new Error("MiniSearch: cannot remove document with ID ".concat(f,": it is not in the index"));try{for(var E=U(m),y=E.next();!y.done;y=E.next()){var T=y.value,S=d(n,T);if(S!=null){var N=c(S.toString(),T),L=this._fieldIds[T],b=new Set(N).size;this.removeFieldLength(_,L,this._documentCount,b);try{for(var I=(r=void 0,U(N)),D=I.next();!D.done;D=I.next()){var P=D.value,M=u(P,T);if(Array.isArray(M))try{for(var H=(o=void 0,U(M)),R=H.next();!R.done;R=H.next()){var w=R.value;this.removeTerm(L,_,w)}}catch(x){o={error:x}}finally{try{R&&!R.done&&(s=H.return)&&s.call(H)}finally{if(o)throw o.error}}else M&&this.removeTerm(L,_,M)}}catch(x){r={error:x}}finally{try{D&&!D.done&&(a=I.return)&&a.call(I)}finally{if(r)throw r.error}}}}}catch(x){t={error:x}}finally{try{y&&!y.done&&(i=E.return)&&i.call(E)}finally{if(t)throw t.error}}this._storedFields.delete(_),this._documentIds.delete(_),this._idToShortId.delete(f),this._fieldLength.delete(_),this._documentCount-=1},e.prototype.removeAll=function(n){var t,i;if(n)try{for(var r=U(n),a=r.next();!a.done;a=r.next()){var o=a.value;this.remove(o)}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new qi,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},e.prototype.discard=function(n){var t=this,i=this._idToShortId.get(n);if(i==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(n,": it is not in the index"));this._idToShortId.delete(n),this._documentIds.delete(i),this._storedFields.delete(i),(this._fieldLength.get(i)||[]).forEach(function(r,a){t.removeFieldLength(i,a,t._documentCount,r)}),this._fieldLength.delete(i),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},e.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var n=this._options.autoVacuum,t=n.minDirtFactor,i=n.minDirtCount,r=n.batchSize,a=n.batchWait;this.conditionalVacuum({batchSize:r,batchWait:a},{minDirtCount:i,minDirtFactor:t})}},e.prototype.discardAll=function(n){var t,i,r=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var a=U(n),o=a.next();!o.done;o=a.next()){var s=o.value;this.discard(s)}}catch(l){t={error:l}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=r}this.maybeAutoVacuum()},e.prototype.replace=function(n){var t=this._options,i=t.idField,r=t.extractField,a=r(n,i);this.discard(a),this.add(n)},e.prototype.vacuum=function(n){return n===void 0&&(n={}),this.conditionalVacuum(n)},e.prototype.conditionalVacuum=function(n,t){var i=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var r=i._enqueuedVacuumConditions;return i._enqueuedVacuumConditions=Qi,i.performVacuuming(n,r)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(n),this._currentVacuum)},e.prototype.performVacuuming=function(n,t){return hu(this,void 0,void 0,function(){var i,r,a,o,s,l,c,u,d,m,p,f,_,E,y,T,S,N,L,b,I,D,P,M,H;return fu(this,function(R){switch(R.label){case 0:if(i=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];r=n.batchSize||$i.batchSize,a=n.batchWait||$i.batchWait,o=1,R.label=1;case 1:R.trys.push([1,7,8,9]),s=U(this._index),l=s.next(),R.label=2;case 2:if(l.done)return[3,6];c=ee(l.value,2),u=c[0],d=c[1];try{for(m=(D=void 0,U(d)),p=m.next();!p.done;p=m.next()){f=ee(p.value,2),_=f[0],E=f[1];try{for(y=(M=void 0,U(E)),T=y.next();!T.done;T=y.next())S=ee(T.value,1),N=S[0],!this._documentIds.has(N)&&(E.size<=1?d.delete(_):E.delete(N))}catch(w){M={error:w}}finally{try{T&&!T.done&&(H=y.return)&&H.call(y)}finally{if(M)throw M.error}}}}catch(w){D={error:w}}finally{try{p&&!p.done&&(P=m.return)&&P.call(m)}finally{if(D)throw D.error}}return this._index.get(u).size===0&&this._index.delete(u),o%r!==0?[3,4]:[4,new Promise(function(w){return setTimeout(w,a)})];case 3:R.sent(),R.label=4;case 4:o+=1,R.label=5;case 5:return l=s.next(),[3,2];case 6:return[3,9];case 7:return L=R.sent(),b={error:L},[3,9];case 8:try{l&&!l.done&&(I=s.return)&&I.call(s)}finally{if(b)throw b.error}return[7];case 9:this._dirtCount-=i,R.label=10;case 10:return[4,null];case 11:return R.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},e.prototype.vacuumConditionsMet=function(n){if(n==null)return!0;var t=n.minDirtCount,i=n.minDirtFactor;return t=t||Ji.minDirtCount,i=i||Ji.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=i},Object.defineProperty(e.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),e.prototype.has=function(n){return this._idToShortId.has(n)},e.prototype.getStoredFields=function(n){var t=this._idToShortId.get(n);if(t!=null)return this._storedFields.get(t)},e.prototype.search=function(n,t){var i,r;t===void 0&&(t={});var a=this.executeQuery(n,t),o=[];try{for(var s=U(a),l=s.next();!l.done;l=s.next()){var c=ee(l.value,2),u=c[0],d=c[1],m=d.score,p=d.terms,f=d.match,_=p.length||1,E={id:this._documentIds.get(u),score:m*_,terms:Object.keys(f),queryTerms:p,match:f};Object.assign(E,this._storedFields.get(u)),(t.filter==null||t.filter(E))&&o.push(E)}}catch(y){i={error:y}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}return n===e.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||o.sort(no),o},e.prototype.autoSuggest=function(n,t){var i,r,a,o;t===void 0&&(t={}),t=Z(Z({},this._options.autoSuggestOptions),t);var s=new Map;try{for(var l=U(this.search(n,t)),c=l.next();!c.done;c=l.next()){var u=c.value,d=u.score,m=u.terms,p=m.join(" "),f=s.get(p);f!=null?(f.score+=d,f.count+=1):s.set(p,{score:d,terms:m,count:1})}}catch(L){i={error:L}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(i)throw i.error}}var _=[];try{for(var E=U(s),y=E.next();!y.done;y=E.next()){var T=ee(y.value,2),f=T[0],S=T[1],d=S.score,m=S.terms,N=S.count;_.push({suggestion:f,terms:m,score:d/N})}}catch(L){a={error:L}}finally{try{y&&!y.done&&(o=E.return)&&o.call(E)}finally{if(a)throw a.error}}return _.sort(no),_},Object.defineProperty(e.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),e.loadJSON=function(n,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(n),t)},e.getDefault=function(n){if(Yi.hasOwnProperty(n))return Xi(Yi,n);throw new Error('MiniSearch: unknown option "'.concat(n,'"'))},e.loadJS=function(n,t){var i,r,a,o,s,l,c=n.index,u=n.documentCount,d=n.nextId,m=n.documentIds,p=n.fieldIds,f=n.fieldLength,_=n.averageFieldLength,E=n.storedFields,y=n.dirtCount,T=n.serializationVersion;if(T!==1&&T!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var S=new e(t);S._documentCount=u,S._nextId=d,S._documentIds=En(m),S._idToShortId=new Map,S._fieldIds=p,S._fieldLength=En(f),S._avgFieldLength=_,S._storedFields=En(E),S._dirtCount=y||0,S._index=new qi;try{for(var N=U(S._documentIds),L=N.next();!L.done;L=N.next()){var b=ee(L.value,2),I=b[0],D=b[1];S._idToShortId.set(D,I)}}catch(ie){i={error:ie}}finally{try{L&&!L.done&&(r=N.return)&&r.call(N)}finally{if(i)throw i.error}}try{for(var P=U(c),M=P.next();!M.done;M=P.next()){var H=ee(M.value,2),R=H[0],w=H[1],x=new Map;try{for(var O=(s=void 0,U(Object.keys(w))),j=O.next();!j.done;j=O.next()){var X=j.value,re=w[X];T===1&&(re=re.ds),x.set(parseInt(X,10),En(re))}}catch(ie){s={error:ie}}finally{try{j&&!j.done&&(l=O.return)&&l.call(O)}finally{if(s)throw s.error}}S._index.set(R,x)}}catch(ie){a={error:ie}}finally{try{M&&!M.done&&(o=P.return)&&o.call(P)}finally{if(a)throw a.error}}return S},e.prototype.executeQuery=function(n,t){var i=this;if(t===void 0&&(t={}),n===e.wildcard)return this.executeWildcardQuery(t);if(typeof n!="string"){var r=Z(Z(Z({},t),n),{queries:void 0}),a=n.queries.map(function(E){return i.executeQuery(E,r)});return this.combineResults(a,r.combineWith)}var o=this._options,s=o.tokenize,l=o.processTerm,c=o.searchOptions,u=Z(Z({tokenize:s,processTerm:l},c),t),d=u.tokenize,m=u.processTerm,p=d(n).flatMap(function(E){return m(E)}).filter(function(E){return!!E}),f=p.map(ku(u)),_=f.map(function(E){return i.executeQuerySpec(E,u)});return this.combineResults(_,u.combineWith)},e.prototype.executeQuerySpec=function(n,t){var i,r,a,o,s=Z(Z({},this._options.searchOptions),t),l=(s.fields||this._options.fields).reduce(function(X,re){var ie;return Z(Z({},X),(ie={},ie[re]=Xi(s.boost,re)||1,ie))},{}),c=s.boostDocument,u=s.weights,d=s.maxFuzzy,m=s.bm25,p=Z(Z({},eo.weights),u),f=p.fuzzy,_=p.prefix,E=this._index.get(n.term),y=this.termResults(n.term,n.term,1,E,l,c,m),T,S;if(n.prefix&&(T=this._index.atPrefix(n.term)),n.fuzzy){var N=n.fuzzy===!0?.2:n.fuzzy,L=N<1?Math.min(d,Math.round(n.term.length*N)):N;L&&(S=this._index.fuzzyGet(n.term,L))}if(T)try{for(var b=U(T),I=b.next();!I.done;I=b.next()){var D=ee(I.value,2),P=D[0],M=D[1],H=P.length-n.term.length;if(H){S?.delete(P);var R=_*P.length/(P.length+.3*H);this.termResults(n.term,P,R,M,l,c,m,y)}}}catch(X){i={error:X}}finally{try{I&&!I.done&&(r=b.return)&&r.call(b)}finally{if(i)throw i.error}}if(S)try{for(var w=U(S.keys()),x=w.next();!x.done;x=w.next()){var P=x.value,O=ee(S.get(P),2),j=O[0],H=O[1];if(H){var R=f*P.length/(P.length+H);this.termResults(n.term,P,R,j,l,c,m,y)}}}catch(X){a={error:X}}finally{try{x&&!x.done&&(o=w.return)&&o.call(w)}finally{if(a)throw a.error}}return y},e.prototype.executeWildcardQuery=function(n){var t,i,r=new Map,a=Z(Z({},this._options.searchOptions),n);try{for(var o=U(this._documentIds),s=o.next();!s.done;s=o.next()){var l=ee(s.value,2),c=l[0],u=l[1],d=a.boostDocument?a.boostDocument(u,"",this._storedFields.get(c)):1;r.set(c,{score:d,terms:[],match:{}})}}catch(m){t={error:m}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}return r},e.prototype.combineResults=function(n,t){if(t===void 0&&(t=tr),n.length===0)return new Map;var i=t.toLowerCase();return n.reduce(Su[i])||new Map},e.prototype.toJSON=function(){var n,t,i,r,a=[];try{for(var o=U(this._index),s=o.next();!s.done;s=o.next()){var l=ee(s.value,2),c=l[0],u=l[1],d={};try{for(var m=(i=void 0,U(u)),p=m.next();!p.done;p=m.next()){var f=ee(p.value,2),_=f[0],E=f[1];d[_]=Object.fromEntries(E)}}catch(y){i={error:y}}finally{try{p&&!p.done&&(r=m.return)&&r.call(m)}finally{if(i)throw i.error}}a.push([c,d])}}catch(y){n={error:y}}finally{try{s&&!s.done&&(t=o.return)&&t.call(o)}finally{if(n)throw n.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:a,serializationVersion:2}},e.prototype.termResults=function(n,t,i,r,a,o,s,l){var c,u,d,m,p;if(l===void 0&&(l=new Map),r==null)return l;try{for(var f=U(Object.keys(a)),_=f.next();!_.done;_=f.next()){var E=_.value,y=a[E],T=this._fieldIds[E],S=r.get(T);if(S!=null){var N=S.size,L=this._avgFieldLength[T];try{for(var b=(d=void 0,U(S.keys())),I=b.next();!I.done;I=b.next()){var D=I.value;if(!this._documentIds.has(D)){this.removeTerm(T,D,t),N-=1;continue}var P=o?o(this._documentIds.get(D),t,this._storedFields.get(D)):1;if(P){var M=S.get(D),H=this._fieldLength.get(D)[T],R=Cu(M,N,this._documentCount,H,L,s),w=i*y*P*R,x=l.get(D);if(x){x.score+=w,Tu(x.terms,n);var O=Xi(x.match,t);O?O.push(E):x.match[t]=[E]}else l.set(D,{score:w,terms:[n],match:(p={},p[t]=[E],p)})}}}catch(j){d={error:j}}finally{try{I&&!I.done&&(m=b.return)&&m.call(b)}finally{if(d)throw d.error}}}}}catch(j){c={error:j}}finally{try{_&&!_.done&&(u=f.return)&&u.call(f)}finally{if(c)throw c.error}}return l},e.prototype.addTerm=function(n,t,i){var r=this._index.fetch(i,io),a=r.get(n);if(a==null)a=new Map,a.set(t,1),r.set(n,a);else{var o=a.get(t);a.set(t,(o||0)+1)}},e.prototype.removeTerm=function(n,t,i){if(!this._index.has(i)){this.warnDocumentChanged(t,n,i);return}var r=this._index.fetch(i,io),a=r.get(n);a==null||a.get(t)==null?this.warnDocumentChanged(t,n,i):a.get(t)<=1?a.size<=1?r.delete(n):a.delete(t):a.set(t,a.get(t)-1),this._index.get(i).size===0&&this._index.delete(i)},e.prototype.warnDocumentChanged=function(n,t,i){var r,a;try{for(var o=U(Object.keys(this._fieldIds)),s=o.next();!s.done;s=o.next()){var l=s.value;if(this._fieldIds[l]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(n),' has changed before removal: term "').concat(i,'" was not present in field "').concat(l,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(c){r={error:c}}finally{try{s&&!s.done&&(a=o.return)&&a.call(o)}finally{if(r)throw r.error}}},e.prototype.addDocumentId=function(n){var t=this._nextId;return this._idToShortId.set(n,t),this._documentIds.set(t,n),this._documentCount+=1,this._nextId+=1,t},e.prototype.addFields=function(n){for(var t=0;t<n.length;t++)this._fieldIds[n[t]]=t},e.prototype.addFieldLength=function(n,t,i,r){var a=this._fieldLength.get(n);a==null&&this._fieldLength.set(n,a=[]),a[t]=r;var o=this._avgFieldLength[t]||0,s=o*i+r;this._avgFieldLength[t]=s/(i+1)},e.prototype.removeFieldLength=function(n,t,i,r){if(i===1){this._avgFieldLength[t]=0;return}var a=this._avgFieldLength[t]*i-r;this._avgFieldLength[t]=a/(i-1)},e.prototype.saveStoredFields=function(n,t){var i,r,a=this._options,o=a.storeFields,s=a.extractField;if(!(o==null||o.length===0)){var l=this._storedFields.get(n);l==null&&this._storedFields.set(n,l={});try{for(var c=U(o),u=c.next();!u.done;u=c.next()){var d=u.value,m=s(t,d);m!==void 0&&(l[d]=m)}}catch(p){i={error:p}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(i)throw i.error}}}},e.wildcard=Symbol("*"),e}(),Xi=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)?e[n]:void 0},Su=(Bt={},Bt[tr]=function(e,n){var t,i;try{for(var r=U(n.keys()),a=r.next();!a.done;a=r.next()){var o=a.value,s=e.get(o);if(s==null)e.set(o,n.get(o));else{var l=n.get(o),c=l.score,u=l.terms,d=l.match;s.score=s.score+c,s.match=Object.assign(s.match,d),to(s.terms,u)}}}catch(m){t={error:m}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}return e},Bt[co]=function(e,n){var t,i,r=new Map;try{for(var a=U(n.keys()),o=a.next();!o.done;o=a.next()){var s=o.value,l=e.get(s);if(l!=null){var c=n.get(s),u=c.score,d=c.terms,m=c.match;to(l.terms,d),r.set(s,{score:l.score+u,terms:l.terms,match:Object.assign(l.match,m)})}}}catch(p){t={error:p}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}}return r},Bt[_u]=function(e,n){var t,i;try{for(var r=U(n.keys()),a=r.next();!a.done;a=r.next()){var o=a.value;e.delete(o)}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}return e},Bt),Eu={k:1.2,b:.7,d:.5},Cu=function(e,n,t,i,r,a){var o=a.k,s=a.b,l=a.d,c=Math.log(1+(t-n+.5)/(n+.5));return c*(l+e*(o+1)/(e+o*(1-s+s*i/r)))},ku=function(e){return function(n,t,i){var r=typeof e.fuzzy=="function"?e.fuzzy(n,t,i):e.fuzzy||!1,a=typeof e.prefix=="function"?e.prefix(n,t,i):e.prefix===!0;return{term:n,fuzzy:r,prefix:a}}},Yi={idField:"id",extractField:function(e,n){return e[n]},tokenize:function(e){return e.split(Au)},processTerm:function(e){return e.toLowerCase()},fields:void 0,searchOptions:void 0,storeFields:[],logger:function(e,n){typeof console?.[e]=="function"&&console[e](n)},autoVacuum:!0},eo={combineWith:tr,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:Eu},wu={combineWith:co,prefix:function(e,n,t){return n===t.length-1}},$i={batchSize:1e3,batchWait:10},Qi={minDirtFactor:.1,minDirtCount:20},Ji=Z(Z({},$i),Qi),Tu=function(e,n){e.includes(n)||e.push(n)},to=function(e,n){var t,i;try{for(var r=U(n),a=r.next();!a.done;a=r.next()){var o=a.value;e.includes(o)||e.push(o)}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},no=function(e,n){var t=e.score,i=n.score;return i-t},io=function(){return new Map},En=function(e){var n,t,i=new Map;try{for(var r=U(Object.keys(e)),a=r.next();!a.done;a=r.next()){var o=a.value;i.set(parseInt(o,10),e[o])}}catch(s){n={error:s}}finally{try{a&&!a.done&&(t=r.return)&&t.call(r)}finally{if(n)throw n.error}}return i},Au=/[\n\r -#%-*,-/:;?@[-\]_{}\u00A0\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u1680\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2000-\u200A\u2010-\u2029\u202F-\u2043\u2045-\u2051\u2053-\u205F\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u3000-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]+/u;var po=[{id:"search",type:"action",name:"Search the knowledge base.",content:"Search the knowledge base for information, actions, tools, tours, UI elements, etc. Use this on EVERY request if you don't have information. If the user asks for personal information, use this. If the user asks you to do something, use this to find the tool you need.",isContext:!0,removeFromMessageHistory:!0,parameters:[{name:"query",type:"string",description:"The search query"}],action:async(e,n)=>{let t=await n.knowledgeBase.search(e.query),i=n;i._lastKBsearch=e.query,i._nextRequestUseKBitems=t,n.submitAnalyticsEvent({type:"kb-search",query:e.query,results:t});let r=t.filter(o=>o.type!="action").map(o=>"id="+o.id).join(", ")||"(none)",a=t.filter(o=>o.type=="action").map(o=>"name="+o._functionID).join(", ")||"(none)";return`Search complete, context has been updated. New info entries found: ${r}. New tools available: ${a}.`}}];var tt=new q("KnowledgeBase"),mo=1,kn=class e{constructor(n){this._sources=[{id:"core.internal",query:async()=>po}];this._windowSources=[];this.lastResults=[];this.manualEntries=[];this.ai=n}registerSource(n,t){let i=n;return typeof n=="function"&&(t=n,i=`source.${mo++}`),this._sources.push({id:i,query:t}),i}removeSource(n){this._sources=this.sources.filter(t=>t.id!==n&&t.query!==n)}addEntry(n){this.manualEntries.push(n)}removeEntry(n){this.manualEntries=this.manualEntries.filter(t=>t.id!==n)}get sources(){let n=this._sources;return typeof window<"u"&&$().knowledgeBaseSources&&(n=n.concat($().knowledgeBaseSources.map(t=>({id:t.name,query:t})))),n=n.concat(this._windowSources),n=n.filter(t=>!t.disabled),n}async search(n){tt.debug(`Searching knowledge base for: ${n}`);let t=new Event("webweaver_kb_search",{bubbles:!0,cancelable:!0});t.query=n,t.entries=[],t.sources=[],typeof document<"u"&&document.dispatchEvent(t),this._windowSources=t.sources;let r=(await Promise.all(this.sources.map(async l=>{try{let c=Date.now(),u=await l.query(n);return tt.debug(`Source '${l.id}' took ${Date.now()-c}ms`),u||[]}catch(c){return tt.warn(`Knowledge source '${l.id}' failed:`,c),[]}}))).flat();r=r.concat(t.entries),r=r.concat(this.manualEntries),$().knowledgeBase&&(r=r.concat($().knowledgeBase)),r=r.filter(l=>l&&!l.disabled);for(let l=0;l<r.length;l++){let c=r[l];if(c.id=c.id||`temp.${l}`,c._functionID=c.id.replaceAll(/[^a-zA-Z0-9_]/g,"_"),!c.action&&c.type=="tour"&&(c.action=u=>{throw new Error("This tour does not have an action. You must perform the tour content manually.")}),!c.action&&c.type=="info"&&(c.action=u=>{throw new Error("This item does not have an action. Use the content to provide information to the user instead.")}),c.parameters&&!Array.isArray(c.parameters)){let u=c.parameters,d=[];for(let m in u)d.push({name:m,type:"string",description:c.parameters[m]});c.parameters=d}}let a=new uo({fields:["id","type","name","content","tags"],storeFields:[],searchOptions:{boost:{name:3,tags:2},fuzzy:.2}});a.addAll(r);let s=a.search(n).map(l=>r.find(c=>c.id==l.id));for(let l of r)l.isContext&&(s.find(c=>c.id===l.id)||s.push(l));return this.lastResults=s,tt.debug("Found results:",s),s}getCachedEntry(n){return this.lastResults.find(t=>t.id==n||t._functionID==n)}registerSourceFromURL(n,t){t||(t=`external.${mo++}`),tt.debug(`Registering remote knowledge base source: ${n}`);let i=[],r=[],a=!0,o=async(l,c)=>{tt.debug(`Calling remote knowledge base action: ${l.id}`);let u={type:"action",userID:this.ai.userID,extra:this.ai.extra,actionID:l.id,parameters:c},d=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)});if(!d.ok)throw new Error(`HTTP Error ${d.status} ${d.statusText}`);let m=await d.json();return s(m.updateItems||[]),m.response},s=l=>{for(let c of l){if(!c.id){tt.warn("KB item skipped since it has no ID.",c);continue}let u=i.find(d=>d.id==c.id);if(u){u.name=c.name||u.name||"",u.content=c.content||u.content||"",u.disabled=c.disabled??u.disabled,u.isContext=c.isContext??u.isContext,u.parameters=c.parameters||u.parameters||[],u.tags=c.tags||u.tags,u.type=c.type||u.type;continue}i.push({...c,action:d=>o(c,d)})}};this.registerSource(t,async l=>{if(a&&r.includes(l))return i;let c={type:"search",userID:this.ai?.userID||"",extra:this.ai?.extra||{},query:l},u=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!u.ok)throw new Error(`HTTP Error ${u.status} ${u.statusText}`);let d=await u.json();return a=!d.noCache,r.includes(l)||r.push(l),s(d.items),i})}clone(){let n=new e(this.ai);return n._sources=this._sources,n._windowSources=this._windowSources,n.manualEntries=this.manualEntries,n}};var go={name:"@intelliweave/embedded",version:"1.7.58",description:"Integrate IntelliWeave into your app or website.",main:"./dist/webpack/index.js",types:"./dist/webpack/index.d.ts",type:"module",exports:{".":"./dist/webpack/index.js","./component":"./dist/component/component.js","./node":"./dist/node/node.js","./react":"./dist/react/react.js","./webpack":"./dist/webpack/index.js"},scripts:{build:"npm run build:lib && npm run build:docs","build:lib":"tsx build.ts","build:dev":"cross-env DEVELOPMENT=1 npm run build","build:docs":"typedoc src/index.mts --out dist/docs/",deploy:'npm run build && gsutil cp ./dist/web-weaver.min.js gs://metapress-cdn/web-weaver.min.js && gcloud compute url-maps invalidate-cdn-cache mp-cdn-loadbalancer --project="mp-backend-api" --path "/web-weaver.min.js" --async',"start:server":"cd server && npm run start","deploy:server":"cd server && npm run deploy","llm:build":"cd llm-server && docker build -t web-weaver-llm .","llm:start":"npm run llm:build && docker run -it --rm -p 8000:80 --gpus=all web-weaver-llm","llm:deploy.docker":"npm run llm:build && gcloud auth configure-docker us-central1-docker.pkg.dev && docker tag web-weaver-llm us-central1-docker.pkg.dev/ydangle-web-companion/docker-artifacts/web-weaver-llm && docker push us-central1-docker.pkg.dev/ydangle-web-companion/docker-artifacts/web-weaver-llm","llm:deploy":'npm run llm:deploy.docker && gcloud run deploy web-weaver-llm --project=ydangle-web-companion --image=us-central1-docker.pkg.dev/ydangle-web-companion/docker-artifacts/web-weaver-llm --allow-unauthenticated --region=us-central1 --description="Web Weaver LLM" --concurrency=2 --min-instances=0 --timeout=5m --memory=16Gi --cpu=8',prepack:"npm run build",test:"npm run build && tsx --test"},keywords:["web","weaver","ai","assistant","chat"],author:"jjv360",license:"UNLICENSED",devDependencies:{"@types/audioworklet":"^0.0.64","@types/lodash":"^4.17.13","@types/react":"^18.3.12","@types/uuid":"^10.0.0",bestzip:"^2.2.1","cross-env":"^7.0.3","find-cache-dir":"^5.0.0",lodash:"^4.17.21","onnxruntime-web":"^1.20.0",react:"^18.3.1","replace-in-file":"^8.2.0",tsup:"^8.3.5",tsx:"^4.19.2",typedoc:"^0.27.6"},peerDependencies:{"onnxruntime-web":"^1.20.0",react:"^18 || ^19"},dependencies:{"gpt-tokenizer":"^2.9.0",minisearch:"^6.3.0","rehype-document":"^7.0.3","rehype-external-links":"^3.0.0","rehype-format":"^5.0.0","rehype-stringify":"^10.0.0","remark-parse":"^11.0.0","remark-rehype":"^11.1.0",unified:"^11.0.4","utility-types":"^3.11.0",uuid:"^10.0.0"}};var wn=class{constructor(n){this.ai=n}async boolean(n,t){let i=this.ai.clone();i.resetConversation(),i.getContextPrefix=async()=>'You will receive a question and some data. Answer the question by replying only with the word "true" or "false".';let r=await i.sendMessage(n+`
3254
+ `),n.createGroup("actions").setItemPadding(25),n.createGroup("messages").setItemPadding(10),n})();this.config={...this.config,...n},this.tokenWindow.size=this.config.maxTokens||4096}get contextGroup(){return this.tokenWindow.group("context")}get toolGroup(){return this.tokenWindow.group("actions")}get messageGroup(){return this.tokenWindow.group("messages")}async sendMessage(n){let t={role:"user",content:n};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(t),customData:t}),await this.processMessages();let r=this.messageGroup.items[this.messageGroup.items.length-1]?.customData;return r?.role=="assistant"&&r.content||""}addAssistantMessage(n){let t={role:"assistant",content:n};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(t),customData:t})}addUserMessage(n){let t={role:"user",content:n};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(t),customData:t})}getMessages(){return this.messageGroup.items.map(n=>n.customData)}getLatestMessage(){return this.messageGroup.items.length?this.messageGroup.items[this.messageGroup.items.length-1]?.customData:void 0}async processMessages(){await this.config.onBeforeMessageProcessing?.(),Ke.debugEnabled&&Ke.debug("Process message state:",{context:this.contextGroup.getAllAsString(),tools:this.toolGroup.getAll().map(i=>i.customData),messages:this.messageGroup.items.map(i=>i.customData),tokens:{used:this.tokenWindow.countTokens(),max:this.tokenWindow.size}});let t=this.messageGroup.items[this.messageGroup.items.length-1]?.customData;if(t?.role=="user"||t?.role=="tool")await this.sendToAPI(),await this.processMessages();else if(t?.role=="assistant"&&t?.tool_calls?.length){for(let i of t.tool_calls)await this.processToolCall(i);await this.processMessages()}}async trimMessages(){for(this.tokenWindow.removeOverflow();this.messageGroup.items.length&&this.messageGroup.items[0].customData?.role=="tool";)this.messageGroup.items.shift()}async sendToAPI(n){this.config.systemMessage&&this.contextGroup.add({id:"_gpt_context",cannotRemove:!0,sortOrder:0,content:this.config.systemMessage}),await this.trimMessages();let t=0;for(let l=this.messageGroup.items.length-1;l>=0;l--){let c=this.messageGroup.items[l].customData;if(c.role=="assistant"&&c.tool_calls){if(t+=1,t>=this.maxToolCallsPerMessage)throw new Error(`Exceeded the maximum tool calls per message limit of ${this.maxToolCallsPerMessage}.`)}else if(c.role=="user")break}Ke.debugEnabled&&Ke.debug("Before LLM state:",{context:this.contextGroup.getAllAsString(),tools:this.toolGroup.getAll().map(l=>l.customData),messages:this.messageGroup.items.map(l=>l.customData),tokens:{used:this.tokenWindow.countTokens(),max:this.tokenWindow.size}});let i={model:this.config.model,temperature:.2,user:this.config.userID,tools:[],stream:!!this.config.stream,max_tokens:1024,messages:[{role:"system",content:this.contextGroup.getAllAsString()},...this.messageGroup.getAll().map(l=>l.customData)]};for(let l of this.toolGroup.getAll()){let c=l.customData;c.description&&c.description.length>1024&&Ke.warn(`Tool description for "${c.name}" is too long, it will be truncated.`);let u={type:"function",function:{name:c.name,description:(c.description||"").substring(0,1024),parameters:{type:"object",properties:{}}}};if(Array.isArray(c.params))for(let d of c.params)u.function.parameters.properties[d.name]={type:d.type,description:d.description};else if(c.params){let d=c.params;for(let m in d)u.function.parameters.properties[m]={type:"string",description:d[m]}}i.tools.push(u)}i.user||delete i.user,i.tools.length||delete i.tools;let r={};if(r["Content-Type"]="application/json",this.config.apiKey&&(r.Authorization=`Bearer ${this.config.apiKey}`),n)return i;let a=await fetch(this.config.endpoint||"https://api.openai.com/v1/chat/completions",{method:"POST",headers:r,body:JSON.stringify(i)});if(!a.ok){let l=`${a.status} ${a.statusText}`;try{let u=await a.json();l=u.errorText||u.error?.message||u.error||l}catch{}let c=new Error(l);throw c.code=a.status,c}let o=null,s=null;if(this.config.stream)for await(let l of Ea(a.body)){if(l.data=="[DONE]")break;if(!l.data)continue;let c=JSON.parse(l.data);if(s){for(let u in c.choices[0].delta)if(typeof c.choices[0].delta[u]=="string"){if(u=="role"&&s[u]==c.choices[0].delta[u])continue;s[u]=(s[u]||"")+c.choices[0].delta[u]}for(let u of c.choices[0].delta.tool_calls||[]){if(s.tool_calls||(s.tool_calls=[]),!s.tool_calls[u.index]){s.tool_calls[u.index]=u;continue}let d=s.tool_calls[u.index];d.function=d.function||{},d.function.name=(d.function.name||"")+(u.function?.name||""),d.function.arguments=(d.function.arguments||"")+(u.function?.arguments||"")}}else s={chunkID:c.id,...c.choices[0].delta};s?.content&&!s.content.startsWith("{")&&this.config.onAIMessage?.(s.content,!0)}else o=await a.json(),this.stats.tokensUsed+=o.usage?.total_tokens||0,Ke.debug(`Used ${o.usage?.total_tokens||0} tokens, total used: ${this.stats.tokensUsed}`),s=o.choices?.[0]?.message;if(s||(Ke.warn("No response block in API response."),s={role:"assistant",content:""}),s.role=="user")throw new Error("API returned a user message, which is not allowed.");this.processIncomingMessage(s),this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(s),customData:s}),s.content&&this.config.onAIMessage?.(s.content,!1)}processIncomingMessage(n){}registerTool(n){this.toolGroup.add({id:n.name,cannotRemove:!n.canRemove,content:JSON.stringify(n),customData:n})}async processToolCall(n){try{let i=this.toolGroup.items.find(s=>s.id==n.function.name)?.customData;if(!i)throw new Error(`Tool "${n.function.name}" not found.`);let r=JSON.parse(n.function.arguments);this.config.onAIToolStart?.(n.function.name,r);let a=await i.callback(r);typeof a!="string"&&(a=JSON.stringify(a)||""),(a===""||a==="undefined")&&(a="success");let o={role:"tool",content:a,tool_call_id:n.id};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(o),customData:o})}catch(t){Ke.warn(`Unable to process tool call for "${n?.function?.name}"`,t);let i={role:"tool",content:`Error: ${t.message}`,tool_call_id:n.id};this.messageGroup.add({id:"msg-"+vt++,content:JSON.stringify(i),customData:i})}}resetConversation(){this.messageGroup.empty()}};var Z=function(){return Z=Object.assign||function(n){for(var t,i=1,r=arguments.length;i<r;i++){t=arguments[i];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(n[a]=t[a])}return n},Z.apply(this,arguments)};function hu(e,n,t,i){function r(a){return a instanceof t?a:new t(function(o){o(a)})}return new(t||(t=Promise))(function(a,o){function s(u){try{c(i.next(u))}catch(d){o(d)}}function l(u){try{c(i.throw(u))}catch(d){o(d)}}function c(u){u.done?a(u.value):r(u.value).then(s,l)}c((i=i.apply(e,n||[])).next())})}function fu(e,n){var t={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},i,r,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(c){return function(u){return l([c,u])}}function l(c){if(i)throw new TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(t=0)),t;)try{if(i=1,r&&(a=c[0]&2?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[c[0]&2,a.value]),c[0]){case 0:case 1:a=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,r=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(a=t.trys,!(a=a.length>0&&a[a.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!a||c[1]>a[0]&&c[1]<a[3])){t.label=c[1];break}if(c[0]===6&&t.label<a[1]){t.label=a[1],a=c;break}if(a&&t.label<a[2]){t.label=a[2],t.ops.push(c);break}a[2]&&t.ops.pop(),t.trys.pop();continue}c=n.call(e,t)}catch(u){c=[6,u],r=0}finally{i=a=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}function U(e){var n=typeof Symbol=="function"&&Symbol.iterator,t=n&&e[n],i=0;if(t)return t.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function ee(e,n){var t=typeof Symbol=="function"&&e[Symbol.iterator];if(!t)return e;var i=t.call(e),r,a=[],o;try{for(;(n===void 0||n-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return a}var yu="ENTRIES",ro="KEYS",ao="VALUES",ce="",ji=function(){function e(n,t){var i=n._tree,r=Array.from(i.keys());this.set=n,this._type=t,this._path=r.length>0?[{node:i,keys:r}]:[]}return e.prototype.next=function(){var n=this.dive();return this.backtrack(),n},e.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var n=_t(this._path),t=n.node,i=n.keys;if(_t(i)===ce)return{done:!1,value:this.result()};var r=t.get(_t(i));return this._path.push({node:r,keys:Array.from(r.keys())}),this.dive()},e.prototype.backtrack=function(){if(this._path.length!==0){var n=_t(this._path).keys;n.pop(),!(n.length>0)&&(this._path.pop(),this.backtrack())}},e.prototype.key=function(){return this.set._prefix+this._path.map(function(n){var t=n.keys;return _t(t)}).filter(function(n){return n!==ce}).join("")},e.prototype.value=function(){return _t(this._path).node.get(ce)},e.prototype.result=function(){switch(this._type){case ao:return this.value();case ro:return this.key();default:return[this.key(),this.value()]}},e.prototype[Symbol.iterator]=function(){return this},e}(),_t=function(e){return e[e.length-1]},bu=function(e,n,t){var i=new Map;if(n===void 0)return i;for(var r=n.length+1,a=r+t,o=new Uint8Array(a*r).fill(t+1),s=0;s<r;++s)o[s]=s;for(var l=1;l<a;++l)o[l*r]=l;return oo(e,n,t,i,o,1,r,""),i},oo=function(e,n,t,i,r,a,o,s){var l,c,u=a*o;try{e:for(var d=U(e.keys()),m=d.next();!m.done;m=d.next()){var p=m.value;if(p===ce){var f=r[u-1];f<=t&&i.set(s,[e.get(p),f])}else{for(var _=a,E=0;E<p.length;++E,++_){for(var y=p[E],T=o*_,S=T-o,L=r[T],N=Math.max(0,_-t-1),b=Math.min(o-1,_+t),I=N;I<b;++I){var D=y!==n[I],P=r[S+I]+ +D,M=r[S+I+1]+1,H=r[T+I]+1,R=r[T+I+1]=Math.min(P,M,H);R<L&&(L=R)}if(L>t)continue e}oo(e.get(p),n,t,i,r,_,o,s+p)}}}catch(w){l={error:w}}finally{try{m&&!m.done&&(c=d.return)&&c.call(d)}finally{if(l)throw l.error}}},qi=function(){function e(n,t){n===void 0&&(n=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=n,this._prefix=t}return e.prototype.atPrefix=function(n){var t,i;if(!n.startsWith(this._prefix))throw new Error("Mismatched prefix");var r=ee(kn(this._tree,n.slice(this._prefix.length)),2),a=r[0],o=r[1];if(a===void 0){var s=ee(er(o),2),l=s[0],c=s[1];try{for(var u=U(l.keys()),d=u.next();!d.done;d=u.next()){var m=d.value;if(m!==ce&&m.startsWith(c)){var p=new Map;return p.set(m.slice(c.length),l.get(m)),new e(p,n)}}}catch(f){t={error:f}}finally{try{d&&!d.done&&(i=u.return)&&i.call(u)}finally{if(t)throw t.error}}}return new e(a,n)},e.prototype.clear=function(){this._size=void 0,this._tree.clear()},e.prototype.delete=function(n){return this._size=void 0,vu(this._tree,n)},e.prototype.entries=function(){return new ji(this,yu)},e.prototype.forEach=function(n){var t,i;try{for(var r=U(this),a=r.next();!a.done;a=r.next()){var o=ee(a.value,2),s=o[0],l=o[1];n(s,l,this)}}catch(c){t={error:c}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},e.prototype.fuzzyGet=function(n,t){return bu(this._tree,n,t)},e.prototype.get=function(n){var t=Zi(this._tree,n);return t!==void 0?t.get(ce):void 0},e.prototype.has=function(n){var t=Zi(this._tree,n);return t!==void 0&&t.has(ce)},e.prototype.keys=function(){return new ji(this,ro)},e.prototype.set=function(n,t){if(typeof n!="string")throw new Error("key must be a string");this._size=void 0;var i=Ki(this._tree,n);return i.set(ce,t),this},Object.defineProperty(e.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var n=this.entries();!n.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),e.prototype.update=function(n,t){if(typeof n!="string")throw new Error("key must be a string");this._size=void 0;var i=Ki(this._tree,n);return i.set(ce,t(i.get(ce))),this},e.prototype.fetch=function(n,t){if(typeof n!="string")throw new Error("key must be a string");this._size=void 0;var i=Ki(this._tree,n),r=i.get(ce);return r===void 0&&i.set(ce,r=t()),r},e.prototype.values=function(){return new ji(this,ao)},e.prototype[Symbol.iterator]=function(){return this.entries()},e.from=function(n){var t,i,r=new e;try{for(var a=U(n),o=a.next();!o.done;o=a.next()){var s=ee(o.value,2),l=s[0],c=s[1];r.set(l,c)}}catch(u){t={error:u}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}}return r},e.fromObject=function(n){return e.from(Object.entries(n))},e}(),kn=function(e,n,t){var i,r;if(t===void 0&&(t=[]),n.length===0||e==null)return[e,t];try{for(var a=U(e.keys()),o=a.next();!o.done;o=a.next()){var s=o.value;if(s!==ce&&n.startsWith(s))return t.push([e,s]),kn(e.get(s),n.slice(s.length),t)}}catch(l){i={error:l}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return t.push([e,n]),kn(void 0,"",t)},Zi=function(e,n){var t,i;if(n.length===0||e==null)return e;try{for(var r=U(e.keys()),a=r.next();!a.done;a=r.next()){var o=a.value;if(o!==ce&&n.startsWith(o))return Zi(e.get(o),n.slice(o.length))}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},Ki=function(e,n){var t,i,r=n.length;e:for(var a=0;e&&a<r;){try{for(var o=(t=void 0,U(e.keys())),s=o.next();!s.done;s=o.next()){var l=s.value;if(l!==ce&&n[a]===l[0]){for(var c=Math.min(r-a,l.length),u=1;u<c&&n[a+u]===l[u];)++u;var d=e.get(l);if(u===l.length)e=d;else{var m=new Map;m.set(l.slice(u),d),e.set(n.slice(a,a+u),m),e.delete(l),e=m}a+=u;continue e}}}catch(f){t={error:f}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}var p=new Map;return e.set(n.slice(a),p),p}return e},vu=function(e,n){var t=ee(kn(e,n),2),i=t[0],r=t[1];if(i!==void 0){if(i.delete(ce),i.size===0)so(r);else if(i.size===1){var a=ee(i.entries().next().value,2),o=a[0],s=a[1];lo(r,o,s)}}},so=function(e){if(e.length!==0){var n=ee(er(e),2),t=n[0],i=n[1];if(t.delete(i),t.size===0)so(e.slice(0,-1));else if(t.size===1){var r=ee(t.entries().next().value,2),a=r[0],o=r[1];a!==ce&&lo(e.slice(0,-1),a,o)}}},lo=function(e,n,t){if(e.length!==0){var i=ee(er(e),2),r=i[0],a=i[1];r.set(a+n,t),r.delete(a)}},er=function(e){return e[e.length-1]},Bt,tr="or",co="and",_u="and_not",uo=function(){function e(n){if(n?.fields==null)throw new Error('MiniSearch: option "fields" must be provided');var t=n.autoVacuum==null||n.autoVacuum===!0?Ji:n.autoVacuum;this._options=Z(Z(Z({},Yi),n),{autoVacuum:t,searchOptions:Z(Z({},eo),n.searchOptions||{}),autoSuggestOptions:Z(Z({},wu),n.autoSuggestOptions||{})}),this._index=new qi,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=Qi,this.addFields(this._options.fields)}return e.prototype.add=function(n){var t,i,r,a,o,s,l=this._options,c=l.extractField,u=l.tokenize,d=l.processTerm,m=l.fields,p=l.idField,f=c(n,p);if(f==null)throw new Error('MiniSearch: document does not have ID field "'.concat(p,'"'));if(this._idToShortId.has(f))throw new Error("MiniSearch: duplicate ID ".concat(f));var _=this.addDocumentId(f);this.saveStoredFields(_,n);try{for(var E=U(m),y=E.next();!y.done;y=E.next()){var T=y.value,S=c(n,T);if(S!=null){var L=u(S.toString(),T),N=this._fieldIds[T],b=new Set(L).size;this.addFieldLength(_,N,this._documentCount-1,b);try{for(var I=(r=void 0,U(L)),D=I.next();!D.done;D=I.next()){var P=D.value,M=d(P,T);if(Array.isArray(M))try{for(var H=(o=void 0,U(M)),R=H.next();!R.done;R=H.next()){var w=R.value;this.addTerm(N,_,w)}}catch(x){o={error:x}}finally{try{R&&!R.done&&(s=H.return)&&s.call(H)}finally{if(o)throw o.error}}else M&&this.addTerm(N,_,M)}}catch(x){r={error:x}}finally{try{D&&!D.done&&(a=I.return)&&a.call(I)}finally{if(r)throw r.error}}}}}catch(x){t={error:x}}finally{try{y&&!y.done&&(i=E.return)&&i.call(E)}finally{if(t)throw t.error}}},e.prototype.addAll=function(n){var t,i;try{for(var r=U(n),a=r.next();!a.done;a=r.next()){var o=a.value;this.add(o)}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},e.prototype.addAllAsync=function(n,t){var i=this;t===void 0&&(t={});var r=t.chunkSize,a=r===void 0?10:r,o={chunk:[],promise:Promise.resolve()},s=n.reduce(function(u,d,m){var p=u.chunk,f=u.promise;return p.push(d),(m+1)%a===0?{chunk:[],promise:f.then(function(){return new Promise(function(_){return setTimeout(_,0)})}).then(function(){return i.addAll(p)})}:{chunk:p,promise:f}},o),l=s.chunk,c=s.promise;return c.then(function(){return i.addAll(l)})},e.prototype.remove=function(n){var t,i,r,a,o,s,l=this._options,c=l.tokenize,u=l.processTerm,d=l.extractField,m=l.fields,p=l.idField,f=d(n,p);if(f==null)throw new Error('MiniSearch: document does not have ID field "'.concat(p,'"'));var _=this._idToShortId.get(f);if(_==null)throw new Error("MiniSearch: cannot remove document with ID ".concat(f,": it is not in the index"));try{for(var E=U(m),y=E.next();!y.done;y=E.next()){var T=y.value,S=d(n,T);if(S!=null){var L=c(S.toString(),T),N=this._fieldIds[T],b=new Set(L).size;this.removeFieldLength(_,N,this._documentCount,b);try{for(var I=(r=void 0,U(L)),D=I.next();!D.done;D=I.next()){var P=D.value,M=u(P,T);if(Array.isArray(M))try{for(var H=(o=void 0,U(M)),R=H.next();!R.done;R=H.next()){var w=R.value;this.removeTerm(N,_,w)}}catch(x){o={error:x}}finally{try{R&&!R.done&&(s=H.return)&&s.call(H)}finally{if(o)throw o.error}}else M&&this.removeTerm(N,_,M)}}catch(x){r={error:x}}finally{try{D&&!D.done&&(a=I.return)&&a.call(I)}finally{if(r)throw r.error}}}}}catch(x){t={error:x}}finally{try{y&&!y.done&&(i=E.return)&&i.call(E)}finally{if(t)throw t.error}}this._storedFields.delete(_),this._documentIds.delete(_),this._idToShortId.delete(f),this._fieldLength.delete(_),this._documentCount-=1},e.prototype.removeAll=function(n){var t,i;if(n)try{for(var r=U(n),a=r.next();!a.done;a=r.next()){var o=a.value;this.remove(o)}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new qi,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},e.prototype.discard=function(n){var t=this,i=this._idToShortId.get(n);if(i==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(n,": it is not in the index"));this._idToShortId.delete(n),this._documentIds.delete(i),this._storedFields.delete(i),(this._fieldLength.get(i)||[]).forEach(function(r,a){t.removeFieldLength(i,a,t._documentCount,r)}),this._fieldLength.delete(i),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},e.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var n=this._options.autoVacuum,t=n.minDirtFactor,i=n.minDirtCount,r=n.batchSize,a=n.batchWait;this.conditionalVacuum({batchSize:r,batchWait:a},{minDirtCount:i,minDirtFactor:t})}},e.prototype.discardAll=function(n){var t,i,r=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var a=U(n),o=a.next();!o.done;o=a.next()){var s=o.value;this.discard(s)}}catch(l){t={error:l}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=r}this.maybeAutoVacuum()},e.prototype.replace=function(n){var t=this._options,i=t.idField,r=t.extractField,a=r(n,i);this.discard(a),this.add(n)},e.prototype.vacuum=function(n){return n===void 0&&(n={}),this.conditionalVacuum(n)},e.prototype.conditionalVacuum=function(n,t){var i=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var r=i._enqueuedVacuumConditions;return i._enqueuedVacuumConditions=Qi,i.performVacuuming(n,r)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(n),this._currentVacuum)},e.prototype.performVacuuming=function(n,t){return hu(this,void 0,void 0,function(){var i,r,a,o,s,l,c,u,d,m,p,f,_,E,y,T,S,L,N,b,I,D,P,M,H;return fu(this,function(R){switch(R.label){case 0:if(i=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];r=n.batchSize||$i.batchSize,a=n.batchWait||$i.batchWait,o=1,R.label=1;case 1:R.trys.push([1,7,8,9]),s=U(this._index),l=s.next(),R.label=2;case 2:if(l.done)return[3,6];c=ee(l.value,2),u=c[0],d=c[1];try{for(m=(D=void 0,U(d)),p=m.next();!p.done;p=m.next()){f=ee(p.value,2),_=f[0],E=f[1];try{for(y=(M=void 0,U(E)),T=y.next();!T.done;T=y.next())S=ee(T.value,1),L=S[0],!this._documentIds.has(L)&&(E.size<=1?d.delete(_):E.delete(L))}catch(w){M={error:w}}finally{try{T&&!T.done&&(H=y.return)&&H.call(y)}finally{if(M)throw M.error}}}}catch(w){D={error:w}}finally{try{p&&!p.done&&(P=m.return)&&P.call(m)}finally{if(D)throw D.error}}return this._index.get(u).size===0&&this._index.delete(u),o%r!==0?[3,4]:[4,new Promise(function(w){return setTimeout(w,a)})];case 3:R.sent(),R.label=4;case 4:o+=1,R.label=5;case 5:return l=s.next(),[3,2];case 6:return[3,9];case 7:return N=R.sent(),b={error:N},[3,9];case 8:try{l&&!l.done&&(I=s.return)&&I.call(s)}finally{if(b)throw b.error}return[7];case 9:this._dirtCount-=i,R.label=10;case 10:return[4,null];case 11:return R.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},e.prototype.vacuumConditionsMet=function(n){if(n==null)return!0;var t=n.minDirtCount,i=n.minDirtFactor;return t=t||Ji.minDirtCount,i=i||Ji.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=i},Object.defineProperty(e.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),e.prototype.has=function(n){return this._idToShortId.has(n)},e.prototype.getStoredFields=function(n){var t=this._idToShortId.get(n);if(t!=null)return this._storedFields.get(t)},e.prototype.search=function(n,t){var i,r;t===void 0&&(t={});var a=this.executeQuery(n,t),o=[];try{for(var s=U(a),l=s.next();!l.done;l=s.next()){var c=ee(l.value,2),u=c[0],d=c[1],m=d.score,p=d.terms,f=d.match,_=p.length||1,E={id:this._documentIds.get(u),score:m*_,terms:Object.keys(f),queryTerms:p,match:f};Object.assign(E,this._storedFields.get(u)),(t.filter==null||t.filter(E))&&o.push(E)}}catch(y){i={error:y}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}return n===e.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||o.sort(no),o},e.prototype.autoSuggest=function(n,t){var i,r,a,o;t===void 0&&(t={}),t=Z(Z({},this._options.autoSuggestOptions),t);var s=new Map;try{for(var l=U(this.search(n,t)),c=l.next();!c.done;c=l.next()){var u=c.value,d=u.score,m=u.terms,p=m.join(" "),f=s.get(p);f!=null?(f.score+=d,f.count+=1):s.set(p,{score:d,terms:m,count:1})}}catch(N){i={error:N}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(i)throw i.error}}var _=[];try{for(var E=U(s),y=E.next();!y.done;y=E.next()){var T=ee(y.value,2),f=T[0],S=T[1],d=S.score,m=S.terms,L=S.count;_.push({suggestion:f,terms:m,score:d/L})}}catch(N){a={error:N}}finally{try{y&&!y.done&&(o=E.return)&&o.call(E)}finally{if(a)throw a.error}}return _.sort(no),_},Object.defineProperty(e.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),e.loadJSON=function(n,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(n),t)},e.getDefault=function(n){if(Yi.hasOwnProperty(n))return Xi(Yi,n);throw new Error('MiniSearch: unknown option "'.concat(n,'"'))},e.loadJS=function(n,t){var i,r,a,o,s,l,c=n.index,u=n.documentCount,d=n.nextId,m=n.documentIds,p=n.fieldIds,f=n.fieldLength,_=n.averageFieldLength,E=n.storedFields,y=n.dirtCount,T=n.serializationVersion;if(T!==1&&T!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var S=new e(t);S._documentCount=u,S._nextId=d,S._documentIds=Cn(m),S._idToShortId=new Map,S._fieldIds=p,S._fieldLength=Cn(f),S._avgFieldLength=_,S._storedFields=Cn(E),S._dirtCount=y||0,S._index=new qi;try{for(var L=U(S._documentIds),N=L.next();!N.done;N=L.next()){var b=ee(N.value,2),I=b[0],D=b[1];S._idToShortId.set(D,I)}}catch(ie){i={error:ie}}finally{try{N&&!N.done&&(r=L.return)&&r.call(L)}finally{if(i)throw i.error}}try{for(var P=U(c),M=P.next();!M.done;M=P.next()){var H=ee(M.value,2),R=H[0],w=H[1],x=new Map;try{for(var O=(s=void 0,U(Object.keys(w))),j=O.next();!j.done;j=O.next()){var X=j.value,re=w[X];T===1&&(re=re.ds),x.set(parseInt(X,10),Cn(re))}}catch(ie){s={error:ie}}finally{try{j&&!j.done&&(l=O.return)&&l.call(O)}finally{if(s)throw s.error}}S._index.set(R,x)}}catch(ie){a={error:ie}}finally{try{M&&!M.done&&(o=P.return)&&o.call(P)}finally{if(a)throw a.error}}return S},e.prototype.executeQuery=function(n,t){var i=this;if(t===void 0&&(t={}),n===e.wildcard)return this.executeWildcardQuery(t);if(typeof n!="string"){var r=Z(Z(Z({},t),n),{queries:void 0}),a=n.queries.map(function(E){return i.executeQuery(E,r)});return this.combineResults(a,r.combineWith)}var o=this._options,s=o.tokenize,l=o.processTerm,c=o.searchOptions,u=Z(Z({tokenize:s,processTerm:l},c),t),d=u.tokenize,m=u.processTerm,p=d(n).flatMap(function(E){return m(E)}).filter(function(E){return!!E}),f=p.map(ku(u)),_=f.map(function(E){return i.executeQuerySpec(E,u)});return this.combineResults(_,u.combineWith)},e.prototype.executeQuerySpec=function(n,t){var i,r,a,o,s=Z(Z({},this._options.searchOptions),t),l=(s.fields||this._options.fields).reduce(function(X,re){var ie;return Z(Z({},X),(ie={},ie[re]=Xi(s.boost,re)||1,ie))},{}),c=s.boostDocument,u=s.weights,d=s.maxFuzzy,m=s.bm25,p=Z(Z({},eo.weights),u),f=p.fuzzy,_=p.prefix,E=this._index.get(n.term),y=this.termResults(n.term,n.term,1,E,l,c,m),T,S;if(n.prefix&&(T=this._index.atPrefix(n.term)),n.fuzzy){var L=n.fuzzy===!0?.2:n.fuzzy,N=L<1?Math.min(d,Math.round(n.term.length*L)):L;N&&(S=this._index.fuzzyGet(n.term,N))}if(T)try{for(var b=U(T),I=b.next();!I.done;I=b.next()){var D=ee(I.value,2),P=D[0],M=D[1],H=P.length-n.term.length;if(H){S?.delete(P);var R=_*P.length/(P.length+.3*H);this.termResults(n.term,P,R,M,l,c,m,y)}}}catch(X){i={error:X}}finally{try{I&&!I.done&&(r=b.return)&&r.call(b)}finally{if(i)throw i.error}}if(S)try{for(var w=U(S.keys()),x=w.next();!x.done;x=w.next()){var P=x.value,O=ee(S.get(P),2),j=O[0],H=O[1];if(H){var R=f*P.length/(P.length+H);this.termResults(n.term,P,R,j,l,c,m,y)}}}catch(X){a={error:X}}finally{try{x&&!x.done&&(o=w.return)&&o.call(w)}finally{if(a)throw a.error}}return y},e.prototype.executeWildcardQuery=function(n){var t,i,r=new Map,a=Z(Z({},this._options.searchOptions),n);try{for(var o=U(this._documentIds),s=o.next();!s.done;s=o.next()){var l=ee(s.value,2),c=l[0],u=l[1],d=a.boostDocument?a.boostDocument(u,"",this._storedFields.get(c)):1;r.set(c,{score:d,terms:[],match:{}})}}catch(m){t={error:m}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}return r},e.prototype.combineResults=function(n,t){if(t===void 0&&(t=tr),n.length===0)return new Map;var i=t.toLowerCase();return n.reduce(Su[i])||new Map},e.prototype.toJSON=function(){var n,t,i,r,a=[];try{for(var o=U(this._index),s=o.next();!s.done;s=o.next()){var l=ee(s.value,2),c=l[0],u=l[1],d={};try{for(var m=(i=void 0,U(u)),p=m.next();!p.done;p=m.next()){var f=ee(p.value,2),_=f[0],E=f[1];d[_]=Object.fromEntries(E)}}catch(y){i={error:y}}finally{try{p&&!p.done&&(r=m.return)&&r.call(m)}finally{if(i)throw i.error}}a.push([c,d])}}catch(y){n={error:y}}finally{try{s&&!s.done&&(t=o.return)&&t.call(o)}finally{if(n)throw n.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:a,serializationVersion:2}},e.prototype.termResults=function(n,t,i,r,a,o,s,l){var c,u,d,m,p;if(l===void 0&&(l=new Map),r==null)return l;try{for(var f=U(Object.keys(a)),_=f.next();!_.done;_=f.next()){var E=_.value,y=a[E],T=this._fieldIds[E],S=r.get(T);if(S!=null){var L=S.size,N=this._avgFieldLength[T];try{for(var b=(d=void 0,U(S.keys())),I=b.next();!I.done;I=b.next()){var D=I.value;if(!this._documentIds.has(D)){this.removeTerm(T,D,t),L-=1;continue}var P=o?o(this._documentIds.get(D),t,this._storedFields.get(D)):1;if(P){var M=S.get(D),H=this._fieldLength.get(D)[T],R=Cu(M,L,this._documentCount,H,N,s),w=i*y*P*R,x=l.get(D);if(x){x.score+=w,Tu(x.terms,n);var O=Xi(x.match,t);O?O.push(E):x.match[t]=[E]}else l.set(D,{score:w,terms:[n],match:(p={},p[t]=[E],p)})}}}catch(j){d={error:j}}finally{try{I&&!I.done&&(m=b.return)&&m.call(b)}finally{if(d)throw d.error}}}}}catch(j){c={error:j}}finally{try{_&&!_.done&&(u=f.return)&&u.call(f)}finally{if(c)throw c.error}}return l},e.prototype.addTerm=function(n,t,i){var r=this._index.fetch(i,io),a=r.get(n);if(a==null)a=new Map,a.set(t,1),r.set(n,a);else{var o=a.get(t);a.set(t,(o||0)+1)}},e.prototype.removeTerm=function(n,t,i){if(!this._index.has(i)){this.warnDocumentChanged(t,n,i);return}var r=this._index.fetch(i,io),a=r.get(n);a==null||a.get(t)==null?this.warnDocumentChanged(t,n,i):a.get(t)<=1?a.size<=1?r.delete(n):a.delete(t):a.set(t,a.get(t)-1),this._index.get(i).size===0&&this._index.delete(i)},e.prototype.warnDocumentChanged=function(n,t,i){var r,a;try{for(var o=U(Object.keys(this._fieldIds)),s=o.next();!s.done;s=o.next()){var l=s.value;if(this._fieldIds[l]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(n),' has changed before removal: term "').concat(i,'" was not present in field "').concat(l,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(c){r={error:c}}finally{try{s&&!s.done&&(a=o.return)&&a.call(o)}finally{if(r)throw r.error}}},e.prototype.addDocumentId=function(n){var t=this._nextId;return this._idToShortId.set(n,t),this._documentIds.set(t,n),this._documentCount+=1,this._nextId+=1,t},e.prototype.addFields=function(n){for(var t=0;t<n.length;t++)this._fieldIds[n[t]]=t},e.prototype.addFieldLength=function(n,t,i,r){var a=this._fieldLength.get(n);a==null&&this._fieldLength.set(n,a=[]),a[t]=r;var o=this._avgFieldLength[t]||0,s=o*i+r;this._avgFieldLength[t]=s/(i+1)},e.prototype.removeFieldLength=function(n,t,i,r){if(i===1){this._avgFieldLength[t]=0;return}var a=this._avgFieldLength[t]*i-r;this._avgFieldLength[t]=a/(i-1)},e.prototype.saveStoredFields=function(n,t){var i,r,a=this._options,o=a.storeFields,s=a.extractField;if(!(o==null||o.length===0)){var l=this._storedFields.get(n);l==null&&this._storedFields.set(n,l={});try{for(var c=U(o),u=c.next();!u.done;u=c.next()){var d=u.value,m=s(t,d);m!==void 0&&(l[d]=m)}}catch(p){i={error:p}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(i)throw i.error}}}},e.wildcard=Symbol("*"),e}(),Xi=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)?e[n]:void 0},Su=(Bt={},Bt[tr]=function(e,n){var t,i;try{for(var r=U(n.keys()),a=r.next();!a.done;a=r.next()){var o=a.value,s=e.get(o);if(s==null)e.set(o,n.get(o));else{var l=n.get(o),c=l.score,u=l.terms,d=l.match;s.score=s.score+c,s.match=Object.assign(s.match,d),to(s.terms,u)}}}catch(m){t={error:m}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}return e},Bt[co]=function(e,n){var t,i,r=new Map;try{for(var a=U(n.keys()),o=a.next();!o.done;o=a.next()){var s=o.value,l=e.get(s);if(l!=null){var c=n.get(s),u=c.score,d=c.terms,m=c.match;to(l.terms,d),r.set(s,{score:l.score+u,terms:l.terms,match:Object.assign(l.match,m)})}}}catch(p){t={error:p}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}}return r},Bt[_u]=function(e,n){var t,i;try{for(var r=U(n.keys()),a=r.next();!a.done;a=r.next()){var o=a.value;e.delete(o)}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}return e},Bt),Eu={k:1.2,b:.7,d:.5},Cu=function(e,n,t,i,r,a){var o=a.k,s=a.b,l=a.d,c=Math.log(1+(t-n+.5)/(n+.5));return c*(l+e*(o+1)/(e+o*(1-s+s*i/r)))},ku=function(e){return function(n,t,i){var r=typeof e.fuzzy=="function"?e.fuzzy(n,t,i):e.fuzzy||!1,a=typeof e.prefix=="function"?e.prefix(n,t,i):e.prefix===!0;return{term:n,fuzzy:r,prefix:a}}},Yi={idField:"id",extractField:function(e,n){return e[n]},tokenize:function(e){return e.split(Au)},processTerm:function(e){return e.toLowerCase()},fields:void 0,searchOptions:void 0,storeFields:[],logger:function(e,n){typeof console?.[e]=="function"&&console[e](n)},autoVacuum:!0},eo={combineWith:tr,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:Eu},wu={combineWith:co,prefix:function(e,n,t){return n===t.length-1}},$i={batchSize:1e3,batchWait:10},Qi={minDirtFactor:.1,minDirtCount:20},Ji=Z(Z({},$i),Qi),Tu=function(e,n){e.includes(n)||e.push(n)},to=function(e,n){var t,i;try{for(var r=U(n),a=r.next();!a.done;a=r.next()){var o=a.value;e.includes(o)||e.push(o)}}catch(s){t={error:s}}finally{try{a&&!a.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},no=function(e,n){var t=e.score,i=n.score;return i-t},io=function(){return new Map},Cn=function(e){var n,t,i=new Map;try{for(var r=U(Object.keys(e)),a=r.next();!a.done;a=r.next()){var o=a.value;i.set(parseInt(o,10),e[o])}}catch(s){n={error:s}}finally{try{a&&!a.done&&(t=r.return)&&t.call(r)}finally{if(n)throw n.error}}return i},Au=/[\n\r -#%-*,-/:;?@[-\]_{}\u00A0\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u1680\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2000-\u200A\u2010-\u2029\u202F-\u2043\u2045-\u2051\u2053-\u205F\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u3000-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]+/u;var po=[{id:"search",type:"action",name:"Search the knowledge base.",content:"Search the knowledge base for information, actions, tools, tours, UI elements, etc. Use this on EVERY request if you don't have information. If the user asks for personal information, use this. If the user asks you to do something, use this to find the tool you need.",isContext:!0,removeFromMessageHistory:!0,parameters:[{name:"query",type:"string",description:"The search query"}],action:async(e,n)=>{let t=await n.knowledgeBase.search(e.query),i=n;i._lastKBsearch=e.query,i._nextRequestUseKBitems=t,n.submitAnalyticsEvent({type:"kb-search",query:e.query,results:t});let r=t.filter(o=>o.type!="action").map(o=>"id="+o.id).join(", ")||"(none)",a=t.filter(o=>o.type=="action").map(o=>"name="+o._functionID).join(", ")||"(none)";return`Search complete, context has been updated. New info entries found: ${r}. New tools available: ${a}.`}}];var tt=new q("KnowledgeBase"),mo=1,wn=class e{constructor(n){this._sources=[{id:"core.internal",query:async()=>po}];this._windowSources=[];this.lastResults=[];this.manualEntries=[];this.ai=n}registerSource(n,t){let i=n;return typeof n=="function"&&(t=n,i=`source.${mo++}`),this._sources.push({id:i,query:t}),i}removeSource(n){this._sources=this.sources.filter(t=>t.id!==n&&t.query!==n)}addEntry(n){this.manualEntries.push(n)}removeEntry(n){this.manualEntries=this.manualEntries.filter(t=>t.id!==n)}get sources(){let n=this._sources;return $().knowledgeBaseSources&&(n=n.concat($().knowledgeBaseSources)),n=n.concat(this._windowSources),n=n.filter(t=>!t.disabled),n}async search(n){tt.debug(`Searching knowledge base for: ${n}`);let t=new Event("webweaver_kb_search",{bubbles:!0,cancelable:!0});t.query=n,t.entries=[],t.sources=[],typeof document<"u"&&document.dispatchEvent(t),this._windowSources=t.sources;let r=(await Promise.all(this.sources.map(async l=>{try{let c=Date.now(),u=await l.query(n);return tt.debug(`Source '${l.id}' took ${Date.now()-c}ms`),u||[]}catch(c){return tt.warn(`Knowledge source '${l.id}' failed:`,c),[]}}))).flat();r=r.concat(t.entries),r=r.concat(this.manualEntries),$().knowledgeBase&&(r=r.concat($().knowledgeBase)),r=r.filter(l=>l&&!l.disabled);for(let l=0;l<r.length;l++){let c=r[l];if(c.id=c.id||`temp.${l}`,c._functionID=c.id.replaceAll(/[^a-zA-Z0-9_]/g,"_"),!c.action&&c.type=="tour"&&(c.action=u=>{throw new Error("This tour does not have an action. You must perform the tour content manually.")}),!c.action&&c.type=="info"&&(c.action=u=>{throw new Error("This item does not have an action. Use the content to provide information to the user instead.")}),c.parameters&&!Array.isArray(c.parameters)){let u=c.parameters,d=[];for(let m in u)d.push({name:m,type:"string",description:c.parameters[m]});c.parameters=d}}let a=new uo({fields:["id","type","name","content","tags"],storeFields:[],searchOptions:{boost:{name:3,tags:2},fuzzy:.2}});a.addAll(r);let s=a.search(n).map(l=>r.find(c=>c.id==l.id));for(let l of r)l.isContext&&(s.find(c=>c.id===l.id)||s.push(l));return this.lastResults=s,tt.debug("Found results:",s),s}getCachedEntry(n){return this.lastResults.find(t=>t.id==n||t._functionID==n)}registerSourceFromURL(n,t){t||(t=`external.${mo++}`),tt.debug(`Registering remote knowledge base source: ${n}`);let i=[],r=[],a=!0,o=async(l,c)=>{tt.debug(`Calling remote knowledge base action: ${l.id}`);let u={type:"action",userID:this.ai.userID,extra:this.ai.extra,actionID:l.id,parameters:c},d=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)});if(!d.ok)throw new Error(`HTTP Error ${d.status} ${d.statusText}`);let m=await d.json();return s(m.updateItems||[]),m.response},s=l=>{for(let c of l){if(!c.id){tt.warn("KB item skipped since it has no ID.",c);continue}let u=i.find(d=>d.id==c.id);if(u){u.name=c.name||u.name||"",u.content=c.content||u.content||"",u.disabled=c.disabled??u.disabled,u.isContext=c.isContext??u.isContext,u.parameters=c.parameters||u.parameters||[],u.tags=c.tags||u.tags,u.type=c.type||u.type;continue}i.push({...c,action:d=>o(c,d)})}};this.registerSource(t,async l=>{if(a&&r.includes(l))return i;let c={type:"search",userID:this.ai?.userID||"",extra:this.ai?.extra||{},query:l},u=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!u.ok)throw new Error(`HTTP Error ${u.status} ${u.statusText}`);let d=await u.json();return a=!d.noCache,r.includes(l)||r.push(l),s(d.items),i})}clone(){let n=new e(this.ai);return n._sources=this._sources,n._windowSources=this._windowSources,n.manualEntries=this.manualEntries,n}};var go={name:"@intelliweave/embedded",version:"1.7.59",description:"Integrate IntelliWeave into your app or website.",main:"./dist/webpack/index.js",types:"./dist/webpack/index.d.ts",type:"module",exports:{".":"./dist/webpack/index.js","./component":"./dist/component/component.js","./node":"./dist/node/node.js","./react":"./dist/react/react.js","./webpack":"./dist/webpack/index.js"},scripts:{build:"npm run build:lib && npm run build:docs","build:lib":"tsx build.ts","build:dev":"cross-env DEVELOPMENT=1 npm run build","build:docs":"typedoc src/index.mts --out dist/docs/",deploy:'npm run build && gsutil cp ./dist/web-weaver.min.js gs://metapress-cdn/web-weaver.min.js && gcloud compute url-maps invalidate-cdn-cache mp-cdn-loadbalancer --project="mp-backend-api" --path "/web-weaver.min.js" --async',"start:server":"cd server && npm run start","deploy:server":"cd server && npm run deploy","llm:build":"cd llm-server && docker build -t web-weaver-llm .","llm:start":"npm run llm:build && docker run -it --rm -p 8000:80 --gpus=all web-weaver-llm","llm:deploy.docker":"npm run llm:build && gcloud auth configure-docker us-central1-docker.pkg.dev && docker tag web-weaver-llm us-central1-docker.pkg.dev/ydangle-web-companion/docker-artifacts/web-weaver-llm && docker push us-central1-docker.pkg.dev/ydangle-web-companion/docker-artifacts/web-weaver-llm","llm:deploy":'npm run llm:deploy.docker && gcloud run deploy web-weaver-llm --project=ydangle-web-companion --image=us-central1-docker.pkg.dev/ydangle-web-companion/docker-artifacts/web-weaver-llm --allow-unauthenticated --region=us-central1 --description="Web Weaver LLM" --concurrency=2 --min-instances=0 --timeout=5m --memory=16Gi --cpu=8',prepack:"npm run build",test:"npm run build && tsx --test"},keywords:["web","weaver","ai","assistant","chat"],author:"jjv360",license:"UNLICENSED",devDependencies:{"@types/audioworklet":"^0.0.64","@types/lodash":"^4.17.13","@types/react":"^18.3.12","@types/uuid":"^10.0.0",bestzip:"^2.2.1","cross-env":"^7.0.3","find-cache-dir":"^5.0.0",lodash:"^4.17.21","onnxruntime-web":"^1.20.0",react:"^18.3.1","replace-in-file":"^8.2.0",tsup:"^8.3.5",tsx:"^4.19.2",typedoc:"^0.27.6"},peerDependencies:{"onnxruntime-web":"^1.20.0",react:"^18 || ^19"},dependencies:{"gpt-tokenizer":"^2.9.0",minisearch:"^6.3.0","rehype-document":"^7.0.3","rehype-external-links":"^3.0.0","rehype-format":"^5.0.0","rehype-stringify":"^10.0.0","remark-parse":"^11.0.0","remark-rehype":"^11.1.0",unified:"^11.0.4","utility-types":"^3.11.0",uuid:"^10.0.0"}};var Tn=class{constructor(n){this.ai=n}async boolean(n,t){let i=this.ai.clone();i.resetConversation(),i.getContextPrefix=async()=>'You will receive a question and some data. Answer the question by replying only with the word "true" or "false".';let r=await i.sendMessage(n+`
3255
3255
 
3256
3256
  `+JSON.stringify(t))||"";if(r.toLowerCase().includes("true"))return!0;if(r.toLowerCase().includes("false"))return!1;throw new Error("The AI did not give a boolean answer: "+r)}async choose(n,t,i){i=i.map(o=>o.trim());let r=this.ai.clone();r.resetConversation(),r.getContextPrefix=async()=>"You will receive a question and some data and options. Answer the question by replying with the option you want to choose. Only say the option you want, no additional text.";let a=await r.sendMessage("question:"+n+`
3257
3257
 
@@ -3262,8 +3262,8 @@ options:`+i.join(`
3262
3262
 
3263
3263
  data:`+JSON.stringify(t)+`
3264
3264
 
3265
- extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"").replace(/\n/g,"");let s=o.split(",").map(l=>l.trim()).join(",");return JSON.parse(s)}async generateMarkdown(n,t){return this.instruct("Generate a Markdown document based on the input text. Always include a header on every response. Give long detailed answers with many paragraphs, and explain concepts step by step.",n,t)}async instruct(n,t,i){let r=this.ai.clone();return r.resetConversation(),r.getContextPrefix=async()=>n,i&&r.addEventListener("output",o=>{i(o.detail.message)}),await r.sendMessage(t)}};var Ae=new q("Main"),Tn=class Tn extends EventTarget{constructor(){super(...arguments);this.conversationID=Te();this.knowledgeBase=new kn(this);this._lastKBsearch="";this.models=[];this.audio=null;this.apiKey="";this.logic=new wn(this);this.userID=Ca();this.extra=$().extra||{};this.hubAPI="https://intelliweave.ai/api";this._lastSystemMsg="";this.isProcessing=!1}get loaded(){return!!(this.config&&this.currentModel)}async load(t){if(this.apiKey=t,!t)throw new Error("API key is required to load the AI.");try{await Promise.all([(async()=>{Ae.debug("Loading configuration...");let i=await fetch(this.hubAPI+"/config/get",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:t})});if(!i.ok)throw new Error(`Failed to load configuration: ${i.status} ${i.statusText}`);try{this.config=await i.json(),Ae.debug("Config loaded successfully:",this.config),this.config&&Ae.debug("UI Properties - logo:",this.config.logo,"background:",this.config.background,"textColor:",this.config.textColor)}catch(r){Ae.error("Failed to parse JSON response:",r);try{let a=await i.clone().text();Ae.error("Raw response that failed parsing:",a)}catch{Ae.error("Could not get raw response text either")}throw new Error(`Failed to parse configuration: ${r}`)}})(),(async()=>{try{let i=await fetch("https://cdn.intelliweave.ai/models/silero_vad_3.onnx");if(!i.ok)throw new Error(`Failed to load VAD model: ${i.status} ${i.statusText}`);this.vadModel=await i.blob()}catch(i){Ae.warn(`Failed to load VAD model, some features will be unavailable. ${i.message}`)}})()]),this.models=[{id:this.config.id,config:this.config.model}],this.setModel(this.config.id);for(let i of this.config.knowledge||[])i.url&&this.knowledgeBase.registerSourceFromURL(i.url);for(let i of this.config.knowledge||[])i.entries?.length&&this.knowledgeBase.registerSource(i.id,()=>i.entries||[]);return this.resetConversation(),this.dispatchEvent(new CustomEvent("load",{detail:{ai:this}})),typeof window<"u"&&window.dispatchEvent(new CustomEvent("webweaver_loaded",{detail:{ai:this}})),this.config}catch(i){throw Ae.warn("Failed to load:",i),this.error=i,this.dispatchEvent(new CustomEvent("error",{detail:{ai:this,error:i}})),typeof window<"u"&&window.dispatchEvent(new CustomEvent("webweaver_error",{detail:{ai:this,error:i}})),i}}setModel(t){let i=this.models.find(r=>r.id==t);if(!i)throw new Error(`Model with ID "${t}" not found.`);this.currentModel=new Sn({...i.config,systemMessage:"",onBeforeMessageProcessing:this.onBeforeMessageProcessing.bind(this),onAIMessage:this.processIncomingMessage.bind(this),onAIToolStart:(r,a)=>{let o=this.knowledgeBase.getCachedEntry(r);this.onAIToolStart?.(o?.id||r,a)}}),this.currentModel.id=i.id,this.currentModel.metadata=i}async getContextPrefix(){let t=$().pageSummary||`You are ${this.config?.name||"IntelliWeave"}. ${this.config?.instructions||"Speak in short sentences."}`;return typeof t=="function"&&(t=await t()),t}async onBeforeMessageProcessing(){this._lastKBsearch||(this._lastKBsearch="__intelliweaveblanksearchforcontextitems__");let t=await this.getContextPrefix();this.currentModel.contextGroup.add({id:"_iw_main",sortOrder:1,cannotRemove:!0,content:t}),this.currentModel.contextGroup.add({id:"_iw_kb_description",sortOrder:100,cannotRemove:!0,content:'You have access to a database of knowledge base items. These include "info" type items which provide information and "tour" type items which contain instructions you should follow (only do one item at a time). Current info and tour items:'});let i=this._nextRequestUseKBitems||await this.knowledgeBase.search(this._lastKBsearch);this._nextRequestUseKBitems=void 0;for(let a of i)if(a.type=="info"||a.type=="tour"||a.type=="input-event")this.currentModel.contextGroup.add({id:a.id,customData:a,cannotRemove:a.isContext,sortOrder:101,disabled:a.disabled,content:JSON.stringify({id:a.id,type:a.type,name:a.name,content:Oi(typeof a.content=="function"?a.content():a.content)})+`
3266
- `});else if(a.type=="action"){let o={name:a._functionID,description:Oi(typeof a.content=="function"?a.content():a.content),params:a.parameters||[{name:"value",type:"string",description:"Input"}],removeFromMessageHistory:!!a.removeFromMessageHistory,callback:s=>this.toolRunKBAction(a,s),kb:a};this.currentModel.toolGroup.add({id:a._functionID,customData:o,cannotRemove:a.isContext,sortOrder:101,disabled:a.disabled,content:JSON.stringify(o)})}else continue;let r=this.currentModel.contextGroup.getAllAsString();this._lastSystemMsg!=r&&(this._lastSystemMsg=r,this.submitAnalyticsEvent({type:"system-msg",txt:r}))}processIncomingMessage(t,i){i||this.submitAnalyticsEvent({type:"message",role:"assistant",message:t});let r="";this._lastOutput===void 0?(r=t,this._lastOutput=t):t.startsWith(this._lastOutput)?(r=t.substring(this._lastOutput.length),this._lastOutput=t):(Ae.warn("Message was changed during chunking. This should not happen.",t,this._lastOutput),r=t,this._lastOutput=t),i||(this._lastOutput=void 0),this.dispatchEvent(new CustomEvent("output",{detail:{ai:this,isChunk:i,message:t,messageChunk:r}})),this.onAIMessage?.(t,!!i)}async sendMessage(t){if(!this.currentModel)throw new Error("No model selected. Please call load() first.");if(this.isProcessing)return Ae.warn("Cannot send message while another message is being processed."),null;this.isProcessing=!0;try{return this.submitAnalyticsEvent({type:"message",role:"user",message:t}),this.dispatchEvent(new CustomEvent("input",{detail:{ai:this,message:t}})),await this.currentModel.sendMessage(t)}finally{this.isProcessing=!1}}async toolRunKBAction(t,i){try{this.dispatchEvent(new CustomEvent("toolstart",{detail:{knowledgeBaseEntry:t,input:i,ai:this}}));let r=await t.action(i,this);return this.submitAnalyticsEvent({type:"action",action:t.id,value:i,result:r}),this.dispatchEvent(new CustomEvent("tool",{detail:{knowledgeBaseEntry:t,input:i,ai:this,result:r}})),r}catch(r){throw this.submitAnalyticsEvent({type:"action",action:t.id,value:i,error:r.message}),this.dispatchEvent(new CustomEvent("tool",{detail:{knowledgeBaseEntry:t,input:i,ai:this,error:r}})),r}}submitAnalyticsEvent(t){$().analytics===!1||this.config?.analytics===!1||fetch(this.hubAPI+"/analytics/post",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...t,apiKey:this.apiKey,time:Date.now(),conversationID:this.conversationID,personaID:this.config?.id})}).catch(i=>{Ae.debug("Failed to submit analytics event:",i)})}resetConversation(){this.currentModel&&(this.currentModel.resetConversation(),this.conversationID=Te(),this._lastSystemMsg="")}insertAssistantMessage(t){if(!this.currentModel)throw new Error("No model selected. Please call load() first.");let i={role:"assistant",content:t};this.currentModel.messageGroup.add({id:Te(),content:JSON.stringify(i),customData:i})}exportState(){return{type:"intelliweave/state/v1",conversationID:this.conversationID,messages:this.currentModel?.messageGroup.getAll().map(t=>t.customData)}}importState(t){if(!this.currentModel)throw new Error("No model selected. Please call load() first.");if(t?.type!="intelliweave/state/v1")throw new Error(`Invalid state type: ${t.type}`);this.conversationID=t.conversationID;for(let i of t.messages)this.currentModel.messageGroup.add({id:Te(),content:JSON.stringify(i),customData:i})}clone(){let t=new Tn;return t.apiKey=this.apiKey,t.config=this.config,t.models=this.models,this.config?.id&&t.setModel(this.config.id),t.audio=this.audio,t.vadModel=this.vadModel,t.userID=this.userID,t.extra=this.extra,t.knowledgeBase=this.knowledgeBase.clone(),t}};Tn.version=go.version;var St=Tn;var be=class extends HTMLElement{constructor(){super(...arguments);this._state={}}get root(){return this._shadow}static register(){this._isRegistered||(this._isRegistered=!0,this.tagName||(this.tagName="anonymous-component-"+this.name.toLowerCase().replace(/[^a-z0-9-]/g,"-")+"--"+Math.random().toString(36).substring(2)),window.customElements.define(this.tagName,this))}static create(t={},i=""){this.register();let r=document.createElement(this.tagName);for(let a in t)r.setAttribute(a,t[a]);return r.onBeforeCreate(),r.innerHTML=i,r}static add(t={},i=""){return this.register(),`<${this.tagName} ${Object.keys(t).map(r=>`${r}="${(t[r]+"").replaceAll('"',"&quot;")}"`).join(" ")}>${i}</${this.tagName}>`}static createElement(){return this.register(),document.createElement(this.tagName)}connectedCallback(){this._shadow||(this._shadow=this.attachShadow({mode:"closed"}),this._shadow.innerHTML=this.html(),this.onCreate()),this.onUpdate()}disconnectedCallback(){this._shadow=void 0,this.onDestroy()}html(){return""}onBeforeCreate(){}onCreate(){}onUpdate(){}onDestroy(){}attributeChangedCallback(t,i,r){this._shadow&&this.onUpdate()}get attr(){if(this._attrProxy)return this._attrProxy;let t=i=>(An=An||document.createElement("div"),An.innerText=i||"",An.innerHTML);return this._attrProxy=new Proxy({},{get:(i,r)=>t(this.getAttribute(r.toString())||""),set:(i,r,a)=>(this.getAttribute(r.toString())===a||(a?this.setAttribute(r.toString(),a):this.removeAttribute(r.toString()),this._shadow&&this.onUpdate()),!0)}),this._attrProxy}get state(){return this._stateProxy?this._stateProxy:(this._stateProxy=new Proxy({},{get:(t,i)=>this._state[i],set:(t,i,r)=>(this._state[i]=r,this._shadow&&this.onUpdate(),!0)}),this._stateProxy)}hasChild(t){return!!this.root?.getElementById(t)}child(t){let i=this.root?.getElementById(t);if(!i)throw new Error(`Child with ID ${t} not found`);return i}};be.observedAttributes=[],be.tagName="",be._isRegistered=!1;var An;var ho='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" width="200" height="200" style="shape-rendering: auto; display: block; " xmlns:xlink="http://www.w3.org/1999/xlink"><g><circle cx="84" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="0.5s" calcMode="spline" keyTimes="0;1" values="10;0" keySplines="0 0.5 0.5 1" begin="0s"></animate>%0A <animate attributeName="fill" repeatCount="indefinite" dur="2s" calcMode="discrete" keyTimes="0;0.25;0.5;0.75;1" values="%23797979;%23797979;%23797979;%23797979;%23797979" begin="0s"></animate>%0A</circle><circle cx="16" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="0s"></animate>%0A <animate attributeName="cx" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="0s"></animate>%0A</circle><circle cx="50" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-0.5s"></animate>%0A <animate attributeName="cx" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-0.5s"></animate>%0A</circle><circle cx="84" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-1s"></animate>%0A <animate attributeName="cx" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-1s"></animate>%0A</circle><circle cx="16" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-1.5s"></animate>%0A <animate attributeName="cx" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-1.5s"></animate>%0A</circle><g></g></g><!-- [ldio] generated by https://loading.io --></svg>';var fo='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="512" x="0" y="0" viewBox="0 0 475.085 475.085" style="enable-background:new 0 0 512 512" xml:space="preserve" class=""><g><path d="M237.541 328.897c25.128 0 46.632-8.946 64.523-26.83 17.888-17.884 26.833-39.399 26.833-64.525V91.365c0-25.126-8.938-46.632-26.833-64.525C284.173 8.951 262.669 0 237.541 0c-25.125 0-46.632 8.951-64.524 26.84-17.893 17.89-26.838 39.399-26.838 64.525v146.177c0 25.125 8.949 46.641 26.838 64.525 17.889 17.884 39.399 26.83 64.524 26.83z" fill="%23ffffff" opacity="1" data-original="%23000000" class=""></path><path d="M396.563 188.15c-3.606-3.617-7.898-5.426-12.847-5.426-4.944 0-9.226 1.809-12.847 5.426-3.613 3.616-5.421 7.898-5.421 12.845v36.547c0 35.214-12.518 65.333-37.548 90.362-25.022 25.03-55.145 37.545-90.36 37.545-35.214 0-65.334-12.515-90.365-37.545-25.028-25.022-37.541-55.147-37.541-90.362v-36.547c0-4.947-1.809-9.229-5.424-12.845-3.617-3.617-7.895-5.426-12.847-5.426s-9.235 1.809-12.85 5.426c-3.618 3.616-5.426 7.898-5.426 12.845v36.547c0 42.065 14.04 78.659 42.112 109.776 28.073 31.118 62.762 48.961 104.068 53.526v37.691h-73.089c-4.949 0-9.231 1.811-12.847 5.428-3.617 3.614-5.426 7.898-5.426 12.847 0 4.941 1.809 9.233 5.426 12.847 3.616 3.614 7.898 5.428 12.847 5.428h182.719c4.948 0 9.236-1.813 12.847-5.428 3.621-3.613 5.431-7.905 5.431-12.847 0-4.948-1.81-9.232-5.431-12.847-3.61-3.617-7.898-5.428-12.847-5.428h-73.08v-37.691c41.299-4.565 75.985-22.408 104.061-53.526 28.076-31.117 42.12-67.711 42.12-109.776v-36.547c0-4.946-1.813-9.225-5.435-12.845z" fill="%23ffffff" opacity="1" data-original="%23000000" class=""></path></g></svg>';var yo='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="512" x="0" y="0" viewBox="0 0 448.075 448.075" style="enable-background:new 0 0 512 512" xml:space="preserve" class=""><g><path d="M352.021 16.075c0-6.08-3.52-11.84-8.96-14.4-5.76-2.88-12.16-1.92-16.96 1.92l-141.76 112.96 167.68 167.68zM443.349 420.747l-416-416c-6.24-6.24-16.384-6.24-22.624 0s-6.24 16.384 0 22.624l100.672 100.704h-9.376c-9.92 0-18.56 4.48-24.32 11.52-4.8 5.44-7.68 12.8-7.68 20.48v128c0 17.6 14.4 32 32 32h74.24l155.84 124.48c2.88 2.24 6.4 3.52 9.92 3.52 2.24 0 4.8-.64 7.04-1.6 5.44-2.56 8.96-8.32 8.96-14.4v-57.376l68.672 68.672c3.136 3.136 7.232 4.704 11.328 4.704s8.192-1.568 11.328-4.672c6.24-6.272 6.24-16.384 0-22.656z" fill="%23ffffff" opacity="1" data-original="%23000000" class=""></path></g></svg>';var Ft=class extends be{constructor(){super(...arguments);this.html=()=>`
3265
+ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"").replace(/\n/g,"");let s=o.split(",").map(l=>l.trim()).join(",");return JSON.parse(s)}async generateMarkdown(n,t){return this.instruct("Generate a Markdown document based on the input text. Always include a header on every response. Give long detailed answers with many paragraphs, and explain concepts step by step.",n,t)}async instruct(n,t,i){let r=this.ai.clone();return r.resetConversation(),r.getContextPrefix=async()=>n,i&&r.addEventListener("output",o=>{i(o.detail.message)}),await r.sendMessage(t)}};var Ae=new q("Main"),An=class An extends EventTarget{constructor(){super(...arguments);this.conversationID=Te();this.knowledgeBase=new wn(this);this._lastKBsearch="";this.models=[];this.audio=null;this.apiKey="";this.logic=new Tn(this);this.userID=Ca();this.extra=$().extra||{};this.hubAPI="https://intelliweave.ai/api";this._lastSystemMsg="";this.isProcessing=!1}get loaded(){return!!(this.config&&this.currentModel)}async load(t){if(this.apiKey=t,!t)throw new Error("API key is required to load the AI.");try{await Promise.all([(async()=>{Ae.debug("Loading configuration...");let i=await fetch(this.hubAPI+"/config/get",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:t})});if(!i.ok)throw new Error(`Failed to load configuration: ${i.status} ${i.statusText}`);try{this.config=await i.json(),Ae.debug("Config loaded successfully:",this.config),this.config&&Ae.debug("UI Properties - logo:",this.config.logo,"background:",this.config.background,"textColor:",this.config.textColor)}catch(r){Ae.error("Failed to parse JSON response:",r);try{let a=await i.clone().text();Ae.error("Raw response that failed parsing:",a)}catch{Ae.error("Could not get raw response text either")}throw new Error(`Failed to parse configuration: ${r}`)}})(),(async()=>{try{let i=await fetch("https://cdn.intelliweave.ai/models/silero_vad_3.onnx");if(!i.ok)throw new Error(`Failed to load VAD model: ${i.status} ${i.statusText}`);this.vadModel=await i.blob()}catch(i){Ae.warn(`Failed to load VAD model, some features will be unavailable. ${i.message}`)}})()]),this.models=[{id:this.config.id,config:this.config.model}],this.setModel(this.config.id);for(let i of this.config.knowledge||[])i.url&&this.knowledgeBase.registerSourceFromURL(i.url);for(let i of this.config.knowledge||[])i.entries?.length&&this.knowledgeBase.registerSource(i.id,()=>i.entries||[]);return this.resetConversation(),this.dispatchEvent(new CustomEvent("load",{detail:{ai:this}})),typeof window<"u"&&window.dispatchEvent(new CustomEvent("webweaver_loaded",{detail:{ai:this}})),this.config}catch(i){throw Ae.warn("Failed to load:",i),this.error=i,this.dispatchEvent(new CustomEvent("error",{detail:{ai:this,error:i}})),typeof window<"u"&&window.dispatchEvent(new CustomEvent("webweaver_error",{detail:{ai:this,error:i}})),i}}setModel(t){let i=this.models.find(r=>r.id==t);if(!i)throw new Error(`Model with ID "${t}" not found.`);this.currentModel=new En({...i.config,systemMessage:"",onBeforeMessageProcessing:this.onBeforeMessageProcessing.bind(this),onAIMessage:this.processIncomingMessage.bind(this),onAIToolStart:(r,a)=>{let o=this.knowledgeBase.getCachedEntry(r);this.onAIToolStart?.(o?.id||r,a)}}),this.currentModel.id=i.id,this.currentModel.metadata=i}async getContextPrefix(){let t=$().pageSummary||`You are ${this.config?.name||"IntelliWeave"}. ${this.config?.instructions||"Speak in short sentences."}`;return typeof t=="function"&&(t=await t()),t}async onBeforeMessageProcessing(){this._lastKBsearch||(this._lastKBsearch="__intelliweaveblanksearchforcontextitems__");let t=await this.getContextPrefix();this.currentModel.contextGroup.add({id:"_iw_main",sortOrder:1,cannotRemove:!0,content:t}),this.currentModel.contextGroup.add({id:"_iw_kb_description",sortOrder:100,cannotRemove:!0,content:'You have access to a database of knowledge base items. These include "info" type items which provide information and "tour" type items which contain instructions you should follow (only do one item at a time). Current info and tour items:'});let i=this._nextRequestUseKBitems||await this.knowledgeBase.search(this._lastKBsearch);this._nextRequestUseKBitems=void 0;for(let a of i)if(a.type=="info"||a.type=="tour"||a.type=="input-event")this.currentModel.contextGroup.add({id:a.id,customData:a,cannotRemove:a.isContext,sortOrder:101,disabled:a.disabled,content:JSON.stringify({id:a.id,type:a.type,name:a.name,content:Oi(typeof a.content=="function"?a.content():a.content)})+`
3266
+ `});else if(a.type=="action"){let o={name:a._functionID,description:Oi(typeof a.content=="function"?a.content():a.content),params:a.parameters||[{name:"value",type:"string",description:"Input"}],removeFromMessageHistory:!!a.removeFromMessageHistory,callback:s=>this.toolRunKBAction(a,s),kb:a};this.currentModel.toolGroup.add({id:a._functionID,customData:o,cannotRemove:a.isContext,sortOrder:101,disabled:a.disabled,content:JSON.stringify(o)})}else continue;let r=this.currentModel.contextGroup.getAllAsString();this._lastSystemMsg!=r&&(this._lastSystemMsg=r,this.submitAnalyticsEvent({type:"system-msg",txt:r}))}processIncomingMessage(t,i){i||this.submitAnalyticsEvent({type:"message",role:"assistant",message:t});let r="";this._lastOutput===void 0?(r=t,this._lastOutput=t):t.startsWith(this._lastOutput)?(r=t.substring(this._lastOutput.length),this._lastOutput=t):(Ae.warn("Message was changed during chunking. This should not happen.",t,this._lastOutput),r=t,this._lastOutput=t),i||(this._lastOutput=void 0),this.dispatchEvent(new CustomEvent("output",{detail:{ai:this,isChunk:i,message:t,messageChunk:r}})),this.onAIMessage?.(t,!!i)}async sendMessage(t){if(!this.currentModel)throw new Error("No model selected. Please call load() first.");if(this.isProcessing)return Ae.warn("Cannot send message while another message is being processed."),null;this.isProcessing=!0;try{return this.submitAnalyticsEvent({type:"message",role:"user",message:t}),this.dispatchEvent(new CustomEvent("input",{detail:{ai:this,message:t}})),await this.currentModel.sendMessage(t)}finally{this.isProcessing=!1}}async toolRunKBAction(t,i){try{this.dispatchEvent(new CustomEvent("toolstart",{detail:{knowledgeBaseEntry:t,input:i,ai:this}}));let r=await t.action(i,this);return this.submitAnalyticsEvent({type:"action",action:t.id,value:i,result:r}),this.dispatchEvent(new CustomEvent("tool",{detail:{knowledgeBaseEntry:t,input:i,ai:this,result:r}})),r}catch(r){throw this.submitAnalyticsEvent({type:"action",action:t.id,value:i,error:r.message}),this.dispatchEvent(new CustomEvent("tool",{detail:{knowledgeBaseEntry:t,input:i,ai:this,error:r}})),r}}submitAnalyticsEvent(t){$().analytics===!1||this.config?.analytics===!1||fetch(this.hubAPI+"/analytics/post",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...t,apiKey:this.apiKey,time:Date.now(),conversationID:this.conversationID,personaID:this.config?.id})}).catch(i=>{Ae.debug("Failed to submit analytics event:",i)})}resetConversation(){this.currentModel&&(this.currentModel.resetConversation(),this.conversationID=Te(),this._lastSystemMsg="")}insertAssistantMessage(t){if(!this.currentModel)throw new Error("No model selected. Please call load() first.");let i={role:"assistant",content:t};this.currentModel.messageGroup.add({id:Te(),content:JSON.stringify(i),customData:i})}exportState(){return{type:"intelliweave/state/v1",conversationID:this.conversationID,messages:this.currentModel?.messageGroup.getAll().map(t=>t.customData)}}importState(t){if(!this.currentModel)throw new Error("No model selected. Please call load() first.");if(t?.type!="intelliweave/state/v1")throw new Error(`Invalid state type: ${t.type}`);this.conversationID=t.conversationID;for(let i of t.messages)this.currentModel.messageGroup.add({id:Te(),content:JSON.stringify(i),customData:i})}clone(){let t=new An;return t.apiKey=this.apiKey,t.config=this.config,t.models=this.models,this.config?.id&&t.setModel(this.config.id),t.audio=this.audio,t.vadModel=this.vadModel,t.userID=this.userID,t.extra=this.extra,t.knowledgeBase=this.knowledgeBase.clone(),t}};An.version=go.version;var St=An;var be=class extends HTMLElement{constructor(){super(...arguments);this._state={}}get root(){return this._shadow}static register(){this._isRegistered||(this._isRegistered=!0,this.tagName||(this.tagName="anonymous-component-"+this.name.toLowerCase().replace(/[^a-z0-9-]/g,"-")+"--"+Math.random().toString(36).substring(2)),window.customElements.define(this.tagName,this))}static create(t={},i=""){this.register();let r=document.createElement(this.tagName);for(let a in t)r.setAttribute(a,t[a]);return r.onBeforeCreate(),r.innerHTML=i,r}static add(t={},i=""){return this.register(),`<${this.tagName} ${Object.keys(t).map(r=>`${r}="${(t[r]+"").replaceAll('"',"&quot;")}"`).join(" ")}>${i}</${this.tagName}>`}static createElement(){return this.register(),document.createElement(this.tagName)}connectedCallback(){this._shadow||(this._shadow=this.attachShadow({mode:"closed"}),this._shadow.innerHTML=this.html(),this.onCreate()),this.onUpdate()}disconnectedCallback(){this._shadow=void 0,this.onDestroy()}html(){return""}onBeforeCreate(){}onCreate(){}onUpdate(){}onDestroy(){}attributeChangedCallback(t,i,r){this._shadow&&this.onUpdate()}get attr(){if(this._attrProxy)return this._attrProxy;let t=i=>(xn=xn||document.createElement("div"),xn.innerText=i||"",xn.innerHTML);return this._attrProxy=new Proxy({},{get:(i,r)=>t(this.getAttribute(r.toString())||""),set:(i,r,a)=>(this.getAttribute(r.toString())===a||(a?this.setAttribute(r.toString(),a):this.removeAttribute(r.toString()),this._shadow&&this.onUpdate()),!0)}),this._attrProxy}get state(){return this._stateProxy?this._stateProxy:(this._stateProxy=new Proxy({},{get:(t,i)=>this._state[i],set:(t,i,r)=>(this._state[i]=r,this._shadow&&this.onUpdate(),!0)}),this._stateProxy)}hasChild(t){return!!this.root?.getElementById(t)}child(t){let i=this.root?.getElementById(t);if(!i)throw new Error(`Child with ID ${t} not found`);return i}};be.observedAttributes=[],be.tagName="",be._isRegistered=!1;var xn;var ho='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" width="200" height="200" style="shape-rendering: auto; display: block; " xmlns:xlink="http://www.w3.org/1999/xlink"><g><circle cx="84" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="0.5s" calcMode="spline" keyTimes="0;1" values="10;0" keySplines="0 0.5 0.5 1" begin="0s"></animate>%0A <animate attributeName="fill" repeatCount="indefinite" dur="2s" calcMode="discrete" keyTimes="0;0.25;0.5;0.75;1" values="%23797979;%23797979;%23797979;%23797979;%23797979" begin="0s"></animate>%0A</circle><circle cx="16" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="0s"></animate>%0A <animate attributeName="cx" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="0s"></animate>%0A</circle><circle cx="50" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-0.5s"></animate>%0A <animate attributeName="cx" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-0.5s"></animate>%0A</circle><circle cx="84" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-1s"></animate>%0A <animate attributeName="cx" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-1s"></animate>%0A</circle><circle cx="16" cy="50" r="10" fill="%23797979">%0A <animate attributeName="r" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-1.5s"></animate>%0A <animate attributeName="cx" repeatCount="indefinite" dur="2s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-1.5s"></animate>%0A</circle><g></g></g><!-- [ldio] generated by https://loading.io --></svg>';var fo='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="512" x="0" y="0" viewBox="0 0 475.085 475.085" style="enable-background:new 0 0 512 512" xml:space="preserve" class=""><g><path d="M237.541 328.897c25.128 0 46.632-8.946 64.523-26.83 17.888-17.884 26.833-39.399 26.833-64.525V91.365c0-25.126-8.938-46.632-26.833-64.525C284.173 8.951 262.669 0 237.541 0c-25.125 0-46.632 8.951-64.524 26.84-17.893 17.89-26.838 39.399-26.838 64.525v146.177c0 25.125 8.949 46.641 26.838 64.525 17.889 17.884 39.399 26.83 64.524 26.83z" fill="%23ffffff" opacity="1" data-original="%23000000" class=""></path><path d="M396.563 188.15c-3.606-3.617-7.898-5.426-12.847-5.426-4.944 0-9.226 1.809-12.847 5.426-3.613 3.616-5.421 7.898-5.421 12.845v36.547c0 35.214-12.518 65.333-37.548 90.362-25.022 25.03-55.145 37.545-90.36 37.545-35.214 0-65.334-12.515-90.365-37.545-25.028-25.022-37.541-55.147-37.541-90.362v-36.547c0-4.947-1.809-9.229-5.424-12.845-3.617-3.617-7.895-5.426-12.847-5.426s-9.235 1.809-12.85 5.426c-3.618 3.616-5.426 7.898-5.426 12.845v36.547c0 42.065 14.04 78.659 42.112 109.776 28.073 31.118 62.762 48.961 104.068 53.526v37.691h-73.089c-4.949 0-9.231 1.811-12.847 5.428-3.617 3.614-5.426 7.898-5.426 12.847 0 4.941 1.809 9.233 5.426 12.847 3.616 3.614 7.898 5.428 12.847 5.428h182.719c4.948 0 9.236-1.813 12.847-5.428 3.621-3.613 5.431-7.905 5.431-12.847 0-4.948-1.81-9.232-5.431-12.847-3.61-3.617-7.898-5.428-12.847-5.428h-73.08v-37.691c41.299-4.565 75.985-22.408 104.061-53.526 28.076-31.117 42.12-67.711 42.12-109.776v-36.547c0-4.946-1.813-9.225-5.435-12.845z" fill="%23ffffff" opacity="1" data-original="%23000000" class=""></path></g></svg>';var yo='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="512" x="0" y="0" viewBox="0 0 448.075 448.075" style="enable-background:new 0 0 512 512" xml:space="preserve" class=""><g><path d="M352.021 16.075c0-6.08-3.52-11.84-8.96-14.4-5.76-2.88-12.16-1.92-16.96 1.92l-141.76 112.96 167.68 167.68zM443.349 420.747l-416-416c-6.24-6.24-16.384-6.24-22.624 0s-6.24 16.384 0 22.624l100.672 100.704h-9.376c-9.92 0-18.56 4.48-24.32 11.52-4.8 5.44-7.68 12.8-7.68 20.48v128c0 17.6 14.4 32 32 32h74.24l155.84 124.48c2.88 2.24 6.4 3.52 9.92 3.52 2.24 0 4.8-.64 7.04-1.6 5.44-2.56 8.96-8.32 8.96-14.4v-57.376l68.672 68.672c3.136 3.136 7.232 4.704 11.328 4.704s8.192-1.568 11.328-4.672c6.24-6.272 6.24-16.384 0-22.656z" fill="%23ffffff" opacity="1" data-original="%23000000" class=""></path></g></svg>';var Ft=class extends be{constructor(){super(...arguments);this.html=()=>`
3267
3267
 
3268
3268
  <!-- Styling -->
3269
3269
  <style>
@@ -3394,6 +3394,7 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
3394
3394
  animation: web-weaver-logo-hover 5s infinite ease-in-out;
3395
3395
  cursor: pointer;
3396
3396
  overflow: visible!important;
3397
+ object-fit: contain;
3397
3398
  }
3398
3399
 
3399
3400
  @keyframes web-weaver-logo-hover {
@@ -3416,14 +3417,14 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
3416
3417
  </style>
3417
3418
 
3418
3419
  <!-- Logo -->
3419
- <img id='root' src='${this.attr.logo||nr}' />
3420
+ <img id='root' src='${this.attr.logo||nr}' />
3420
3421
 
3421
- `;this._lastLogoSrc=""}onCreate(){this.layoutUpdateTimer=setInterval(()=>this.onUpdate(),250)}onDestroy(){clearInterval(this.layoutUpdateTimer)}onUpdate(){let t=this.child("root");if(!t)return;let i=this.attr.logo||nr;this._lastLogoSrc!=i&&(this._lastLogoSrc=i,t.src=i);let r=window.visualViewport?.offsetTop||0,a=window.visualViewport?.offsetLeft||0,o=this.attr.focusID?document.getElementById(this.attr.focusID):null;if(o){let s=o.getBoundingClientRect();if(!s)return;t.style.position="fixed",t.style.width="128px",t.style.height="128px",t.style.left=Math.round(s.x+s.width/2-128/2+a)+"px",t.style.top=Math.round(s.y+s.height/2-128/2+r)+"px"}else{let s=this.getBoundingClientRect();if(!s)return;t.style.width=s.width+"px",t.style.height=s.height+"px",t.style.left=Math.round(s.x+a)+"px",t.style.top=Math.round(s.y+r)+"px"}}refreshLayout(){setTimeout(()=>this.onUpdate(),100)}};Gt.observedAttributes=["logo","focusID"];var bo=typeof self=="object"?self:globalThis,Nu=(e,n)=>{let t=(r,a)=>(e.set(a,r),r),i=r=>{if(e.has(r))return e.get(r);let[a,o]=n[r];switch(a){case 0:case-1:return t(o,r);case 1:{let s=t([],r);for(let l of o)s.push(i(l));return s}case 2:{let s=t({},r);for(let[l,c]of o)s[i(l)]=i(c);return s}case 3:return t(new Date(o),r);case 4:{let{source:s,flags:l}=o;return t(new RegExp(s,l),r)}case 5:{let s=t(new Map,r);for(let[l,c]of o)s.set(i(l),i(c));return s}case 6:{let s=t(new Set,r);for(let l of o)s.add(i(l));return s}case 7:{let{name:s,message:l}=o;return t(new bo[s](l),r)}case 8:return t(BigInt(o),r);case"BigInt":return t(Object(BigInt(o)),r)}return t(new bo[a](o),r)};return i},or=e=>Nu(new Map,e)(0);var Et="",{toString:Lu}={},{keys:Mu}=Object,Vt=e=>{let n=typeof e;if(n!=="object"||!e)return[0,n];let t=Lu.call(e).slice(8,-1);switch(t){case"Array":return[1,Et];case"Object":return[2,Et];case"Date":return[3,Et];case"RegExp":return[4,Et];case"Map":return[5,Et];case"Set":return[6,Et]}return t.includes("Array")?[1,t]:t.includes("Error")?[7,t]:[2,t]},Dn=([e,n])=>e===0&&(n==="function"||n==="symbol"),Ou=(e,n,t,i)=>{let r=(o,s)=>{let l=i.push(o)-1;return t.set(s,l),l},a=o=>{if(t.has(o))return t.get(o);let[s,l]=Vt(o);switch(s){case 0:{let u=o;switch(l){case"bigint":s=8,u=o.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+l);u=null;break;case"undefined":return r([-1],o)}return r([s,u],o)}case 1:{if(l)return r([l,[...o]],o);let u=[],d=r([s,u],o);for(let m of o)u.push(a(m));return d}case 2:{if(l)switch(l){case"BigInt":return r([l,o.toString()],o);case"Boolean":case"Number":case"String":return r([l,o.valueOf()],o)}if(n&&"toJSON"in o)return a(o.toJSON());let u=[],d=r([s,u],o);for(let m of Mu(o))(e||!Dn(Vt(o[m])))&&u.push([a(m),a(o[m])]);return d}case 3:return r([s,o.toISOString()],o);case 4:{let{source:u,flags:d}=o;return r([s,{source:u,flags:d}],o)}case 5:{let u=[],d=r([s,u],o);for(let[m,p]of o)(e||!(Dn(Vt(m))||Dn(Vt(p))))&&u.push([a(m),a(p)]);return d}case 6:{let u=[],d=r([s,u],o);for(let m of o)(e||!Dn(Vt(m)))&&u.push(a(m));return d}}let{message:c}=o;return r([s,{name:l,message:c}],o)};return a},sr=(e,{json:n,lossy:t}={})=>{let i=[];return Ou(!(n||t),!!n,new Map,i)(e),i};var Pe=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?or(sr(e,n)):structuredClone(e):(e,n)=>or(sr(e,n));var De=function(e,n,t,i,r){let a=Ne(n);if(t!=null&&(typeof t!="number"||t<0||t===Number.POSITIVE_INFINITY))throw new Error("Expected positive finite `index`");if(i!=null&&(!i.type||!i.children))throw new Error("Expected valid `parent`");if(t==null!=(i==null))throw new Error("Expected both `index` and `parent`");return vo(e)?a.call(r,e,t,i):!1},Ne=function(e){if(e==null)return Gu;if(typeof e=="string")return Fu(e);if(typeof e=="object")return Bu(e);if(typeof e=="function")return lr(e);throw new Error("Expected function, string, or array as `test`")};function Bu(e){let n=[],t=-1;for(;++t<e.length;)n[t]=Ne(e[t]);return lr(i);function i(...r){let a=-1;for(;++a<n.length;)if(n[a].apply(this,r))return!0;return!1}}function Fu(e){return lr(n);function n(t){return t.tagName===e}}function lr(e){return n;function n(t,i,r){return!!(vo(t)&&e.call(this,t,typeof i=="number"?i:void 0,r||void 0))}}function Gu(e){return!!(e&&typeof e=="object"&&"type"in e&&e.type==="element"&&"tagName"in e&&typeof e.tagName=="string")}function vo(e){return e!==null&&typeof e=="object"&&"type"in e&&"tagName"in e}var zu=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,Uu=/^[a-zA-Z]:\\/;function cr(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return Uu.test(e)?!1:zu.test(e)}function _o(e){let n=String(e||"").trim();return n?n.split(/[ \t\n\r\f]+/g):[]}function So(e){return e.join(" ").trim()}var Ct=function(e){if(e==null)return ju;if(typeof e=="function")return Nn(e);if(typeof e=="object")return Array.isArray(e)?Hu(e):Vu(e);if(typeof e=="string")return Wu(e);throw new Error("Expected function, string, or object as test")};function Hu(e){let n=[],t=-1;for(;++t<e.length;)n[t]=Ct(e[t]);return Nn(i);function i(...r){let a=-1;for(;++a<n.length;)if(n[a].apply(this,r))return!0;return!1}}function Vu(e){let n=e;return Nn(t);function t(i){let r=i,a;for(a in e)if(r[a]!==n[a])return!1;return!0}}function Wu(e){return Nn(n);function n(t){return t&&t.type===e}}function Nn(e){return n;function n(t,i,r){return!!(qu(t)&&e.call(this,t,typeof i=="number"?i:void 0,r||void 0))}}function ju(){return!0}function qu(e){return e!==null&&typeof e=="object"&&"type"in e}var Eo=[],ur=!0,Ln=!1,Wt="skip";function jt(e,n,t,i){let r;typeof n=="function"&&typeof t!="function"?(i=t,t=n):r=n;let a=Ct(r),o=i?-1:1;s(e,void 0,[])();function s(l,c,u){let d=l&&typeof l=="object"?l:{};if(typeof d.type=="string"){let p=typeof d.tagName=="string"?d.tagName:typeof d.name=="string"?d.name:void 0;Object.defineProperty(m,"name",{value:"node ("+(l.type+(p?"<"+p+">":""))+")"})}return m;function m(){let p=Eo,f,_,E;if((!n||a(l,c,u[u.length-1]||void 0))&&(p=Ku(t(l,u)),p[0]===Ln))return p;if("children"in l&&l.children){let y=l;if(y.children&&p[0]!==Wt)for(_=(i?y.children.length:-1)+o,E=u.concat(y);_>-1&&_<y.children.length;){let T=y.children[_];if(f=s(T,_,E)(),f[0]===Ln)return f;_=typeof f[1]=="number"?f[1]:_+o}}return p}}}function Ku(e){return Array.isArray(e)?e:typeof e=="number"?[ur,e]:e==null?Eo:[e]}function qt(e,n,t,i){let r,a,o;typeof n=="function"&&typeof t!="function"?(a=void 0,o=n,r=t):(a=n,o=t,r=i),jt(e,a,s,r);function s(l,c){let u=c[c.length-1],d=u?u.children.indexOf(l):void 0;return o(l,d,u)}}var Xu=["http","https"],Yu=["nofollow"],Ju={};function Mn(e){let n=e||Ju,t=n.protocols||Xu,i=Ne(n.test);return function(r){qt(r,"element",function(a,o,s){if(a.tagName==="a"&&typeof a.properties.href=="string"&&i(a,o,s)){let l=a.properties.href;if(cr(l)?t.includes(l.slice(0,l.indexOf(":"))):l.startsWith("//")){let c=Kt(n.content,a),u=c&&!Array.isArray(c)?[c]:c,d=Kt(n.rel,a)||Yu,m=typeof d=="string"?_o(d):d,p=Kt(n.target,a),f=Kt(n.properties,a);if(f&&Object.assign(a.properties,Pe(f)),m.length>0&&(a.properties.rel=[...m]),p&&(a.properties.target=p),u){let _=Kt(n.contentProperties,a)||{};a.children.push({type:"element",tagName:"span",properties:Pe(_),children:Pe(u)})}}}})}}function Kt(e,n){return typeof e=="function"?e(n):e}var nt=Ne(function(e){return e.tagName==="audio"||e.tagName==="canvas"||e.tagName==="embed"||e.tagName==="iframe"||e.tagName==="img"||e.tagName==="math"||e.tagName==="object"||e.tagName==="picture"||e.tagName==="svg"||e.tagName==="video"});var Zu={}.hasOwnProperty;function dr(e,n){let t=e.type==="element"&&Zu.call(e.properties,n)&&e.properties[n];return t!=null&&t!==!1}var $u=new Set(["pingback","prefetch","stylesheet"]);function pr(e){if(e.type!=="element"||e.tagName!=="link")return!1;if(e.properties.itemProp)return!0;let n=e.properties.rel,t=-1;if(!Array.isArray(n)||n.length===0)return!1;for(;++t<n.length;)if(!$u.has(String(n[t])))return!1;return!0}var Qu=Ne(["a","abbr","area","b","bdi","bdo","br","button","cite","code","data","datalist","del","dfn","em","i","input","ins","kbd","keygen","label","map","mark","meter","noscript","output","progress","q","ruby","s","samp","script","select","small","span","strong","sub","sup","template","textarea","time","u","var","wbr"]),ed=Ne("meta");function mr(e){return!!(e.type==="text"||Qu(e)||nt(e)||pr(e)||ed(e)&&dr(e,"itemProp"))}var td=/[ \t\n\f\r]/g;function ve(e){return typeof e=="object"?e.type==="text"?Co(e.value):!1:Co(e)}function Co(e){return e.replace(td,"")===""}var gr=["pre","script","style","textarea"];var ko=["address","article","aside","blockquote","body","br","caption","center","col","colgroup","dd","dialog","dir","div","dl","dt","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","legend","li","li","listing","main","menu","nav","ol","optgroup","option","p","plaintext","pre","section","summary","table","tbody","td","td","tfoot","th","th","thead","tr","ul","wbr","xmp"];var wo=["button","input","select","textarea"];var To=["area","base","basefont","dialog","datalist","head","link","meta","noembed","noframes","param","rp","script","source","style","template","track","title"];var nd={},hr=Ct(["doctype","comment"]);function On(e){let t=cd((e||nd).newlines?sd:ld);return function(i){xo(i,{collapse:t,whitespace:"normal"})}}function xo(e,n){if("children"in e){let t={...n};return(e.type==="root"||Po(e))&&(t.before=!0,t.after=!0),t.whitespace=ud(e,n),rd(e,t)}if(e.type==="text"){if(n.whitespace==="normal")return id(e,n);n.whitespace==="nowrap"&&(e.value=n.collapse(e.value))}return{ignore:hr(e),stripAtStart:!1,remove:!1}}function id(e,n){let t=n.collapse(e.value),i={ignore:!1,stripAtStart:!1,remove:!1},r=0,a=t.length;return n.before&&Ao(t.charAt(0))&&r++,r!==a&&Ao(t.charAt(a-1))&&(n.after?a--:i.stripAtStart=!0),r===a?i.remove=!0:e.value=t.slice(r,a),i}function rd(e,n){let t=n.before,i=n.after,r=e.children,a=r.length,o=-1;for(;++o<a;){let s=xo(r[o],{...n,after:Io(r,o,i),before:t});s.remove?(r.splice(o,1),o--,a--):s.ignore||(t=s.stripAtStart),Ro(r[o])&&(t=!1)}return{ignore:!1,stripAtStart:!!(t||i),remove:!1}}function Io(e,n,t){for(;++n<e.length;){let i=e[n],r=ad(i);if(r===void 0&&"children"in i&&!od(i)&&(r=Io(i.children,-1)),typeof r=="boolean")return r}return t}function ad(e){if(e.type==="element"){if(Ro(e))return!1;if(Po(e))return!0}else if(e.type==="text"){if(!ve(e))return!1}else if(!hr(e))return!1}function Ro(e){return nt(e)||De(e,wo)}function Po(e){return De(e,ko)}function od(e){return!!(e.type==="element"&&e.properties.hidden)||hr(e)||De(e,To)}function Ao(e){return e===" "||e===`
3422
- `}function sd(e){let n=/\r?\n|\r/.exec(e);return n?n[0]:" "}function ld(){return" "}function cd(e){return n;function n(t){return String(t).replace(/[\t\n\v\f\r ]+/g,e)}}function ud(e,n){if("tagName"in e&&e.properties)switch(e.tagName){case"listing":case"plaintext":case"script":case"style":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return e.properties.wrap?"pre-wrap":"pre";case"td":case"th":return e.properties.noWrap?"nowrap":n.whitespace;case"textarea":return"pre-wrap";default:}return n.whitespace}var dd={},pd=On({newlines:!0});function Bn(e){let n=e||dd,t=n.indent||2,i=n.indentInitial;return typeof t=="number"&&(t=" ".repeat(t)),i==null&&(i=!0),function(o){let s;pd(o),jt(o,function(l,c){let u=-1;if(!("children"in l))return;if(De(l,"head")&&(s=!0),s&&De(l,"body")&&(s=void 0),De(l,gr))return Wt;let d=l.children,m=c.length;if(d.length===0||!fr(l,s))return;i||m--;let p;for(;++u<d.length;){let E=d[u];(E.type==="text"||E.type==="comment")&&(E.value.includes(`
3422
+ `;this._lastLogoSrc=""}onCreate(){this.layoutUpdateTimer=setInterval(()=>this.onUpdate(),250)}onDestroy(){clearInterval(this.layoutUpdateTimer)}onUpdate(){let t=this.child("root");if(!t)return;let i=this.attr.logo||nr;this._lastLogoSrc!=i&&(this._lastLogoSrc=i,t.src=i);let r=window.visualViewport?.offsetTop||0,a=window.visualViewport?.offsetLeft||0,o=this.attr.focusID?document.getElementById(this.attr.focusID):null;if(o){let s=o.getBoundingClientRect();if(!s)return;t.style.position="fixed",t.style.width="128px",t.style.height="128px",t.style.left=Math.round(s.x+s.width/2-128/2+a)+"px",t.style.top=Math.round(s.y+s.height/2-128/2+r)+"px"}else{let s=this.getBoundingClientRect();if(!s)return;t.style.width=s.width+"px",t.style.height=s.height+"px",t.style.left=Math.round(s.x+a)+"px",t.style.top=Math.round(s.y+r)+"px"}}refreshLayout(){setTimeout(()=>this.onUpdate(),100)}};Gt.observedAttributes=["logo","focusID"];var bo=typeof self=="object"?self:globalThis,Lu=(e,n)=>{let t=(r,a)=>(e.set(a,r),r),i=r=>{if(e.has(r))return e.get(r);let[a,o]=n[r];switch(a){case 0:case-1:return t(o,r);case 1:{let s=t([],r);for(let l of o)s.push(i(l));return s}case 2:{let s=t({},r);for(let[l,c]of o)s[i(l)]=i(c);return s}case 3:return t(new Date(o),r);case 4:{let{source:s,flags:l}=o;return t(new RegExp(s,l),r)}case 5:{let s=t(new Map,r);for(let[l,c]of o)s.set(i(l),i(c));return s}case 6:{let s=t(new Set,r);for(let l of o)s.add(i(l));return s}case 7:{let{name:s,message:l}=o;return t(new bo[s](l),r)}case 8:return t(BigInt(o),r);case"BigInt":return t(Object(BigInt(o)),r)}return t(new bo[a](o),r)};return i},or=e=>Lu(new Map,e)(0);var Et="",{toString:Nu}={},{keys:Mu}=Object,Vt=e=>{let n=typeof e;if(n!=="object"||!e)return[0,n];let t=Nu.call(e).slice(8,-1);switch(t){case"Array":return[1,Et];case"Object":return[2,Et];case"Date":return[3,Et];case"RegExp":return[4,Et];case"Map":return[5,Et];case"Set":return[6,Et]}return t.includes("Array")?[1,t]:t.includes("Error")?[7,t]:[2,t]},Ln=([e,n])=>e===0&&(n==="function"||n==="symbol"),Ou=(e,n,t,i)=>{let r=(o,s)=>{let l=i.push(o)-1;return t.set(s,l),l},a=o=>{if(t.has(o))return t.get(o);let[s,l]=Vt(o);switch(s){case 0:{let u=o;switch(l){case"bigint":s=8,u=o.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+l);u=null;break;case"undefined":return r([-1],o)}return r([s,u],o)}case 1:{if(l)return r([l,[...o]],o);let u=[],d=r([s,u],o);for(let m of o)u.push(a(m));return d}case 2:{if(l)switch(l){case"BigInt":return r([l,o.toString()],o);case"Boolean":case"Number":case"String":return r([l,o.valueOf()],o)}if(n&&"toJSON"in o)return a(o.toJSON());let u=[],d=r([s,u],o);for(let m of Mu(o))(e||!Ln(Vt(o[m])))&&u.push([a(m),a(o[m])]);return d}case 3:return r([s,o.toISOString()],o);case 4:{let{source:u,flags:d}=o;return r([s,{source:u,flags:d}],o)}case 5:{let u=[],d=r([s,u],o);for(let[m,p]of o)(e||!(Ln(Vt(m))||Ln(Vt(p))))&&u.push([a(m),a(p)]);return d}case 6:{let u=[],d=r([s,u],o);for(let m of o)(e||!Ln(Vt(m)))&&u.push(a(m));return d}}let{message:c}=o;return r([s,{name:l,message:c}],o)};return a},sr=(e,{json:n,lossy:t}={})=>{let i=[];return Ou(!(n||t),!!n,new Map,i)(e),i};var Pe=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?or(sr(e,n)):structuredClone(e):(e,n)=>or(sr(e,n));var De=function(e,n,t,i,r){let a=Le(n);if(t!=null&&(typeof t!="number"||t<0||t===Number.POSITIVE_INFINITY))throw new Error("Expected positive finite `index`");if(i!=null&&(!i.type||!i.children))throw new Error("Expected valid `parent`");if(t==null!=(i==null))throw new Error("Expected both `index` and `parent`");return vo(e)?a.call(r,e,t,i):!1},Le=function(e){if(e==null)return Gu;if(typeof e=="string")return Fu(e);if(typeof e=="object")return Bu(e);if(typeof e=="function")return lr(e);throw new Error("Expected function, string, or array as `test`")};function Bu(e){let n=[],t=-1;for(;++t<e.length;)n[t]=Le(e[t]);return lr(i);function i(...r){let a=-1;for(;++a<n.length;)if(n[a].apply(this,r))return!0;return!1}}function Fu(e){return lr(n);function n(t){return t.tagName===e}}function lr(e){return n;function n(t,i,r){return!!(vo(t)&&e.call(this,t,typeof i=="number"?i:void 0,r||void 0))}}function Gu(e){return!!(e&&typeof e=="object"&&"type"in e&&e.type==="element"&&"tagName"in e&&typeof e.tagName=="string")}function vo(e){return e!==null&&typeof e=="object"&&"type"in e&&"tagName"in e}var zu=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,Uu=/^[a-zA-Z]:\\/;function cr(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return Uu.test(e)?!1:zu.test(e)}function _o(e){let n=String(e||"").trim();return n?n.split(/[ \t\n\r\f]+/g):[]}function So(e){return e.join(" ").trim()}var Ct=function(e){if(e==null)return ju;if(typeof e=="function")return Nn(e);if(typeof e=="object")return Array.isArray(e)?Hu(e):Vu(e);if(typeof e=="string")return Wu(e);throw new Error("Expected function, string, or object as test")};function Hu(e){let n=[],t=-1;for(;++t<e.length;)n[t]=Ct(e[t]);return Nn(i);function i(...r){let a=-1;for(;++a<n.length;)if(n[a].apply(this,r))return!0;return!1}}function Vu(e){let n=e;return Nn(t);function t(i){let r=i,a;for(a in e)if(r[a]!==n[a])return!1;return!0}}function Wu(e){return Nn(n);function n(t){return t&&t.type===e}}function Nn(e){return n;function n(t,i,r){return!!(qu(t)&&e.call(this,t,typeof i=="number"?i:void 0,r||void 0))}}function ju(){return!0}function qu(e){return e!==null&&typeof e=="object"&&"type"in e}var Eo=[],ur=!0,Mn=!1,Wt="skip";function jt(e,n,t,i){let r;typeof n=="function"&&typeof t!="function"?(i=t,t=n):r=n;let a=Ct(r),o=i?-1:1;s(e,void 0,[])();function s(l,c,u){let d=l&&typeof l=="object"?l:{};if(typeof d.type=="string"){let p=typeof d.tagName=="string"?d.tagName:typeof d.name=="string"?d.name:void 0;Object.defineProperty(m,"name",{value:"node ("+(l.type+(p?"<"+p+">":""))+")"})}return m;function m(){let p=Eo,f,_,E;if((!n||a(l,c,u[u.length-1]||void 0))&&(p=Ku(t(l,u)),p[0]===Mn))return p;if("children"in l&&l.children){let y=l;if(y.children&&p[0]!==Wt)for(_=(i?y.children.length:-1)+o,E=u.concat(y);_>-1&&_<y.children.length;){let T=y.children[_];if(f=s(T,_,E)(),f[0]===Mn)return f;_=typeof f[1]=="number"?f[1]:_+o}}return p}}}function Ku(e){return Array.isArray(e)?e:typeof e=="number"?[ur,e]:e==null?Eo:[e]}function qt(e,n,t,i){let r,a,o;typeof n=="function"&&typeof t!="function"?(a=void 0,o=n,r=t):(a=n,o=t,r=i),jt(e,a,s,r);function s(l,c){let u=c[c.length-1],d=u?u.children.indexOf(l):void 0;return o(l,d,u)}}var Xu=["http","https"],Yu=["nofollow"],Ju={};function On(e){let n=e||Ju,t=n.protocols||Xu,i=Le(n.test);return function(r){qt(r,"element",function(a,o,s){if(a.tagName==="a"&&typeof a.properties.href=="string"&&i(a,o,s)){let l=a.properties.href;if(cr(l)?t.includes(l.slice(0,l.indexOf(":"))):l.startsWith("//")){let c=Kt(n.content,a),u=c&&!Array.isArray(c)?[c]:c,d=Kt(n.rel,a)||Yu,m=typeof d=="string"?_o(d):d,p=Kt(n.target,a),f=Kt(n.properties,a);if(f&&Object.assign(a.properties,Pe(f)),m.length>0&&(a.properties.rel=[...m]),p&&(a.properties.target=p),u){let _=Kt(n.contentProperties,a)||{};a.children.push({type:"element",tagName:"span",properties:Pe(_),children:Pe(u)})}}}})}}function Kt(e,n){return typeof e=="function"?e(n):e}var nt=Le(function(e){return e.tagName==="audio"||e.tagName==="canvas"||e.tagName==="embed"||e.tagName==="iframe"||e.tagName==="img"||e.tagName==="math"||e.tagName==="object"||e.tagName==="picture"||e.tagName==="svg"||e.tagName==="video"});var Zu={}.hasOwnProperty;function dr(e,n){let t=e.type==="element"&&Zu.call(e.properties,n)&&e.properties[n];return t!=null&&t!==!1}var $u=new Set(["pingback","prefetch","stylesheet"]);function pr(e){if(e.type!=="element"||e.tagName!=="link")return!1;if(e.properties.itemProp)return!0;let n=e.properties.rel,t=-1;if(!Array.isArray(n)||n.length===0)return!1;for(;++t<n.length;)if(!$u.has(String(n[t])))return!1;return!0}var Qu=Le(["a","abbr","area","b","bdi","bdo","br","button","cite","code","data","datalist","del","dfn","em","i","input","ins","kbd","keygen","label","map","mark","meter","noscript","output","progress","q","ruby","s","samp","script","select","small","span","strong","sub","sup","template","textarea","time","u","var","wbr"]),ed=Le("meta");function mr(e){return!!(e.type==="text"||Qu(e)||nt(e)||pr(e)||ed(e)&&dr(e,"itemProp"))}var td=/[ \t\n\f\r]/g;function ve(e){return typeof e=="object"?e.type==="text"?Co(e.value):!1:Co(e)}function Co(e){return e.replace(td,"")===""}var gr=["pre","script","style","textarea"];var ko=["address","article","aside","blockquote","body","br","caption","center","col","colgroup","dd","dialog","dir","div","dl","dt","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","legend","li","li","listing","main","menu","nav","ol","optgroup","option","p","plaintext","pre","section","summary","table","tbody","td","td","tfoot","th","th","thead","tr","ul","wbr","xmp"];var wo=["button","input","select","textarea"];var To=["area","base","basefont","dialog","datalist","head","link","meta","noembed","noframes","param","rp","script","source","style","template","track","title"];var nd={},hr=Ct(["doctype","comment"]);function Bn(e){let t=cd((e||nd).newlines?sd:ld);return function(i){xo(i,{collapse:t,whitespace:"normal"})}}function xo(e,n){if("children"in e){let t={...n};return(e.type==="root"||Po(e))&&(t.before=!0,t.after=!0),t.whitespace=ud(e,n),rd(e,t)}if(e.type==="text"){if(n.whitespace==="normal")return id(e,n);n.whitespace==="nowrap"&&(e.value=n.collapse(e.value))}return{ignore:hr(e),stripAtStart:!1,remove:!1}}function id(e,n){let t=n.collapse(e.value),i={ignore:!1,stripAtStart:!1,remove:!1},r=0,a=t.length;return n.before&&Ao(t.charAt(0))&&r++,r!==a&&Ao(t.charAt(a-1))&&(n.after?a--:i.stripAtStart=!0),r===a?i.remove=!0:e.value=t.slice(r,a),i}function rd(e,n){let t=n.before,i=n.after,r=e.children,a=r.length,o=-1;for(;++o<a;){let s=xo(r[o],{...n,after:Io(r,o,i),before:t});s.remove?(r.splice(o,1),o--,a--):s.ignore||(t=s.stripAtStart),Ro(r[o])&&(t=!1)}return{ignore:!1,stripAtStart:!!(t||i),remove:!1}}function Io(e,n,t){for(;++n<e.length;){let i=e[n],r=ad(i);if(r===void 0&&"children"in i&&!od(i)&&(r=Io(i.children,-1)),typeof r=="boolean")return r}return t}function ad(e){if(e.type==="element"){if(Ro(e))return!1;if(Po(e))return!0}else if(e.type==="text"){if(!ve(e))return!1}else if(!hr(e))return!1}function Ro(e){return nt(e)||De(e,wo)}function Po(e){return De(e,ko)}function od(e){return!!(e.type==="element"&&e.properties.hidden)||hr(e)||De(e,To)}function Ao(e){return e===" "||e===`
3423
+ `}function sd(e){let n=/\r?\n|\r/.exec(e);return n?n[0]:" "}function ld(){return" "}function cd(e){return n;function n(t){return String(t).replace(/[\t\n\v\f\r ]+/g,e)}}function ud(e,n){if("tagName"in e&&e.properties)switch(e.tagName){case"listing":case"plaintext":case"script":case"style":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return e.properties.wrap?"pre-wrap":"pre";case"td":case"th":return e.properties.noWrap?"nowrap":n.whitespace;case"textarea":return"pre-wrap";default:}return n.whitespace}var dd={},pd=Bn({newlines:!0});function Fn(e){let n=e||dd,t=n.indent||2,i=n.indentInitial;return typeof t=="number"&&(t=" ".repeat(t)),i==null&&(i=!0),function(o){let s;pd(o),jt(o,function(l,c){let u=-1;if(!("children"in l))return;if(De(l,"head")&&(s=!0),s&&De(l,"body")&&(s=void 0),De(l,gr))return Wt;let d=l.children,m=c.length;if(d.length===0||!fr(l,s))return;i||m--;let p;for(;++u<d.length;){let E=d[u];(E.type==="text"||E.type==="comment")&&(E.value.includes(`
3423
3424
  `)&&(p=!0),E.value=E.value.replace(/ *\n/g,"$&"+String(t).repeat(m)))}let f=[],_;for(u=-1;++u<d.length;){let E=d[u];(fr(E,s)||p&&!u)&&(r(f,m,E),p=!0),_=E,f.push(E)}_&&(p||fr(_,s))&&(ve(_)&&(f.pop(),_=f[f.length-1]),r(f,m-1)),l.children=f})};function r(o,s,l){let c=o[o.length-1],u=c&&ve(c)?o[o.length-2]:c,d=(a(u)&&a(l)?`
3424
3425
 
3425
3426
  `:`
3426
- `)+String(t).repeat(Math.max(s,0));c&&c.type==="text"?c.value=ve(c)?d:c.value+d:o.push({type:"text",value:d})}function a(o){return!!(o&&o.type==="element"&&n.blanks&&n.blanks.length>0&&n.blanks.includes(o.tagName))}}function fr(e,n){return e.type==="root"||(e.type==="element"?n||De(e,"script")||nt(e)||!mr(e):!1)}var Do=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","keygen","link","meta","param","source","track","wbr"];var Ge=class{constructor(n,t,i){this.property=n,this.normal=t,i&&(this.space=i)}};Ge.prototype.property={};Ge.prototype.normal={};Ge.prototype.space=null;function yr(e,n){let t={},i={},r=-1;for(;++r<e.length;)Object.assign(t,e[r].property),Object.assign(i,e[r].normal);return new Ge(t,i,n)}function Xt(e){return e.toLowerCase()}var ue=class{constructor(n,t){this.property=n,this.attribute=t}};ue.prototype.space=null;ue.prototype.boolean=!1;ue.prototype.booleanish=!1;ue.prototype.overloadedBoolean=!1;ue.prototype.number=!1;ue.prototype.commaSeparated=!1;ue.prototype.spaceSeparated=!1;ue.prototype.commaOrSpaceSeparated=!1;ue.prototype.mustUseProperty=!1;ue.prototype.defined=!1;var Yt={};va(Yt,{boolean:()=>B,booleanish:()=>Q,commaOrSpaceSeparated:()=>he,commaSeparated:()=>Xe,number:()=>C,overloadedBoolean:()=>br,spaceSeparated:()=>K});var md=0,B=it(),Q=it(),br=it(),C=it(),K=it(),Xe=it(),he=it();function it(){return 2**++md}var vr=Object.keys(Yt),rt=class extends ue{constructor(n,t,i,r){let a=-1;if(super(n,t),No(this,"space",r),typeof i=="number")for(;++a<vr.length;){let o=vr[a];No(this,vr[a],(i&Yt[o])===Yt[o])}}};rt.prototype.defined=!0;function No(e,n,t){t&&(e[n]=t)}var gd={}.hasOwnProperty;function Ce(e){let n={},t={},i;for(i in e.properties)if(gd.call(e.properties,i)){let r=e.properties[i],a=new rt(i,e.transform(e.attributes||{},i),r,e.space);e.mustUseProperty&&e.mustUseProperty.includes(i)&&(a.mustUseProperty=!0),n[i]=a,t[Xt(i)]=i,t[Xt(a.attribute)]=i}return new Ge(n,t,e.space)}var _r=Ce({space:"xlink",transform(e,n){return"xlink:"+n.slice(5).toLowerCase()},properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}});var Sr=Ce({space:"xml",transform(e,n){return"xml:"+n.slice(3).toLowerCase()},properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function Fn(e,n){return n in e?e[n]:n}function Gn(e,n){return Fn(e,n.toLowerCase())}var Er=Ce({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:Gn,properties:{xmlns:null,xmlnsXLink:null}});var Cr=Ce({transform(e,n){return n==="role"?n:"aria-"+n.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:Q,ariaAutoComplete:null,ariaBusy:Q,ariaChecked:Q,ariaColCount:C,ariaColIndex:C,ariaColSpan:C,ariaControls:K,ariaCurrent:null,ariaDescribedBy:K,ariaDetails:null,ariaDisabled:Q,ariaDropEffect:K,ariaErrorMessage:null,ariaExpanded:Q,ariaFlowTo:K,ariaGrabbed:Q,ariaHasPopup:null,ariaHidden:Q,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:K,ariaLevel:C,ariaLive:null,ariaModal:Q,ariaMultiLine:Q,ariaMultiSelectable:Q,ariaOrientation:null,ariaOwns:K,ariaPlaceholder:null,ariaPosInSet:C,ariaPressed:Q,ariaReadOnly:Q,ariaRelevant:null,ariaRequired:Q,ariaRoleDescription:K,ariaRowCount:C,ariaRowIndex:C,ariaRowSpan:C,ariaSelected:Q,ariaSetSize:C,ariaSort:null,ariaValueMax:C,ariaValueMin:C,ariaValueNow:C,ariaValueText:null,role:null}});var Lo=Ce({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:Gn,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Xe,acceptCharset:K,accessKey:K,action:null,allow:null,allowFullScreen:B,allowPaymentRequest:B,allowUserMedia:B,alt:null,as:null,async:B,autoCapitalize:null,autoComplete:K,autoFocus:B,autoPlay:B,blocking:K,capture:null,charSet:null,checked:B,cite:null,className:K,cols:C,colSpan:null,content:null,contentEditable:Q,controls:B,controlsList:K,coords:C|Xe,crossOrigin:null,data:null,dateTime:null,decoding:null,default:B,defer:B,dir:null,dirName:null,disabled:B,download:br,draggable:Q,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:B,formTarget:null,headers:K,height:C,hidden:B,high:C,href:null,hrefLang:null,htmlFor:K,httpEquiv:K,id:null,imageSizes:null,imageSrcSet:null,inert:B,inputMode:null,integrity:null,is:null,isMap:B,itemId:null,itemProp:K,itemRef:K,itemScope:B,itemType:K,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:B,low:C,manifest:null,max:null,maxLength:C,media:null,method:null,min:null,minLength:C,multiple:B,muted:B,name:null,nonce:null,noModule:B,noValidate:B,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:B,optimum:C,pattern:null,ping:K,placeholder:null,playsInline:B,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:B,referrerPolicy:null,rel:K,required:B,reversed:B,rows:C,rowSpan:C,sandbox:K,scope:null,scoped:B,seamless:B,selected:B,shadowRootClonable:B,shadowRootDelegatesFocus:B,shadowRootMode:null,shape:null,size:C,sizes:null,slot:null,span:C,spellCheck:Q,src:null,srcDoc:null,srcLang:null,srcSet:null,start:C,step:null,style:null,tabIndex:C,target:null,title:null,translate:null,type:null,typeMustMatch:B,useMap:null,value:Q,width:C,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:K,axis:null,background:null,bgColor:null,border:C,borderColor:null,bottomMargin:C,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:B,declare:B,event:null,face:null,frame:null,frameBorder:null,hSpace:C,leftMargin:C,link:null,longDesc:null,lowSrc:null,marginHeight:C,marginWidth:C,noResize:B,noHref:B,noShade:B,noWrap:B,object:null,profile:null,prompt:null,rev:null,rightMargin:C,rules:null,scheme:null,scrolling:Q,standby:null,summary:null,text:null,topMargin:C,valueType:null,version:null,vAlign:null,vLink:null,vSpace:C,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:B,disableRemotePlayback:B,prefix:null,property:null,results:C,security:null,unselectable:null}});var Mo=Ce({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:Fn,properties:{about:he,accentHeight:C,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:C,amplitude:C,arabicForm:null,ascent:C,attributeName:null,attributeType:null,azimuth:C,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:C,by:null,calcMode:null,capHeight:C,className:K,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:C,diffuseConstant:C,direction:null,display:null,dur:null,divisor:C,dominantBaseline:null,download:B,dx:null,dy:null,edgeMode:null,editable:null,elevation:C,enableBackground:null,end:null,event:null,exponent:C,externalResourcesRequired:null,fill:null,fillOpacity:C,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Xe,g2:Xe,glyphName:Xe,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:C,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:C,horizOriginX:C,horizOriginY:C,id:null,ideographic:C,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:C,k:C,k1:C,k2:C,k3:C,k4:C,kernelMatrix:he,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:C,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:C,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:C,overlineThickness:C,paintOrder:null,panose1:null,path:null,pathLength:C,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:K,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:C,pointsAtY:C,pointsAtZ:C,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:he,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:he,rev:he,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:he,requiredFeatures:he,requiredFonts:he,requiredFormats:he,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:C,specularExponent:C,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:C,strikethroughThickness:C,string:null,stroke:null,strokeDashArray:he,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:C,strokeOpacity:C,strokeWidth:null,style:null,surfaceScale:C,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:he,tabIndex:C,tableValues:null,target:null,targetX:C,targetY:C,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:he,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:C,underlineThickness:C,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:C,values:null,vAlphabetic:C,vMathematical:C,vectorEffect:null,vHanging:C,vIdeographic:C,version:null,vertAdvY:C,vertOriginX:C,vertOriginY:C,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:C,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}});var hd=/^data[-\w.:]+$/i,Oo=/-[a-z]/g,fd=/[A-Z]/g;function kr(e,n){let t=Xt(n),i=n,r=ue;if(t in e.normal)return e.property[e.normal[t]];if(t.length>4&&t.slice(0,4)==="data"&&hd.test(n)){if(n.charAt(4)==="-"){let a=n.slice(5).replace(Oo,bd);i="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{let a=n.slice(4);if(!Oo.test(a)){let o=a.replace(fd,yd);o.charAt(0)!=="-"&&(o="-"+o),n="data"+o}}r=rt}return new r(i,n)}function yd(e){return"-"+e.toLowerCase()}function bd(e){return e.charAt(1).toUpperCase()}var Bo=yr([Sr,_r,Er,Cr,Lo],"html"),zn=yr([Sr,_r,Er,Cr,Mo],"svg");var Fo={}.hasOwnProperty;function Go(e,n){let t=n||{};function i(r,...a){let o=i.invalid,s=i.handlers;if(r&&Fo.call(r,e)){let l=String(r[e]);o=Fo.call(s,l)?s[l]:i.unknown}if(o)return o.call(this,r,...a)}return i.handlers=t.handlers||{},i.invalid=t.invalid,i.unknown=t.unknown,i}var vd=/["&'<>`]/g,_d=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Sd=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Ed=/[|\\{}()[\]^$+*?.]/g,zo=new WeakMap;function Uo(e,n){if(e=e.replace(n.subset?Cd(n.subset):vd,i),n.subset||n.escapeOnly)return e;return e.replace(_d,t).replace(Sd,i);function t(r,a,o){return n.format((r.charCodeAt(0)-55296)*1024+r.charCodeAt(1)-56320+65536,o.charCodeAt(a+2),n)}function i(r,a,o){return n.format(r.charCodeAt(0),o.charCodeAt(a+1),n)}}function Cd(e){let n=zo.get(e);return n||(n=kd(e),zo.set(e,n)),n}function kd(e){let n=[],t=-1;for(;++t<e.length;)n.push(e[t].replace(Ed,"\\$&"));return new RegExp("(?:"+n.join("|")+")","g")}var wd=/[\dA-Fa-f]/;function Ho(e,n,t){let i="&#x"+e.toString(16).toUpperCase();return t&&n&&!wd.test(String.fromCharCode(n))?i:i+";"}var Td=/\d/;function Vo(e,n,t){let i="&#"+String(e);return t&&n&&!Td.test(String.fromCharCode(n))?i:i+";"}var Wo=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"];var Un={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var jo=["cent","copy","divide","gt","lt","not","para","times"];var qo={}.hasOwnProperty,wr={},Hn;for(Hn in Un)qo.call(Un,Hn)&&(wr[Un[Hn]]=Hn);var Ad=/[^\dA-Za-z]/;function Ko(e,n,t,i){let r=String.fromCharCode(e);if(qo.call(wr,r)){let a=wr[r],o="&"+a;return t&&Wo.includes(a)&&!jo.includes(a)&&(!i||n&&n!==61&&Ad.test(String.fromCharCode(n)))?o:o+";"}return""}function Xo(e,n,t){let i=Ho(e,n,t.omitOptionalSemicolons),r;if((t.useNamedReferences||t.useShortestReferences)&&(r=Ko(e,n,t.omitOptionalSemicolons,t.attribute)),(t.useShortestReferences||!r)&&t.useShortestReferences){let a=Vo(e,n,t.omitOptionalSemicolons);a.length<i.length&&(i=a)}return r&&(!t.useShortestReferences||r.length<i.length)?r:i}function ze(e,n){return Uo(e,Object.assign({format:Xo},n))}var xd=/^>|^->|<!--|-->|--!>|<!-$/g,Id=[">"],Rd=["<",">"];function Yo(e,n,t,i){return i.settings.bogusComments?"<?"+ze(e.value,Object.assign({},i.settings.characterReferences,{subset:Id}))+">":"<!--"+e.value.replace(xd,r)+"-->";function r(a){return ze(a,Object.assign({},i.settings.characterReferences,{subset:Rd}))}}function Jo(e,n,t,i){return"<!"+(i.settings.upperDoctype?"DOCTYPE":"doctype")+(i.settings.tightDoctype?"":" ")+"html>"}function Tr(e,n){let t=String(e);if(typeof n!="string")throw new TypeError("Expected character");let i=0,r=t.indexOf(n);for(;r!==-1;)i++,r=t.indexOf(n,r+n.length);return i}function Zo(e,n){let t=n||{};return(e[e.length-1]===""?[...e,""]:e).join((t.padRight?" ":"")+","+(t.padLeft===!1?"":" ")).trim()}var te=$o(1),Ar=$o(-1),Pd=[];function $o(e){return n;function n(t,i,r){let a=t?t.children:Pd,o=(i||0)+e,s=a[o];if(!r)for(;s&&ve(s);)o+=e,s=a[o];return s}}var Dd={}.hasOwnProperty;function Vn(e){return n;function n(t,i,r){return Dd.call(e,t.tagName)&&e[t.tagName](t,i,r)}}var Jt=Vn({body:Ld,caption:xr,colgroup:xr,dd:Fd,dt:Bd,head:xr,html:Nd,li:Od,optgroup:Gd,option:zd,p:Md,rp:Qo,rt:Qo,tbody:Hd,td:es,tfoot:Vd,th:es,thead:Ud,tr:Wd});function xr(e,n,t){let i=te(t,n,!0);return!i||i.type!=="comment"&&!(i.type==="text"&&ve(i.value.charAt(0)))}function Nd(e,n,t){let i=te(t,n);return!i||i.type!=="comment"}function Ld(e,n,t){let i=te(t,n);return!i||i.type!=="comment"}function Md(e,n,t){let i=te(t,n);return i?i.type==="element"&&(i.tagName==="address"||i.tagName==="article"||i.tagName==="aside"||i.tagName==="blockquote"||i.tagName==="details"||i.tagName==="div"||i.tagName==="dl"||i.tagName==="fieldset"||i.tagName==="figcaption"||i.tagName==="figure"||i.tagName==="footer"||i.tagName==="form"||i.tagName==="h1"||i.tagName==="h2"||i.tagName==="h3"||i.tagName==="h4"||i.tagName==="h5"||i.tagName==="h6"||i.tagName==="header"||i.tagName==="hgroup"||i.tagName==="hr"||i.tagName==="main"||i.tagName==="menu"||i.tagName==="nav"||i.tagName==="ol"||i.tagName==="p"||i.tagName==="pre"||i.tagName==="section"||i.tagName==="table"||i.tagName==="ul"):!t||!(t.type==="element"&&(t.tagName==="a"||t.tagName==="audio"||t.tagName==="del"||t.tagName==="ins"||t.tagName==="map"||t.tagName==="noscript"||t.tagName==="video"))}function Od(e,n,t){let i=te(t,n);return!i||i.type==="element"&&i.tagName==="li"}function Bd(e,n,t){let i=te(t,n);return!!(i&&i.type==="element"&&(i.tagName==="dt"||i.tagName==="dd"))}function Fd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="dt"||i.tagName==="dd")}function Qo(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="rp"||i.tagName==="rt")}function Gd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&i.tagName==="optgroup"}function zd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="option"||i.tagName==="optgroup")}function Ud(e,n,t){let i=te(t,n);return!!(i&&i.type==="element"&&(i.tagName==="tbody"||i.tagName==="tfoot"))}function Hd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="tbody"||i.tagName==="tfoot")}function Vd(e,n,t){return!te(t,n)}function Wd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&i.tagName==="tr"}function es(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="td"||i.tagName==="th")}var ts=Vn({body:Kd,colgroup:Xd,head:qd,html:jd,tbody:Yd});function jd(e){let n=te(e,-1);return!n||n.type!=="comment"}function qd(e){let n=e.children,t=[],i=-1;for(;++i<n.length;){let r=n[i];if(r.type==="element"&&(r.tagName==="title"||r.tagName==="base")){if(t.includes(r.tagName))return!1;t.push(r.tagName)}}return n.length>0}function Kd(e){let n=te(e,-1,!0);return!n||n.type!=="comment"&&!(n.type==="text"&&ve(n.value.charAt(0)))&&!(n.type==="element"&&(n.tagName==="meta"||n.tagName==="link"||n.tagName==="script"||n.tagName==="style"||n.tagName==="template"))}function Xd(e,n,t){let i=Ar(t,n),r=te(e,-1,!0);return t&&i&&i.type==="element"&&i.tagName==="colgroup"&&Jt(i,t.children.indexOf(i),t)?!1:!!(r&&r.type==="element"&&r.tagName==="col")}function Yd(e,n,t){let i=Ar(t,n),r=te(e,-1);return t&&i&&i.type==="element"&&(i.tagName==="thead"||i.tagName==="tbody")&&Jt(i,t.children.indexOf(i),t)?!1:!!(r&&r.type==="element"&&r.tagName==="tr")}var Wn={name:[[`
3427
+ `)+String(t).repeat(Math.max(s,0));c&&c.type==="text"?c.value=ve(c)?d:c.value+d:o.push({type:"text",value:d})}function a(o){return!!(o&&o.type==="element"&&n.blanks&&n.blanks.length>0&&n.blanks.includes(o.tagName))}}function fr(e,n){return e.type==="root"||(e.type==="element"?n||De(e,"script")||nt(e)||!mr(e):!1)}var Do=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","keygen","link","meta","param","source","track","wbr"];var Ge=class{constructor(n,t,i){this.property=n,this.normal=t,i&&(this.space=i)}};Ge.prototype.property={};Ge.prototype.normal={};Ge.prototype.space=null;function yr(e,n){let t={},i={},r=-1;for(;++r<e.length;)Object.assign(t,e[r].property),Object.assign(i,e[r].normal);return new Ge(t,i,n)}function Xt(e){return e.toLowerCase()}var ue=class{constructor(n,t){this.property=n,this.attribute=t}};ue.prototype.space=null;ue.prototype.boolean=!1;ue.prototype.booleanish=!1;ue.prototype.overloadedBoolean=!1;ue.prototype.number=!1;ue.prototype.commaSeparated=!1;ue.prototype.spaceSeparated=!1;ue.prototype.commaOrSpaceSeparated=!1;ue.prototype.mustUseProperty=!1;ue.prototype.defined=!1;var Yt={};va(Yt,{boolean:()=>B,booleanish:()=>Q,commaOrSpaceSeparated:()=>he,commaSeparated:()=>Xe,number:()=>C,overloadedBoolean:()=>br,spaceSeparated:()=>K});var md=0,B=it(),Q=it(),br=it(),C=it(),K=it(),Xe=it(),he=it();function it(){return 2**++md}var vr=Object.keys(Yt),rt=class extends ue{constructor(n,t,i,r){let a=-1;if(super(n,t),Lo(this,"space",r),typeof i=="number")for(;++a<vr.length;){let o=vr[a];Lo(this,vr[a],(i&Yt[o])===Yt[o])}}};rt.prototype.defined=!0;function Lo(e,n,t){t&&(e[n]=t)}var gd={}.hasOwnProperty;function Ce(e){let n={},t={},i;for(i in e.properties)if(gd.call(e.properties,i)){let r=e.properties[i],a=new rt(i,e.transform(e.attributes||{},i),r,e.space);e.mustUseProperty&&e.mustUseProperty.includes(i)&&(a.mustUseProperty=!0),n[i]=a,t[Xt(i)]=i,t[Xt(a.attribute)]=i}return new Ge(n,t,e.space)}var _r=Ce({space:"xlink",transform(e,n){return"xlink:"+n.slice(5).toLowerCase()},properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}});var Sr=Ce({space:"xml",transform(e,n){return"xml:"+n.slice(3).toLowerCase()},properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function Gn(e,n){return n in e?e[n]:n}function zn(e,n){return Gn(e,n.toLowerCase())}var Er=Ce({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:zn,properties:{xmlns:null,xmlnsXLink:null}});var Cr=Ce({transform(e,n){return n==="role"?n:"aria-"+n.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:Q,ariaAutoComplete:null,ariaBusy:Q,ariaChecked:Q,ariaColCount:C,ariaColIndex:C,ariaColSpan:C,ariaControls:K,ariaCurrent:null,ariaDescribedBy:K,ariaDetails:null,ariaDisabled:Q,ariaDropEffect:K,ariaErrorMessage:null,ariaExpanded:Q,ariaFlowTo:K,ariaGrabbed:Q,ariaHasPopup:null,ariaHidden:Q,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:K,ariaLevel:C,ariaLive:null,ariaModal:Q,ariaMultiLine:Q,ariaMultiSelectable:Q,ariaOrientation:null,ariaOwns:K,ariaPlaceholder:null,ariaPosInSet:C,ariaPressed:Q,ariaReadOnly:Q,ariaRelevant:null,ariaRequired:Q,ariaRoleDescription:K,ariaRowCount:C,ariaRowIndex:C,ariaRowSpan:C,ariaSelected:Q,ariaSetSize:C,ariaSort:null,ariaValueMax:C,ariaValueMin:C,ariaValueNow:C,ariaValueText:null,role:null}});var No=Ce({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:zn,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Xe,acceptCharset:K,accessKey:K,action:null,allow:null,allowFullScreen:B,allowPaymentRequest:B,allowUserMedia:B,alt:null,as:null,async:B,autoCapitalize:null,autoComplete:K,autoFocus:B,autoPlay:B,blocking:K,capture:null,charSet:null,checked:B,cite:null,className:K,cols:C,colSpan:null,content:null,contentEditable:Q,controls:B,controlsList:K,coords:C|Xe,crossOrigin:null,data:null,dateTime:null,decoding:null,default:B,defer:B,dir:null,dirName:null,disabled:B,download:br,draggable:Q,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:B,formTarget:null,headers:K,height:C,hidden:B,high:C,href:null,hrefLang:null,htmlFor:K,httpEquiv:K,id:null,imageSizes:null,imageSrcSet:null,inert:B,inputMode:null,integrity:null,is:null,isMap:B,itemId:null,itemProp:K,itemRef:K,itemScope:B,itemType:K,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:B,low:C,manifest:null,max:null,maxLength:C,media:null,method:null,min:null,minLength:C,multiple:B,muted:B,name:null,nonce:null,noModule:B,noValidate:B,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:B,optimum:C,pattern:null,ping:K,placeholder:null,playsInline:B,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:B,referrerPolicy:null,rel:K,required:B,reversed:B,rows:C,rowSpan:C,sandbox:K,scope:null,scoped:B,seamless:B,selected:B,shadowRootClonable:B,shadowRootDelegatesFocus:B,shadowRootMode:null,shape:null,size:C,sizes:null,slot:null,span:C,spellCheck:Q,src:null,srcDoc:null,srcLang:null,srcSet:null,start:C,step:null,style:null,tabIndex:C,target:null,title:null,translate:null,type:null,typeMustMatch:B,useMap:null,value:Q,width:C,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:K,axis:null,background:null,bgColor:null,border:C,borderColor:null,bottomMargin:C,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:B,declare:B,event:null,face:null,frame:null,frameBorder:null,hSpace:C,leftMargin:C,link:null,longDesc:null,lowSrc:null,marginHeight:C,marginWidth:C,noResize:B,noHref:B,noShade:B,noWrap:B,object:null,profile:null,prompt:null,rev:null,rightMargin:C,rules:null,scheme:null,scrolling:Q,standby:null,summary:null,text:null,topMargin:C,valueType:null,version:null,vAlign:null,vLink:null,vSpace:C,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:B,disableRemotePlayback:B,prefix:null,property:null,results:C,security:null,unselectable:null}});var Mo=Ce({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:Gn,properties:{about:he,accentHeight:C,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:C,amplitude:C,arabicForm:null,ascent:C,attributeName:null,attributeType:null,azimuth:C,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:C,by:null,calcMode:null,capHeight:C,className:K,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:C,diffuseConstant:C,direction:null,display:null,dur:null,divisor:C,dominantBaseline:null,download:B,dx:null,dy:null,edgeMode:null,editable:null,elevation:C,enableBackground:null,end:null,event:null,exponent:C,externalResourcesRequired:null,fill:null,fillOpacity:C,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Xe,g2:Xe,glyphName:Xe,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:C,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:C,horizOriginX:C,horizOriginY:C,id:null,ideographic:C,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:C,k:C,k1:C,k2:C,k3:C,k4:C,kernelMatrix:he,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:C,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:C,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:C,overlineThickness:C,paintOrder:null,panose1:null,path:null,pathLength:C,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:K,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:C,pointsAtY:C,pointsAtZ:C,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:he,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:he,rev:he,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:he,requiredFeatures:he,requiredFonts:he,requiredFormats:he,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:C,specularExponent:C,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:C,strikethroughThickness:C,string:null,stroke:null,strokeDashArray:he,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:C,strokeOpacity:C,strokeWidth:null,style:null,surfaceScale:C,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:he,tabIndex:C,tableValues:null,target:null,targetX:C,targetY:C,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:he,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:C,underlineThickness:C,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:C,values:null,vAlphabetic:C,vMathematical:C,vectorEffect:null,vHanging:C,vIdeographic:C,version:null,vertAdvY:C,vertOriginX:C,vertOriginY:C,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:C,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}});var hd=/^data[-\w.:]+$/i,Oo=/-[a-z]/g,fd=/[A-Z]/g;function kr(e,n){let t=Xt(n),i=n,r=ue;if(t in e.normal)return e.property[e.normal[t]];if(t.length>4&&t.slice(0,4)==="data"&&hd.test(n)){if(n.charAt(4)==="-"){let a=n.slice(5).replace(Oo,bd);i="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{let a=n.slice(4);if(!Oo.test(a)){let o=a.replace(fd,yd);o.charAt(0)!=="-"&&(o="-"+o),n="data"+o}}r=rt}return new r(i,n)}function yd(e){return"-"+e.toLowerCase()}function bd(e){return e.charAt(1).toUpperCase()}var Bo=yr([Sr,_r,Er,Cr,No],"html"),Un=yr([Sr,_r,Er,Cr,Mo],"svg");var Fo={}.hasOwnProperty;function Go(e,n){let t=n||{};function i(r,...a){let o=i.invalid,s=i.handlers;if(r&&Fo.call(r,e)){let l=String(r[e]);o=Fo.call(s,l)?s[l]:i.unknown}if(o)return o.call(this,r,...a)}return i.handlers=t.handlers||{},i.invalid=t.invalid,i.unknown=t.unknown,i}var vd=/["&'<>`]/g,_d=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Sd=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Ed=/[|\\{}()[\]^$+*?.]/g,zo=new WeakMap;function Uo(e,n){if(e=e.replace(n.subset?Cd(n.subset):vd,i),n.subset||n.escapeOnly)return e;return e.replace(_d,t).replace(Sd,i);function t(r,a,o){return n.format((r.charCodeAt(0)-55296)*1024+r.charCodeAt(1)-56320+65536,o.charCodeAt(a+2),n)}function i(r,a,o){return n.format(r.charCodeAt(0),o.charCodeAt(a+1),n)}}function Cd(e){let n=zo.get(e);return n||(n=kd(e),zo.set(e,n)),n}function kd(e){let n=[],t=-1;for(;++t<e.length;)n.push(e[t].replace(Ed,"\\$&"));return new RegExp("(?:"+n.join("|")+")","g")}var wd=/[\dA-Fa-f]/;function Ho(e,n,t){let i="&#x"+e.toString(16).toUpperCase();return t&&n&&!wd.test(String.fromCharCode(n))?i:i+";"}var Td=/\d/;function Vo(e,n,t){let i="&#"+String(e);return t&&n&&!Td.test(String.fromCharCode(n))?i:i+";"}var Wo=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"];var Hn={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var jo=["cent","copy","divide","gt","lt","not","para","times"];var qo={}.hasOwnProperty,wr={},Vn;for(Vn in Hn)qo.call(Hn,Vn)&&(wr[Hn[Vn]]=Vn);var Ad=/[^\dA-Za-z]/;function Ko(e,n,t,i){let r=String.fromCharCode(e);if(qo.call(wr,r)){let a=wr[r],o="&"+a;return t&&Wo.includes(a)&&!jo.includes(a)&&(!i||n&&n!==61&&Ad.test(String.fromCharCode(n)))?o:o+";"}return""}function Xo(e,n,t){let i=Ho(e,n,t.omitOptionalSemicolons),r;if((t.useNamedReferences||t.useShortestReferences)&&(r=Ko(e,n,t.omitOptionalSemicolons,t.attribute)),(t.useShortestReferences||!r)&&t.useShortestReferences){let a=Vo(e,n,t.omitOptionalSemicolons);a.length<i.length&&(i=a)}return r&&(!t.useShortestReferences||r.length<i.length)?r:i}function ze(e,n){return Uo(e,Object.assign({format:Xo},n))}var xd=/^>|^->|<!--|-->|--!>|<!-$/g,Id=[">"],Rd=["<",">"];function Yo(e,n,t,i){return i.settings.bogusComments?"<?"+ze(e.value,Object.assign({},i.settings.characterReferences,{subset:Id}))+">":"<!--"+e.value.replace(xd,r)+"-->";function r(a){return ze(a,Object.assign({},i.settings.characterReferences,{subset:Rd}))}}function Jo(e,n,t,i){return"<!"+(i.settings.upperDoctype?"DOCTYPE":"doctype")+(i.settings.tightDoctype?"":" ")+"html>"}function Tr(e,n){let t=String(e);if(typeof n!="string")throw new TypeError("Expected character");let i=0,r=t.indexOf(n);for(;r!==-1;)i++,r=t.indexOf(n,r+n.length);return i}function Zo(e,n){let t=n||{};return(e[e.length-1]===""?[...e,""]:e).join((t.padRight?" ":"")+","+(t.padLeft===!1?"":" ")).trim()}var te=$o(1),Ar=$o(-1),Pd=[];function $o(e){return n;function n(t,i,r){let a=t?t.children:Pd,o=(i||0)+e,s=a[o];if(!r)for(;s&&ve(s);)o+=e,s=a[o];return s}}var Dd={}.hasOwnProperty;function Wn(e){return n;function n(t,i,r){return Dd.call(e,t.tagName)&&e[t.tagName](t,i,r)}}var Jt=Wn({body:Nd,caption:xr,colgroup:xr,dd:Fd,dt:Bd,head:xr,html:Ld,li:Od,optgroup:Gd,option:zd,p:Md,rp:Qo,rt:Qo,tbody:Hd,td:es,tfoot:Vd,th:es,thead:Ud,tr:Wd});function xr(e,n,t){let i=te(t,n,!0);return!i||i.type!=="comment"&&!(i.type==="text"&&ve(i.value.charAt(0)))}function Ld(e,n,t){let i=te(t,n);return!i||i.type!=="comment"}function Nd(e,n,t){let i=te(t,n);return!i||i.type!=="comment"}function Md(e,n,t){let i=te(t,n);return i?i.type==="element"&&(i.tagName==="address"||i.tagName==="article"||i.tagName==="aside"||i.tagName==="blockquote"||i.tagName==="details"||i.tagName==="div"||i.tagName==="dl"||i.tagName==="fieldset"||i.tagName==="figcaption"||i.tagName==="figure"||i.tagName==="footer"||i.tagName==="form"||i.tagName==="h1"||i.tagName==="h2"||i.tagName==="h3"||i.tagName==="h4"||i.tagName==="h5"||i.tagName==="h6"||i.tagName==="header"||i.tagName==="hgroup"||i.tagName==="hr"||i.tagName==="main"||i.tagName==="menu"||i.tagName==="nav"||i.tagName==="ol"||i.tagName==="p"||i.tagName==="pre"||i.tagName==="section"||i.tagName==="table"||i.tagName==="ul"):!t||!(t.type==="element"&&(t.tagName==="a"||t.tagName==="audio"||t.tagName==="del"||t.tagName==="ins"||t.tagName==="map"||t.tagName==="noscript"||t.tagName==="video"))}function Od(e,n,t){let i=te(t,n);return!i||i.type==="element"&&i.tagName==="li"}function Bd(e,n,t){let i=te(t,n);return!!(i&&i.type==="element"&&(i.tagName==="dt"||i.tagName==="dd"))}function Fd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="dt"||i.tagName==="dd")}function Qo(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="rp"||i.tagName==="rt")}function Gd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&i.tagName==="optgroup"}function zd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="option"||i.tagName==="optgroup")}function Ud(e,n,t){let i=te(t,n);return!!(i&&i.type==="element"&&(i.tagName==="tbody"||i.tagName==="tfoot"))}function Hd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="tbody"||i.tagName==="tfoot")}function Vd(e,n,t){return!te(t,n)}function Wd(e,n,t){let i=te(t,n);return!i||i.type==="element"&&i.tagName==="tr"}function es(e,n,t){let i=te(t,n);return!i||i.type==="element"&&(i.tagName==="td"||i.tagName==="th")}var ts=Wn({body:Kd,colgroup:Xd,head:qd,html:jd,tbody:Yd});function jd(e){let n=te(e,-1);return!n||n.type!=="comment"}function qd(e){let n=e.children,t=[],i=-1;for(;++i<n.length;){let r=n[i];if(r.type==="element"&&(r.tagName==="title"||r.tagName==="base")){if(t.includes(r.tagName))return!1;t.push(r.tagName)}}return n.length>0}function Kd(e){let n=te(e,-1,!0);return!n||n.type!=="comment"&&!(n.type==="text"&&ve(n.value.charAt(0)))&&!(n.type==="element"&&(n.tagName==="meta"||n.tagName==="link"||n.tagName==="script"||n.tagName==="style"||n.tagName==="template"))}function Xd(e,n,t){let i=Ar(t,n),r=te(e,-1,!0);return t&&i&&i.type==="element"&&i.tagName==="colgroup"&&Jt(i,t.children.indexOf(i),t)?!1:!!(r&&r.type==="element"&&r.tagName==="col")}function Yd(e,n,t){let i=Ar(t,n),r=te(e,-1);return t&&i&&i.type==="element"&&(i.tagName==="thead"||i.tagName==="tbody")&&Jt(i,t.children.indexOf(i),t)?!1:!!(r&&r.type==="element"&&r.tagName==="tr")}var jn={name:[[`
3427
3428
  \f\r &/=>`.split(""),`
3428
3429
  \f\r "&'/=>\``.split("")],[`\0
3429
3430
  \f\r "&'/<=>`.split(""),`\0
@@ -3431,19 +3432,19 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
3431
3432
  \f\r &>`.split(""),`\0
3432
3433
  \f\r "&'<=>\``.split("")],[`\0
3433
3434
  \f\r "&'<=>\``.split(""),`\0
3434
- \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function ns(e,n,t,i){let r=i.schema,a=r.space==="svg"?!1:i.settings.omitOptionalTags,o=r.space==="svg"?i.settings.closeEmptyElements:i.settings.voids.includes(e.tagName.toLowerCase()),s=[],l;r.space==="html"&&e.tagName==="svg"&&(i.schema=zn);let c=Jd(i,e.properties),u=i.all(r.space==="html"&&e.tagName==="template"?e.content:e);return i.schema=r,u&&(o=!1),(c||!a||!ts(e,n,t))&&(s.push("<",e.tagName,c?" "+c:""),o&&(r.space==="svg"||i.settings.closeSelfClosing)&&(l=c.charAt(c.length-1),(!i.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&s.push(" "),s.push("/")),s.push(">")),s.push(u),!o&&(!a||!Jt(e,n,t))&&s.push("</"+e.tagName+">"),s.join("")}function Jd(e,n){let t=[],i=-1,r;if(n){for(r in n)if(n[r]!==null&&n[r]!==void 0){let a=Zd(e,r,n[r]);a&&t.push(a)}}for(;++i<t.length;){let a=e.settings.tightAttributes?t[i].charAt(t[i].length-1):void 0;i!==t.length-1&&a!=='"'&&a!=="'"&&(t[i]+=" ")}return t.join("")}function Zd(e,n,t){let i=kr(e.schema,n),r=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,a=e.settings.allowDangerousCharacters?0:1,o=e.quote,s;if(i.overloadedBoolean&&(t===i.attribute||t==="")?t=!0:(i.boolean||i.overloadedBoolean&&typeof t!="string")&&(t=!!t),t==null||t===!1||typeof t=="number"&&Number.isNaN(t))return"";let l=ze(i.attribute,Object.assign({},e.settings.characterReferences,{subset:Wn.name[r][a]}));return t===!0||(t=Array.isArray(t)?(i.commaSeparated?Zo:So)(t,{padLeft:!e.settings.tightCommaSeparatedLists}):String(t),e.settings.collapseEmptyAttributes&&!t)?l:(e.settings.preferUnquoted&&(s=ze(t,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Wn.unquoted[r][a]}))),s!==t&&(e.settings.quoteSmart&&Tr(t,o)>Tr(t,e.alternative)&&(o=e.alternative),s=o+ze(t,Object.assign({},e.settings.characterReferences,{subset:(o==="'"?Wn.single:Wn.double)[r][a],attribute:!0}))+o),l+(s&&"="+s))}var $d=["<","&"];function jn(e,n,t,i){return t&&t.type==="element"&&(t.tagName==="script"||t.tagName==="style")?e.value:ze(e.value,Object.assign({},i.settings.characterReferences,{subset:$d}))}function is(e,n,t,i){return i.settings.allowDangerousHtml?e.value:jn(e,n,t,i)}function rs(e,n,t,i){return i.all(e)}var as=Go("type",{invalid:Qd,unknown:ep,handlers:{comment:Yo,doctype:Jo,element:ns,raw:is,root:rs,text:jn}});function Qd(e){throw new Error("Expected node, not `"+e+"`")}function ep(e){let n=e;throw new Error("Cannot compile unknown node `"+n.type+"`")}var tp={},np={},ip=[];function Ir(e,n){let t=n||tp,i=t.quote||'"',r=i==='"'?"'":'"';if(i!=='"'&&i!=="'")throw new Error("Invalid quote `"+i+"`, expected `'` or `\"`");return{one:rp,all:ap,settings:{omitOptionalTags:t.omitOptionalTags||!1,allowParseErrors:t.allowParseErrors||!1,allowDangerousCharacters:t.allowDangerousCharacters||!1,quoteSmart:t.quoteSmart||!1,preferUnquoted:t.preferUnquoted||!1,tightAttributes:t.tightAttributes||!1,upperDoctype:t.upperDoctype||!1,tightDoctype:t.tightDoctype||!1,bogusComments:t.bogusComments||!1,tightCommaSeparatedLists:t.tightCommaSeparatedLists||!1,tightSelfClosing:t.tightSelfClosing||!1,collapseEmptyAttributes:t.collapseEmptyAttributes||!1,allowDangerousHtml:t.allowDangerousHtml||!1,voids:t.voids||Do,characterReferences:t.characterReferences||np,closeSelfClosing:t.closeSelfClosing||!1,closeEmptyElements:t.closeEmptyElements||!1},schema:t.space==="svg"?zn:Bo,quote:i,alternative:r}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function rp(e,n,t){return as(e,n,t,this)}function ap(e){let n=[],t=e&&e.children||ip,i=-1;for(;++i<t.length;)n[i]=this.one(t[i],i,e);return n.join("")}function qn(e){let n=this,t={...n.data("settings"),...e};n.compiler=i;function i(r){return Ir(r,t)}}var op={};function Rr(e,n){let t=n||op,i=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,r=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return ss(e,i,r)}function ss(e,n,t){if(sp(e)){if("value"in e)return e.type==="html"&&!t?"":e.value;if(n&&"alt"in e&&e.alt)return e.alt;if("children"in e)return os(e.children,n,t)}return Array.isArray(e)?os(e,n,t):""}function os(e,n,t){let i=[],r=-1;for(;++r<e.length;)i[r]=ss(e[r],n,t);return i.join("")}function sp(e){return!!(e&&typeof e=="object")}var ls=document.createElement("i");function kt(e){let n="&"+e+";";ls.innerHTML=n;let t=ls.textContent;return t.charCodeAt(t.length-1)===59&&e!=="semi"||t===n?!1:t}function de(e,n,t,i){let r=e.length,a=0,o;if(n<0?n=-n>r?0:r+n:n=n>r?r:n,t=t>0?t:0,i.length<1e4)o=Array.from(i),o.unshift(n,t),e.splice(...o);else for(t&&e.splice(n,t);a<i.length;)o=i.slice(a,a+1e4),o.unshift(n,0),e.splice(...o),a+=1e4,n+=1e4}function me(e,n){return e.length>0?(de(e,e.length,0,n),e):n}var cs={}.hasOwnProperty;function us(e){let n={},t=-1;for(;++t<e.length;)lp(n,e[t]);return n}function lp(e,n){let t;for(t in n){let r=(cs.call(e,t)?e[t]:void 0)||(e[t]={}),a=n[t],o;if(a)for(o in a){cs.call(r,o)||(r[o]=[]);let s=a[o];cp(r[o],Array.isArray(s)?s:s?[s]:[])}}}function cp(e,n){let t=-1,i=[];for(;++t<n.length;)(n[t].add==="after"?e:i).push(n[t]);de(e,0,0,i)}function Kn(e,n){let t=Number.parseInt(e,n);return t<9||t===11||t>13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"\uFFFD":String.fromCodePoint(t)}function Ue(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var _e=Ye(/[A-Za-z]/),ae=Ye(/[\dA-Za-z]/),ds=Ye(/[#-'*+\--9=?A-Z^-~]/);function Zt(e){return e!==null&&(e<32||e===127)}var $t=Ye(/\d/),ps=Ye(/[\dA-Fa-f]/),ms=Ye(/[!-/:-@[-`{-~]/);function A(e){return e!==null&&e<-2}function ne(e){return e!==null&&(e<0||e===32)}function F(e){return e===-2||e===-1||e===32}var gs=Ye(/\p{P}|\p{S}/u),hs=Ye(/\s/);function Ye(e){return n;function n(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function ke(e){let n=[],t=-1,i=0,r=0;for(;++t<e.length;){let a=e.charCodeAt(t),o="";if(a===37&&ae(e.charCodeAt(t+1))&&ae(e.charCodeAt(t+2)))r=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(o=String.fromCharCode(a));else if(a>55295&&a<57344){let s=e.charCodeAt(t+1);a<56320&&s>56319&&s<57344?(o=String.fromCharCode(a,s),r=1):o="\uFFFD"}else o=String.fromCharCode(a);o&&(n.push(e.slice(i,t),encodeURIComponent(o)),i=t+r+1,o=""),r&&(t+=r,r=0)}return n.join("")+e.slice(i)}function z(e,n,t,i){let r=i?i-1:Number.POSITIVE_INFINITY,a=0;return o;function o(l){return F(l)?(e.enter(t),s(l)):n(l)}function s(l){return F(l)&&a++<r?(e.consume(l),s):(e.exit(t),n(l))}}var fs={tokenize:up};function up(e){let n=e.attempt(this.parser.constructs.contentInitial,i,r),t;return n;function i(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),z(e,n,"linePrefix")}function r(s){return e.enter("paragraph"),a(s)}function a(s){let l=e.enter("chunkText",{contentType:"text",previous:t});return t&&(t.next=l),t=l,o(s)}function o(s){if(s===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(s);return}return A(s)?(e.consume(s),e.exit("chunkText"),a):(e.consume(s),o)}}var bs={tokenize:dp},ys={tokenize:pp};function dp(e){let n=this,t=[],i=0,r,a,o;return s;function s(S){if(i<t.length){let N=t[i];return n.containerState=N[1],e.attempt(N[0].continuation,l,c)(S)}return c(S)}function l(S){if(i++,n.containerState._closeFlow){n.containerState._closeFlow=void 0,r&&T();let N=n.events.length,L=N,b;for(;L--;)if(n.events[L][0]==="exit"&&n.events[L][1].type==="chunkFlow"){b=n.events[L][1].end;break}y(i);let I=N;for(;I<n.events.length;)n.events[I][1].end=Object.assign({},b),I++;return de(n.events,L+1,0,n.events.slice(N)),n.events.length=I,c(S)}return s(S)}function c(S){if(i===t.length){if(!r)return m(S);if(r.currentConstruct&&r.currentConstruct.concrete)return f(S);n.interrupt=!!(r.currentConstruct&&!r._gfmTableDynamicInterruptHack)}return n.containerState={},e.check(ys,u,d)(S)}function u(S){return r&&T(),y(i),m(S)}function d(S){return n.parser.lazy[n.now().line]=i!==t.length,o=n.now().offset,f(S)}function m(S){return n.containerState={},e.attempt(ys,p,f)(S)}function p(S){return i++,t.push([n.currentConstruct,n.containerState]),m(S)}function f(S){if(S===null){r&&T(),y(0),e.consume(S);return}return r=r||n.parser.flow(n.now()),e.enter("chunkFlow",{contentType:"flow",previous:a,_tokenizer:r}),_(S)}function _(S){if(S===null){E(e.exit("chunkFlow"),!0),y(0),e.consume(S);return}return A(S)?(e.consume(S),E(e.exit("chunkFlow")),i=0,n.interrupt=void 0,s):(e.consume(S),_)}function E(S,N){let L=n.sliceStream(S);if(N&&L.push(null),S.previous=a,a&&(a.next=S),a=S,r.defineSkip(S.start),r.write(L),n.parser.lazy[S.start.line]){let b=r.events.length;for(;b--;)if(r.events[b][1].start.offset<o&&(!r.events[b][1].end||r.events[b][1].end.offset>o))return;let I=n.events.length,D=I,P,M;for(;D--;)if(n.events[D][0]==="exit"&&n.events[D][1].type==="chunkFlow"){if(P){M=n.events[D][1].end;break}P=!0}for(y(i),b=I;b<n.events.length;)n.events[b][1].end=Object.assign({},M),b++;de(n.events,D+1,0,n.events.slice(I)),n.events.length=b}}function y(S){let N=t.length;for(;N-- >S;){let L=t[N];n.containerState=L[1],L[0].exit.call(n,e)}t.length=S}function T(){r.write([null]),a=void 0,r=void 0,n.containerState._closeFlow=void 0}}function pp(e,n,t){return z(e,e.attempt(this.parser.constructs.document,n,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Pr(e){if(e===null||ne(e)||hs(e))return 1;if(gs(e))return 2}function wt(e,n,t){let i=[],r=-1;for(;++r<e.length;){let a=e[r].resolveAll;a&&!i.includes(a)&&(n=a(n,t),i.push(a))}return n}var Qt={name:"attention",tokenize:gp,resolveAll:mp};function mp(e,n){let t=-1,i,r,a,o,s,l,c,u;for(;++t<e.length;)if(e[t][0]==="enter"&&e[t][1].type==="attentionSequence"&&e[t][1]._close){for(i=t;i--;)if(e[i][0]==="exit"&&e[i][1].type==="attentionSequence"&&e[i][1]._open&&n.sliceSerialize(e[i][1]).charCodeAt(0)===n.sliceSerialize(e[t][1]).charCodeAt(0)){if((e[i][1]._close||e[t][1]._open)&&(e[t][1].end.offset-e[t][1].start.offset)%3&&!((e[i][1].end.offset-e[i][1].start.offset+e[t][1].end.offset-e[t][1].start.offset)%3))continue;l=e[i][1].end.offset-e[i][1].start.offset>1&&e[t][1].end.offset-e[t][1].start.offset>1?2:1;let d=Object.assign({},e[i][1].end),m=Object.assign({},e[t][1].start);vs(d,-l),vs(m,l),o={type:l>1?"strongSequence":"emphasisSequence",start:d,end:Object.assign({},e[i][1].end)},s={type:l>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[t][1].start),end:m},a={type:l>1?"strongText":"emphasisText",start:Object.assign({},e[i][1].end),end:Object.assign({},e[t][1].start)},r={type:l>1?"strong":"emphasis",start:Object.assign({},o.start),end:Object.assign({},s.end)},e[i][1].end=Object.assign({},o.start),e[t][1].start=Object.assign({},s.end),c=[],e[i][1].end.offset-e[i][1].start.offset&&(c=me(c,[["enter",e[i][1],n],["exit",e[i][1],n]])),c=me(c,[["enter",r,n],["enter",o,n],["exit",o,n],["enter",a,n]]),c=me(c,wt(n.parser.constructs.insideSpan.null,e.slice(i+1,t),n)),c=me(c,[["exit",a,n],["enter",s,n],["exit",s,n],["exit",r,n]]),e[t][1].end.offset-e[t][1].start.offset?(u=2,c=me(c,[["enter",e[t][1],n],["exit",e[t][1],n]])):u=0,de(e,i-1,t-i+3,c),t=i+c.length-u-2;break}}for(t=-1;++t<e.length;)e[t][1].type==="attentionSequence"&&(e[t][1].type="data");return e}function gp(e,n){let t=this.parser.constructs.attentionMarkers.null,i=this.previous,r=Pr(i),a;return o;function o(l){return a=l,e.enter("attentionSequence"),s(l)}function s(l){if(l===a)return e.consume(l),s;let c=e.exit("attentionSequence"),u=Pr(l),d=!u||u===2&&r||t.includes(l),m=!r||r===2&&u||t.includes(i);return c._open=!!(a===42?d:d&&(r||!m)),c._close=!!(a===42?m:m&&(u||!d)),n(l)}}function vs(e,n){e.column+=n,e.offset+=n,e._bufferIndex+=n}var Dr={name:"autolink",tokenize:hp};function hp(e,n,t){let i=0;return r;function r(p){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),a}function a(p){return _e(p)?(e.consume(p),o):p===64?t(p):c(p)}function o(p){return p===43||p===45||p===46||ae(p)?(i=1,s(p)):c(p)}function s(p){return p===58?(e.consume(p),i=0,l):(p===43||p===45||p===46||ae(p))&&i++<32?(e.consume(p),s):(i=0,c(p))}function l(p){return p===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.exit("autolink"),n):p===null||p===32||p===60||Zt(p)?t(p):(e.consume(p),l)}function c(p){return p===64?(e.consume(p),u):ds(p)?(e.consume(p),c):t(p)}function u(p){return ae(p)?d(p):t(p)}function d(p){return p===46?(e.consume(p),i=0,u):p===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.exit("autolink"),n):m(p)}function m(p){if((p===45||ae(p))&&i++<63){let f=p===45?m:d;return e.consume(p),f}return t(p)}}var Je={tokenize:fp,partial:!0};function fp(e,n,t){return i;function i(a){return F(a)?z(e,r,"linePrefix")(a):r(a)}function r(a){return a===null||A(a)?n(a):t(a)}}var Xn={name:"blockQuote",tokenize:yp,continuation:{tokenize:bp},exit:vp};function yp(e,n,t){let i=this;return r;function r(o){if(o===62){let s=i.containerState;return s.open||(e.enter("blockQuote",{_container:!0}),s.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(o),e.exit("blockQuoteMarker"),a}return t(o)}function a(o){return F(o)?(e.enter("blockQuotePrefixWhitespace"),e.consume(o),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),n):(e.exit("blockQuotePrefix"),n(o))}}function bp(e,n,t){let i=this;return r;function r(o){return F(o)?z(e,a,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):a(o)}function a(o){return e.attempt(Xn,n,t)(o)}}function vp(e){e.exit("blockQuote")}var Yn={name:"characterEscape",tokenize:_p};function _p(e,n,t){return i;function i(a){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(a),e.exit("escapeMarker"),r}function r(a){return ms(a)?(e.enter("characterEscapeValue"),e.consume(a),e.exit("characterEscapeValue"),e.exit("characterEscape"),n):t(a)}}var Jn={name:"characterReference",tokenize:Sp};function Sp(e,n,t){let i=this,r=0,a,o;return s;function s(d){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),l}function l(d){return d===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(d),e.exit("characterReferenceMarkerNumeric"),c):(e.enter("characterReferenceValue"),a=31,o=ae,u(d))}function c(d){return d===88||d===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(d),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),a=6,o=ps,u):(e.enter("characterReferenceValue"),a=7,o=$t,u(d))}function u(d){if(d===59&&r){let m=e.exit("characterReferenceValue");return o===ae&&!kt(i.sliceSerialize(m))?t(d):(e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),e.exit("characterReference"),n)}return o(d)&&r++<a?(e.consume(d),u):t(d)}}var _s={tokenize:Cp,partial:!0},Zn={name:"codeFenced",tokenize:Ep,concrete:!0};function Ep(e,n,t){let i=this,r={tokenize:L,partial:!0},a=0,o=0,s;return l;function l(b){return c(b)}function c(b){let I=i.events[i.events.length-1];return a=I&&I[1].type==="linePrefix"?I[2].sliceSerialize(I[1],!0).length:0,s=b,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),u(b)}function u(b){return b===s?(o++,e.consume(b),u):o<3?t(b):(e.exit("codeFencedFenceSequence"),F(b)?z(e,d,"whitespace")(b):d(b))}function d(b){return b===null||A(b)?(e.exit("codeFencedFence"),i.interrupt?n(b):e.check(_s,_,N)(b)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),m(b))}function m(b){return b===null||A(b)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),d(b)):F(b)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),z(e,p,"whitespace")(b)):b===96&&b===s?t(b):(e.consume(b),m)}function p(b){return b===null||A(b)?d(b):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),f(b))}function f(b){return b===null||A(b)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),d(b)):b===96&&b===s?t(b):(e.consume(b),f)}function _(b){return e.attempt(r,N,E)(b)}function E(b){return e.enter("lineEnding"),e.consume(b),e.exit("lineEnding"),y}function y(b){return a>0&&F(b)?z(e,T,"linePrefix",a+1)(b):T(b)}function T(b){return b===null||A(b)?e.check(_s,_,N)(b):(e.enter("codeFlowValue"),S(b))}function S(b){return b===null||A(b)?(e.exit("codeFlowValue"),T(b)):(e.consume(b),S)}function N(b){return e.exit("codeFenced"),n(b)}function L(b,I,D){let P=0;return M;function M(O){return b.enter("lineEnding"),b.consume(O),b.exit("lineEnding"),H}function H(O){return b.enter("codeFencedFence"),F(O)?z(b,R,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(O):R(O)}function R(O){return O===s?(b.enter("codeFencedFenceSequence"),w(O)):D(O)}function w(O){return O===s?(P++,b.consume(O),w):P>=o?(b.exit("codeFencedFenceSequence"),F(O)?z(b,x,"whitespace")(O):x(O)):D(O)}function x(O){return O===null||A(O)?(b.exit("codeFencedFence"),I(O)):D(O)}}}function Cp(e,n,t){let i=this;return r;function r(o){return o===null?t(o):(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a)}function a(o){return i.parser.lazy[i.now().line]?t(o):n(o)}}var en={name:"codeIndented",tokenize:wp},kp={tokenize:Tp,partial:!0};function wp(e,n,t){let i=this;return r;function r(c){return e.enter("codeIndented"),z(e,a,"linePrefix",5)(c)}function a(c){let u=i.events[i.events.length-1];return u&&u[1].type==="linePrefix"&&u[2].sliceSerialize(u[1],!0).length>=4?o(c):t(c)}function o(c){return c===null?l(c):A(c)?e.attempt(kp,o,l)(c):(e.enter("codeFlowValue"),s(c))}function s(c){return c===null||A(c)?(e.exit("codeFlowValue"),o(c)):(e.consume(c),s)}function l(c){return e.exit("codeIndented"),n(c)}}function Tp(e,n,t){let i=this;return r;function r(o){return i.parser.lazy[i.now().line]?t(o):A(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),r):z(e,a,"linePrefix",5)(o)}function a(o){let s=i.events[i.events.length-1];return s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?n(o):A(o)?r(o):t(o)}}var Nr={name:"codeText",tokenize:Ip,resolve:Ap,previous:xp};function Ap(e){let n=e.length-4,t=3,i,r;if((e[t][1].type==="lineEnding"||e[t][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(i=t;++i<n;)if(e[i][1].type==="codeTextData"){e[t][1].type="codeTextPadding",e[n][1].type="codeTextPadding",t+=2,n-=2;break}}for(i=t-1,n++;++i<=n;)r===void 0?i!==n&&e[i][1].type!=="lineEnding"&&(r=i):(i===n||e[i][1].type==="lineEnding")&&(e[r][1].type="codeTextData",i!==r+2&&(e[r][1].end=e[i-1][1].end,e.splice(r+2,i-r-2),n-=i-r-2,i=r+2),r=void 0);return e}function xp(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function Ip(e,n,t){let i=this,r=0,a,o;return s;function s(m){return e.enter("codeText"),e.enter("codeTextSequence"),l(m)}function l(m){return m===96?(e.consume(m),r++,l):(e.exit("codeTextSequence"),c(m))}function c(m){return m===null?t(m):m===32?(e.enter("space"),e.consume(m),e.exit("space"),c):m===96?(o=e.enter("codeTextSequence"),a=0,d(m)):A(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),c):(e.enter("codeTextData"),u(m))}function u(m){return m===null||m===32||m===96||A(m)?(e.exit("codeTextData"),c(m)):(e.consume(m),u)}function d(m){return m===96?(e.consume(m),a++,d):a===r?(e.exit("codeTextSequence"),e.exit("codeText"),n(m)):(o.type="codeTextData",u(m))}}var $n=class{constructor(n){this.left=n?[...n]:[],this.right=[]}get(n){if(n<0||n>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return n<this.left.length?this.left[n]:this.right[this.right.length-n+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(n,t){let i=t??Number.POSITIVE_INFINITY;return i<this.left.length?this.left.slice(n,i):n>this.left.length?this.right.slice(this.right.length-i+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-i+this.left.length).reverse())}splice(n,t,i){let r=t||0;this.setCursor(Math.trunc(n));let a=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);return i&&tn(this.left,i),a.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),tn(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),tn(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n<this.left.length){let t=this.left.splice(n,Number.POSITIVE_INFINITY);tn(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-n,Number.POSITIVE_INFINITY);tn(this.left,t.reverse())}}};function tn(e,n){let t=0;if(n.length<1e4)e.push(...n);else for(;t<n.length;)e.push(...n.slice(t,t+1e4)),t+=1e4}function Qn(e){let n={},t=-1,i,r,a,o,s,l,c,u=new $n(e);for(;++t<u.length;){for(;t in n;)t=n[t];if(i=u.get(t),t&&i[1].type==="chunkFlow"&&u.get(t-1)[1].type==="listItemPrefix"&&(l=i[1]._tokenizer.events,a=0,a<l.length&&l[a][1].type==="lineEndingBlank"&&(a+=2),a<l.length&&l[a][1].type==="content"))for(;++a<l.length&&l[a][1].type!=="content";)l[a][1].type==="chunkText"&&(l[a][1]._isInFirstContentOfListItem=!0,a++);if(i[0]==="enter")i[1].contentType&&(Object.assign(n,Rp(u,t)),t=n[t],c=!0);else if(i[1]._container){for(a=t,r=void 0;a--&&(o=u.get(a),o[1].type==="lineEnding"||o[1].type==="lineEndingBlank");)o[0]==="enter"&&(r&&(u.get(r)[1].type="lineEndingBlank"),o[1].type="lineEnding",r=a);r&&(i[1].end=Object.assign({},u.get(r)[1].start),s=u.slice(r,t),s.unshift(i),u.splice(r,t-r+1,s))}}return de(e,0,Number.POSITIVE_INFINITY,u.slice(0)),!c}function Rp(e,n){let t=e.get(n)[1],i=e.get(n)[2],r=n-1,a=[],o=t._tokenizer||i.parser[t.contentType](t.start),s=o.events,l=[],c={},u,d,m=-1,p=t,f=0,_=0,E=[_];for(;p;){for(;e.get(++r)[1]!==p;);a.push(r),p._tokenizer||(u=i.sliceStream(p),p.next||u.push(null),d&&o.defineSkip(p.start),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(u),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),d=p,p=p.next}for(p=t;++m<s.length;)s[m][0]==="exit"&&s[m-1][0]==="enter"&&s[m][1].type===s[m-1][1].type&&s[m][1].start.line!==s[m][1].end.line&&(_=m+1,E.push(_),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(o.events=[],p?(p._tokenizer=void 0,p.previous=void 0):E.pop(),m=E.length;m--;){let y=s.slice(E[m],E[m+1]),T=a.pop();l.push([T,T+y.length-1]),e.splice(T,2,y)}for(l.reverse(),m=-1;++m<l.length;)c[f+l[m][0]]=f+l[m][1],f+=l[m][1]-l[m][0]-1;return c}var Lr={tokenize:Np,resolve:Dp},Pp={tokenize:Lp,partial:!0};function Dp(e){return Qn(e),e}function Np(e,n){let t;return i;function i(s){return e.enter("content"),t=e.enter("chunkContent",{contentType:"content"}),r(s)}function r(s){return s===null?a(s):A(s)?e.check(Pp,o,a)(s):(e.consume(s),r)}function a(s){return e.exit("chunkContent"),e.exit("content"),n(s)}function o(s){return e.consume(s),e.exit("chunkContent"),t.next=e.enter("chunkContent",{contentType:"content",previous:t}),t=t.next,r}}function Lp(e,n,t){let i=this;return r;function r(o){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),z(e,a,"linePrefix")}function a(o){if(o===null||A(o))return t(o);let s=i.events[i.events.length-1];return!i.parser.constructs.disable.null.includes("codeIndented")&&s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?n(o):e.interrupt(i.parser.constructs.flow,t,n)(o)}}function ei(e,n,t,i,r,a,o,s,l){let c=l||Number.POSITIVE_INFINITY,u=0;return d;function d(y){return y===60?(e.enter(i),e.enter(r),e.enter(a),e.consume(y),e.exit(a),m):y===null||y===32||y===41||Zt(y)?t(y):(e.enter(i),e.enter(o),e.enter(s),e.enter("chunkString",{contentType:"string"}),_(y))}function m(y){return y===62?(e.enter(a),e.consume(y),e.exit(a),e.exit(r),e.exit(i),n):(e.enter(s),e.enter("chunkString",{contentType:"string"}),p(y))}function p(y){return y===62?(e.exit("chunkString"),e.exit(s),m(y)):y===null||y===60||A(y)?t(y):(e.consume(y),y===92?f:p)}function f(y){return y===60||y===62||y===92?(e.consume(y),p):p(y)}function _(y){return!u&&(y===null||y===41||ne(y))?(e.exit("chunkString"),e.exit(s),e.exit(o),e.exit(i),n(y)):u<c&&y===40?(e.consume(y),u++,_):y===41?(e.consume(y),u--,_):y===null||y===32||y===40||Zt(y)?t(y):(e.consume(y),y===92?E:_)}function E(y){return y===40||y===41||y===92?(e.consume(y),_):_(y)}}function ti(e,n,t,i,r,a){let o=this,s=0,l;return c;function c(p){return e.enter(i),e.enter(r),e.consume(p),e.exit(r),e.enter(a),u}function u(p){return s>999||p===null||p===91||p===93&&!l||p===94&&!s&&"_hiddenFootnoteSupport"in o.parser.constructs?t(p):p===93?(e.exit(a),e.enter(r),e.consume(p),e.exit(r),e.exit(i),n):A(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),u):(e.enter("chunkString",{contentType:"string"}),d(p))}function d(p){return p===null||p===91||p===93||A(p)||s++>999?(e.exit("chunkString"),u(p)):(e.consume(p),l||(l=!F(p)),p===92?m:d)}function m(p){return p===91||p===92||p===93?(e.consume(p),s++,d):d(p)}}function ni(e,n,t,i,r,a){let o;return s;function s(m){return m===34||m===39||m===40?(e.enter(i),e.enter(r),e.consume(m),e.exit(r),o=m===40?41:m,l):t(m)}function l(m){return m===o?(e.enter(r),e.consume(m),e.exit(r),e.exit(i),n):(e.enter(a),c(m))}function c(m){return m===o?(e.exit(a),l(o)):m===null?t(m):A(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),z(e,c,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),u(m))}function u(m){return m===o||m===null||A(m)?(e.exit("chunkString"),c(m)):(e.consume(m),m===92?d:u)}function d(m){return m===o||m===92?(e.consume(m),u):u(m)}}function at(e,n){let t;return i;function i(r){return A(r)?(e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t=!0,i):F(r)?z(e,i,t?"linePrefix":"lineSuffix")(r):n(r)}}var Mr={name:"definition",tokenize:Op},Mp={tokenize:Bp,partial:!0};function Op(e,n,t){let i=this,r;return a;function a(p){return e.enter("definition"),o(p)}function o(p){return ti.call(i,e,s,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(p)}function s(p){return r=Ue(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),l):t(p)}function l(p){return ne(p)?at(e,c)(p):c(p)}function c(p){return ei(e,u,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(p)}function u(p){return e.attempt(Mp,d,d)(p)}function d(p){return F(p)?z(e,m,"whitespace")(p):m(p)}function m(p){return p===null||A(p)?(e.exit("definition"),i.parser.defined.push(r),n(p)):t(p)}}function Bp(e,n,t){return i;function i(s){return ne(s)?at(e,r)(s):t(s)}function r(s){return ni(e,a,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(s)}function a(s){return F(s)?z(e,o,"whitespace")(s):o(s)}function o(s){return s===null||A(s)?n(s):t(s)}}var Or={name:"hardBreakEscape",tokenize:Fp};function Fp(e,n,t){return i;function i(a){return e.enter("hardBreakEscape"),e.consume(a),r}function r(a){return A(a)?(e.exit("hardBreakEscape"),n(a)):t(a)}}var Br={name:"headingAtx",tokenize:zp,resolve:Gp};function Gp(e,n){let t=e.length-2,i=3,r,a;return e[i][1].type==="whitespace"&&(i+=2),t-2>i&&e[t][1].type==="whitespace"&&(t-=2),e[t][1].type==="atxHeadingSequence"&&(i===t-1||t-4>i&&e[t-2][1].type==="whitespace")&&(t-=i+1===t?2:4),t>i&&(r={type:"atxHeadingText",start:e[i][1].start,end:e[t][1].end},a={type:"chunkText",start:e[i][1].start,end:e[t][1].end,contentType:"text"},de(e,i,t-i+1,[["enter",r,n],["enter",a,n],["exit",a,n],["exit",r,n]])),e}function zp(e,n,t){let i=0;return r;function r(u){return e.enter("atxHeading"),a(u)}function a(u){return e.enter("atxHeadingSequence"),o(u)}function o(u){return u===35&&i++<6?(e.consume(u),o):u===null||ne(u)?(e.exit("atxHeadingSequence"),s(u)):t(u)}function s(u){return u===35?(e.enter("atxHeadingSequence"),l(u)):u===null||A(u)?(e.exit("atxHeading"),n(u)):F(u)?z(e,s,"whitespace")(u):(e.enter("atxHeadingText"),c(u))}function l(u){return u===35?(e.consume(u),l):(e.exit("atxHeadingSequence"),s(u))}function c(u){return u===null||u===35||ne(u)?(e.exit("atxHeadingText"),s(u)):(e.consume(u),c)}}var Ss=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Fr=["pre","script","style","textarea"];var Gr={name:"htmlFlow",tokenize:Wp,resolveTo:Vp,concrete:!0},Up={tokenize:qp,partial:!0},Hp={tokenize:jp,partial:!0};function Vp(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function Wp(e,n,t){let i=this,r,a,o,s,l;return c;function c(h){return u(h)}function u(h){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(h),d}function d(h){return h===33?(e.consume(h),m):h===47?(e.consume(h),a=!0,_):h===63?(e.consume(h),r=3,i.interrupt?n:g):_e(h)?(e.consume(h),o=String.fromCharCode(h),E):t(h)}function m(h){return h===45?(e.consume(h),r=2,p):h===91?(e.consume(h),r=5,s=0,f):_e(h)?(e.consume(h),r=4,i.interrupt?n:g):t(h)}function p(h){return h===45?(e.consume(h),i.interrupt?n:g):t(h)}function f(h){let fe="CDATA[";return h===fe.charCodeAt(s++)?(e.consume(h),s===fe.length?i.interrupt?n:R:f):t(h)}function _(h){return _e(h)?(e.consume(h),o=String.fromCharCode(h),E):t(h)}function E(h){if(h===null||h===47||h===62||ne(h)){let fe=h===47,Qe=o.toLowerCase();return!fe&&!a&&Fr.includes(Qe)?(r=1,i.interrupt?n(h):R(h)):Ss.includes(o.toLowerCase())?(r=6,fe?(e.consume(h),y):i.interrupt?n(h):R(h)):(r=7,i.interrupt&&!i.parser.lazy[i.now().line]?t(h):a?T(h):S(h))}return h===45||ae(h)?(e.consume(h),o+=String.fromCharCode(h),E):t(h)}function y(h){return h===62?(e.consume(h),i.interrupt?n:R):t(h)}function T(h){return F(h)?(e.consume(h),T):M(h)}function S(h){return h===47?(e.consume(h),M):h===58||h===95||_e(h)?(e.consume(h),N):F(h)?(e.consume(h),S):M(h)}function N(h){return h===45||h===46||h===58||h===95||ae(h)?(e.consume(h),N):L(h)}function L(h){return h===61?(e.consume(h),b):F(h)?(e.consume(h),L):S(h)}function b(h){return h===null||h===60||h===61||h===62||h===96?t(h):h===34||h===39?(e.consume(h),l=h,I):F(h)?(e.consume(h),b):D(h)}function I(h){return h===l?(e.consume(h),l=null,P):h===null||A(h)?t(h):(e.consume(h),I)}function D(h){return h===null||h===34||h===39||h===47||h===60||h===61||h===62||h===96||ne(h)?L(h):(e.consume(h),D)}function P(h){return h===47||h===62||F(h)?S(h):t(h)}function M(h){return h===62?(e.consume(h),H):t(h)}function H(h){return h===null||A(h)?R(h):F(h)?(e.consume(h),H):t(h)}function R(h){return h===45&&r===2?(e.consume(h),j):h===60&&r===1?(e.consume(h),X):h===62&&r===4?(e.consume(h),Se):h===63&&r===3?(e.consume(h),g):h===93&&r===5?(e.consume(h),ie):A(h)&&(r===6||r===7)?(e.exit("htmlFlowData"),e.check(Up,Me,w)(h)):h===null||A(h)?(e.exit("htmlFlowData"),w(h)):(e.consume(h),R)}function w(h){return e.check(Hp,x,Me)(h)}function x(h){return e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),O}function O(h){return h===null||A(h)?w(h):(e.enter("htmlFlowData"),R(h))}function j(h){return h===45?(e.consume(h),g):R(h)}function X(h){return h===47?(e.consume(h),o="",re):R(h)}function re(h){if(h===62){let fe=o.toLowerCase();return Fr.includes(fe)?(e.consume(h),Se):R(h)}return _e(h)&&o.length<8?(e.consume(h),o+=String.fromCharCode(h),re):R(h)}function ie(h){return h===93?(e.consume(h),g):R(h)}function g(h){return h===62?(e.consume(h),Se):h===45&&r===2?(e.consume(h),g):R(h)}function Se(h){return h===null||A(h)?(e.exit("htmlFlowData"),Me(h)):(e.consume(h),Se)}function Me(h){return e.exit("htmlFlow"),n(h)}}function jp(e,n,t){let i=this;return r;function r(o){return A(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a):t(o)}function a(o){return i.parser.lazy[i.now().line]?t(o):n(o)}}function qp(e,n,t){return i;function i(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),e.attempt(Je,n,t)}}var zr={name:"htmlText",tokenize:Kp};function Kp(e,n,t){let i=this,r,a,o;return s;function s(g){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(g),l}function l(g){return g===33?(e.consume(g),c):g===47?(e.consume(g),L):g===63?(e.consume(g),S):_e(g)?(e.consume(g),D):t(g)}function c(g){return g===45?(e.consume(g),u):g===91?(e.consume(g),a=0,f):_e(g)?(e.consume(g),T):t(g)}function u(g){return g===45?(e.consume(g),p):t(g)}function d(g){return g===null?t(g):g===45?(e.consume(g),m):A(g)?(o=d,X(g)):(e.consume(g),d)}function m(g){return g===45?(e.consume(g),p):d(g)}function p(g){return g===62?j(g):g===45?m(g):d(g)}function f(g){let Se="CDATA[";return g===Se.charCodeAt(a++)?(e.consume(g),a===Se.length?_:f):t(g)}function _(g){return g===null?t(g):g===93?(e.consume(g),E):A(g)?(o=_,X(g)):(e.consume(g),_)}function E(g){return g===93?(e.consume(g),y):_(g)}function y(g){return g===62?j(g):g===93?(e.consume(g),y):_(g)}function T(g){return g===null||g===62?j(g):A(g)?(o=T,X(g)):(e.consume(g),T)}function S(g){return g===null?t(g):g===63?(e.consume(g),N):A(g)?(o=S,X(g)):(e.consume(g),S)}function N(g){return g===62?j(g):S(g)}function L(g){return _e(g)?(e.consume(g),b):t(g)}function b(g){return g===45||ae(g)?(e.consume(g),b):I(g)}function I(g){return A(g)?(o=I,X(g)):F(g)?(e.consume(g),I):j(g)}function D(g){return g===45||ae(g)?(e.consume(g),D):g===47||g===62||ne(g)?P(g):t(g)}function P(g){return g===47?(e.consume(g),j):g===58||g===95||_e(g)?(e.consume(g),M):A(g)?(o=P,X(g)):F(g)?(e.consume(g),P):j(g)}function M(g){return g===45||g===46||g===58||g===95||ae(g)?(e.consume(g),M):H(g)}function H(g){return g===61?(e.consume(g),R):A(g)?(o=H,X(g)):F(g)?(e.consume(g),H):P(g)}function R(g){return g===null||g===60||g===61||g===62||g===96?t(g):g===34||g===39?(e.consume(g),r=g,w):A(g)?(o=R,X(g)):F(g)?(e.consume(g),R):(e.consume(g),x)}function w(g){return g===r?(e.consume(g),r=void 0,O):g===null?t(g):A(g)?(o=w,X(g)):(e.consume(g),w)}function x(g){return g===null||g===34||g===39||g===60||g===61||g===96?t(g):g===47||g===62||ne(g)?P(g):(e.consume(g),x)}function O(g){return g===47||g===62||ne(g)?P(g):t(g)}function j(g){return g===62?(e.consume(g),e.exit("htmlTextData"),e.exit("htmlText"),n):t(g)}function X(g){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),re}function re(g){return F(g)?z(e,ie,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(g):ie(g)}function ie(g){return e.enter("htmlTextData"),o(g)}}var ot={name:"labelEnd",tokenize:Qp,resolveTo:$p,resolveAll:Zp},Xp={tokenize:em},Yp={tokenize:tm},Jp={tokenize:nm};function Zp(e){let n=-1;for(;++n<e.length;){let t=e[n][1];(t.type==="labelImage"||t.type==="labelLink"||t.type==="labelEnd")&&(e.splice(n+1,t.type==="labelImage"?4:2),t.type="data",n++)}return e}function $p(e,n){let t=e.length,i=0,r,a,o,s;for(;t--;)if(r=e[t][1],a){if(r.type==="link"||r.type==="labelLink"&&r._inactive)break;e[t][0]==="enter"&&r.type==="labelLink"&&(r._inactive=!0)}else if(o){if(e[t][0]==="enter"&&(r.type==="labelImage"||r.type==="labelLink")&&!r._balanced&&(a=t,r.type!=="labelLink")){i=2;break}}else r.type==="labelEnd"&&(o=t);let l={type:e[a][1].type==="labelLink"?"link":"image",start:Object.assign({},e[a][1].start),end:Object.assign({},e[e.length-1][1].end)},c={type:"label",start:Object.assign({},e[a][1].start),end:Object.assign({},e[o][1].end)},u={type:"labelText",start:Object.assign({},e[a+i+2][1].end),end:Object.assign({},e[o-2][1].start)};return s=[["enter",l,n],["enter",c,n]],s=me(s,e.slice(a+1,a+i+3)),s=me(s,[["enter",u,n]]),s=me(s,wt(n.parser.constructs.insideSpan.null,e.slice(a+i+4,o-3),n)),s=me(s,[["exit",u,n],e[o-2],e[o-1],["exit",c,n]]),s=me(s,e.slice(o+1)),s=me(s,[["exit",l,n]]),de(e,a,e.length,s),e}function Qp(e,n,t){let i=this,r=i.events.length,a,o;for(;r--;)if((i.events[r][1].type==="labelImage"||i.events[r][1].type==="labelLink")&&!i.events[r][1]._balanced){a=i.events[r][1];break}return s;function s(m){return a?a._inactive?d(m):(o=i.parser.defined.includes(Ue(i.sliceSerialize({start:a.end,end:i.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(m),e.exit("labelMarker"),e.exit("labelEnd"),l):t(m)}function l(m){return m===40?e.attempt(Xp,u,o?u:d)(m):m===91?e.attempt(Yp,u,o?c:d)(m):o?u(m):d(m)}function c(m){return e.attempt(Jp,u,d)(m)}function u(m){return n(m)}function d(m){return a._balanced=!0,t(m)}}function em(e,n,t){return i;function i(d){return e.enter("resource"),e.enter("resourceMarker"),e.consume(d),e.exit("resourceMarker"),r}function r(d){return ne(d)?at(e,a)(d):a(d)}function a(d){return d===41?u(d):ei(e,o,s,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(d)}function o(d){return ne(d)?at(e,l)(d):u(d)}function s(d){return t(d)}function l(d){return d===34||d===39||d===40?ni(e,c,t,"resourceTitle","resourceTitleMarker","resourceTitleString")(d):u(d)}function c(d){return ne(d)?at(e,u)(d):u(d)}function u(d){return d===41?(e.enter("resourceMarker"),e.consume(d),e.exit("resourceMarker"),e.exit("resource"),n):t(d)}}function tm(e,n,t){let i=this;return r;function r(s){return ti.call(i,e,a,o,"reference","referenceMarker","referenceString")(s)}function a(s){return i.parser.defined.includes(Ue(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)))?n(s):t(s)}function o(s){return t(s)}}function nm(e,n,t){return i;function i(a){return e.enter("reference"),e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),r}function r(a){return a===93?(e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),e.exit("reference"),n):t(a)}}var Ur={name:"labelStartImage",tokenize:im,resolveAll:ot.resolveAll};function im(e,n,t){let i=this;return r;function r(s){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(s),e.exit("labelImageMarker"),a}function a(s){return s===91?(e.enter("labelMarker"),e.consume(s),e.exit("labelMarker"),e.exit("labelImage"),o):t(s)}function o(s){return s===94&&"_hiddenFootnoteSupport"in i.parser.constructs?t(s):n(s)}}var Hr={name:"labelStartLink",tokenize:rm,resolveAll:ot.resolveAll};function rm(e,n,t){let i=this;return r;function r(o){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),e.exit("labelLink"),a}function a(o){return o===94&&"_hiddenFootnoteSupport"in i.parser.constructs?t(o):n(o)}}var nn={name:"lineEnding",tokenize:am};function am(e,n){return t;function t(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),z(e,n,"linePrefix")}}var st={name:"thematicBreak",tokenize:om};function om(e,n,t){let i=0,r;return a;function a(c){return e.enter("thematicBreak"),o(c)}function o(c){return r=c,s(c)}function s(c){return c===r?(e.enter("thematicBreakSequence"),l(c)):i>=3&&(c===null||A(c))?(e.exit("thematicBreak"),n(c)):t(c)}function l(c){return c===r?(e.consume(c),i++,l):(e.exit("thematicBreakSequence"),F(c)?z(e,s,"whitespace")(c):s(c))}}var pe={name:"list",tokenize:cm,continuation:{tokenize:um},exit:pm},sm={tokenize:mm,partial:!0},lm={tokenize:dm,partial:!0};function cm(e,n,t){let i=this,r=i.events[i.events.length-1],a=r&&r[1].type==="linePrefix"?r[2].sliceSerialize(r[1],!0).length:0,o=0;return s;function s(p){let f=i.containerState.type||(p===42||p===43||p===45?"listUnordered":"listOrdered");if(f==="listUnordered"?!i.containerState.marker||p===i.containerState.marker:$t(p)){if(i.containerState.type||(i.containerState.type=f,e.enter(f,{_container:!0})),f==="listUnordered")return e.enter("listItemPrefix"),p===42||p===45?e.check(st,t,c)(p):c(p);if(!i.interrupt||p===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),l(p)}return t(p)}function l(p){return $t(p)&&++o<10?(e.consume(p),l):(!i.interrupt||o<2)&&(i.containerState.marker?p===i.containerState.marker:p===41||p===46)?(e.exit("listItemValue"),c(p)):t(p)}function c(p){return e.enter("listItemMarker"),e.consume(p),e.exit("listItemMarker"),i.containerState.marker=i.containerState.marker||p,e.check(Je,i.interrupt?t:u,e.attempt(sm,m,d))}function u(p){return i.containerState.initialBlankLine=!0,a++,m(p)}function d(p){return F(p)?(e.enter("listItemPrefixWhitespace"),e.consume(p),e.exit("listItemPrefixWhitespace"),m):t(p)}function m(p){return i.containerState.size=a+i.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(p)}}function um(e,n,t){let i=this;return i.containerState._closeFlow=void 0,e.check(Je,r,a);function r(s){return i.containerState.furtherBlankLines=i.containerState.furtherBlankLines||i.containerState.initialBlankLine,z(e,n,"listItemIndent",i.containerState.size+1)(s)}function a(s){return i.containerState.furtherBlankLines||!F(s)?(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,o(s)):(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,e.attempt(lm,n,o)(s))}function o(s){return i.containerState._closeFlow=!0,i.interrupt=void 0,z(e,e.attempt(pe,n,t),"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(s)}}function dm(e,n,t){let i=this;return z(e,r,"listItemIndent",i.containerState.size+1);function r(a){let o=i.events[i.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===i.containerState.size?n(a):t(a)}}function pm(e){e.exit(this.containerState.type)}function mm(e,n,t){let i=this;return z(e,r,"listItemPrefixWhitespace",i.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function r(a){let o=i.events[i.events.length-1];return!F(a)&&o&&o[1].type==="listItemPrefixWhitespace"?n(a):t(a)}}var ii={name:"setextUnderline",tokenize:hm,resolveTo:gm};function gm(e,n){let t=e.length,i,r,a;for(;t--;)if(e[t][0]==="enter"){if(e[t][1].type==="content"){i=t;break}e[t][1].type==="paragraph"&&(r=t)}else e[t][1].type==="content"&&e.splice(t,1),!a&&e[t][1].type==="definition"&&(a=t);let o={type:"setextHeading",start:Object.assign({},e[r][1].start),end:Object.assign({},e[e.length-1][1].end)};return e[r][1].type="setextHeadingText",a?(e.splice(r,0,["enter",o,n]),e.splice(a+1,0,["exit",e[i][1],n]),e[i][1].end=Object.assign({},e[a][1].end)):e[i][1]=o,e.push(["exit",o,n]),e}function hm(e,n,t){let i=this,r;return a;function a(c){let u=i.events.length,d;for(;u--;)if(i.events[u][1].type!=="lineEnding"&&i.events[u][1].type!=="linePrefix"&&i.events[u][1].type!=="content"){d=i.events[u][1].type==="paragraph";break}return!i.parser.lazy[i.now().line]&&(i.interrupt||d)?(e.enter("setextHeadingLine"),r=c,o(c)):t(c)}function o(c){return e.enter("setextHeadingLineSequence"),s(c)}function s(c){return c===r?(e.consume(c),s):(e.exit("setextHeadingLineSequence"),F(c)?z(e,l,"lineSuffix")(c):l(c))}function l(c){return c===null||A(c)?(e.exit("setextHeadingLine"),n(c)):t(c)}}var Es={tokenize:fm};function fm(e){let n=this,t=e.attempt(Je,i,e.attempt(this.parser.constructs.flowInitial,r,z(e,e.attempt(this.parser.constructs.flow,r,e.attempt(Lr,r)),"linePrefix")));return t;function i(a){if(a===null){e.consume(a);return}return e.enter("lineEndingBlank"),e.consume(a),e.exit("lineEndingBlank"),n.currentConstruct=void 0,t}function r(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),n.currentConstruct=void 0,t}}var Cs={resolveAll:As()},ks=Ts("string"),ws=Ts("text");function Ts(e){return{tokenize:n,resolveAll:As(e==="text"?ym:void 0)};function n(t){let i=this,r=this.parser.constructs[e],a=t.attempt(r,o,s);return o;function o(u){return c(u)?a(u):s(u)}function s(u){if(u===null){t.consume(u);return}return t.enter("data"),t.consume(u),l}function l(u){return c(u)?(t.exit("data"),a(u)):(t.consume(u),l)}function c(u){if(u===null)return!0;let d=r[u],m=-1;if(d)for(;++m<d.length;){let p=d[m];if(!p.previous||p.previous.call(i,i.previous))return!0}return!1}}}function As(e){return n;function n(t,i){let r=-1,a;for(;++r<=t.length;)a===void 0?t[r]&&t[r][1].type==="data"&&(a=r,r++):(!t[r]||t[r][1].type!=="data")&&(r!==a+2&&(t[a][1].end=t[r-1][1].end,t.splice(a+2,r-a-2),r=a+2),a=void 0);return e?e(t,i):t}}function ym(e,n){let t=0;for(;++t<=e.length;)if((t===e.length||e[t][1].type==="lineEnding")&&e[t-1][1].type==="data"){let i=e[t-1][1],r=n.sliceStream(i),a=r.length,o=-1,s=0,l;for(;a--;){let c=r[a];if(typeof c=="string"){for(o=c.length;c.charCodeAt(o-1)===32;)s++,o--;if(o)break;o=-1}else if(c===-2)l=!0,s++;else if(c!==-1){a++;break}}if(s){let c={type:t===e.length||l||s<2?"lineSuffix":"hardBreakTrailing",start:{line:i.end.line,column:i.end.column-s,offset:i.end.offset-s,_index:i.start._index+a,_bufferIndex:a?o:i.start._bufferIndex+o},end:Object.assign({},i.end)};i.end=Object.assign({},c.start),i.start.offset===i.end.offset?Object.assign(i,c):(e.splice(t,0,["enter",c,n],["exit",c,n]),t+=2)}t++}return e}function xs(e,n,t){let i=Object.assign(t?Object.assign({},t):{line:1,column:1,offset:0},{_index:0,_bufferIndex:-1}),r={},a=[],o=[],s=[],l=!0,c={consume:N,enter:L,exit:b,attempt:P(I),check:P(D),interrupt:P(D,{interrupt:!0})},u={previous:null,code:null,containerState:{},events:[],parser:e,sliceStream:_,sliceSerialize:f,now:E,defineSkip:y,write:p},d=n.tokenize.call(u,c),m;return n.resolveAll&&a.push(n),u;function p(w){return o=me(o,w),T(),o[o.length-1]!==null?[]:(M(n,0),u.events=wt(a,u.events,u),u.events)}function f(w,x){return vm(_(w),x)}function _(w){return bm(o,w)}function E(){let{line:w,column:x,offset:O,_index:j,_bufferIndex:X}=i;return{line:w,column:x,offset:O,_index:j,_bufferIndex:X}}function y(w){r[w.line]=w.column,R()}function T(){let w;for(;i._index<o.length;){let x=o[i._index];if(typeof x=="string")for(w=i._index,i._bufferIndex<0&&(i._bufferIndex=0);i._index===w&&i._bufferIndex<x.length;)S(x.charCodeAt(i._bufferIndex));else S(x)}}function S(w){l=void 0,m=w,d=d(w)}function N(w){A(w)?(i.line++,i.column=1,i.offset+=w===-3?2:1,R()):w!==-1&&(i.column++,i.offset++),i._bufferIndex<0?i._index++:(i._bufferIndex++,i._bufferIndex===o[i._index].length&&(i._bufferIndex=-1,i._index++)),u.previous=w,l=!0}function L(w,x){let O=x||{};return O.type=w,O.start=E(),u.events.push(["enter",O,u]),s.push(O),O}function b(w){let x=s.pop();return x.end=E(),u.events.push(["exit",x,u]),x}function I(w,x){M(w,x.from)}function D(w,x){x.restore()}function P(w,x){return O;function O(j,X,re){let ie,g,Se,Me;return Array.isArray(j)?fe(j):"tokenize"in j?fe([j]):h(j);function h(se){return Nt;function Nt(Re){let ut=Re!==null&&se[Re],dt=Re!==null&&se.null,Di=[...Array.isArray(ut)?ut:ut?[ut]:[],...Array.isArray(dt)?dt:dt?[dt]:[]];return fe(Di)(Re)}}function fe(se){return ie=se,g=0,se.length===0?re:Qe(se[g])}function Qe(se){return Nt;function Nt(Re){return Me=H(),Se=se,se.partial||(u.currentConstruct=se),se.name&&u.parser.constructs.disable.null.includes(se.name)?dn(Re):se.tokenize.call(x?Object.assign(Object.create(u),x):u,c,Pi,dn)(Re)}}function Pi(se){return l=!0,w(Se,Me),X}function dn(se){return l=!0,Me.restore(),++g<ie.length?Qe(ie[g]):re}}}function M(w,x){w.resolveAll&&!a.includes(w)&&a.push(w),w.resolve&&de(u.events,x,u.events.length-x,w.resolve(u.events.slice(x),u)),w.resolveTo&&(u.events=w.resolveTo(u.events,u))}function H(){let w=E(),x=u.previous,O=u.currentConstruct,j=u.events.length,X=Array.from(s);return{restore:re,from:j};function re(){i=w,u.previous=x,u.currentConstruct=O,u.events.length=j,s=X,R()}}function R(){i.line in r&&i.column<2&&(i.column=r[i.line],i.offset+=r[i.line]-1)}}function bm(e,n){let t=n.start._index,i=n.start._bufferIndex,r=n.end._index,a=n.end._bufferIndex,o;if(t===r)o=[e[t].slice(i,a)];else{if(o=e.slice(t,r),i>-1){let s=o[0];typeof s=="string"?o[0]=s.slice(i):o.shift()}a>0&&o.push(e[r].slice(0,a))}return o}function vm(e,n){let t=-1,i=[],r;for(;++t<e.length;){let a=e[t],o;if(typeof a=="string")o=a;else switch(a){case-5:{o="\r";break}case-4:{o=`
3435
+ \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function ns(e,n,t,i){let r=i.schema,a=r.space==="svg"?!1:i.settings.omitOptionalTags,o=r.space==="svg"?i.settings.closeEmptyElements:i.settings.voids.includes(e.tagName.toLowerCase()),s=[],l;r.space==="html"&&e.tagName==="svg"&&(i.schema=Un);let c=Jd(i,e.properties),u=i.all(r.space==="html"&&e.tagName==="template"?e.content:e);return i.schema=r,u&&(o=!1),(c||!a||!ts(e,n,t))&&(s.push("<",e.tagName,c?" "+c:""),o&&(r.space==="svg"||i.settings.closeSelfClosing)&&(l=c.charAt(c.length-1),(!i.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&s.push(" "),s.push("/")),s.push(">")),s.push(u),!o&&(!a||!Jt(e,n,t))&&s.push("</"+e.tagName+">"),s.join("")}function Jd(e,n){let t=[],i=-1,r;if(n){for(r in n)if(n[r]!==null&&n[r]!==void 0){let a=Zd(e,r,n[r]);a&&t.push(a)}}for(;++i<t.length;){let a=e.settings.tightAttributes?t[i].charAt(t[i].length-1):void 0;i!==t.length-1&&a!=='"'&&a!=="'"&&(t[i]+=" ")}return t.join("")}function Zd(e,n,t){let i=kr(e.schema,n),r=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,a=e.settings.allowDangerousCharacters?0:1,o=e.quote,s;if(i.overloadedBoolean&&(t===i.attribute||t==="")?t=!0:(i.boolean||i.overloadedBoolean&&typeof t!="string")&&(t=!!t),t==null||t===!1||typeof t=="number"&&Number.isNaN(t))return"";let l=ze(i.attribute,Object.assign({},e.settings.characterReferences,{subset:jn.name[r][a]}));return t===!0||(t=Array.isArray(t)?(i.commaSeparated?Zo:So)(t,{padLeft:!e.settings.tightCommaSeparatedLists}):String(t),e.settings.collapseEmptyAttributes&&!t)?l:(e.settings.preferUnquoted&&(s=ze(t,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:jn.unquoted[r][a]}))),s!==t&&(e.settings.quoteSmart&&Tr(t,o)>Tr(t,e.alternative)&&(o=e.alternative),s=o+ze(t,Object.assign({},e.settings.characterReferences,{subset:(o==="'"?jn.single:jn.double)[r][a],attribute:!0}))+o),l+(s&&"="+s))}var $d=["<","&"];function qn(e,n,t,i){return t&&t.type==="element"&&(t.tagName==="script"||t.tagName==="style")?e.value:ze(e.value,Object.assign({},i.settings.characterReferences,{subset:$d}))}function is(e,n,t,i){return i.settings.allowDangerousHtml?e.value:qn(e,n,t,i)}function rs(e,n,t,i){return i.all(e)}var as=Go("type",{invalid:Qd,unknown:ep,handlers:{comment:Yo,doctype:Jo,element:ns,raw:is,root:rs,text:qn}});function Qd(e){throw new Error("Expected node, not `"+e+"`")}function ep(e){let n=e;throw new Error("Cannot compile unknown node `"+n.type+"`")}var tp={},np={},ip=[];function Ir(e,n){let t=n||tp,i=t.quote||'"',r=i==='"'?"'":'"';if(i!=='"'&&i!=="'")throw new Error("Invalid quote `"+i+"`, expected `'` or `\"`");return{one:rp,all:ap,settings:{omitOptionalTags:t.omitOptionalTags||!1,allowParseErrors:t.allowParseErrors||!1,allowDangerousCharacters:t.allowDangerousCharacters||!1,quoteSmart:t.quoteSmart||!1,preferUnquoted:t.preferUnquoted||!1,tightAttributes:t.tightAttributes||!1,upperDoctype:t.upperDoctype||!1,tightDoctype:t.tightDoctype||!1,bogusComments:t.bogusComments||!1,tightCommaSeparatedLists:t.tightCommaSeparatedLists||!1,tightSelfClosing:t.tightSelfClosing||!1,collapseEmptyAttributes:t.collapseEmptyAttributes||!1,allowDangerousHtml:t.allowDangerousHtml||!1,voids:t.voids||Do,characterReferences:t.characterReferences||np,closeSelfClosing:t.closeSelfClosing||!1,closeEmptyElements:t.closeEmptyElements||!1},schema:t.space==="svg"?Un:Bo,quote:i,alternative:r}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function rp(e,n,t){return as(e,n,t,this)}function ap(e){let n=[],t=e&&e.children||ip,i=-1;for(;++i<t.length;)n[i]=this.one(t[i],i,e);return n.join("")}function Kn(e){let n=this,t={...n.data("settings"),...e};n.compiler=i;function i(r){return Ir(r,t)}}var op={};function Rr(e,n){let t=n||op,i=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,r=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return ss(e,i,r)}function ss(e,n,t){if(sp(e)){if("value"in e)return e.type==="html"&&!t?"":e.value;if(n&&"alt"in e&&e.alt)return e.alt;if("children"in e)return os(e.children,n,t)}return Array.isArray(e)?os(e,n,t):""}function os(e,n,t){let i=[],r=-1;for(;++r<e.length;)i[r]=ss(e[r],n,t);return i.join("")}function sp(e){return!!(e&&typeof e=="object")}var ls=document.createElement("i");function kt(e){let n="&"+e+";";ls.innerHTML=n;let t=ls.textContent;return t.charCodeAt(t.length-1)===59&&e!=="semi"||t===n?!1:t}function de(e,n,t,i){let r=e.length,a=0,o;if(n<0?n=-n>r?0:r+n:n=n>r?r:n,t=t>0?t:0,i.length<1e4)o=Array.from(i),o.unshift(n,t),e.splice(...o);else for(t&&e.splice(n,t);a<i.length;)o=i.slice(a,a+1e4),o.unshift(n,0),e.splice(...o),a+=1e4,n+=1e4}function me(e,n){return e.length>0?(de(e,e.length,0,n),e):n}var cs={}.hasOwnProperty;function us(e){let n={},t=-1;for(;++t<e.length;)lp(n,e[t]);return n}function lp(e,n){let t;for(t in n){let r=(cs.call(e,t)?e[t]:void 0)||(e[t]={}),a=n[t],o;if(a)for(o in a){cs.call(r,o)||(r[o]=[]);let s=a[o];cp(r[o],Array.isArray(s)?s:s?[s]:[])}}}function cp(e,n){let t=-1,i=[];for(;++t<n.length;)(n[t].add==="after"?e:i).push(n[t]);de(e,0,0,i)}function Xn(e,n){let t=Number.parseInt(e,n);return t<9||t===11||t>13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"\uFFFD":String.fromCodePoint(t)}function Ue(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var _e=Ye(/[A-Za-z]/),ae=Ye(/[\dA-Za-z]/),ds=Ye(/[#-'*+\--9=?A-Z^-~]/);function Zt(e){return e!==null&&(e<32||e===127)}var $t=Ye(/\d/),ps=Ye(/[\dA-Fa-f]/),ms=Ye(/[!-/:-@[-`{-~]/);function A(e){return e!==null&&e<-2}function ne(e){return e!==null&&(e<0||e===32)}function F(e){return e===-2||e===-1||e===32}var gs=Ye(/\p{P}|\p{S}/u),hs=Ye(/\s/);function Ye(e){return n;function n(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function ke(e){let n=[],t=-1,i=0,r=0;for(;++t<e.length;){let a=e.charCodeAt(t),o="";if(a===37&&ae(e.charCodeAt(t+1))&&ae(e.charCodeAt(t+2)))r=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(o=String.fromCharCode(a));else if(a>55295&&a<57344){let s=e.charCodeAt(t+1);a<56320&&s>56319&&s<57344?(o=String.fromCharCode(a,s),r=1):o="\uFFFD"}else o=String.fromCharCode(a);o&&(n.push(e.slice(i,t),encodeURIComponent(o)),i=t+r+1,o=""),r&&(t+=r,r=0)}return n.join("")+e.slice(i)}function z(e,n,t,i){let r=i?i-1:Number.POSITIVE_INFINITY,a=0;return o;function o(l){return F(l)?(e.enter(t),s(l)):n(l)}function s(l){return F(l)&&a++<r?(e.consume(l),s):(e.exit(t),n(l))}}var fs={tokenize:up};function up(e){let n=e.attempt(this.parser.constructs.contentInitial,i,r),t;return n;function i(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),z(e,n,"linePrefix")}function r(s){return e.enter("paragraph"),a(s)}function a(s){let l=e.enter("chunkText",{contentType:"text",previous:t});return t&&(t.next=l),t=l,o(s)}function o(s){if(s===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(s);return}return A(s)?(e.consume(s),e.exit("chunkText"),a):(e.consume(s),o)}}var bs={tokenize:dp},ys={tokenize:pp};function dp(e){let n=this,t=[],i=0,r,a,o;return s;function s(S){if(i<t.length){let L=t[i];return n.containerState=L[1],e.attempt(L[0].continuation,l,c)(S)}return c(S)}function l(S){if(i++,n.containerState._closeFlow){n.containerState._closeFlow=void 0,r&&T();let L=n.events.length,N=L,b;for(;N--;)if(n.events[N][0]==="exit"&&n.events[N][1].type==="chunkFlow"){b=n.events[N][1].end;break}y(i);let I=L;for(;I<n.events.length;)n.events[I][1].end=Object.assign({},b),I++;return de(n.events,N+1,0,n.events.slice(L)),n.events.length=I,c(S)}return s(S)}function c(S){if(i===t.length){if(!r)return m(S);if(r.currentConstruct&&r.currentConstruct.concrete)return f(S);n.interrupt=!!(r.currentConstruct&&!r._gfmTableDynamicInterruptHack)}return n.containerState={},e.check(ys,u,d)(S)}function u(S){return r&&T(),y(i),m(S)}function d(S){return n.parser.lazy[n.now().line]=i!==t.length,o=n.now().offset,f(S)}function m(S){return n.containerState={},e.attempt(ys,p,f)(S)}function p(S){return i++,t.push([n.currentConstruct,n.containerState]),m(S)}function f(S){if(S===null){r&&T(),y(0),e.consume(S);return}return r=r||n.parser.flow(n.now()),e.enter("chunkFlow",{contentType:"flow",previous:a,_tokenizer:r}),_(S)}function _(S){if(S===null){E(e.exit("chunkFlow"),!0),y(0),e.consume(S);return}return A(S)?(e.consume(S),E(e.exit("chunkFlow")),i=0,n.interrupt=void 0,s):(e.consume(S),_)}function E(S,L){let N=n.sliceStream(S);if(L&&N.push(null),S.previous=a,a&&(a.next=S),a=S,r.defineSkip(S.start),r.write(N),n.parser.lazy[S.start.line]){let b=r.events.length;for(;b--;)if(r.events[b][1].start.offset<o&&(!r.events[b][1].end||r.events[b][1].end.offset>o))return;let I=n.events.length,D=I,P,M;for(;D--;)if(n.events[D][0]==="exit"&&n.events[D][1].type==="chunkFlow"){if(P){M=n.events[D][1].end;break}P=!0}for(y(i),b=I;b<n.events.length;)n.events[b][1].end=Object.assign({},M),b++;de(n.events,D+1,0,n.events.slice(I)),n.events.length=b}}function y(S){let L=t.length;for(;L-- >S;){let N=t[L];n.containerState=N[1],N[0].exit.call(n,e)}t.length=S}function T(){r.write([null]),a=void 0,r=void 0,n.containerState._closeFlow=void 0}}function pp(e,n,t){return z(e,e.attempt(this.parser.constructs.document,n,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Pr(e){if(e===null||ne(e)||hs(e))return 1;if(gs(e))return 2}function wt(e,n,t){let i=[],r=-1;for(;++r<e.length;){let a=e[r].resolveAll;a&&!i.includes(a)&&(n=a(n,t),i.push(a))}return n}var Qt={name:"attention",tokenize:gp,resolveAll:mp};function mp(e,n){let t=-1,i,r,a,o,s,l,c,u;for(;++t<e.length;)if(e[t][0]==="enter"&&e[t][1].type==="attentionSequence"&&e[t][1]._close){for(i=t;i--;)if(e[i][0]==="exit"&&e[i][1].type==="attentionSequence"&&e[i][1]._open&&n.sliceSerialize(e[i][1]).charCodeAt(0)===n.sliceSerialize(e[t][1]).charCodeAt(0)){if((e[i][1]._close||e[t][1]._open)&&(e[t][1].end.offset-e[t][1].start.offset)%3&&!((e[i][1].end.offset-e[i][1].start.offset+e[t][1].end.offset-e[t][1].start.offset)%3))continue;l=e[i][1].end.offset-e[i][1].start.offset>1&&e[t][1].end.offset-e[t][1].start.offset>1?2:1;let d=Object.assign({},e[i][1].end),m=Object.assign({},e[t][1].start);vs(d,-l),vs(m,l),o={type:l>1?"strongSequence":"emphasisSequence",start:d,end:Object.assign({},e[i][1].end)},s={type:l>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[t][1].start),end:m},a={type:l>1?"strongText":"emphasisText",start:Object.assign({},e[i][1].end),end:Object.assign({},e[t][1].start)},r={type:l>1?"strong":"emphasis",start:Object.assign({},o.start),end:Object.assign({},s.end)},e[i][1].end=Object.assign({},o.start),e[t][1].start=Object.assign({},s.end),c=[],e[i][1].end.offset-e[i][1].start.offset&&(c=me(c,[["enter",e[i][1],n],["exit",e[i][1],n]])),c=me(c,[["enter",r,n],["enter",o,n],["exit",o,n],["enter",a,n]]),c=me(c,wt(n.parser.constructs.insideSpan.null,e.slice(i+1,t),n)),c=me(c,[["exit",a,n],["enter",s,n],["exit",s,n],["exit",r,n]]),e[t][1].end.offset-e[t][1].start.offset?(u=2,c=me(c,[["enter",e[t][1],n],["exit",e[t][1],n]])):u=0,de(e,i-1,t-i+3,c),t=i+c.length-u-2;break}}for(t=-1;++t<e.length;)e[t][1].type==="attentionSequence"&&(e[t][1].type="data");return e}function gp(e,n){let t=this.parser.constructs.attentionMarkers.null,i=this.previous,r=Pr(i),a;return o;function o(l){return a=l,e.enter("attentionSequence"),s(l)}function s(l){if(l===a)return e.consume(l),s;let c=e.exit("attentionSequence"),u=Pr(l),d=!u||u===2&&r||t.includes(l),m=!r||r===2&&u||t.includes(i);return c._open=!!(a===42?d:d&&(r||!m)),c._close=!!(a===42?m:m&&(u||!d)),n(l)}}function vs(e,n){e.column+=n,e.offset+=n,e._bufferIndex+=n}var Dr={name:"autolink",tokenize:hp};function hp(e,n,t){let i=0;return r;function r(p){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),a}function a(p){return _e(p)?(e.consume(p),o):p===64?t(p):c(p)}function o(p){return p===43||p===45||p===46||ae(p)?(i=1,s(p)):c(p)}function s(p){return p===58?(e.consume(p),i=0,l):(p===43||p===45||p===46||ae(p))&&i++<32?(e.consume(p),s):(i=0,c(p))}function l(p){return p===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.exit("autolink"),n):p===null||p===32||p===60||Zt(p)?t(p):(e.consume(p),l)}function c(p){return p===64?(e.consume(p),u):ds(p)?(e.consume(p),c):t(p)}function u(p){return ae(p)?d(p):t(p)}function d(p){return p===46?(e.consume(p),i=0,u):p===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.exit("autolink"),n):m(p)}function m(p){if((p===45||ae(p))&&i++<63){let f=p===45?m:d;return e.consume(p),f}return t(p)}}var Je={tokenize:fp,partial:!0};function fp(e,n,t){return i;function i(a){return F(a)?z(e,r,"linePrefix")(a):r(a)}function r(a){return a===null||A(a)?n(a):t(a)}}var Yn={name:"blockQuote",tokenize:yp,continuation:{tokenize:bp},exit:vp};function yp(e,n,t){let i=this;return r;function r(o){if(o===62){let s=i.containerState;return s.open||(e.enter("blockQuote",{_container:!0}),s.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(o),e.exit("blockQuoteMarker"),a}return t(o)}function a(o){return F(o)?(e.enter("blockQuotePrefixWhitespace"),e.consume(o),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),n):(e.exit("blockQuotePrefix"),n(o))}}function bp(e,n,t){let i=this;return r;function r(o){return F(o)?z(e,a,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):a(o)}function a(o){return e.attempt(Yn,n,t)(o)}}function vp(e){e.exit("blockQuote")}var Jn={name:"characterEscape",tokenize:_p};function _p(e,n,t){return i;function i(a){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(a),e.exit("escapeMarker"),r}function r(a){return ms(a)?(e.enter("characterEscapeValue"),e.consume(a),e.exit("characterEscapeValue"),e.exit("characterEscape"),n):t(a)}}var Zn={name:"characterReference",tokenize:Sp};function Sp(e,n,t){let i=this,r=0,a,o;return s;function s(d){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),l}function l(d){return d===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(d),e.exit("characterReferenceMarkerNumeric"),c):(e.enter("characterReferenceValue"),a=31,o=ae,u(d))}function c(d){return d===88||d===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(d),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),a=6,o=ps,u):(e.enter("characterReferenceValue"),a=7,o=$t,u(d))}function u(d){if(d===59&&r){let m=e.exit("characterReferenceValue");return o===ae&&!kt(i.sliceSerialize(m))?t(d):(e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),e.exit("characterReference"),n)}return o(d)&&r++<a?(e.consume(d),u):t(d)}}var _s={tokenize:Cp,partial:!0},$n={name:"codeFenced",tokenize:Ep,concrete:!0};function Ep(e,n,t){let i=this,r={tokenize:N,partial:!0},a=0,o=0,s;return l;function l(b){return c(b)}function c(b){let I=i.events[i.events.length-1];return a=I&&I[1].type==="linePrefix"?I[2].sliceSerialize(I[1],!0).length:0,s=b,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),u(b)}function u(b){return b===s?(o++,e.consume(b),u):o<3?t(b):(e.exit("codeFencedFenceSequence"),F(b)?z(e,d,"whitespace")(b):d(b))}function d(b){return b===null||A(b)?(e.exit("codeFencedFence"),i.interrupt?n(b):e.check(_s,_,L)(b)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),m(b))}function m(b){return b===null||A(b)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),d(b)):F(b)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),z(e,p,"whitespace")(b)):b===96&&b===s?t(b):(e.consume(b),m)}function p(b){return b===null||A(b)?d(b):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),f(b))}function f(b){return b===null||A(b)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),d(b)):b===96&&b===s?t(b):(e.consume(b),f)}function _(b){return e.attempt(r,L,E)(b)}function E(b){return e.enter("lineEnding"),e.consume(b),e.exit("lineEnding"),y}function y(b){return a>0&&F(b)?z(e,T,"linePrefix",a+1)(b):T(b)}function T(b){return b===null||A(b)?e.check(_s,_,L)(b):(e.enter("codeFlowValue"),S(b))}function S(b){return b===null||A(b)?(e.exit("codeFlowValue"),T(b)):(e.consume(b),S)}function L(b){return e.exit("codeFenced"),n(b)}function N(b,I,D){let P=0;return M;function M(O){return b.enter("lineEnding"),b.consume(O),b.exit("lineEnding"),H}function H(O){return b.enter("codeFencedFence"),F(O)?z(b,R,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(O):R(O)}function R(O){return O===s?(b.enter("codeFencedFenceSequence"),w(O)):D(O)}function w(O){return O===s?(P++,b.consume(O),w):P>=o?(b.exit("codeFencedFenceSequence"),F(O)?z(b,x,"whitespace")(O):x(O)):D(O)}function x(O){return O===null||A(O)?(b.exit("codeFencedFence"),I(O)):D(O)}}}function Cp(e,n,t){let i=this;return r;function r(o){return o===null?t(o):(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a)}function a(o){return i.parser.lazy[i.now().line]?t(o):n(o)}}var en={name:"codeIndented",tokenize:wp},kp={tokenize:Tp,partial:!0};function wp(e,n,t){let i=this;return r;function r(c){return e.enter("codeIndented"),z(e,a,"linePrefix",5)(c)}function a(c){let u=i.events[i.events.length-1];return u&&u[1].type==="linePrefix"&&u[2].sliceSerialize(u[1],!0).length>=4?o(c):t(c)}function o(c){return c===null?l(c):A(c)?e.attempt(kp,o,l)(c):(e.enter("codeFlowValue"),s(c))}function s(c){return c===null||A(c)?(e.exit("codeFlowValue"),o(c)):(e.consume(c),s)}function l(c){return e.exit("codeIndented"),n(c)}}function Tp(e,n,t){let i=this;return r;function r(o){return i.parser.lazy[i.now().line]?t(o):A(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),r):z(e,a,"linePrefix",5)(o)}function a(o){let s=i.events[i.events.length-1];return s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?n(o):A(o)?r(o):t(o)}}var Lr={name:"codeText",tokenize:Ip,resolve:Ap,previous:xp};function Ap(e){let n=e.length-4,t=3,i,r;if((e[t][1].type==="lineEnding"||e[t][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(i=t;++i<n;)if(e[i][1].type==="codeTextData"){e[t][1].type="codeTextPadding",e[n][1].type="codeTextPadding",t+=2,n-=2;break}}for(i=t-1,n++;++i<=n;)r===void 0?i!==n&&e[i][1].type!=="lineEnding"&&(r=i):(i===n||e[i][1].type==="lineEnding")&&(e[r][1].type="codeTextData",i!==r+2&&(e[r][1].end=e[i-1][1].end,e.splice(r+2,i-r-2),n-=i-r-2,i=r+2),r=void 0);return e}function xp(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function Ip(e,n,t){let i=this,r=0,a,o;return s;function s(m){return e.enter("codeText"),e.enter("codeTextSequence"),l(m)}function l(m){return m===96?(e.consume(m),r++,l):(e.exit("codeTextSequence"),c(m))}function c(m){return m===null?t(m):m===32?(e.enter("space"),e.consume(m),e.exit("space"),c):m===96?(o=e.enter("codeTextSequence"),a=0,d(m)):A(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),c):(e.enter("codeTextData"),u(m))}function u(m){return m===null||m===32||m===96||A(m)?(e.exit("codeTextData"),c(m)):(e.consume(m),u)}function d(m){return m===96?(e.consume(m),a++,d):a===r?(e.exit("codeTextSequence"),e.exit("codeText"),n(m)):(o.type="codeTextData",u(m))}}var Qn=class{constructor(n){this.left=n?[...n]:[],this.right=[]}get(n){if(n<0||n>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return n<this.left.length?this.left[n]:this.right[this.right.length-n+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(n,t){let i=t??Number.POSITIVE_INFINITY;return i<this.left.length?this.left.slice(n,i):n>this.left.length?this.right.slice(this.right.length-i+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-i+this.left.length).reverse())}splice(n,t,i){let r=t||0;this.setCursor(Math.trunc(n));let a=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);return i&&tn(this.left,i),a.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),tn(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),tn(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n<this.left.length){let t=this.left.splice(n,Number.POSITIVE_INFINITY);tn(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-n,Number.POSITIVE_INFINITY);tn(this.left,t.reverse())}}};function tn(e,n){let t=0;if(n.length<1e4)e.push(...n);else for(;t<n.length;)e.push(...n.slice(t,t+1e4)),t+=1e4}function ei(e){let n={},t=-1,i,r,a,o,s,l,c,u=new Qn(e);for(;++t<u.length;){for(;t in n;)t=n[t];if(i=u.get(t),t&&i[1].type==="chunkFlow"&&u.get(t-1)[1].type==="listItemPrefix"&&(l=i[1]._tokenizer.events,a=0,a<l.length&&l[a][1].type==="lineEndingBlank"&&(a+=2),a<l.length&&l[a][1].type==="content"))for(;++a<l.length&&l[a][1].type!=="content";)l[a][1].type==="chunkText"&&(l[a][1]._isInFirstContentOfListItem=!0,a++);if(i[0]==="enter")i[1].contentType&&(Object.assign(n,Rp(u,t)),t=n[t],c=!0);else if(i[1]._container){for(a=t,r=void 0;a--&&(o=u.get(a),o[1].type==="lineEnding"||o[1].type==="lineEndingBlank");)o[0]==="enter"&&(r&&(u.get(r)[1].type="lineEndingBlank"),o[1].type="lineEnding",r=a);r&&(i[1].end=Object.assign({},u.get(r)[1].start),s=u.slice(r,t),s.unshift(i),u.splice(r,t-r+1,s))}}return de(e,0,Number.POSITIVE_INFINITY,u.slice(0)),!c}function Rp(e,n){let t=e.get(n)[1],i=e.get(n)[2],r=n-1,a=[],o=t._tokenizer||i.parser[t.contentType](t.start),s=o.events,l=[],c={},u,d,m=-1,p=t,f=0,_=0,E=[_];for(;p;){for(;e.get(++r)[1]!==p;);a.push(r),p._tokenizer||(u=i.sliceStream(p),p.next||u.push(null),d&&o.defineSkip(p.start),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(u),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),d=p,p=p.next}for(p=t;++m<s.length;)s[m][0]==="exit"&&s[m-1][0]==="enter"&&s[m][1].type===s[m-1][1].type&&s[m][1].start.line!==s[m][1].end.line&&(_=m+1,E.push(_),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(o.events=[],p?(p._tokenizer=void 0,p.previous=void 0):E.pop(),m=E.length;m--;){let y=s.slice(E[m],E[m+1]),T=a.pop();l.push([T,T+y.length-1]),e.splice(T,2,y)}for(l.reverse(),m=-1;++m<l.length;)c[f+l[m][0]]=f+l[m][1],f+=l[m][1]-l[m][0]-1;return c}var Nr={tokenize:Lp,resolve:Dp},Pp={tokenize:Np,partial:!0};function Dp(e){return ei(e),e}function Lp(e,n){let t;return i;function i(s){return e.enter("content"),t=e.enter("chunkContent",{contentType:"content"}),r(s)}function r(s){return s===null?a(s):A(s)?e.check(Pp,o,a)(s):(e.consume(s),r)}function a(s){return e.exit("chunkContent"),e.exit("content"),n(s)}function o(s){return e.consume(s),e.exit("chunkContent"),t.next=e.enter("chunkContent",{contentType:"content",previous:t}),t=t.next,r}}function Np(e,n,t){let i=this;return r;function r(o){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),z(e,a,"linePrefix")}function a(o){if(o===null||A(o))return t(o);let s=i.events[i.events.length-1];return!i.parser.constructs.disable.null.includes("codeIndented")&&s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?n(o):e.interrupt(i.parser.constructs.flow,t,n)(o)}}function ti(e,n,t,i,r,a,o,s,l){let c=l||Number.POSITIVE_INFINITY,u=0;return d;function d(y){return y===60?(e.enter(i),e.enter(r),e.enter(a),e.consume(y),e.exit(a),m):y===null||y===32||y===41||Zt(y)?t(y):(e.enter(i),e.enter(o),e.enter(s),e.enter("chunkString",{contentType:"string"}),_(y))}function m(y){return y===62?(e.enter(a),e.consume(y),e.exit(a),e.exit(r),e.exit(i),n):(e.enter(s),e.enter("chunkString",{contentType:"string"}),p(y))}function p(y){return y===62?(e.exit("chunkString"),e.exit(s),m(y)):y===null||y===60||A(y)?t(y):(e.consume(y),y===92?f:p)}function f(y){return y===60||y===62||y===92?(e.consume(y),p):p(y)}function _(y){return!u&&(y===null||y===41||ne(y))?(e.exit("chunkString"),e.exit(s),e.exit(o),e.exit(i),n(y)):u<c&&y===40?(e.consume(y),u++,_):y===41?(e.consume(y),u--,_):y===null||y===32||y===40||Zt(y)?t(y):(e.consume(y),y===92?E:_)}function E(y){return y===40||y===41||y===92?(e.consume(y),_):_(y)}}function ni(e,n,t,i,r,a){let o=this,s=0,l;return c;function c(p){return e.enter(i),e.enter(r),e.consume(p),e.exit(r),e.enter(a),u}function u(p){return s>999||p===null||p===91||p===93&&!l||p===94&&!s&&"_hiddenFootnoteSupport"in o.parser.constructs?t(p):p===93?(e.exit(a),e.enter(r),e.consume(p),e.exit(r),e.exit(i),n):A(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),u):(e.enter("chunkString",{contentType:"string"}),d(p))}function d(p){return p===null||p===91||p===93||A(p)||s++>999?(e.exit("chunkString"),u(p)):(e.consume(p),l||(l=!F(p)),p===92?m:d)}function m(p){return p===91||p===92||p===93?(e.consume(p),s++,d):d(p)}}function ii(e,n,t,i,r,a){let o;return s;function s(m){return m===34||m===39||m===40?(e.enter(i),e.enter(r),e.consume(m),e.exit(r),o=m===40?41:m,l):t(m)}function l(m){return m===o?(e.enter(r),e.consume(m),e.exit(r),e.exit(i),n):(e.enter(a),c(m))}function c(m){return m===o?(e.exit(a),l(o)):m===null?t(m):A(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),z(e,c,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),u(m))}function u(m){return m===o||m===null||A(m)?(e.exit("chunkString"),c(m)):(e.consume(m),m===92?d:u)}function d(m){return m===o||m===92?(e.consume(m),u):u(m)}}function at(e,n){let t;return i;function i(r){return A(r)?(e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t=!0,i):F(r)?z(e,i,t?"linePrefix":"lineSuffix")(r):n(r)}}var Mr={name:"definition",tokenize:Op},Mp={tokenize:Bp,partial:!0};function Op(e,n,t){let i=this,r;return a;function a(p){return e.enter("definition"),o(p)}function o(p){return ni.call(i,e,s,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(p)}function s(p){return r=Ue(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),l):t(p)}function l(p){return ne(p)?at(e,c)(p):c(p)}function c(p){return ti(e,u,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(p)}function u(p){return e.attempt(Mp,d,d)(p)}function d(p){return F(p)?z(e,m,"whitespace")(p):m(p)}function m(p){return p===null||A(p)?(e.exit("definition"),i.parser.defined.push(r),n(p)):t(p)}}function Bp(e,n,t){return i;function i(s){return ne(s)?at(e,r)(s):t(s)}function r(s){return ii(e,a,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(s)}function a(s){return F(s)?z(e,o,"whitespace")(s):o(s)}function o(s){return s===null||A(s)?n(s):t(s)}}var Or={name:"hardBreakEscape",tokenize:Fp};function Fp(e,n,t){return i;function i(a){return e.enter("hardBreakEscape"),e.consume(a),r}function r(a){return A(a)?(e.exit("hardBreakEscape"),n(a)):t(a)}}var Br={name:"headingAtx",tokenize:zp,resolve:Gp};function Gp(e,n){let t=e.length-2,i=3,r,a;return e[i][1].type==="whitespace"&&(i+=2),t-2>i&&e[t][1].type==="whitespace"&&(t-=2),e[t][1].type==="atxHeadingSequence"&&(i===t-1||t-4>i&&e[t-2][1].type==="whitespace")&&(t-=i+1===t?2:4),t>i&&(r={type:"atxHeadingText",start:e[i][1].start,end:e[t][1].end},a={type:"chunkText",start:e[i][1].start,end:e[t][1].end,contentType:"text"},de(e,i,t-i+1,[["enter",r,n],["enter",a,n],["exit",a,n],["exit",r,n]])),e}function zp(e,n,t){let i=0;return r;function r(u){return e.enter("atxHeading"),a(u)}function a(u){return e.enter("atxHeadingSequence"),o(u)}function o(u){return u===35&&i++<6?(e.consume(u),o):u===null||ne(u)?(e.exit("atxHeadingSequence"),s(u)):t(u)}function s(u){return u===35?(e.enter("atxHeadingSequence"),l(u)):u===null||A(u)?(e.exit("atxHeading"),n(u)):F(u)?z(e,s,"whitespace")(u):(e.enter("atxHeadingText"),c(u))}function l(u){return u===35?(e.consume(u),l):(e.exit("atxHeadingSequence"),s(u))}function c(u){return u===null||u===35||ne(u)?(e.exit("atxHeadingText"),s(u)):(e.consume(u),c)}}var Ss=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Fr=["pre","script","style","textarea"];var Gr={name:"htmlFlow",tokenize:Wp,resolveTo:Vp,concrete:!0},Up={tokenize:qp,partial:!0},Hp={tokenize:jp,partial:!0};function Vp(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function Wp(e,n,t){let i=this,r,a,o,s,l;return c;function c(h){return u(h)}function u(h){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(h),d}function d(h){return h===33?(e.consume(h),m):h===47?(e.consume(h),a=!0,_):h===63?(e.consume(h),r=3,i.interrupt?n:g):_e(h)?(e.consume(h),o=String.fromCharCode(h),E):t(h)}function m(h){return h===45?(e.consume(h),r=2,p):h===91?(e.consume(h),r=5,s=0,f):_e(h)?(e.consume(h),r=4,i.interrupt?n:g):t(h)}function p(h){return h===45?(e.consume(h),i.interrupt?n:g):t(h)}function f(h){let fe="CDATA[";return h===fe.charCodeAt(s++)?(e.consume(h),s===fe.length?i.interrupt?n:R:f):t(h)}function _(h){return _e(h)?(e.consume(h),o=String.fromCharCode(h),E):t(h)}function E(h){if(h===null||h===47||h===62||ne(h)){let fe=h===47,Qe=o.toLowerCase();return!fe&&!a&&Fr.includes(Qe)?(r=1,i.interrupt?n(h):R(h)):Ss.includes(o.toLowerCase())?(r=6,fe?(e.consume(h),y):i.interrupt?n(h):R(h)):(r=7,i.interrupt&&!i.parser.lazy[i.now().line]?t(h):a?T(h):S(h))}return h===45||ae(h)?(e.consume(h),o+=String.fromCharCode(h),E):t(h)}function y(h){return h===62?(e.consume(h),i.interrupt?n:R):t(h)}function T(h){return F(h)?(e.consume(h),T):M(h)}function S(h){return h===47?(e.consume(h),M):h===58||h===95||_e(h)?(e.consume(h),L):F(h)?(e.consume(h),S):M(h)}function L(h){return h===45||h===46||h===58||h===95||ae(h)?(e.consume(h),L):N(h)}function N(h){return h===61?(e.consume(h),b):F(h)?(e.consume(h),N):S(h)}function b(h){return h===null||h===60||h===61||h===62||h===96?t(h):h===34||h===39?(e.consume(h),l=h,I):F(h)?(e.consume(h),b):D(h)}function I(h){return h===l?(e.consume(h),l=null,P):h===null||A(h)?t(h):(e.consume(h),I)}function D(h){return h===null||h===34||h===39||h===47||h===60||h===61||h===62||h===96||ne(h)?N(h):(e.consume(h),D)}function P(h){return h===47||h===62||F(h)?S(h):t(h)}function M(h){return h===62?(e.consume(h),H):t(h)}function H(h){return h===null||A(h)?R(h):F(h)?(e.consume(h),H):t(h)}function R(h){return h===45&&r===2?(e.consume(h),j):h===60&&r===1?(e.consume(h),X):h===62&&r===4?(e.consume(h),Se):h===63&&r===3?(e.consume(h),g):h===93&&r===5?(e.consume(h),ie):A(h)&&(r===6||r===7)?(e.exit("htmlFlowData"),e.check(Up,Me,w)(h)):h===null||A(h)?(e.exit("htmlFlowData"),w(h)):(e.consume(h),R)}function w(h){return e.check(Hp,x,Me)(h)}function x(h){return e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),O}function O(h){return h===null||A(h)?w(h):(e.enter("htmlFlowData"),R(h))}function j(h){return h===45?(e.consume(h),g):R(h)}function X(h){return h===47?(e.consume(h),o="",re):R(h)}function re(h){if(h===62){let fe=o.toLowerCase();return Fr.includes(fe)?(e.consume(h),Se):R(h)}return _e(h)&&o.length<8?(e.consume(h),o+=String.fromCharCode(h),re):R(h)}function ie(h){return h===93?(e.consume(h),g):R(h)}function g(h){return h===62?(e.consume(h),Se):h===45&&r===2?(e.consume(h),g):R(h)}function Se(h){return h===null||A(h)?(e.exit("htmlFlowData"),Me(h)):(e.consume(h),Se)}function Me(h){return e.exit("htmlFlow"),n(h)}}function jp(e,n,t){let i=this;return r;function r(o){return A(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a):t(o)}function a(o){return i.parser.lazy[i.now().line]?t(o):n(o)}}function qp(e,n,t){return i;function i(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),e.attempt(Je,n,t)}}var zr={name:"htmlText",tokenize:Kp};function Kp(e,n,t){let i=this,r,a,o;return s;function s(g){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(g),l}function l(g){return g===33?(e.consume(g),c):g===47?(e.consume(g),N):g===63?(e.consume(g),S):_e(g)?(e.consume(g),D):t(g)}function c(g){return g===45?(e.consume(g),u):g===91?(e.consume(g),a=0,f):_e(g)?(e.consume(g),T):t(g)}function u(g){return g===45?(e.consume(g),p):t(g)}function d(g){return g===null?t(g):g===45?(e.consume(g),m):A(g)?(o=d,X(g)):(e.consume(g),d)}function m(g){return g===45?(e.consume(g),p):d(g)}function p(g){return g===62?j(g):g===45?m(g):d(g)}function f(g){let Se="CDATA[";return g===Se.charCodeAt(a++)?(e.consume(g),a===Se.length?_:f):t(g)}function _(g){return g===null?t(g):g===93?(e.consume(g),E):A(g)?(o=_,X(g)):(e.consume(g),_)}function E(g){return g===93?(e.consume(g),y):_(g)}function y(g){return g===62?j(g):g===93?(e.consume(g),y):_(g)}function T(g){return g===null||g===62?j(g):A(g)?(o=T,X(g)):(e.consume(g),T)}function S(g){return g===null?t(g):g===63?(e.consume(g),L):A(g)?(o=S,X(g)):(e.consume(g),S)}function L(g){return g===62?j(g):S(g)}function N(g){return _e(g)?(e.consume(g),b):t(g)}function b(g){return g===45||ae(g)?(e.consume(g),b):I(g)}function I(g){return A(g)?(o=I,X(g)):F(g)?(e.consume(g),I):j(g)}function D(g){return g===45||ae(g)?(e.consume(g),D):g===47||g===62||ne(g)?P(g):t(g)}function P(g){return g===47?(e.consume(g),j):g===58||g===95||_e(g)?(e.consume(g),M):A(g)?(o=P,X(g)):F(g)?(e.consume(g),P):j(g)}function M(g){return g===45||g===46||g===58||g===95||ae(g)?(e.consume(g),M):H(g)}function H(g){return g===61?(e.consume(g),R):A(g)?(o=H,X(g)):F(g)?(e.consume(g),H):P(g)}function R(g){return g===null||g===60||g===61||g===62||g===96?t(g):g===34||g===39?(e.consume(g),r=g,w):A(g)?(o=R,X(g)):F(g)?(e.consume(g),R):(e.consume(g),x)}function w(g){return g===r?(e.consume(g),r=void 0,O):g===null?t(g):A(g)?(o=w,X(g)):(e.consume(g),w)}function x(g){return g===null||g===34||g===39||g===60||g===61||g===96?t(g):g===47||g===62||ne(g)?P(g):(e.consume(g),x)}function O(g){return g===47||g===62||ne(g)?P(g):t(g)}function j(g){return g===62?(e.consume(g),e.exit("htmlTextData"),e.exit("htmlText"),n):t(g)}function X(g){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),re}function re(g){return F(g)?z(e,ie,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(g):ie(g)}function ie(g){return e.enter("htmlTextData"),o(g)}}var ot={name:"labelEnd",tokenize:Qp,resolveTo:$p,resolveAll:Zp},Xp={tokenize:em},Yp={tokenize:tm},Jp={tokenize:nm};function Zp(e){let n=-1;for(;++n<e.length;){let t=e[n][1];(t.type==="labelImage"||t.type==="labelLink"||t.type==="labelEnd")&&(e.splice(n+1,t.type==="labelImage"?4:2),t.type="data",n++)}return e}function $p(e,n){let t=e.length,i=0,r,a,o,s;for(;t--;)if(r=e[t][1],a){if(r.type==="link"||r.type==="labelLink"&&r._inactive)break;e[t][0]==="enter"&&r.type==="labelLink"&&(r._inactive=!0)}else if(o){if(e[t][0]==="enter"&&(r.type==="labelImage"||r.type==="labelLink")&&!r._balanced&&(a=t,r.type!=="labelLink")){i=2;break}}else r.type==="labelEnd"&&(o=t);let l={type:e[a][1].type==="labelLink"?"link":"image",start:Object.assign({},e[a][1].start),end:Object.assign({},e[e.length-1][1].end)},c={type:"label",start:Object.assign({},e[a][1].start),end:Object.assign({},e[o][1].end)},u={type:"labelText",start:Object.assign({},e[a+i+2][1].end),end:Object.assign({},e[o-2][1].start)};return s=[["enter",l,n],["enter",c,n]],s=me(s,e.slice(a+1,a+i+3)),s=me(s,[["enter",u,n]]),s=me(s,wt(n.parser.constructs.insideSpan.null,e.slice(a+i+4,o-3),n)),s=me(s,[["exit",u,n],e[o-2],e[o-1],["exit",c,n]]),s=me(s,e.slice(o+1)),s=me(s,[["exit",l,n]]),de(e,a,e.length,s),e}function Qp(e,n,t){let i=this,r=i.events.length,a,o;for(;r--;)if((i.events[r][1].type==="labelImage"||i.events[r][1].type==="labelLink")&&!i.events[r][1]._balanced){a=i.events[r][1];break}return s;function s(m){return a?a._inactive?d(m):(o=i.parser.defined.includes(Ue(i.sliceSerialize({start:a.end,end:i.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(m),e.exit("labelMarker"),e.exit("labelEnd"),l):t(m)}function l(m){return m===40?e.attempt(Xp,u,o?u:d)(m):m===91?e.attempt(Yp,u,o?c:d)(m):o?u(m):d(m)}function c(m){return e.attempt(Jp,u,d)(m)}function u(m){return n(m)}function d(m){return a._balanced=!0,t(m)}}function em(e,n,t){return i;function i(d){return e.enter("resource"),e.enter("resourceMarker"),e.consume(d),e.exit("resourceMarker"),r}function r(d){return ne(d)?at(e,a)(d):a(d)}function a(d){return d===41?u(d):ti(e,o,s,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(d)}function o(d){return ne(d)?at(e,l)(d):u(d)}function s(d){return t(d)}function l(d){return d===34||d===39||d===40?ii(e,c,t,"resourceTitle","resourceTitleMarker","resourceTitleString")(d):u(d)}function c(d){return ne(d)?at(e,u)(d):u(d)}function u(d){return d===41?(e.enter("resourceMarker"),e.consume(d),e.exit("resourceMarker"),e.exit("resource"),n):t(d)}}function tm(e,n,t){let i=this;return r;function r(s){return ni.call(i,e,a,o,"reference","referenceMarker","referenceString")(s)}function a(s){return i.parser.defined.includes(Ue(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)))?n(s):t(s)}function o(s){return t(s)}}function nm(e,n,t){return i;function i(a){return e.enter("reference"),e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),r}function r(a){return a===93?(e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),e.exit("reference"),n):t(a)}}var Ur={name:"labelStartImage",tokenize:im,resolveAll:ot.resolveAll};function im(e,n,t){let i=this;return r;function r(s){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(s),e.exit("labelImageMarker"),a}function a(s){return s===91?(e.enter("labelMarker"),e.consume(s),e.exit("labelMarker"),e.exit("labelImage"),o):t(s)}function o(s){return s===94&&"_hiddenFootnoteSupport"in i.parser.constructs?t(s):n(s)}}var Hr={name:"labelStartLink",tokenize:rm,resolveAll:ot.resolveAll};function rm(e,n,t){let i=this;return r;function r(o){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),e.exit("labelLink"),a}function a(o){return o===94&&"_hiddenFootnoteSupport"in i.parser.constructs?t(o):n(o)}}var nn={name:"lineEnding",tokenize:am};function am(e,n){return t;function t(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),z(e,n,"linePrefix")}}var st={name:"thematicBreak",tokenize:om};function om(e,n,t){let i=0,r;return a;function a(c){return e.enter("thematicBreak"),o(c)}function o(c){return r=c,s(c)}function s(c){return c===r?(e.enter("thematicBreakSequence"),l(c)):i>=3&&(c===null||A(c))?(e.exit("thematicBreak"),n(c)):t(c)}function l(c){return c===r?(e.consume(c),i++,l):(e.exit("thematicBreakSequence"),F(c)?z(e,s,"whitespace")(c):s(c))}}var pe={name:"list",tokenize:cm,continuation:{tokenize:um},exit:pm},sm={tokenize:mm,partial:!0},lm={tokenize:dm,partial:!0};function cm(e,n,t){let i=this,r=i.events[i.events.length-1],a=r&&r[1].type==="linePrefix"?r[2].sliceSerialize(r[1],!0).length:0,o=0;return s;function s(p){let f=i.containerState.type||(p===42||p===43||p===45?"listUnordered":"listOrdered");if(f==="listUnordered"?!i.containerState.marker||p===i.containerState.marker:$t(p)){if(i.containerState.type||(i.containerState.type=f,e.enter(f,{_container:!0})),f==="listUnordered")return e.enter("listItemPrefix"),p===42||p===45?e.check(st,t,c)(p):c(p);if(!i.interrupt||p===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),l(p)}return t(p)}function l(p){return $t(p)&&++o<10?(e.consume(p),l):(!i.interrupt||o<2)&&(i.containerState.marker?p===i.containerState.marker:p===41||p===46)?(e.exit("listItemValue"),c(p)):t(p)}function c(p){return e.enter("listItemMarker"),e.consume(p),e.exit("listItemMarker"),i.containerState.marker=i.containerState.marker||p,e.check(Je,i.interrupt?t:u,e.attempt(sm,m,d))}function u(p){return i.containerState.initialBlankLine=!0,a++,m(p)}function d(p){return F(p)?(e.enter("listItemPrefixWhitespace"),e.consume(p),e.exit("listItemPrefixWhitespace"),m):t(p)}function m(p){return i.containerState.size=a+i.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(p)}}function um(e,n,t){let i=this;return i.containerState._closeFlow=void 0,e.check(Je,r,a);function r(s){return i.containerState.furtherBlankLines=i.containerState.furtherBlankLines||i.containerState.initialBlankLine,z(e,n,"listItemIndent",i.containerState.size+1)(s)}function a(s){return i.containerState.furtherBlankLines||!F(s)?(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,o(s)):(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,e.attempt(lm,n,o)(s))}function o(s){return i.containerState._closeFlow=!0,i.interrupt=void 0,z(e,e.attempt(pe,n,t),"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(s)}}function dm(e,n,t){let i=this;return z(e,r,"listItemIndent",i.containerState.size+1);function r(a){let o=i.events[i.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===i.containerState.size?n(a):t(a)}}function pm(e){e.exit(this.containerState.type)}function mm(e,n,t){let i=this;return z(e,r,"listItemPrefixWhitespace",i.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function r(a){let o=i.events[i.events.length-1];return!F(a)&&o&&o[1].type==="listItemPrefixWhitespace"?n(a):t(a)}}var ri={name:"setextUnderline",tokenize:hm,resolveTo:gm};function gm(e,n){let t=e.length,i,r,a;for(;t--;)if(e[t][0]==="enter"){if(e[t][1].type==="content"){i=t;break}e[t][1].type==="paragraph"&&(r=t)}else e[t][1].type==="content"&&e.splice(t,1),!a&&e[t][1].type==="definition"&&(a=t);let o={type:"setextHeading",start:Object.assign({},e[r][1].start),end:Object.assign({},e[e.length-1][1].end)};return e[r][1].type="setextHeadingText",a?(e.splice(r,0,["enter",o,n]),e.splice(a+1,0,["exit",e[i][1],n]),e[i][1].end=Object.assign({},e[a][1].end)):e[i][1]=o,e.push(["exit",o,n]),e}function hm(e,n,t){let i=this,r;return a;function a(c){let u=i.events.length,d;for(;u--;)if(i.events[u][1].type!=="lineEnding"&&i.events[u][1].type!=="linePrefix"&&i.events[u][1].type!=="content"){d=i.events[u][1].type==="paragraph";break}return!i.parser.lazy[i.now().line]&&(i.interrupt||d)?(e.enter("setextHeadingLine"),r=c,o(c)):t(c)}function o(c){return e.enter("setextHeadingLineSequence"),s(c)}function s(c){return c===r?(e.consume(c),s):(e.exit("setextHeadingLineSequence"),F(c)?z(e,l,"lineSuffix")(c):l(c))}function l(c){return c===null||A(c)?(e.exit("setextHeadingLine"),n(c)):t(c)}}var Es={tokenize:fm};function fm(e){let n=this,t=e.attempt(Je,i,e.attempt(this.parser.constructs.flowInitial,r,z(e,e.attempt(this.parser.constructs.flow,r,e.attempt(Nr,r)),"linePrefix")));return t;function i(a){if(a===null){e.consume(a);return}return e.enter("lineEndingBlank"),e.consume(a),e.exit("lineEndingBlank"),n.currentConstruct=void 0,t}function r(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),n.currentConstruct=void 0,t}}var Cs={resolveAll:As()},ks=Ts("string"),ws=Ts("text");function Ts(e){return{tokenize:n,resolveAll:As(e==="text"?ym:void 0)};function n(t){let i=this,r=this.parser.constructs[e],a=t.attempt(r,o,s);return o;function o(u){return c(u)?a(u):s(u)}function s(u){if(u===null){t.consume(u);return}return t.enter("data"),t.consume(u),l}function l(u){return c(u)?(t.exit("data"),a(u)):(t.consume(u),l)}function c(u){if(u===null)return!0;let d=r[u],m=-1;if(d)for(;++m<d.length;){let p=d[m];if(!p.previous||p.previous.call(i,i.previous))return!0}return!1}}}function As(e){return n;function n(t,i){let r=-1,a;for(;++r<=t.length;)a===void 0?t[r]&&t[r][1].type==="data"&&(a=r,r++):(!t[r]||t[r][1].type!=="data")&&(r!==a+2&&(t[a][1].end=t[r-1][1].end,t.splice(a+2,r-a-2),r=a+2),a=void 0);return e?e(t,i):t}}function ym(e,n){let t=0;for(;++t<=e.length;)if((t===e.length||e[t][1].type==="lineEnding")&&e[t-1][1].type==="data"){let i=e[t-1][1],r=n.sliceStream(i),a=r.length,o=-1,s=0,l;for(;a--;){let c=r[a];if(typeof c=="string"){for(o=c.length;c.charCodeAt(o-1)===32;)s++,o--;if(o)break;o=-1}else if(c===-2)l=!0,s++;else if(c!==-1){a++;break}}if(s){let c={type:t===e.length||l||s<2?"lineSuffix":"hardBreakTrailing",start:{line:i.end.line,column:i.end.column-s,offset:i.end.offset-s,_index:i.start._index+a,_bufferIndex:a?o:i.start._bufferIndex+o},end:Object.assign({},i.end)};i.end=Object.assign({},c.start),i.start.offset===i.end.offset?Object.assign(i,c):(e.splice(t,0,["enter",c,n],["exit",c,n]),t+=2)}t++}return e}function xs(e,n,t){let i=Object.assign(t?Object.assign({},t):{line:1,column:1,offset:0},{_index:0,_bufferIndex:-1}),r={},a=[],o=[],s=[],l=!0,c={consume:L,enter:N,exit:b,attempt:P(I),check:P(D),interrupt:P(D,{interrupt:!0})},u={previous:null,code:null,containerState:{},events:[],parser:e,sliceStream:_,sliceSerialize:f,now:E,defineSkip:y,write:p},d=n.tokenize.call(u,c),m;return n.resolveAll&&a.push(n),u;function p(w){return o=me(o,w),T(),o[o.length-1]!==null?[]:(M(n,0),u.events=wt(a,u.events,u),u.events)}function f(w,x){return vm(_(w),x)}function _(w){return bm(o,w)}function E(){let{line:w,column:x,offset:O,_index:j,_bufferIndex:X}=i;return{line:w,column:x,offset:O,_index:j,_bufferIndex:X}}function y(w){r[w.line]=w.column,R()}function T(){let w;for(;i._index<o.length;){let x=o[i._index];if(typeof x=="string")for(w=i._index,i._bufferIndex<0&&(i._bufferIndex=0);i._index===w&&i._bufferIndex<x.length;)S(x.charCodeAt(i._bufferIndex));else S(x)}}function S(w){l=void 0,m=w,d=d(w)}function L(w){A(w)?(i.line++,i.column=1,i.offset+=w===-3?2:1,R()):w!==-1&&(i.column++,i.offset++),i._bufferIndex<0?i._index++:(i._bufferIndex++,i._bufferIndex===o[i._index].length&&(i._bufferIndex=-1,i._index++)),u.previous=w,l=!0}function N(w,x){let O=x||{};return O.type=w,O.start=E(),u.events.push(["enter",O,u]),s.push(O),O}function b(w){let x=s.pop();return x.end=E(),u.events.push(["exit",x,u]),x}function I(w,x){M(w,x.from)}function D(w,x){x.restore()}function P(w,x){return O;function O(j,X,re){let ie,g,Se,Me;return Array.isArray(j)?fe(j):"tokenize"in j?fe([j]):h(j);function h(se){return Lt;function Lt(Re){let ut=Re!==null&&se[Re],dt=Re!==null&&se.null,Di=[...Array.isArray(ut)?ut:ut?[ut]:[],...Array.isArray(dt)?dt:dt?[dt]:[]];return fe(Di)(Re)}}function fe(se){return ie=se,g=0,se.length===0?re:Qe(se[g])}function Qe(se){return Lt;function Lt(Re){return Me=H(),Se=se,se.partial||(u.currentConstruct=se),se.name&&u.parser.constructs.disable.null.includes(se.name)?pn(Re):se.tokenize.call(x?Object.assign(Object.create(u),x):u,c,Pi,pn)(Re)}}function Pi(se){return l=!0,w(Se,Me),X}function pn(se){return l=!0,Me.restore(),++g<ie.length?Qe(ie[g]):re}}}function M(w,x){w.resolveAll&&!a.includes(w)&&a.push(w),w.resolve&&de(u.events,x,u.events.length-x,w.resolve(u.events.slice(x),u)),w.resolveTo&&(u.events=w.resolveTo(u.events,u))}function H(){let w=E(),x=u.previous,O=u.currentConstruct,j=u.events.length,X=Array.from(s);return{restore:re,from:j};function re(){i=w,u.previous=x,u.currentConstruct=O,u.events.length=j,s=X,R()}}function R(){i.line in r&&i.column<2&&(i.column=r[i.line],i.offset+=r[i.line]-1)}}function bm(e,n){let t=n.start._index,i=n.start._bufferIndex,r=n.end._index,a=n.end._bufferIndex,o;if(t===r)o=[e[t].slice(i,a)];else{if(o=e.slice(t,r),i>-1){let s=o[0];typeof s=="string"?o[0]=s.slice(i):o.shift()}a>0&&o.push(e[r].slice(0,a))}return o}function vm(e,n){let t=-1,i=[],r;for(;++t<e.length;){let a=e[t],o;if(typeof a=="string")o=a;else switch(a){case-5:{o="\r";break}case-4:{o=`
3435
3436
  `;break}case-3:{o=`\r
3436
- `;break}case-2:{o=n?" ":" ";break}case-1:{if(!n&&r)continue;o=" ";break}default:o=String.fromCharCode(a)}r=a===-2,i.push(o)}return i.join("")}var Vr={};va(Vr,{attentionMarkers:()=>Am,contentInitial:()=>Sm,disable:()=>xm,document:()=>_m,flow:()=>Cm,flowInitial:()=>Em,insideSpan:()=>Tm,string:()=>km,text:()=>wm});var _m={42:pe,43:pe,45:pe,48:pe,49:pe,50:pe,51:pe,52:pe,53:pe,54:pe,55:pe,56:pe,57:pe,62:Xn},Sm={91:Mr},Em={[-2]:en,[-1]:en,32:en},Cm={35:Br,42:st,45:[ii,st],60:Gr,61:ii,95:st,96:Zn,126:Zn},km={38:Jn,92:Yn},wm={[-5]:nn,[-4]:nn,[-3]:nn,33:Ur,38:Jn,42:Qt,60:[Dr,zr],91:Hr,92:[Or,Yn],93:ot,95:Qt,96:Nr},Tm={null:[Qt,Cs]},Am={null:[42,95]},xm={null:[]};function Wr(e){let t=us([Vr,...(e||{}).extensions||[]]),i={defined:[],lazy:{},constructs:t,content:r(fs),document:r(bs),flow:r(Es),string:r(ks),text:r(ws)};return i;function r(a){return o;function o(s){return xs(i,a,s)}}}function jr(e){for(;!Qn(e););return e}var Is=/[\0\t\n\r]/g;function qr(){let e=1,n="",t=!0,i;return r;function r(a,o,s){let l=[],c,u,d,m,p;for(a=n+(typeof a=="string"?a.toString():new TextDecoder(o||void 0).decode(a)),d=0,n="",t&&(a.charCodeAt(0)===65279&&d++,t=void 0);d<a.length;){if(Is.lastIndex=d,c=Is.exec(a),m=c&&c.index!==void 0?c.index:a.length,p=a.charCodeAt(m),!c){n=a.slice(d);break}if(p===10&&d===m&&i)l.push(-3),i=void 0;else switch(i&&(l.push(-5),i=void 0),d<m&&(l.push(a.slice(d,m)),e+=m-d),p){case 0:{l.push(65533),e++;break}case 9:{for(u=Math.ceil(e/4)*4,l.push(-2);e++<u;)l.push(-1);break}case 10:{l.push(-4),e=1;break}default:i=!0,e=1}d=m+1}return s&&(i&&l.push(-5),n&&l.push(n),l.push(null)),l}}var Im=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Rs(e){return e.replace(Im,Rm)}function Rm(e,n,t){if(n)return n;if(t.charCodeAt(0)===35){let r=t.charCodeAt(1),a=r===120||r===88;return Kn(t.slice(a?2:1),a?16:10)}return kt(t)||e}function Ze(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Ps(e.position):"start"in e||"end"in e?Ps(e):"line"in e||"column"in e?Kr(e):""}function Kr(e){return Ds(e&&e.line)+":"+Ds(e&&e.column)}function Ps(e){return Kr(e&&e.start)+"-"+Kr(e&&e.end)}function Ds(e){return e&&typeof e=="number"?e:1}var Ls={}.hasOwnProperty;function Xr(e,n,t){return typeof n!="string"&&(t=n,n=void 0),Pm(t)(jr(Wr(t).document().write(qr()(e,n,!0))))}function Pm(e){let n={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(ya),autolinkProtocol:P,autolinkEmail:P,atxHeading:a(ga),blockQuote:a(Nt),characterEscape:P,characterReference:P,codeFenced:a(Re),codeFencedFenceInfo:o,codeFencedFenceMeta:o,codeIndented:a(Re,o),codeText:a(ut,o),codeTextData:P,data:P,codeFlowValue:P,definition:a(dt),definitionDestinationString:o,definitionLabelString:o,definitionTitleString:o,emphasis:a(Di),hardBreakEscape:a(ha),hardBreakTrailing:a(ha),htmlFlow:a(fa,o),htmlFlowData:P,htmlText:a(fa,o),htmlTextData:P,image:a(Kl),label:o,link:a(ya),listItem:a(Xl),listItemValue:m,listOrdered:a(ba,d),listUnordered:a(ba),paragraph:a(Yl),reference:h,referenceString:o,resourceDestinationString:o,resourceTitleString:o,setextHeading:a(ga),strong:a(Jl),thematicBreak:a($l)},exit:{atxHeading:l(),atxHeadingSequence:L,autolink:l(),autolinkEmail:se,autolinkProtocol:dn,blockQuote:l(),characterEscapeValue:M,characterReferenceMarkerHexadecimal:Qe,characterReferenceMarkerNumeric:Qe,characterReferenceValue:Pi,codeFenced:l(E),codeFencedFence:_,codeFencedFenceInfo:p,codeFencedFenceMeta:f,codeFlowValue:M,codeIndented:l(y),codeText:l(O),codeTextData:M,data:M,definition:l(),definitionDestinationString:N,definitionLabelString:T,definitionTitleString:S,emphasis:l(),hardBreakEscape:l(R),hardBreakTrailing:l(R),htmlFlow:l(w),htmlFlowData:M,htmlText:l(x),htmlTextData:M,image:l(X),label:ie,labelText:re,lineEnding:H,link:l(j),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:fe,resourceDestinationString:g,resourceTitleString:Se,resource:Me,setextHeading:l(D),setextHeadingLineSequence:I,setextHeadingText:b,strong:l(),thematicBreak:l()}};Ms(n,(e||{}).mdastExtensions||[]);let t={};return i;function i(v){let k={type:"root",children:[]},G={stack:[k],tokenStack:[],config:n,enter:s,exit:c,buffer:o,resume:u,data:t},W=[],Y=-1;for(;++Y<v.length;)if(v[Y][1].type==="listOrdered"||v[Y][1].type==="listUnordered")if(v[Y][0]==="enter")W.push(Y);else{let we=W.pop();Y=r(v,we,Y)}for(Y=-1;++Y<v.length;){let we=n[v[Y][0]];Ls.call(we,v[Y][1].type)&&we[v[Y][1].type].call(Object.assign({sliceSerialize:v[Y][2].sliceSerialize},G),v[Y][1])}if(G.tokenStack.length>0){let we=G.tokenStack[G.tokenStack.length-1];(we[1]||Ns).call(G,void 0,we[0])}for(k.position={start:$e(v.length>0?v[0][1].start:{line:1,column:1,offset:0}),end:$e(v.length>0?v[v.length-2][1].end:{line:1,column:1,offset:0})},Y=-1;++Y<n.transforms.length;)k=n.transforms[Y](k)||k;return k}function r(v,k,G){let W=k-1,Y=-1,we=!1,et,Oe,Lt,Mt;for(;++W<=G;){let ye=v[W];switch(ye[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{ye[0]==="enter"?Y++:Y--,Mt=void 0;break}case"lineEndingBlank":{ye[0]==="enter"&&(et&&!Mt&&!Y&&!Lt&&(Lt=W),Mt=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:Mt=void 0}if(!Y&&ye[0]==="enter"&&ye[1].type==="listItemPrefix"||Y===-1&&ye[0]==="exit"&&(ye[1].type==="listUnordered"||ye[1].type==="listOrdered")){if(et){let pt=W;for(Oe=void 0;pt--;){let Be=v[pt];if(Be[1].type==="lineEnding"||Be[1].type==="lineEndingBlank"){if(Be[0]==="exit")continue;Oe&&(v[Oe][1].type="lineEndingBlank",we=!0),Be[1].type="lineEnding",Oe=pt}else if(!(Be[1].type==="linePrefix"||Be[1].type==="blockQuotePrefix"||Be[1].type==="blockQuotePrefixWhitespace"||Be[1].type==="blockQuoteMarker"||Be[1].type==="listItemIndent"))break}Lt&&(!Oe||Lt<Oe)&&(et._spread=!0),et.end=Object.assign({},Oe?v[Oe][1].start:ye[1].end),v.splice(Oe||W,0,["exit",et,ye[2]]),W++,G++}if(ye[1].type==="listItemPrefix"){let pt={type:"listItem",_spread:!1,start:Object.assign({},ye[1].start),end:void 0};et=pt,v.splice(W,0,["enter",pt,ye[2]]),W++,G++,Lt=void 0,Mt=!0}}}return v[k][1]._spread=we,G}function a(v,k){return G;function G(W){s.call(this,v(W),W),k&&k.call(this,W)}}function o(){this.stack.push({type:"fragment",children:[]})}function s(v,k,G){this.stack[this.stack.length-1].children.push(v),this.stack.push(v),this.tokenStack.push([k,G]),v.position={start:$e(k.start),end:void 0}}function l(v){return k;function k(G){v&&v.call(this,G),c.call(this,G)}}function c(v,k){let G=this.stack.pop(),W=this.tokenStack.pop();if(W)W[0].type!==v.type&&(k?k.call(this,v,W[0]):(W[1]||Ns).call(this,v,W[0]));else throw new Error("Cannot close `"+v.type+"` ("+Ze({start:v.start,end:v.end})+"): it\u2019s not open");G.position.end=$e(v.end)}function u(){return Rr(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function m(v){if(this.data.expectingFirstListItemValue){let k=this.stack[this.stack.length-2];k.start=Number.parseInt(this.sliceSerialize(v),10),this.data.expectingFirstListItemValue=void 0}}function p(){let v=this.resume(),k=this.stack[this.stack.length-1];k.lang=v}function f(){let v=this.resume(),k=this.stack[this.stack.length-1];k.meta=v}function _(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function E(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function y(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v.replace(/(\r?\n|\r)$/g,"")}function T(v){let k=this.resume(),G=this.stack[this.stack.length-1];G.label=k,G.identifier=Ue(this.sliceSerialize(v)).toLowerCase()}function S(){let v=this.resume(),k=this.stack[this.stack.length-1];k.title=v}function N(){let v=this.resume(),k=this.stack[this.stack.length-1];k.url=v}function L(v){let k=this.stack[this.stack.length-1];if(!k.depth){let G=this.sliceSerialize(v).length;k.depth=G}}function b(){this.data.setextHeadingSlurpLineEnding=!0}function I(v){let k=this.stack[this.stack.length-1];k.depth=this.sliceSerialize(v).codePointAt(0)===61?1:2}function D(){this.data.setextHeadingSlurpLineEnding=void 0}function P(v){let G=this.stack[this.stack.length-1].children,W=G[G.length-1];(!W||W.type!=="text")&&(W=Zl(),W.position={start:$e(v.start),end:void 0},G.push(W)),this.stack.push(W)}function M(v){let k=this.stack.pop();k.value+=this.sliceSerialize(v),k.position.end=$e(v.end)}function H(v){let k=this.stack[this.stack.length-1];if(this.data.atHardBreak){let G=k.children[k.children.length-1];G.position.end=$e(v.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&n.canContainEols.includes(k.type)&&(P.call(this,v),M.call(this,v))}function R(){this.data.atHardBreak=!0}function w(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v}function x(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v}function O(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v}function j(){let v=this.stack[this.stack.length-1];if(this.data.inReference){let k=this.data.referenceType||"shortcut";v.type+="Reference",v.referenceType=k,delete v.url,delete v.title}else delete v.identifier,delete v.label;this.data.referenceType=void 0}function X(){let v=this.stack[this.stack.length-1];if(this.data.inReference){let k=this.data.referenceType||"shortcut";v.type+="Reference",v.referenceType=k,delete v.url,delete v.title}else delete v.identifier,delete v.label;this.data.referenceType=void 0}function re(v){let k=this.sliceSerialize(v),G=this.stack[this.stack.length-2];G.label=Rs(k),G.identifier=Ue(k).toLowerCase()}function ie(){let v=this.stack[this.stack.length-1],k=this.resume(),G=this.stack[this.stack.length-1];if(this.data.inReference=!0,G.type==="link"){let W=v.children;G.children=W}else G.alt=k}function g(){let v=this.resume(),k=this.stack[this.stack.length-1];k.url=v}function Se(){let v=this.resume(),k=this.stack[this.stack.length-1];k.title=v}function Me(){this.data.inReference=void 0}function h(){this.data.referenceType="collapsed"}function fe(v){let k=this.resume(),G=this.stack[this.stack.length-1];G.label=k,G.identifier=Ue(this.sliceSerialize(v)).toLowerCase(),this.data.referenceType="full"}function Qe(v){this.data.characterReferenceType=v.type}function Pi(v){let k=this.sliceSerialize(v),G=this.data.characterReferenceType,W;G?(W=Kn(k,G==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):W=kt(k);let Y=this.stack.pop();Y.value+=W,Y.position.end=$e(v.end)}function dn(v){M.call(this,v);let k=this.stack[this.stack.length-1];k.url=this.sliceSerialize(v)}function se(v){M.call(this,v);let k=this.stack[this.stack.length-1];k.url="mailto:"+this.sliceSerialize(v)}function Nt(){return{type:"blockquote",children:[]}}function Re(){return{type:"code",lang:null,meta:null,value:""}}function ut(){return{type:"inlineCode",value:""}}function dt(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function Di(){return{type:"emphasis",children:[]}}function ga(){return{type:"heading",depth:0,children:[]}}function ha(){return{type:"break"}}function fa(){return{type:"html",value:""}}function Kl(){return{type:"image",title:null,url:"",alt:null}}function ya(){return{type:"link",title:null,url:"",children:[]}}function ba(v){return{type:"list",ordered:v.type==="listOrdered",start:null,spread:v._spread,children:[]}}function Xl(v){return{type:"listItem",spread:v._spread,checked:null,children:[]}}function Yl(){return{type:"paragraph",children:[]}}function Jl(){return{type:"strong",children:[]}}function Zl(){return{type:"text",value:""}}function $l(){return{type:"thematicBreak"}}}function $e(e){return{line:e.line,column:e.column,offset:e.offset}}function Ms(e,n){let t=-1;for(;++t<n.length;){let i=n[t];Array.isArray(i)?Ms(e,i):Dm(e,i)}}function Dm(e,n){let t;for(t in n)if(Ls.call(n,t))switch(t){case"canContainEols":{let i=n[t];i&&e[t].push(...i);break}case"transforms":{let i=n[t];i&&e[t].push(...i);break}case"enter":case"exit":{let i=n[t];i&&Object.assign(e[t],i);break}}}function Ns(e,n){throw e?new Error("Cannot close `"+e.type+"` ("+Ze({start:e.start,end:e.end})+"): a different token (`"+n.type+"`, "+Ze({start:n.start,end:n.end})+") is open"):new Error("Cannot close document, a token (`"+n.type+"`, "+Ze({start:n.start,end:n.end})+") is still open")}function ri(e){let n=this;n.parser=t;function t(i){return Xr(i,{...n.data("settings"),...e,extensions:n.data("micromarkExtensions")||[],mdastExtensions:n.data("fromMarkdownExtensions")||[]})}}function Os(e,n){let t={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(n),!0)};return e.patch(n,t),e.applyData(n,t)}function Bs(e,n){let t={type:"element",tagName:"br",properties:{},children:[]};return e.patch(n,t),[e.applyData(n,t),{type:"text",value:`
3437
+ `;break}case-2:{o=n?" ":" ";break}case-1:{if(!n&&r)continue;o=" ";break}default:o=String.fromCharCode(a)}r=a===-2,i.push(o)}return i.join("")}var Vr={};va(Vr,{attentionMarkers:()=>Am,contentInitial:()=>Sm,disable:()=>xm,document:()=>_m,flow:()=>Cm,flowInitial:()=>Em,insideSpan:()=>Tm,string:()=>km,text:()=>wm});var _m={42:pe,43:pe,45:pe,48:pe,49:pe,50:pe,51:pe,52:pe,53:pe,54:pe,55:pe,56:pe,57:pe,62:Yn},Sm={91:Mr},Em={[-2]:en,[-1]:en,32:en},Cm={35:Br,42:st,45:[ri,st],60:Gr,61:ri,95:st,96:$n,126:$n},km={38:Zn,92:Jn},wm={[-5]:nn,[-4]:nn,[-3]:nn,33:Ur,38:Zn,42:Qt,60:[Dr,zr],91:Hr,92:[Or,Jn],93:ot,95:Qt,96:Lr},Tm={null:[Qt,Cs]},Am={null:[42,95]},xm={null:[]};function Wr(e){let t=us([Vr,...(e||{}).extensions||[]]),i={defined:[],lazy:{},constructs:t,content:r(fs),document:r(bs),flow:r(Es),string:r(ks),text:r(ws)};return i;function r(a){return o;function o(s){return xs(i,a,s)}}}function jr(e){for(;!ei(e););return e}var Is=/[\0\t\n\r]/g;function qr(){let e=1,n="",t=!0,i;return r;function r(a,o,s){let l=[],c,u,d,m,p;for(a=n+(typeof a=="string"?a.toString():new TextDecoder(o||void 0).decode(a)),d=0,n="",t&&(a.charCodeAt(0)===65279&&d++,t=void 0);d<a.length;){if(Is.lastIndex=d,c=Is.exec(a),m=c&&c.index!==void 0?c.index:a.length,p=a.charCodeAt(m),!c){n=a.slice(d);break}if(p===10&&d===m&&i)l.push(-3),i=void 0;else switch(i&&(l.push(-5),i=void 0),d<m&&(l.push(a.slice(d,m)),e+=m-d),p){case 0:{l.push(65533),e++;break}case 9:{for(u=Math.ceil(e/4)*4,l.push(-2);e++<u;)l.push(-1);break}case 10:{l.push(-4),e=1;break}default:i=!0,e=1}d=m+1}return s&&(i&&l.push(-5),n&&l.push(n),l.push(null)),l}}var Im=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Rs(e){return e.replace(Im,Rm)}function Rm(e,n,t){if(n)return n;if(t.charCodeAt(0)===35){let r=t.charCodeAt(1),a=r===120||r===88;return Xn(t.slice(a?2:1),a?16:10)}return kt(t)||e}function Ze(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Ps(e.position):"start"in e||"end"in e?Ps(e):"line"in e||"column"in e?Kr(e):""}function Kr(e){return Ds(e&&e.line)+":"+Ds(e&&e.column)}function Ps(e){return Kr(e&&e.start)+"-"+Kr(e&&e.end)}function Ds(e){return e&&typeof e=="number"?e:1}var Ns={}.hasOwnProperty;function Xr(e,n,t){return typeof n!="string"&&(t=n,n=void 0),Pm(t)(jr(Wr(t).document().write(qr()(e,n,!0))))}function Pm(e){let n={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(ya),autolinkProtocol:P,autolinkEmail:P,atxHeading:a(ga),blockQuote:a(Lt),characterEscape:P,characterReference:P,codeFenced:a(Re),codeFencedFenceInfo:o,codeFencedFenceMeta:o,codeIndented:a(Re,o),codeText:a(ut,o),codeTextData:P,data:P,codeFlowValue:P,definition:a(dt),definitionDestinationString:o,definitionLabelString:o,definitionTitleString:o,emphasis:a(Di),hardBreakEscape:a(ha),hardBreakTrailing:a(ha),htmlFlow:a(fa,o),htmlFlowData:P,htmlText:a(fa,o),htmlTextData:P,image:a(Kl),label:o,link:a(ya),listItem:a(Xl),listItemValue:m,listOrdered:a(ba,d),listUnordered:a(ba),paragraph:a(Yl),reference:h,referenceString:o,resourceDestinationString:o,resourceTitleString:o,setextHeading:a(ga),strong:a(Jl),thematicBreak:a($l)},exit:{atxHeading:l(),atxHeadingSequence:N,autolink:l(),autolinkEmail:se,autolinkProtocol:pn,blockQuote:l(),characterEscapeValue:M,characterReferenceMarkerHexadecimal:Qe,characterReferenceMarkerNumeric:Qe,characterReferenceValue:Pi,codeFenced:l(E),codeFencedFence:_,codeFencedFenceInfo:p,codeFencedFenceMeta:f,codeFlowValue:M,codeIndented:l(y),codeText:l(O),codeTextData:M,data:M,definition:l(),definitionDestinationString:L,definitionLabelString:T,definitionTitleString:S,emphasis:l(),hardBreakEscape:l(R),hardBreakTrailing:l(R),htmlFlow:l(w),htmlFlowData:M,htmlText:l(x),htmlTextData:M,image:l(X),label:ie,labelText:re,lineEnding:H,link:l(j),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:fe,resourceDestinationString:g,resourceTitleString:Se,resource:Me,setextHeading:l(D),setextHeadingLineSequence:I,setextHeadingText:b,strong:l(),thematicBreak:l()}};Ms(n,(e||{}).mdastExtensions||[]);let t={};return i;function i(v){let k={type:"root",children:[]},G={stack:[k],tokenStack:[],config:n,enter:s,exit:c,buffer:o,resume:u,data:t},W=[],Y=-1;for(;++Y<v.length;)if(v[Y][1].type==="listOrdered"||v[Y][1].type==="listUnordered")if(v[Y][0]==="enter")W.push(Y);else{let we=W.pop();Y=r(v,we,Y)}for(Y=-1;++Y<v.length;){let we=n[v[Y][0]];Ns.call(we,v[Y][1].type)&&we[v[Y][1].type].call(Object.assign({sliceSerialize:v[Y][2].sliceSerialize},G),v[Y][1])}if(G.tokenStack.length>0){let we=G.tokenStack[G.tokenStack.length-1];(we[1]||Ls).call(G,void 0,we[0])}for(k.position={start:$e(v.length>0?v[0][1].start:{line:1,column:1,offset:0}),end:$e(v.length>0?v[v.length-2][1].end:{line:1,column:1,offset:0})},Y=-1;++Y<n.transforms.length;)k=n.transforms[Y](k)||k;return k}function r(v,k,G){let W=k-1,Y=-1,we=!1,et,Oe,Nt,Mt;for(;++W<=G;){let ye=v[W];switch(ye[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{ye[0]==="enter"?Y++:Y--,Mt=void 0;break}case"lineEndingBlank":{ye[0]==="enter"&&(et&&!Mt&&!Y&&!Nt&&(Nt=W),Mt=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:Mt=void 0}if(!Y&&ye[0]==="enter"&&ye[1].type==="listItemPrefix"||Y===-1&&ye[0]==="exit"&&(ye[1].type==="listUnordered"||ye[1].type==="listOrdered")){if(et){let pt=W;for(Oe=void 0;pt--;){let Be=v[pt];if(Be[1].type==="lineEnding"||Be[1].type==="lineEndingBlank"){if(Be[0]==="exit")continue;Oe&&(v[Oe][1].type="lineEndingBlank",we=!0),Be[1].type="lineEnding",Oe=pt}else if(!(Be[1].type==="linePrefix"||Be[1].type==="blockQuotePrefix"||Be[1].type==="blockQuotePrefixWhitespace"||Be[1].type==="blockQuoteMarker"||Be[1].type==="listItemIndent"))break}Nt&&(!Oe||Nt<Oe)&&(et._spread=!0),et.end=Object.assign({},Oe?v[Oe][1].start:ye[1].end),v.splice(Oe||W,0,["exit",et,ye[2]]),W++,G++}if(ye[1].type==="listItemPrefix"){let pt={type:"listItem",_spread:!1,start:Object.assign({},ye[1].start),end:void 0};et=pt,v.splice(W,0,["enter",pt,ye[2]]),W++,G++,Nt=void 0,Mt=!0}}}return v[k][1]._spread=we,G}function a(v,k){return G;function G(W){s.call(this,v(W),W),k&&k.call(this,W)}}function o(){this.stack.push({type:"fragment",children:[]})}function s(v,k,G){this.stack[this.stack.length-1].children.push(v),this.stack.push(v),this.tokenStack.push([k,G]),v.position={start:$e(k.start),end:void 0}}function l(v){return k;function k(G){v&&v.call(this,G),c.call(this,G)}}function c(v,k){let G=this.stack.pop(),W=this.tokenStack.pop();if(W)W[0].type!==v.type&&(k?k.call(this,v,W[0]):(W[1]||Ls).call(this,v,W[0]));else throw new Error("Cannot close `"+v.type+"` ("+Ze({start:v.start,end:v.end})+"): it\u2019s not open");G.position.end=$e(v.end)}function u(){return Rr(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function m(v){if(this.data.expectingFirstListItemValue){let k=this.stack[this.stack.length-2];k.start=Number.parseInt(this.sliceSerialize(v),10),this.data.expectingFirstListItemValue=void 0}}function p(){let v=this.resume(),k=this.stack[this.stack.length-1];k.lang=v}function f(){let v=this.resume(),k=this.stack[this.stack.length-1];k.meta=v}function _(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function E(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function y(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v.replace(/(\r?\n|\r)$/g,"")}function T(v){let k=this.resume(),G=this.stack[this.stack.length-1];G.label=k,G.identifier=Ue(this.sliceSerialize(v)).toLowerCase()}function S(){let v=this.resume(),k=this.stack[this.stack.length-1];k.title=v}function L(){let v=this.resume(),k=this.stack[this.stack.length-1];k.url=v}function N(v){let k=this.stack[this.stack.length-1];if(!k.depth){let G=this.sliceSerialize(v).length;k.depth=G}}function b(){this.data.setextHeadingSlurpLineEnding=!0}function I(v){let k=this.stack[this.stack.length-1];k.depth=this.sliceSerialize(v).codePointAt(0)===61?1:2}function D(){this.data.setextHeadingSlurpLineEnding=void 0}function P(v){let G=this.stack[this.stack.length-1].children,W=G[G.length-1];(!W||W.type!=="text")&&(W=Zl(),W.position={start:$e(v.start),end:void 0},G.push(W)),this.stack.push(W)}function M(v){let k=this.stack.pop();k.value+=this.sliceSerialize(v),k.position.end=$e(v.end)}function H(v){let k=this.stack[this.stack.length-1];if(this.data.atHardBreak){let G=k.children[k.children.length-1];G.position.end=$e(v.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&n.canContainEols.includes(k.type)&&(P.call(this,v),M.call(this,v))}function R(){this.data.atHardBreak=!0}function w(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v}function x(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v}function O(){let v=this.resume(),k=this.stack[this.stack.length-1];k.value=v}function j(){let v=this.stack[this.stack.length-1];if(this.data.inReference){let k=this.data.referenceType||"shortcut";v.type+="Reference",v.referenceType=k,delete v.url,delete v.title}else delete v.identifier,delete v.label;this.data.referenceType=void 0}function X(){let v=this.stack[this.stack.length-1];if(this.data.inReference){let k=this.data.referenceType||"shortcut";v.type+="Reference",v.referenceType=k,delete v.url,delete v.title}else delete v.identifier,delete v.label;this.data.referenceType=void 0}function re(v){let k=this.sliceSerialize(v),G=this.stack[this.stack.length-2];G.label=Rs(k),G.identifier=Ue(k).toLowerCase()}function ie(){let v=this.stack[this.stack.length-1],k=this.resume(),G=this.stack[this.stack.length-1];if(this.data.inReference=!0,G.type==="link"){let W=v.children;G.children=W}else G.alt=k}function g(){let v=this.resume(),k=this.stack[this.stack.length-1];k.url=v}function Se(){let v=this.resume(),k=this.stack[this.stack.length-1];k.title=v}function Me(){this.data.inReference=void 0}function h(){this.data.referenceType="collapsed"}function fe(v){let k=this.resume(),G=this.stack[this.stack.length-1];G.label=k,G.identifier=Ue(this.sliceSerialize(v)).toLowerCase(),this.data.referenceType="full"}function Qe(v){this.data.characterReferenceType=v.type}function Pi(v){let k=this.sliceSerialize(v),G=this.data.characterReferenceType,W;G?(W=Xn(k,G==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):W=kt(k);let Y=this.stack.pop();Y.value+=W,Y.position.end=$e(v.end)}function pn(v){M.call(this,v);let k=this.stack[this.stack.length-1];k.url=this.sliceSerialize(v)}function se(v){M.call(this,v);let k=this.stack[this.stack.length-1];k.url="mailto:"+this.sliceSerialize(v)}function Lt(){return{type:"blockquote",children:[]}}function Re(){return{type:"code",lang:null,meta:null,value:""}}function ut(){return{type:"inlineCode",value:""}}function dt(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function Di(){return{type:"emphasis",children:[]}}function ga(){return{type:"heading",depth:0,children:[]}}function ha(){return{type:"break"}}function fa(){return{type:"html",value:""}}function Kl(){return{type:"image",title:null,url:"",alt:null}}function ya(){return{type:"link",title:null,url:"",children:[]}}function ba(v){return{type:"list",ordered:v.type==="listOrdered",start:null,spread:v._spread,children:[]}}function Xl(v){return{type:"listItem",spread:v._spread,checked:null,children:[]}}function Yl(){return{type:"paragraph",children:[]}}function Jl(){return{type:"strong",children:[]}}function Zl(){return{type:"text",value:""}}function $l(){return{type:"thematicBreak"}}}function $e(e){return{line:e.line,column:e.column,offset:e.offset}}function Ms(e,n){let t=-1;for(;++t<n.length;){let i=n[t];Array.isArray(i)?Ms(e,i):Dm(e,i)}}function Dm(e,n){let t;for(t in n)if(Ns.call(n,t))switch(t){case"canContainEols":{let i=n[t];i&&e[t].push(...i);break}case"transforms":{let i=n[t];i&&e[t].push(...i);break}case"enter":case"exit":{let i=n[t];i&&Object.assign(e[t],i);break}}}function Ls(e,n){throw e?new Error("Cannot close `"+e.type+"` ("+Ze({start:e.start,end:e.end})+"): a different token (`"+n.type+"`, "+Ze({start:n.start,end:n.end})+") is open"):new Error("Cannot close document, a token (`"+n.type+"`, "+Ze({start:n.start,end:n.end})+") is still open")}function ai(e){let n=this;n.parser=t;function t(i){return Xr(i,{...n.data("settings"),...e,extensions:n.data("micromarkExtensions")||[],mdastExtensions:n.data("fromMarkdownExtensions")||[]})}}function Os(e,n){let t={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(n),!0)};return e.patch(n,t),e.applyData(n,t)}function Bs(e,n){let t={type:"element",tagName:"br",properties:{},children:[]};return e.patch(n,t),[e.applyData(n,t),{type:"text",value:`
3437
3438
  `}]}function Fs(e,n){let t=n.value?n.value+`
3438
- `:"",i={};n.lang&&(i.className=["language-"+n.lang]);let r={type:"element",tagName:"code",properties:i,children:[{type:"text",value:t}]};return n.meta&&(r.data={meta:n.meta}),e.patch(n,r),r=e.applyData(n,r),r={type:"element",tagName:"pre",properties:{},children:[r]},e.patch(n,r),r}function Gs(e,n){let t={type:"element",tagName:"del",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function zs(e,n){let t={type:"element",tagName:"em",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function Us(e,n){let t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=String(n.identifier).toUpperCase(),r=ke(i.toLowerCase()),a=e.footnoteOrder.indexOf(i),o,s=e.footnoteCounts.get(i);s===void 0?(s=0,e.footnoteOrder.push(i),o=e.footnoteOrder.length):o=a+1,s+=1,e.footnoteCounts.set(i,s);let l={type:"element",tagName:"a",properties:{href:"#"+t+"fn-"+r,id:t+"fnref-"+r+(s>1?"-"+s:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(o)}]};e.patch(n,l);let c={type:"element",tagName:"sup",properties:{},children:[l]};return e.patch(n,c),e.applyData(n,c)}function Hs(e,n){let t={type:"element",tagName:"h"+n.depth,properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function Vs(e,n){if(e.options.allowDangerousHtml){let t={type:"raw",value:n.value};return e.patch(n,t),e.applyData(n,t)}}function ai(e,n){let t=n.referenceType,i="]";if(t==="collapsed"?i+="[]":t==="full"&&(i+="["+(n.label||n.identifier)+"]"),n.type==="imageReference")return[{type:"text",value:"!["+n.alt+i}];let r=e.all(n),a=r[0];a&&a.type==="text"?a.value="["+a.value:r.unshift({type:"text",value:"["});let o=r[r.length-1];return o&&o.type==="text"?o.value+=i:r.push({type:"text",value:i}),r}function Ws(e,n){let t=String(n.identifier).toUpperCase(),i=e.definitionById.get(t);if(!i)return ai(e,n);let r={src:ke(i.url||""),alt:n.alt};i.title!==null&&i.title!==void 0&&(r.title=i.title);let a={type:"element",tagName:"img",properties:r,children:[]};return e.patch(n,a),e.applyData(n,a)}function js(e,n){let t={src:ke(n.url)};n.alt!==null&&n.alt!==void 0&&(t.alt=n.alt),n.title!==null&&n.title!==void 0&&(t.title=n.title);let i={type:"element",tagName:"img",properties:t,children:[]};return e.patch(n,i),e.applyData(n,i)}function qs(e,n){let t={type:"text",value:n.value.replace(/\r?\n|\r/g," ")};e.patch(n,t);let i={type:"element",tagName:"code",properties:{},children:[t]};return e.patch(n,i),e.applyData(n,i)}function Ks(e,n){let t=String(n.identifier).toUpperCase(),i=e.definitionById.get(t);if(!i)return ai(e,n);let r={href:ke(i.url||"")};i.title!==null&&i.title!==void 0&&(r.title=i.title);let a={type:"element",tagName:"a",properties:r,children:e.all(n)};return e.patch(n,a),e.applyData(n,a)}function Xs(e,n){let t={href:ke(n.url)};n.title!==null&&n.title!==void 0&&(t.title=n.title);let i={type:"element",tagName:"a",properties:t,children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function Ys(e,n,t){let i=e.all(n),r=t?Nm(t):Js(n),a={},o=[];if(typeof n.checked=="boolean"){let u=i[0],d;u&&u.type==="element"&&u.tagName==="p"?d=u:(d={type:"element",tagName:"p",properties:{},children:[]},i.unshift(d)),d.children.length>0&&d.children.unshift({type:"text",value:" "}),d.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:n.checked,disabled:!0},children:[]}),a.className=["task-list-item"]}let s=-1;for(;++s<i.length;){let u=i[s];(r||s!==0||u.type!=="element"||u.tagName!=="p")&&o.push({type:"text",value:`
3439
+ `:"",i={};n.lang&&(i.className=["language-"+n.lang]);let r={type:"element",tagName:"code",properties:i,children:[{type:"text",value:t}]};return n.meta&&(r.data={meta:n.meta}),e.patch(n,r),r=e.applyData(n,r),r={type:"element",tagName:"pre",properties:{},children:[r]},e.patch(n,r),r}function Gs(e,n){let t={type:"element",tagName:"del",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function zs(e,n){let t={type:"element",tagName:"em",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function Us(e,n){let t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=String(n.identifier).toUpperCase(),r=ke(i.toLowerCase()),a=e.footnoteOrder.indexOf(i),o,s=e.footnoteCounts.get(i);s===void 0?(s=0,e.footnoteOrder.push(i),o=e.footnoteOrder.length):o=a+1,s+=1,e.footnoteCounts.set(i,s);let l={type:"element",tagName:"a",properties:{href:"#"+t+"fn-"+r,id:t+"fnref-"+r+(s>1?"-"+s:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(o)}]};e.patch(n,l);let c={type:"element",tagName:"sup",properties:{},children:[l]};return e.patch(n,c),e.applyData(n,c)}function Hs(e,n){let t={type:"element",tagName:"h"+n.depth,properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function Vs(e,n){if(e.options.allowDangerousHtml){let t={type:"raw",value:n.value};return e.patch(n,t),e.applyData(n,t)}}function oi(e,n){let t=n.referenceType,i="]";if(t==="collapsed"?i+="[]":t==="full"&&(i+="["+(n.label||n.identifier)+"]"),n.type==="imageReference")return[{type:"text",value:"!["+n.alt+i}];let r=e.all(n),a=r[0];a&&a.type==="text"?a.value="["+a.value:r.unshift({type:"text",value:"["});let o=r[r.length-1];return o&&o.type==="text"?o.value+=i:r.push({type:"text",value:i}),r}function Ws(e,n){let t=String(n.identifier).toUpperCase(),i=e.definitionById.get(t);if(!i)return oi(e,n);let r={src:ke(i.url||""),alt:n.alt};i.title!==null&&i.title!==void 0&&(r.title=i.title);let a={type:"element",tagName:"img",properties:r,children:[]};return e.patch(n,a),e.applyData(n,a)}function js(e,n){let t={src:ke(n.url)};n.alt!==null&&n.alt!==void 0&&(t.alt=n.alt),n.title!==null&&n.title!==void 0&&(t.title=n.title);let i={type:"element",tagName:"img",properties:t,children:[]};return e.patch(n,i),e.applyData(n,i)}function qs(e,n){let t={type:"text",value:n.value.replace(/\r?\n|\r/g," ")};e.patch(n,t);let i={type:"element",tagName:"code",properties:{},children:[t]};return e.patch(n,i),e.applyData(n,i)}function Ks(e,n){let t=String(n.identifier).toUpperCase(),i=e.definitionById.get(t);if(!i)return oi(e,n);let r={href:ke(i.url||"")};i.title!==null&&i.title!==void 0&&(r.title=i.title);let a={type:"element",tagName:"a",properties:r,children:e.all(n)};return e.patch(n,a),e.applyData(n,a)}function Xs(e,n){let t={href:ke(n.url)};n.title!==null&&n.title!==void 0&&(t.title=n.title);let i={type:"element",tagName:"a",properties:t,children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function Ys(e,n,t){let i=e.all(n),r=t?Lm(t):Js(n),a={},o=[];if(typeof n.checked=="boolean"){let u=i[0],d;u&&u.type==="element"&&u.tagName==="p"?d=u:(d={type:"element",tagName:"p",properties:{},children:[]},i.unshift(d)),d.children.length>0&&d.children.unshift({type:"text",value:" "}),d.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:n.checked,disabled:!0},children:[]}),a.className=["task-list-item"]}let s=-1;for(;++s<i.length;){let u=i[s];(r||s!==0||u.type!=="element"||u.tagName!=="p")&&o.push({type:"text",value:`
3439
3440
  `}),u.type==="element"&&u.tagName==="p"&&!r?o.push(...u.children):o.push(u)}let l=i[i.length-1];l&&(r||l.type!=="element"||l.tagName!=="p")&&o.push({type:"text",value:`
3440
- `});let c={type:"element",tagName:"li",properties:a,children:o};return e.patch(n,c),e.applyData(n,c)}function Nm(e){let n=!1;if(e.type==="list"){n=e.spread||!1;let t=e.children,i=-1;for(;!n&&++i<t.length;)n=Js(t[i])}return n}function Js(e){let n=e.spread;return n??e.children.length>1}function Zs(e,n){let t={},i=e.all(n),r=-1;for(typeof n.start=="number"&&n.start!==1&&(t.start=n.start);++r<i.length;){let o=i[r];if(o.type==="element"&&o.tagName==="li"&&o.properties&&Array.isArray(o.properties.className)&&o.properties.className.includes("task-list-item")){t.className=["contains-task-list"];break}}let a={type:"element",tagName:n.ordered?"ol":"ul",properties:t,children:e.wrap(i,!0)};return e.patch(n,a),e.applyData(n,a)}function $s(e,n){let t={type:"element",tagName:"p",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function Qs(e,n){let t={type:"root",children:e.wrap(e.all(n))};return e.patch(n,t),e.applyData(n,t)}function el(e,n){let t={type:"element",tagName:"strong",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}var oi=tl("end"),si=tl("start");function tl(e){return n;function n(t){let i=t&&t.position&&t.position[e]||{};if(typeof i.line=="number"&&i.line>0&&typeof i.column=="number"&&i.column>0)return{line:i.line,column:i.column,offset:typeof i.offset=="number"&&i.offset>-1?i.offset:void 0}}}function Yr(e){let n=si(e),t=oi(e);if(n&&t)return{start:n,end:t}}function nl(e,n){let t=e.all(n),i=t.shift(),r=[];if(i){let o={type:"element",tagName:"thead",properties:{},children:e.wrap([i],!0)};e.patch(n.children[0],o),r.push(o)}if(t.length>0){let o={type:"element",tagName:"tbody",properties:{},children:e.wrap(t,!0)},s=si(n.children[1]),l=oi(n.children[n.children.length-1]);s&&l&&(o.position={start:s,end:l}),r.push(o)}let a={type:"element",tagName:"table",properties:{},children:e.wrap(r,!0)};return e.patch(n,a),e.applyData(n,a)}function il(e,n,t){let i=t?t.children:void 0,a=(i?i.indexOf(n):1)===0?"th":"td",o=t&&t.type==="table"?t.align:void 0,s=o?o.length:n.children.length,l=-1,c=[];for(;++l<s;){let d=n.children[l],m={},p=o?o[l]:void 0;p&&(m.align=p);let f={type:"element",tagName:a,properties:m,children:[]};d&&(f.children=e.all(d),e.patch(d,f),f=e.applyData(d,f)),c.push(f)}let u={type:"element",tagName:"tr",properties:{},children:e.wrap(c,!0)};return e.patch(n,u),e.applyData(n,u)}function rl(e,n){let t={type:"element",tagName:"td",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function ol(e){let n=String(e),t=/\r?\n|\r/g,i=t.exec(n),r=0,a=[];for(;i;)a.push(al(n.slice(r,i.index),r>0,!0),i[0]),r=i.index+i[0].length,i=t.exec(n);return a.push(al(n.slice(r),r>0,!1)),a.join("")}function al(e,n,t){let i=0,r=e.length;if(n){let a=e.codePointAt(i);for(;a===9||a===32;)i++,a=e.codePointAt(i)}if(t){let a=e.codePointAt(r-1);for(;a===9||a===32;)r--,a=e.codePointAt(r-1)}return r>i?e.slice(i,r):""}function sl(e,n){let t={type:"text",value:ol(String(n.value))};return e.patch(n,t),e.applyData(n,t)}function ll(e,n){let t={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(n,t),e.applyData(n,t)}var cl={blockquote:Os,break:Bs,code:Fs,delete:Gs,emphasis:zs,footnoteReference:Us,heading:Hs,html:Vs,imageReference:Ws,image:js,inlineCode:qs,linkReference:Ks,link:Xs,listItem:Ys,list:Zs,paragraph:$s,root:Qs,strong:el,table:nl,tableCell:rl,tableRow:il,text:sl,thematicBreak:ll,toml:li,yaml:li,definition:li,footnoteDefinition:li};function li(){}function Lm(e,n){let t=[{type:"text",value:"\u21A9"}];return n>1&&t.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(n)}]}),t}function Mm(e,n){return"Back to reference "+(e+1)+(n>1?"-"+n:"")}function ul(e){let n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",t=e.options.footnoteBackContent||Lm,i=e.options.footnoteBackLabel||Mm,r=e.options.footnoteLabel||"Footnotes",a=e.options.footnoteLabelTagName||"h2",o=e.options.footnoteLabelProperties||{className:["sr-only"]},s=[],l=-1;for(;++l<e.footnoteOrder.length;){let c=e.footnoteById.get(e.footnoteOrder[l]);if(!c)continue;let u=e.all(c),d=String(c.identifier).toUpperCase(),m=ke(d.toLowerCase()),p=0,f=[],_=e.footnoteCounts.get(d);for(;_!==void 0&&++p<=_;){f.length>0&&f.push({type:"text",value:" "});let T=typeof t=="string"?t:t(l,p);typeof T=="string"&&(T={type:"text",value:T}),f.push({type:"element",tagName:"a",properties:{href:"#"+n+"fnref-"+m+(p>1?"-"+p:""),dataFootnoteBackref:"",ariaLabel:typeof i=="string"?i:i(l,p),className:["data-footnote-backref"]},children:Array.isArray(T)?T:[T]})}let E=u[u.length-1];if(E&&E.type==="element"&&E.tagName==="p"){let T=E.children[E.children.length-1];T&&T.type==="text"?T.value+=" ":E.children.push({type:"text",value:" "}),E.children.push(...f)}else u.push(...f);let y={type:"element",tagName:"li",properties:{id:n+"fn-"+m},children:e.wrap(u,!0)};e.patch(c,y),s.push(y)}if(s.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:a,properties:{...Pe(o),id:"footnote-label"},children:[{type:"text",value:r}]},{type:"text",value:`
3441
+ `});let c={type:"element",tagName:"li",properties:a,children:o};return e.patch(n,c),e.applyData(n,c)}function Lm(e){let n=!1;if(e.type==="list"){n=e.spread||!1;let t=e.children,i=-1;for(;!n&&++i<t.length;)n=Js(t[i])}return n}function Js(e){let n=e.spread;return n??e.children.length>1}function Zs(e,n){let t={},i=e.all(n),r=-1;for(typeof n.start=="number"&&n.start!==1&&(t.start=n.start);++r<i.length;){let o=i[r];if(o.type==="element"&&o.tagName==="li"&&o.properties&&Array.isArray(o.properties.className)&&o.properties.className.includes("task-list-item")){t.className=["contains-task-list"];break}}let a={type:"element",tagName:n.ordered?"ol":"ul",properties:t,children:e.wrap(i,!0)};return e.patch(n,a),e.applyData(n,a)}function $s(e,n){let t={type:"element",tagName:"p",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function Qs(e,n){let t={type:"root",children:e.wrap(e.all(n))};return e.patch(n,t),e.applyData(n,t)}function el(e,n){let t={type:"element",tagName:"strong",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}var si=tl("end"),li=tl("start");function tl(e){return n;function n(t){let i=t&&t.position&&t.position[e]||{};if(typeof i.line=="number"&&i.line>0&&typeof i.column=="number"&&i.column>0)return{line:i.line,column:i.column,offset:typeof i.offset=="number"&&i.offset>-1?i.offset:void 0}}}function Yr(e){let n=li(e),t=si(e);if(n&&t)return{start:n,end:t}}function nl(e,n){let t=e.all(n),i=t.shift(),r=[];if(i){let o={type:"element",tagName:"thead",properties:{},children:e.wrap([i],!0)};e.patch(n.children[0],o),r.push(o)}if(t.length>0){let o={type:"element",tagName:"tbody",properties:{},children:e.wrap(t,!0)},s=li(n.children[1]),l=si(n.children[n.children.length-1]);s&&l&&(o.position={start:s,end:l}),r.push(o)}let a={type:"element",tagName:"table",properties:{},children:e.wrap(r,!0)};return e.patch(n,a),e.applyData(n,a)}function il(e,n,t){let i=t?t.children:void 0,a=(i?i.indexOf(n):1)===0?"th":"td",o=t&&t.type==="table"?t.align:void 0,s=o?o.length:n.children.length,l=-1,c=[];for(;++l<s;){let d=n.children[l],m={},p=o?o[l]:void 0;p&&(m.align=p);let f={type:"element",tagName:a,properties:m,children:[]};d&&(f.children=e.all(d),e.patch(d,f),f=e.applyData(d,f)),c.push(f)}let u={type:"element",tagName:"tr",properties:{},children:e.wrap(c,!0)};return e.patch(n,u),e.applyData(n,u)}function rl(e,n){let t={type:"element",tagName:"td",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function ol(e){let n=String(e),t=/\r?\n|\r/g,i=t.exec(n),r=0,a=[];for(;i;)a.push(al(n.slice(r,i.index),r>0,!0),i[0]),r=i.index+i[0].length,i=t.exec(n);return a.push(al(n.slice(r),r>0,!1)),a.join("")}function al(e,n,t){let i=0,r=e.length;if(n){let a=e.codePointAt(i);for(;a===9||a===32;)i++,a=e.codePointAt(i)}if(t){let a=e.codePointAt(r-1);for(;a===9||a===32;)r--,a=e.codePointAt(r-1)}return r>i?e.slice(i,r):""}function sl(e,n){let t={type:"text",value:ol(String(n.value))};return e.patch(n,t),e.applyData(n,t)}function ll(e,n){let t={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(n,t),e.applyData(n,t)}var cl={blockquote:Os,break:Bs,code:Fs,delete:Gs,emphasis:zs,footnoteReference:Us,heading:Hs,html:Vs,imageReference:Ws,image:js,inlineCode:qs,linkReference:Ks,link:Xs,listItem:Ys,list:Zs,paragraph:$s,root:Qs,strong:el,table:nl,tableCell:rl,tableRow:il,text:sl,thematicBreak:ll,toml:ci,yaml:ci,definition:ci,footnoteDefinition:ci};function ci(){}function Nm(e,n){let t=[{type:"text",value:"\u21A9"}];return n>1&&t.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(n)}]}),t}function Mm(e,n){return"Back to reference "+(e+1)+(n>1?"-"+n:"")}function ul(e){let n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",t=e.options.footnoteBackContent||Nm,i=e.options.footnoteBackLabel||Mm,r=e.options.footnoteLabel||"Footnotes",a=e.options.footnoteLabelTagName||"h2",o=e.options.footnoteLabelProperties||{className:["sr-only"]},s=[],l=-1;for(;++l<e.footnoteOrder.length;){let c=e.footnoteById.get(e.footnoteOrder[l]);if(!c)continue;let u=e.all(c),d=String(c.identifier).toUpperCase(),m=ke(d.toLowerCase()),p=0,f=[],_=e.footnoteCounts.get(d);for(;_!==void 0&&++p<=_;){f.length>0&&f.push({type:"text",value:" "});let T=typeof t=="string"?t:t(l,p);typeof T=="string"&&(T={type:"text",value:T}),f.push({type:"element",tagName:"a",properties:{href:"#"+n+"fnref-"+m+(p>1?"-"+p:""),dataFootnoteBackref:"",ariaLabel:typeof i=="string"?i:i(l,p),className:["data-footnote-backref"]},children:Array.isArray(T)?T:[T]})}let E=u[u.length-1];if(E&&E.type==="element"&&E.tagName==="p"){let T=E.children[E.children.length-1];T&&T.type==="text"?T.value+=" ":E.children.push({type:"text",value:" "}),E.children.push(...f)}else u.push(...f);let y={type:"element",tagName:"li",properties:{id:n+"fn-"+m},children:e.wrap(u,!0)};e.patch(c,y),s.push(y)}if(s.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:a,properties:{...Pe(o),id:"footnote-label"},children:[{type:"text",value:r}]},{type:"text",value:`
3441
3442
  `},{type:"element",tagName:"ol",properties:{},children:e.wrap(s,!0)},{type:"text",value:`
3442
3443
  `}]}}var Jr={}.hasOwnProperty,Om={};function pl(e,n){let t=n||Om,i=new Map,r=new Map,a=new Map,o={...cl,...t.handlers},s={all:c,applyData:Fm,definitionById:i,footnoteById:r,footnoteCounts:a,footnoteOrder:[],handlers:o,one:l,options:t,patch:Bm,wrap:zm};return qt(e,function(u){if(u.type==="definition"||u.type==="footnoteDefinition"){let d=u.type==="definition"?i:r,m=String(u.identifier).toUpperCase();d.has(m)||d.set(m,u)}}),s;function l(u,d){let m=u.type,p=s.handlers[m];if(Jr.call(s.handlers,m)&&p)return p(s,u,d);if(s.options.passThrough&&s.options.passThrough.includes(m)){if("children"in u){let{children:_,...E}=u,y=Pe(E);return y.children=s.all(u),y}return Pe(u)}return(s.options.unknownHandler||Gm)(s,u,d)}function c(u){let d=[];if("children"in u){let m=u.children,p=-1;for(;++p<m.length;){let f=s.one(m[p],u);if(f){if(p&&m[p-1].type==="break"&&(!Array.isArray(f)&&f.type==="text"&&(f.value=dl(f.value)),!Array.isArray(f)&&f.type==="element")){let _=f.children[0];_&&_.type==="text"&&(_.value=dl(_.value))}Array.isArray(f)?d.push(...f):d.push(f)}}}return d}}function Bm(e,n){e.position&&(n.position=Yr(e))}function Fm(e,n){let t=n;if(e&&e.data){let i=e.data.hName,r=e.data.hChildren,a=e.data.hProperties;if(typeof i=="string")if(t.type==="element")t.tagName=i;else{let o="children"in t?t.children:[t];t={type:"element",tagName:i,properties:{},children:o}}t.type==="element"&&a&&Object.assign(t.properties,Pe(a)),"children"in t&&t.children&&r!==null&&r!==void 0&&(t.children=r)}return t}function Gm(e,n){let t=n.data||{},i="value"in n&&!(Jr.call(t,"hProperties")||Jr.call(t,"hChildren"))?{type:"text",value:n.value}:{type:"element",tagName:"div",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function zm(e,n){let t=[],i=-1;for(n&&t.push({type:"text",value:`
3443
3444
  `});++i<e.length;)i&&t.push({type:"text",value:`
3444
3445
  `}),t.push(e[i]);return n&&e.length>0&&t.push({type:"text",value:`
3445
- `}),t}function dl(e){let n=0,t=e.charCodeAt(n);for(;t===9||t===32;)n++,t=e.charCodeAt(n);return e.slice(n)}function ci(e,n){let t=pl(e,n),i=t.one(e,void 0),r=ul(t),a=Array.isArray(i)?{type:"root",children:i}:i||{type:"root",children:[]};return r&&("children"in a,a.children.push({type:"text",value:`
3446
- `},r)),a}function ui(e,n){return e&&"run"in e?async function(t,i){let r=ci(t,{file:i,...n});await e.run(r,i)}:function(t,i){return ci(t,{file:i,...n||e})}}function Zr(e){if(e)throw e}var mi=_a(Sl(),1);function rn(e){if(typeof e!="object"||e===null)return!1;let n=Object.getPrototypeOf(e);return(n===null||n===Object.prototype||Object.getPrototypeOf(n)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function $r(){let e=[],n={run:t,use:i};return n;function t(...r){let a=-1,o=r.pop();if(typeof o!="function")throw new TypeError("Expected function as last argument, not "+o);s(null,...r);function s(l,...c){let u=e[++a],d=-1;if(l){o(l);return}for(;++d<r.length;)(c[d]===null||c[d]===void 0)&&(c[d]=r[d]);r=c,u?El(u,s)(...c):o(null,...c)}}function i(r){if(typeof r!="function")throw new TypeError("Expected `middelware` to be a function, not "+r);return e.push(r),n}}function El(e,n){let t;return i;function i(...o){let s=e.length>o.length,l;s&&o.push(r);try{l=e.apply(this,o)}catch(c){let u=c;if(s&&t)throw u;return r(u)}s||(l&&l.then&&typeof l.then=="function"?l.then(a,r):l instanceof Error?r(l):a(l))}function r(o,...s){t||(t=!0,n(o,...s))}function a(o){r(null,o)}}var oe=class extends Error{constructor(n,t,i){super(),typeof t=="string"&&(i=t,t=void 0);let r="",a={},o=!1;if(t&&("line"in t&&"column"in t?a={place:t}:"start"in t&&"end"in t?a={place:t}:"type"in t?a={ancestors:[t],place:t.position}:a={...t}),typeof n=="string"?r=n:!a.cause&&n&&(o=!0,r=n.message,a.cause=n),!a.ruleId&&!a.source&&typeof i=="string"){let l=i.indexOf(":");l===-1?a.ruleId=i:(a.source=i.slice(0,l),a.ruleId=i.slice(l+1))}if(!a.place&&a.ancestors&&a.ancestors){let l=a.ancestors[a.ancestors.length-1];l&&(a.place=l.position)}let s=a.place&&"start"in a.place?a.place.start:a.place;this.ancestors=a.ancestors||void 0,this.cause=a.cause||void 0,this.column=s?s.column:void 0,this.fatal=void 0,this.file,this.message=r,this.line=s?s.line:void 0,this.name=Ze(a.place)||"1:1",this.place=a.place||void 0,this.reason=this.message,this.ruleId=a.ruleId||void 0,this.source=a.source||void 0,this.stack=o&&a.cause&&typeof a.cause.stack=="string"?a.cause.stack:"",this.actual,this.expected,this.note,this.url}};oe.prototype.file="";oe.prototype.name="";oe.prototype.reason="";oe.prototype.message="";oe.prototype.stack="";oe.prototype.column=void 0;oe.prototype.line=void 0;oe.prototype.ancestors=void 0;oe.prototype.cause=void 0;oe.prototype.fatal=void 0;oe.prototype.place=void 0;oe.prototype.ruleId=void 0;oe.prototype.source=void 0;var xe={basename:Um,dirname:Hm,extname:Vm,join:Wm,sep:"/"};function Um(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');an(e);let t=0,i=-1,r=e.length,a;if(n===void 0||n.length===0||n.length>e.length){for(;r--;)if(e.codePointAt(r)===47){if(a){t=r+1;break}}else i<0&&(a=!0,i=r+1);return i<0?"":e.slice(t,i)}if(n===e)return"";let o=-1,s=n.length-1;for(;r--;)if(e.codePointAt(r)===47){if(a){t=r+1;break}}else o<0&&(a=!0,o=r+1),s>-1&&(e.codePointAt(r)===n.codePointAt(s--)?s<0&&(i=r):(s=-1,i=o));return t===i?i=o:i<0&&(i=e.length),e.slice(t,i)}function Hm(e){if(an(e),e.length===0)return".";let n=-1,t=e.length,i;for(;--t;)if(e.codePointAt(t)===47){if(i){n=t;break}}else i||(i=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function Vm(e){an(e);let n=e.length,t=-1,i=0,r=-1,a=0,o;for(;n--;){let s=e.codePointAt(n);if(s===47){if(o){i=n+1;break}continue}t<0&&(o=!0,t=n+1),s===46?r<0?r=n:a!==1&&(a=1):r>-1&&(a=-1)}return r<0||t<0||a===0||a===1&&r===t-1&&r===i+1?"":e.slice(r,t)}function Wm(...e){let n=-1,t;for(;++n<e.length;)an(e[n]),e[n]&&(t=t===void 0?e[n]:t+"/"+e[n]);return t===void 0?".":jm(t)}function jm(e){an(e);let n=e.codePointAt(0)===47,t=qm(e,!n);return t.length===0&&!n&&(t="."),t.length>0&&e.codePointAt(e.length-1)===47&&(t+="/"),n?"/"+t:t}function qm(e,n){let t="",i=0,r=-1,a=0,o=-1,s,l;for(;++o<=e.length;){if(o<e.length)s=e.codePointAt(o);else{if(s===47)break;s=47}if(s===47){if(!(r===o-1||a===1))if(r!==o-1&&a===2){if(t.length<2||i!==2||t.codePointAt(t.length-1)!==46||t.codePointAt(t.length-2)!==46){if(t.length>2){if(l=t.lastIndexOf("/"),l!==t.length-1){l<0?(t="",i=0):(t=t.slice(0,l),i=t.length-1-t.lastIndexOf("/")),r=o,a=0;continue}}else if(t.length>0){t="",i=0,r=o,a=0;continue}}n&&(t=t.length>0?t+"/..":"..",i=2)}else t.length>0?t+="/"+e.slice(r+1,o):t=e.slice(r+1,o),i=o-r-1;r=o,a=0}else s===46&&a>-1?a++:a=-1}return t}function an(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}var Cl={cwd:Km};function Km(){return"/"}function Tt(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function kl(e){if(typeof e=="string")e=new URL(e);else if(!Tt(e)){let n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){let n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return Xm(e)}function Xm(e){if(e.hostname!==""){let i=new TypeError('File URL host must be "localhost" or empty on darwin');throw i.code="ERR_INVALID_FILE_URL_HOST",i}let n=e.pathname,t=-1;for(;++t<n.length;)if(n.codePointAt(t)===37&&n.codePointAt(t+1)===50){let i=n.codePointAt(t+2);if(i===70||i===102){let r=new TypeError("File URL path must not include encoded / characters");throw r.code="ERR_INVALID_FILE_URL_PATH",r}}return decodeURIComponent(n)}var Qr=["history","path","basename","stem","extname","dirname"],on=class{constructor(n){let t;n?Tt(n)?t={path:n}:typeof n=="string"||Ym(n)?t={value:n}:t=n:t={},this.cwd=Cl.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let i=-1;for(;++i<Qr.length;){let a=Qr[i];a in t&&t[a]!==void 0&&t[a]!==null&&(this[a]=a==="history"?[...t[a]]:t[a])}let r;for(r in t)Qr.includes(r)||(this[r]=t[r])}get basename(){return typeof this.path=="string"?xe.basename(this.path):void 0}set basename(n){ta(n,"basename"),ea(n,"basename"),this.path=xe.join(this.dirname||"",n)}get dirname(){return typeof this.path=="string"?xe.dirname(this.path):void 0}set dirname(n){wl(this.basename,"dirname"),this.path=xe.join(n||"",this.basename)}get extname(){return typeof this.path=="string"?xe.extname(this.path):void 0}set extname(n){if(ea(n,"extname"),wl(this.dirname,"extname"),n){if(n.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(n.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=xe.join(this.dirname,this.stem+(n||""))}get path(){return this.history[this.history.length-1]}set path(n){Tt(n)&&(n=kl(n)),ta(n,"path"),this.path!==n&&this.history.push(n)}get stem(){return typeof this.path=="string"?xe.basename(this.path,this.extname):void 0}set stem(n){ta(n,"stem"),ea(n,"stem"),this.path=xe.join(this.dirname||"",n+(this.extname||""))}fail(n,t,i){let r=this.message(n,t,i);throw r.fatal=!0,r}info(n,t,i){let r=this.message(n,t,i);return r.fatal=void 0,r}message(n,t,i){let r=new oe(n,t,i);return this.path&&(r.name=this.path+":"+r.name,r.file=this.path),r.fatal=!1,this.messages.push(r),r}toString(n){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(n||void 0).decode(this.value)}};function ea(e,n){if(e&&e.includes(xe.sep))throw new Error("`"+n+"` cannot be a path: did not expect `"+xe.sep+"`")}function ta(e,n){if(!e)throw new Error("`"+n+"` cannot be empty")}function wl(e,n){if(!e)throw new Error("Setting `"+n+"` requires `path` to be set too")}function Ym(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var Tl=function(e){let i=this.constructor.prototype,r=i[e],a=function(){return r.apply(a,arguments)};Object.setPrototypeOf(a,i);let o=Object.getOwnPropertyNames(r);for(let s of o){let l=Object.getOwnPropertyDescriptor(r,s);l&&Object.defineProperty(a,s,l)}return a};var Jm={}.hasOwnProperty,aa=class e extends Tl{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=$r()}copy(){let n=new e,t=-1;for(;++t<this.attachers.length;){let i=this.attachers[t];n.use(...i)}return n.data((0,mi.default)(!0,{},this.namespace)),n}data(n,t){return typeof n=="string"?arguments.length===2?(ra("data",this.frozen),this.namespace[n]=t,this):Jm.call(this.namespace,n)&&this.namespace[n]||void 0:n?(ra("data",this.frozen),this.namespace=n,this):this.namespace}freeze(){if(this.frozen)return this;let n=this;for(;++this.freezeIndex<this.attachers.length;){let[t,...i]=this.attachers[this.freezeIndex];if(i[0]===!1)continue;i[0]===!0&&(i[0]=void 0);let r=t.call(n,...i);typeof r=="function"&&this.transformers.use(r)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(n){this.freeze();let t=pi(n),i=this.parser||this.Parser;return na("parse",i),i(String(t),t)}process(n,t){let i=this;return this.freeze(),na("process",this.parser||this.Parser),ia("process",this.compiler||this.Compiler),t?r(void 0,t):new Promise(r);function r(a,o){let s=pi(n),l=i.parse(s);i.run(l,s,function(u,d,m){if(u||!d||!m)return c(u);let p=d,f=i.stringify(p,m);$m(f)?m.value=f:m.result=f,c(u,m)});function c(u,d){u||!d?o(u):a?a(d):t(void 0,d)}}}processSync(n){let t=!1,i;return this.freeze(),na("processSync",this.parser||this.Parser),ia("processSync",this.compiler||this.Compiler),this.process(n,r),xl("processSync","process",t),i;function r(a,o){t=!0,Zr(a),i=o}}run(n,t,i){Al(n),this.freeze();let r=this.transformers;return!i&&typeof t=="function"&&(i=t,t=void 0),i?a(void 0,i):new Promise(a);function a(o,s){let l=pi(t);r.run(n,l,c);function c(u,d,m){let p=d||n;u?s(u):o?o(p):i(void 0,p,m)}}}runSync(n,t){let i=!1,r;return this.run(n,t,a),xl("runSync","run",i),r;function a(o,s){Zr(o),r=s,i=!0}}stringify(n,t){this.freeze();let i=pi(t),r=this.compiler||this.Compiler;return ia("stringify",r),Al(n),r(n,i)}use(n,...t){let i=this.attachers,r=this.namespace;if(ra("use",this.frozen),n!=null)if(typeof n=="function")l(n,t);else if(typeof n=="object")Array.isArray(n)?s(n):o(n);else throw new TypeError("Expected usable value, not `"+n+"`");return this;function a(c){if(typeof c=="function")l(c,[]);else if(typeof c=="object")if(Array.isArray(c)){let[u,...d]=c;l(u,d)}else o(c);else throw new TypeError("Expected usable value, not `"+c+"`")}function o(c){if(!("plugins"in c)&&!("settings"in c))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");s(c.plugins),c.settings&&(r.settings=(0,mi.default)(!0,r.settings,c.settings))}function s(c){let u=-1;if(c!=null)if(Array.isArray(c))for(;++u<c.length;){let d=c[u];a(d)}else throw new TypeError("Expected a list of plugins, not `"+c+"`")}function l(c,u){let d=-1,m=-1;for(;++d<i.length;)if(i[d][0]===c){m=d;break}if(m===-1)i.push([c,...u]);else if(u.length>0){let[p,...f]=u,_=i[m][1];rn(_)&&rn(p)&&(p=(0,mi.default)(!0,_,p)),i[m]=[c,p,...f]}}}},oa=new aa().freeze();function na(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function ia(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function ra(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Al(e){if(!rn(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function xl(e,n,t){if(!t)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function pi(e){return Zm(e)?e:new on(e)}function Zm(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function $m(e){return typeof e=="string"||Qm(e)}function Qm(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var sn=class extends be{constructor(){super(...arguments);this.html=()=>`
3446
+ `}),t}function dl(e){let n=0,t=e.charCodeAt(n);for(;t===9||t===32;)n++,t=e.charCodeAt(n);return e.slice(n)}function ui(e,n){let t=pl(e,n),i=t.one(e,void 0),r=ul(t),a=Array.isArray(i)?{type:"root",children:i}:i||{type:"root",children:[]};return r&&("children"in a,a.children.push({type:"text",value:`
3447
+ `},r)),a}function di(e,n){return e&&"run"in e?async function(t,i){let r=ui(t,{file:i,...n});await e.run(r,i)}:function(t,i){return ui(t,{file:i,...n||e})}}function Zr(e){if(e)throw e}var gi=_a(Sl(),1);function rn(e){if(typeof e!="object"||e===null)return!1;let n=Object.getPrototypeOf(e);return(n===null||n===Object.prototype||Object.getPrototypeOf(n)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function $r(){let e=[],n={run:t,use:i};return n;function t(...r){let a=-1,o=r.pop();if(typeof o!="function")throw new TypeError("Expected function as last argument, not "+o);s(null,...r);function s(l,...c){let u=e[++a],d=-1;if(l){o(l);return}for(;++d<r.length;)(c[d]===null||c[d]===void 0)&&(c[d]=r[d]);r=c,u?El(u,s)(...c):o(null,...c)}}function i(r){if(typeof r!="function")throw new TypeError("Expected `middelware` to be a function, not "+r);return e.push(r),n}}function El(e,n){let t;return i;function i(...o){let s=e.length>o.length,l;s&&o.push(r);try{l=e.apply(this,o)}catch(c){let u=c;if(s&&t)throw u;return r(u)}s||(l&&l.then&&typeof l.then=="function"?l.then(a,r):l instanceof Error?r(l):a(l))}function r(o,...s){t||(t=!0,n(o,...s))}function a(o){r(null,o)}}var oe=class extends Error{constructor(n,t,i){super(),typeof t=="string"&&(i=t,t=void 0);let r="",a={},o=!1;if(t&&("line"in t&&"column"in t?a={place:t}:"start"in t&&"end"in t?a={place:t}:"type"in t?a={ancestors:[t],place:t.position}:a={...t}),typeof n=="string"?r=n:!a.cause&&n&&(o=!0,r=n.message,a.cause=n),!a.ruleId&&!a.source&&typeof i=="string"){let l=i.indexOf(":");l===-1?a.ruleId=i:(a.source=i.slice(0,l),a.ruleId=i.slice(l+1))}if(!a.place&&a.ancestors&&a.ancestors){let l=a.ancestors[a.ancestors.length-1];l&&(a.place=l.position)}let s=a.place&&"start"in a.place?a.place.start:a.place;this.ancestors=a.ancestors||void 0,this.cause=a.cause||void 0,this.column=s?s.column:void 0,this.fatal=void 0,this.file,this.message=r,this.line=s?s.line:void 0,this.name=Ze(a.place)||"1:1",this.place=a.place||void 0,this.reason=this.message,this.ruleId=a.ruleId||void 0,this.source=a.source||void 0,this.stack=o&&a.cause&&typeof a.cause.stack=="string"?a.cause.stack:"",this.actual,this.expected,this.note,this.url}};oe.prototype.file="";oe.prototype.name="";oe.prototype.reason="";oe.prototype.message="";oe.prototype.stack="";oe.prototype.column=void 0;oe.prototype.line=void 0;oe.prototype.ancestors=void 0;oe.prototype.cause=void 0;oe.prototype.fatal=void 0;oe.prototype.place=void 0;oe.prototype.ruleId=void 0;oe.prototype.source=void 0;var xe={basename:Um,dirname:Hm,extname:Vm,join:Wm,sep:"/"};function Um(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');an(e);let t=0,i=-1,r=e.length,a;if(n===void 0||n.length===0||n.length>e.length){for(;r--;)if(e.codePointAt(r)===47){if(a){t=r+1;break}}else i<0&&(a=!0,i=r+1);return i<0?"":e.slice(t,i)}if(n===e)return"";let o=-1,s=n.length-1;for(;r--;)if(e.codePointAt(r)===47){if(a){t=r+1;break}}else o<0&&(a=!0,o=r+1),s>-1&&(e.codePointAt(r)===n.codePointAt(s--)?s<0&&(i=r):(s=-1,i=o));return t===i?i=o:i<0&&(i=e.length),e.slice(t,i)}function Hm(e){if(an(e),e.length===0)return".";let n=-1,t=e.length,i;for(;--t;)if(e.codePointAt(t)===47){if(i){n=t;break}}else i||(i=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function Vm(e){an(e);let n=e.length,t=-1,i=0,r=-1,a=0,o;for(;n--;){let s=e.codePointAt(n);if(s===47){if(o){i=n+1;break}continue}t<0&&(o=!0,t=n+1),s===46?r<0?r=n:a!==1&&(a=1):r>-1&&(a=-1)}return r<0||t<0||a===0||a===1&&r===t-1&&r===i+1?"":e.slice(r,t)}function Wm(...e){let n=-1,t;for(;++n<e.length;)an(e[n]),e[n]&&(t=t===void 0?e[n]:t+"/"+e[n]);return t===void 0?".":jm(t)}function jm(e){an(e);let n=e.codePointAt(0)===47,t=qm(e,!n);return t.length===0&&!n&&(t="."),t.length>0&&e.codePointAt(e.length-1)===47&&(t+="/"),n?"/"+t:t}function qm(e,n){let t="",i=0,r=-1,a=0,o=-1,s,l;for(;++o<=e.length;){if(o<e.length)s=e.codePointAt(o);else{if(s===47)break;s=47}if(s===47){if(!(r===o-1||a===1))if(r!==o-1&&a===2){if(t.length<2||i!==2||t.codePointAt(t.length-1)!==46||t.codePointAt(t.length-2)!==46){if(t.length>2){if(l=t.lastIndexOf("/"),l!==t.length-1){l<0?(t="",i=0):(t=t.slice(0,l),i=t.length-1-t.lastIndexOf("/")),r=o,a=0;continue}}else if(t.length>0){t="",i=0,r=o,a=0;continue}}n&&(t=t.length>0?t+"/..":"..",i=2)}else t.length>0?t+="/"+e.slice(r+1,o):t=e.slice(r+1,o),i=o-r-1;r=o,a=0}else s===46&&a>-1?a++:a=-1}return t}function an(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}var Cl={cwd:Km};function Km(){return"/"}function Tt(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function kl(e){if(typeof e=="string")e=new URL(e);else if(!Tt(e)){let n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){let n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return Xm(e)}function Xm(e){if(e.hostname!==""){let i=new TypeError('File URL host must be "localhost" or empty on darwin');throw i.code="ERR_INVALID_FILE_URL_HOST",i}let n=e.pathname,t=-1;for(;++t<n.length;)if(n.codePointAt(t)===37&&n.codePointAt(t+1)===50){let i=n.codePointAt(t+2);if(i===70||i===102){let r=new TypeError("File URL path must not include encoded / characters");throw r.code="ERR_INVALID_FILE_URL_PATH",r}}return decodeURIComponent(n)}var Qr=["history","path","basename","stem","extname","dirname"],on=class{constructor(n){let t;n?Tt(n)?t={path:n}:typeof n=="string"||Ym(n)?t={value:n}:t=n:t={},this.cwd=Cl.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let i=-1;for(;++i<Qr.length;){let a=Qr[i];a in t&&t[a]!==void 0&&t[a]!==null&&(this[a]=a==="history"?[...t[a]]:t[a])}let r;for(r in t)Qr.includes(r)||(this[r]=t[r])}get basename(){return typeof this.path=="string"?xe.basename(this.path):void 0}set basename(n){ta(n,"basename"),ea(n,"basename"),this.path=xe.join(this.dirname||"",n)}get dirname(){return typeof this.path=="string"?xe.dirname(this.path):void 0}set dirname(n){wl(this.basename,"dirname"),this.path=xe.join(n||"",this.basename)}get extname(){return typeof this.path=="string"?xe.extname(this.path):void 0}set extname(n){if(ea(n,"extname"),wl(this.dirname,"extname"),n){if(n.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(n.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=xe.join(this.dirname,this.stem+(n||""))}get path(){return this.history[this.history.length-1]}set path(n){Tt(n)&&(n=kl(n)),ta(n,"path"),this.path!==n&&this.history.push(n)}get stem(){return typeof this.path=="string"?xe.basename(this.path,this.extname):void 0}set stem(n){ta(n,"stem"),ea(n,"stem"),this.path=xe.join(this.dirname||"",n+(this.extname||""))}fail(n,t,i){let r=this.message(n,t,i);throw r.fatal=!0,r}info(n,t,i){let r=this.message(n,t,i);return r.fatal=void 0,r}message(n,t,i){let r=new oe(n,t,i);return this.path&&(r.name=this.path+":"+r.name,r.file=this.path),r.fatal=!1,this.messages.push(r),r}toString(n){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(n||void 0).decode(this.value)}};function ea(e,n){if(e&&e.includes(xe.sep))throw new Error("`"+n+"` cannot be a path: did not expect `"+xe.sep+"`")}function ta(e,n){if(!e)throw new Error("`"+n+"` cannot be empty")}function wl(e,n){if(!e)throw new Error("Setting `"+n+"` requires `path` to be set too")}function Ym(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var Tl=function(e){let i=this.constructor.prototype,r=i[e],a=function(){return r.apply(a,arguments)};Object.setPrototypeOf(a,i);let o=Object.getOwnPropertyNames(r);for(let s of o){let l=Object.getOwnPropertyDescriptor(r,s);l&&Object.defineProperty(a,s,l)}return a};var Jm={}.hasOwnProperty,aa=class e extends Tl{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=$r()}copy(){let n=new e,t=-1;for(;++t<this.attachers.length;){let i=this.attachers[t];n.use(...i)}return n.data((0,gi.default)(!0,{},this.namespace)),n}data(n,t){return typeof n=="string"?arguments.length===2?(ra("data",this.frozen),this.namespace[n]=t,this):Jm.call(this.namespace,n)&&this.namespace[n]||void 0:n?(ra("data",this.frozen),this.namespace=n,this):this.namespace}freeze(){if(this.frozen)return this;let n=this;for(;++this.freezeIndex<this.attachers.length;){let[t,...i]=this.attachers[this.freezeIndex];if(i[0]===!1)continue;i[0]===!0&&(i[0]=void 0);let r=t.call(n,...i);typeof r=="function"&&this.transformers.use(r)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(n){this.freeze();let t=mi(n),i=this.parser||this.Parser;return na("parse",i),i(String(t),t)}process(n,t){let i=this;return this.freeze(),na("process",this.parser||this.Parser),ia("process",this.compiler||this.Compiler),t?r(void 0,t):new Promise(r);function r(a,o){let s=mi(n),l=i.parse(s);i.run(l,s,function(u,d,m){if(u||!d||!m)return c(u);let p=d,f=i.stringify(p,m);$m(f)?m.value=f:m.result=f,c(u,m)});function c(u,d){u||!d?o(u):a?a(d):t(void 0,d)}}}processSync(n){let t=!1,i;return this.freeze(),na("processSync",this.parser||this.Parser),ia("processSync",this.compiler||this.Compiler),this.process(n,r),xl("processSync","process",t),i;function r(a,o){t=!0,Zr(a),i=o}}run(n,t,i){Al(n),this.freeze();let r=this.transformers;return!i&&typeof t=="function"&&(i=t,t=void 0),i?a(void 0,i):new Promise(a);function a(o,s){let l=mi(t);r.run(n,l,c);function c(u,d,m){let p=d||n;u?s(u):o?o(p):i(void 0,p,m)}}}runSync(n,t){let i=!1,r;return this.run(n,t,a),xl("runSync","run",i),r;function a(o,s){Zr(o),r=s,i=!0}}stringify(n,t){this.freeze();let i=mi(t),r=this.compiler||this.Compiler;return ia("stringify",r),Al(n),r(n,i)}use(n,...t){let i=this.attachers,r=this.namespace;if(ra("use",this.frozen),n!=null)if(typeof n=="function")l(n,t);else if(typeof n=="object")Array.isArray(n)?s(n):o(n);else throw new TypeError("Expected usable value, not `"+n+"`");return this;function a(c){if(typeof c=="function")l(c,[]);else if(typeof c=="object")if(Array.isArray(c)){let[u,...d]=c;l(u,d)}else o(c);else throw new TypeError("Expected usable value, not `"+c+"`")}function o(c){if(!("plugins"in c)&&!("settings"in c))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");s(c.plugins),c.settings&&(r.settings=(0,gi.default)(!0,r.settings,c.settings))}function s(c){let u=-1;if(c!=null)if(Array.isArray(c))for(;++u<c.length;){let d=c[u];a(d)}else throw new TypeError("Expected a list of plugins, not `"+c+"`")}function l(c,u){let d=-1,m=-1;for(;++d<i.length;)if(i[d][0]===c){m=d;break}if(m===-1)i.push([c,...u]);else if(u.length>0){let[p,...f]=u,_=i[m][1];rn(_)&&rn(p)&&(p=(0,gi.default)(!0,_,p)),i[m]=[c,p,...f]}}}},oa=new aa().freeze();function na(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function ia(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function ra(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Al(e){if(!rn(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function xl(e,n,t){if(!t)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function mi(e){return Zm(e)?e:new on(e)}function Zm(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function $m(e){return typeof e=="string"||Qm(e)}function Qm(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var sn=class extends be{constructor(){super(...arguments);this.html=()=>`
3447
3448
 
3448
3449
  <!-- Styling -->
3449
3450
  <style>
@@ -3530,7 +3531,7 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
3530
3531
  <div class='llm-selector-item-icon' style="background-image: url('${i.icon}'); "></div>
3531
3532
  <div class='llm-selector-item-name'>${i.name}</div>
3532
3533
  <div class='llm-selector-item-provider'>${i.provider}</div>
3533
- `,r.addEventListener("click",a=>{this.dispatchEvent(new CustomEvent("select",{detail:i.id}))}),t.appendChild(r)}}};sn.observedAttributes=["open"];var At=new q("ONNXModel"),Ie=class e{constructor(n){this.stateTensors={};this.constantTensors={};this._runActive=!1;this.ignoreIfBusy=!1;this.session=n,At.debug(`Model input parameters: ${n.inputNames.join(", ")}`),At.debug(`Model output parameters: ${n.outputNames.join(", ")}`)}static isSupported(){return!!e.lib}static async load(n){if(!e.lib)throw new Error("ONNX runtime not loaded, please set the runtime loader. Example: ONNXModel.lib = () => import('onnxruntime-web')");this.onnx||(At.debug("Loading ONNX runtime"),this.onnx=await e.lib()),At.debug(`Loading model: ${n}`);let t=await this.onnx.InferenceSession.create(n);return new e(t)}makeTensor(n,t,i=0){let r=1;for(let o of t)r*=o;let a;if(n=="float32")a=new e.onnx.Tensor(new Float32Array(r),t);else if(n=="int8")a=new e.onnx.Tensor(new Int8Array(r),t);else if(n=="int16")a=new e.onnx.Tensor(new Int16Array(r),t);else if(n=="int32")a=new e.onnx.Tensor(new Int32Array(r),t);else if(n=="int64")a=new e.onnx.Tensor(new BigInt64Array(r),t);else if(n=="uint8")a=new e.onnx.Tensor(new Uint8Array(r),t);else if(n=="uint16")a=new e.onnx.Tensor(new Uint16Array(r),t);else if(n=="uint32")a=new e.onnx.Tensor(new Uint32Array(r),t);else if(n=="uint64")a=new e.onnx.Tensor(new BigUint64Array(r),t);else throw new Error(`Invalid type: ${n}`);return i!==0&&(n=="int64"||n=="uint64")?a.data.fill(BigInt(i)):i!==0&&a.data.fill(i),a}registerConstant(n,t){if(!this.session.inputNames.includes(n))throw new Error(`Model does not have an input named: ${n}`);return this.constantTensors[n]=t,t}makeConstant(n,t,i,r=0){return this.registerConstant(n,this.makeTensor(t,i,r))}registerState(n,t,i){if(t||(t=n),!this.session.inputNames.includes(n))throw new Error(`Model does not have an input named: ${n}`);if(!this.session.outputNames.includes(t))throw new Error(`Model does not have an output named: ${t}`);return this.stateTensors[n]={outputName:t,tensor:i},i}makeState(n,t,i,r,a=0){return this.registerState(n,t,this.makeTensor(i,r,a))}async run(n={}){if(this._runActive&&this.ignoreIfBusy)return At.debug("Ignoring run request because a previous run is still active");if(this._runActive)throw new Error("A previous run is still active");this._runActive=!0;for(let t in this.stateTensors)n[t]=this.stateTensors[t].tensor;for(let t in this.constantTensors)n[t]=this.constantTensors[t];try{let t=await this.session.run(n);for(let i in this.stateTensors){let r=t[this.stateTensors[i].outputName];this.stateTensors[i].tensor=r}return t}finally{this._runActive=!1}}resetState(){At.debug("Resetting state tensors");for(let n in this.stateTensors)this.stateTensors[n].tensor.data.fill(0)}};var Il="data:application/javascript;base64,dmFyIGM9Y2xhc3N7Y29uc3RydWN0b3IoaSx0KXt0aGlzLm91dHB1dEJ1ZmZlclNpemU9MDt0aGlzLnBhcnRpYWxCdWZmZXJzPVtdO3RoaXMucGFydGlhbEJ1ZmZlck9mZnNldD0wO2lmKCFpKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcnJheSBjbGFzczogJHtpfWApO2lmKCF0fHx0PD0wKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvdXRwdXQgYnVmZmVyIHNpemU6ICR7dH1gKTt0aGlzLkFycmF5Q2xhc3M9aSx0aGlzLm91dHB1dEJ1ZmZlclNpemU9dH1nZXQgcXVldWVkU2l6ZSgpe3JldHVybiB0aGlzLnBhcnRpYWxCdWZmZXJzLnJlZHVjZSgoaSx0KT0+aSt0Lmxlbmd0aCwwKX1mZWVkKGkpe3RoaXMucGFydGlhbEJ1ZmZlcnMucHVzaChpKX1nZXQgY2FuRHJhaW4oKXtyZXR1cm4gdGhpcy5wYXJ0aWFsQnVmZmVycy5yZWR1Y2UoKHQscik9PnQrci5sZW5ndGgsMCktdGhpcy5wYXJ0aWFsQnVmZmVyT2Zmc2V0Pj10aGlzLm91dHB1dEJ1ZmZlclNpemV9ZHJhaW4oKXtpZighdGhpcy5jYW5EcmFpbilyZXR1cm4gbnVsbDtsZXQgaT10aGlzLkFycmF5Q2xhc3MsdD1uZXcgaSh0aGlzLm91dHB1dEJ1ZmZlclNpemUpLHI9MDtmb3IoO3IhPXQubGVuZ3RoOyl7aWYocj50Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYEJ1ZmZlciBvdmVyZmxvdzogJHtyfSA+ICR7dC5sZW5ndGh9YCk7bGV0IGE9dC5sZW5ndGgtcixzPXRoaXMucGFydGlhbEJ1ZmZlcnNbMF0sZj1zLmxlbmd0aC10aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQ7ZjxhPyh0LnNldChzLnN1YmFycmF5KHRoaXMucGFydGlhbEJ1ZmZlck9mZnNldCkscikscis9Zix0aGlzLnBhcnRpYWxCdWZmZXJzLnNoaWZ0KCksdGhpcy5wYXJ0aWFsQnVmZmVyT2Zmc2V0PTApOih0LnNldChzLnN1YmFycmF5KHRoaXMucGFydGlhbEJ1ZmZlck9mZnNldCx0aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQrYSkscikscis9YSx0aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQrPWEpfXJldHVybiB0fXBhZCgpe2xldCBpPXRoaXMucXVldWVkU2l6ZSV0aGlzLm91dHB1dEJ1ZmZlclNpemU7aWYoaT09MClyZXR1cm47bGV0IHQ9dGhpcy5BcnJheUNsYXNzLHI9bmV3IHQoaSk7dGhpcy5mZWVkKHIpfX07dmFyIGQ9Y2xhc3N7Y29uc3RydWN0b3IoaSx0LHIsYSl7aWYoIWl8fCF0fHwhcil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2V0dGluZ3Mgc3BlY2lmaWVkIGZvciB0aGUgcmVzYW1wbGVyLiIpO3RoaXMucmVzYW1wbGVyPW51bGwsdGhpcy5mcm9tU2FtcGxlUmF0ZT1pLHRoaXMudG9TYW1wbGVSYXRlPXQsdGhpcy5jaGFubmVscz1yfHwwLHRoaXMuaW5wdXRCdWZmZXJTaXplPWEsdGhpcy5pbml0aWFsaXplKCl9aW5pdGlhbGl6ZSgpe3RoaXMuZnJvbVNhbXBsZVJhdGU9PXRoaXMudG9TYW1wbGVSYXRlPyh0aGlzLnJlc2FtcGxlcj1pPT5pLHRoaXMucmF0aW9XZWlnaHQ9MSk6KHRoaXMuZnJvbVNhbXBsZVJhdGU8dGhpcy50b1NhbXBsZVJhdGU/KHRoaXMubGluZWFySW50ZXJwb2xhdGlvbigpLHRoaXMubGFzdFdlaWdodD0xKToodGhpcy5tdWx0aVRhcCgpLHRoaXMudGFpbEV4aXN0cz0hMSx0aGlzLmxhc3RXZWlnaHQ9MCksdGhpcy5pbml0aWFsaXplQnVmZmVycygpLHRoaXMucmF0aW9XZWlnaHQ9dGhpcy5mcm9tU2FtcGxlUmF0ZS90aGlzLnRvU2FtcGxlUmF0ZSl9YnVmZmVyU2xpY2UoaSl7dHJ5e3JldHVybiB0aGlzLm91dHB1dEJ1ZmZlci5zdWJhcnJheSgwLGkpfWNhdGNoe3RyeXtyZXR1cm4gdGhpcy5vdXRwdXRCdWZmZXIubGVuZ3RoPWksdGhpcy5vdXRwdXRCdWZmZXJ9Y2F0Y2h7cmV0dXJuIHRoaXMub3V0cHV0QnVmZmVyLnNsaWNlKDAsaSl9fX1pbml0aWFsaXplQnVmZmVycygpe3RoaXMub3V0cHV0QnVmZmVyU2l6ZT1NYXRoLmNlaWwodGhpcy5pbnB1dEJ1ZmZlclNpemUqdGhpcy50b1NhbXBsZVJhdGUvdGhpcy5mcm9tU2FtcGxlUmF0ZS90aGlzLmNoYW5uZWxzKjEuMDAwMDAwNDc2ODM3MTU4MikrdGhpcy5jaGFubmVscyt0aGlzLmNoYW5uZWxzO3RyeXt0aGlzLm91dHB1dEJ1ZmZlcj1uZXcgRmxvYXQzMkFycmF5KHRoaXMub3V0cHV0QnVmZmVyU2l6ZSksdGhpcy5sYXN0T3V0cHV0PW5ldyBGbG9hdDMyQXJyYXkodGhpcy5jaGFubmVscyl9Y2F0Y2h7dGhpcy5vdXRwdXRCdWZmZXI9W10sdGhpcy5sYXN0T3V0cHV0PVtdfX1saW5lYXJJbnRlcnBvbGF0aW9uKCl7dGhpcy5yZXNhbXBsZXI9aT0+e2xldCB0PWkubGVuZ3RoLHI9dGhpcy5jaGFubmVscyxhLHMsZixoLGUsbix1LG8sbDtpZih0JXIhPT0wKXRocm93IG5ldyBFcnJvcigiQnVmZmVyIHdhcyBvZiBpbmNvcnJlY3Qgc2FtcGxlIGxlbmd0aC4iKTtpZih0PD0wKXJldHVybltdO2ZvcihhPXRoaXMub3V0cHV0QnVmZmVyU2l6ZSxzPXRoaXMucmF0aW9XZWlnaHQsZj10aGlzLmxhc3RXZWlnaHQsaD0wLGU9MCxuPTAsdT0wLG89dGhpcy5vdXRwdXRCdWZmZXI7ZjwxO2YrPXMpZm9yKGU9ZiUxLGg9MS1lLHRoaXMubGFzdFdlaWdodD1mJTEsbD0wO2w8dGhpcy5jaGFubmVsczsrK2wpb1t1KytdPXRoaXMubGFzdE91dHB1dFtsXSpoK2lbbF0qZTtmb3IoZi09MSx0LT1yLG49TWF0aC5mbG9vcihmKSpyO3U8YSYmbjx0Oyl7Zm9yKGU9ZiUxLGg9MS1lLGw9MDtsPHRoaXMuY2hhbm5lbHM7KytsKW9bdSsrXT1pW24rKGw+MD9sOjApXSpoK2lbbisocitsKV0qZTtmKz1zLG49TWF0aC5mbG9vcihmKSpyfWZvcihsPTA7bDxyOysrbCl0aGlzLmxhc3RPdXRwdXRbbF09aVtuKytdO3JldHVybiB0aGlzLmJ1ZmZlclNsaWNlKHUpfX1tdWx0aVRhcCgpe3RoaXMucmVzYW1wbGVyPWk9PntsZXQgdD1pLmxlbmd0aCxyLGEscz10aGlzLmNoYW5uZWxzLGYsaCxlLG4sdSxvLGwsbSxnO2lmKHQlcyE9PTApdGhyb3cgbmV3IEVycm9yKCJCdWZmZXIgd2FzIG9mIGluY29ycmVjdCBzYW1wbGUgbGVuZ3RoLiIpO2lmKHQ8PTApcmV0dXJuW107Zm9yKHI9dGhpcy5vdXRwdXRCdWZmZXJTaXplLGE9W10sZj10aGlzLnJhdGlvV2VpZ2h0LGg9MCxuPTAsdT0wLG89IXRoaXMudGFpbEV4aXN0cyx0aGlzLnRhaWxFeGlzdHM9ITEsbD10aGlzLm91dHB1dEJ1ZmZlcixtPTAsZz0wLGU9MDtlPHM7KytlKWFbZV09MDtkb3tpZihvKWZvcihoPWYsZT0wO2U8czsrK2UpYVtlXT0wO2Vsc2V7Zm9yKGg9dGhpcy5sYXN0V2VpZ2h0LGU9MDtlPHM7KytlKWFbZV09dGhpcy5sYXN0T3V0cHV0W2VdO289ITB9Zm9yKDtoPjAmJm48dDspaWYodT0xK24tZyxoPj11KXtmb3IoZT0wO2U8czsrK2UpYVtlXSs9aVtuKytdKnU7Zz1uLGgtPXV9ZWxzZXtmb3IoZT0wO2U8czsrK2UpYVtlXSs9aVtuKyhlPjA/ZTowKV0qaDtnKz1oLGg9MDticmVha31pZihoPT09MClmb3IoZT0wO2U8czsrK2UpbFttKytdPWFbZV0vZjtlbHNle2Zvcih0aGlzLmxhc3RXZWlnaHQ9aCxlPTA7ZTxzOysrZSl0aGlzLmxhc3RPdXRwdXRbZV09YVtlXTt0aGlzLnRhaWxFeGlzdHM9ITA7YnJlYWt9fXdoaWxlKG48dCYmbTxyKTtyZXR1cm4gdGhpcy5idWZmZXJTbGljZShtKX19cmVzYW1wbGUoaSl7cmV0dXJuIHRoaXMuZnJvbVNhbXBsZVJhdGU9PXRoaXMudG9TYW1wbGVSYXRlP3RoaXMucmF0aW9XZWlnaHQ9MToodGhpcy5mcm9tU2FtcGxlUmF0ZTx0aGlzLnRvU2FtcGxlUmF0ZT90aGlzLmxhc3RXZWlnaHQ9MToodGhpcy50YWlsRXhpc3RzPSExLHRoaXMubGFzdFdlaWdodD0wKSx0aGlzLmluaXRpYWxpemVCdWZmZXJzKCksdGhpcy5yYXRpb1dlaWdodD10aGlzLmZyb21TYW1wbGVSYXRlL3RoaXMudG9TYW1wbGVSYXRlKSx0aGlzLnJlc2FtcGxlcihpKX19O2Z1bmN0aW9uIFMocCl7bGV0IGk9cC5sZW5ndGgsdD1uZXcgRmxvYXQzMkFycmF5KGkpO2Zvcig7aS0tOyl7bGV0IHI9cFtpXTt0W2ldPXI+PTMyNzY4Py0oNjU1MzYtcikvMzI3Njg6ci8zMjc2N31yZXR1cm4gdH12YXIgeT0xMDI0KjgsQj1jbGFzcyBleHRlbmRzIEF1ZGlvV29ya2xldFByb2Nlc3Nvcntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KTt0aGlzLmNodW5rcz1bXTt0aGlzLmNodW5rUG9zaXRpb249MDt0aGlzLmlzRW5kZWQ9ITE7dGhpcy5pc0NhbmNlbGxlZD0hMTt0aGlzLnNhbXBsZVJhdGU9MDt0aGlzLmZvcm1hdD0iaW50MTYiO3RoaXMuYnVmZmVyT2Zmc2V0PTA7dGhpcy5sYXN0UGxheWVkQnVmZmVyU2l6ZT0wO3RoaXMuX2hhc1NlbnRFbmRFdmVudD0hMTt0aGlzLnBvcnQub25tZXNzYWdlPXI9PnRoaXMub25NZXNzYWdlKHIpfW9uTWVzc2FnZSh0KXtpZih0LmRhdGEuYWN0aW9uPT0ic3RhcnQiKXRoaXMuZm9ybWF0PXQuZGF0YS5mb3JtYXQsdGhpcy5zYW1wbGVSYXRlPXQuZGF0YS5pbnB1dFNhbXBsZVJhdGUsdGhpcy5yZXNhbXBsZXI9bmV3IGQodC5kYXRhLmlucHV0U2FtcGxlUmF0ZSx0LmRhdGEub3V0cHV0U2FtcGxlUmF0ZSwxLHkpLHRoaXMuZm9ybWF0PT0iaW50MTYiP3RoaXMuaW5wdXRCdWZmZXI9bmV3IGMoVWludDhBcnJheSx5KjIpOnRoaXMuZm9ybWF0PT0iZmxvYXQzMiImJih0aGlzLmlucHV0QnVmZmVyPW5ldyBjKFVpbnQ4QXJyYXkseSo0KSk7ZWxzZSBpZih0LmRhdGEuYWN0aW9uPT0iZGF0YSIpe2xldCByPW5ldyBVaW50OEFycmF5KHQuZGF0YS5idWZmZXIpO2Zvcih0aGlzLmlucHV0QnVmZmVyLmZlZWQocik7dGhpcy5pbnB1dEJ1ZmZlci5jYW5EcmFpbjspdGhpcy5kcmFpbkJ1ZmZlcigpfWVsc2UgdC5kYXRhLmFjdGlvbj09ImVuZCI/KHRoaXMubGFzdFBsYXllZEJ1ZmZlclNpemUmJnRoaXMuY2h1bmtzLnB1c2gobmV3IEZsb2F0MzJBcnJheSh0aGlzLmxhc3RQbGF5ZWRCdWZmZXJTaXplKjIpKSx0aGlzLmlzRW5kZWQ9ITApOnQuZGF0YS5hY3Rpb249PSJjYW5jZWwiJiYodGhpcy5pc0VuZGVkPSEwLHRoaXMuaXNDYW5jZWxsZWQ9ITApfWRyYWluQnVmZmVyKCl7bGV0IHQ9dGhpcy5pbnB1dEJ1ZmZlci5kcmFpbigpO2lmKCF0KXJldHVybjtsZXQgcjtpZih0aGlzLmZvcm1hdD09ImludDE2Iil7bGV0IHM9bmV3IEludDE2QXJyYXkodC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aC8yKTtyPVMocyl9ZWxzZSBpZih0aGlzLmZvcm1hdD09ImZsb2F0MzIiKXI9bmV3IEZsb2F0MzJBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoLzQpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZvcm1hdDogJHt0aGlzLmZvcm1hdH1gKTtsZXQgYT10aGlzLnJlc2FtcGxlci5yZXNhbXBsZShyKTt0aGlzLmNodW5rcy5wdXNoKGEpfW5leHRGbG9hdCgpe2lmKCF0aGlzLmNodW5rcy5sZW5ndGgpcmV0dXJuIDA7bGV0IHQ9dGhpcy5jaHVua3NbMF1bdGhpcy5jaHVua1Bvc2l0aW9uXTtyZXR1cm4gdGhpcy5jaHVua1Bvc2l0aW9uKyssdGhpcy5jaHVua1Bvc2l0aW9uPHRoaXMuY2h1bmtzWzBdLmxlbmd0aHx8KHRoaXMuY2h1bmtzLnNoaWZ0KCksdGhpcy5jaHVua1Bvc2l0aW9uPTApLHR9cHJvY2Vzcyh0LHIsYSl7aWYodGhpcy5pc0NhbmNlbGxlZClyZXR1cm4hMTtpZih0aGlzLmlzRW5kZWQmJiF0aGlzLmNodW5rcy5sZW5ndGgpcmV0dXJuIHRoaXMuX2hhc1NlbnRFbmRFdmVudHx8KHRoaXMuX2hhc1NlbnRFbmRFdmVudD0hMCx0aGlzLnBvcnQucG9zdE1lc3NhZ2Uoe2FjdGlvbjoiZW5kIn0pKSwhMTtsZXQgcz1yWzBdPy5bMF0/Lmxlbmd0aDtpZighcylyZXR1cm4hMDt0aGlzLmxhc3RQbGF5ZWRCdWZmZXJTaXplPXM7Zm9yKGxldCBmPTA7ZjxzO2YrKyl7bGV0IGg9dGhpcy5uZXh0RmxvYXQoKTtmb3IobGV0IGU9MDtlPHIubGVuZ3RoO2UrKylmb3IobGV0IG49MDtuPHJbZV0ubGVuZ3RoO24rKylyW2VdW25dW2ZdPWh9cmV0dXJuITB9fTtyZWdpc3RlclByb2Nlc3NvcigicGNtLXBsYXllci1ub2RlIixCKTsK";var Rl="data:application/javascript;base64,dmFyIGc9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LGksZil7aWYoIWV8fCF0fHwhaSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2V0dGluZ3Mgc3BlY2lmaWVkIGZvciB0aGUgcmVzYW1wbGVyLiIpO3RoaXMucmVzYW1wbGVyPW51bGwsdGhpcy5mcm9tU2FtcGxlUmF0ZT1lLHRoaXMudG9TYW1wbGVSYXRlPXQsdGhpcy5jaGFubmVscz1pfHwwLHRoaXMuaW5wdXRCdWZmZXJTaXplPWYsdGhpcy5pbml0aWFsaXplKCl9aW5pdGlhbGl6ZSgpe3RoaXMuZnJvbVNhbXBsZVJhdGU9PXRoaXMudG9TYW1wbGVSYXRlPyh0aGlzLnJlc2FtcGxlcj1lPT5lLHRoaXMucmF0aW9XZWlnaHQ9MSk6KHRoaXMuZnJvbVNhbXBsZVJhdGU8dGhpcy50b1NhbXBsZVJhdGU/KHRoaXMubGluZWFySW50ZXJwb2xhdGlvbigpLHRoaXMubGFzdFdlaWdodD0xKToodGhpcy5tdWx0aVRhcCgpLHRoaXMudGFpbEV4aXN0cz0hMSx0aGlzLmxhc3RXZWlnaHQ9MCksdGhpcy5pbml0aWFsaXplQnVmZmVycygpLHRoaXMucmF0aW9XZWlnaHQ9dGhpcy5mcm9tU2FtcGxlUmF0ZS90aGlzLnRvU2FtcGxlUmF0ZSl9YnVmZmVyU2xpY2UoZSl7dHJ5e3JldHVybiB0aGlzLm91dHB1dEJ1ZmZlci5zdWJhcnJheSgwLGUpfWNhdGNoe3RyeXtyZXR1cm4gdGhpcy5vdXRwdXRCdWZmZXIubGVuZ3RoPWUsdGhpcy5vdXRwdXRCdWZmZXJ9Y2F0Y2h7cmV0dXJuIHRoaXMub3V0cHV0QnVmZmVyLnNsaWNlKDAsZSl9fX1pbml0aWFsaXplQnVmZmVycygpe3RoaXMub3V0cHV0QnVmZmVyU2l6ZT1NYXRoLmNlaWwodGhpcy5pbnB1dEJ1ZmZlclNpemUqdGhpcy50b1NhbXBsZVJhdGUvdGhpcy5mcm9tU2FtcGxlUmF0ZS90aGlzLmNoYW5uZWxzKjEuMDAwMDAwNDc2ODM3MTU4MikrdGhpcy5jaGFubmVscyt0aGlzLmNoYW5uZWxzO3RyeXt0aGlzLm91dHB1dEJ1ZmZlcj1uZXcgRmxvYXQzMkFycmF5KHRoaXMub3V0cHV0QnVmZmVyU2l6ZSksdGhpcy5sYXN0T3V0cHV0PW5ldyBGbG9hdDMyQXJyYXkodGhpcy5jaGFubmVscyl9Y2F0Y2h7dGhpcy5vdXRwdXRCdWZmZXI9W10sdGhpcy5sYXN0T3V0cHV0PVtdfX1saW5lYXJJbnRlcnBvbGF0aW9uKCl7dGhpcy5yZXNhbXBsZXI9ZT0+e2xldCB0PWUubGVuZ3RoLGk9dGhpcy5jaGFubmVscyxmLGgsYSxzLHIsdSxuLHAsbDtpZih0JWkhPT0wKXRocm93IG5ldyBFcnJvcigiQnVmZmVyIHdhcyBvZiBpbmNvcnJlY3Qgc2FtcGxlIGxlbmd0aC4iKTtpZih0PD0wKXJldHVybltdO2ZvcihmPXRoaXMub3V0cHV0QnVmZmVyU2l6ZSxoPXRoaXMucmF0aW9XZWlnaHQsYT10aGlzLmxhc3RXZWlnaHQscz0wLHI9MCx1PTAsbj0wLHA9dGhpcy5vdXRwdXRCdWZmZXI7YTwxO2ErPWgpZm9yKHI9YSUxLHM9MS1yLHRoaXMubGFzdFdlaWdodD1hJTEsbD0wO2w8dGhpcy5jaGFubmVsczsrK2wpcFtuKytdPXRoaXMubGFzdE91dHB1dFtsXSpzK2VbbF0qcjtmb3IoYS09MSx0LT1pLHU9TWF0aC5mbG9vcihhKSppO248ZiYmdTx0Oyl7Zm9yKHI9YSUxLHM9MS1yLGw9MDtsPHRoaXMuY2hhbm5lbHM7KytsKXBbbisrXT1lW3UrKGw+MD9sOjApXSpzK2VbdSsoaStsKV0qcjthKz1oLHU9TWF0aC5mbG9vcihhKSppfWZvcihsPTA7bDxpOysrbCl0aGlzLmxhc3RPdXRwdXRbbF09ZVt1KytdO3JldHVybiB0aGlzLmJ1ZmZlclNsaWNlKG4pfX1tdWx0aVRhcCgpe3RoaXMucmVzYW1wbGVyPWU9PntsZXQgdD1lLmxlbmd0aCxpLGYsaD10aGlzLmNoYW5uZWxzLGEscyxyLHUsbixwLGwsbSxCO2lmKHQlaCE9PTApdGhyb3cgbmV3IEVycm9yKCJCdWZmZXIgd2FzIG9mIGluY29ycmVjdCBzYW1wbGUgbGVuZ3RoLiIpO2lmKHQ8PTApcmV0dXJuW107Zm9yKGk9dGhpcy5vdXRwdXRCdWZmZXJTaXplLGY9W10sYT10aGlzLnJhdGlvV2VpZ2h0LHM9MCx1PTAsbj0wLHA9IXRoaXMudGFpbEV4aXN0cyx0aGlzLnRhaWxFeGlzdHM9ITEsbD10aGlzLm91dHB1dEJ1ZmZlcixtPTAsQj0wLHI9MDtyPGg7KytyKWZbcl09MDtkb3tpZihwKWZvcihzPWEscj0wO3I8aDsrK3IpZltyXT0wO2Vsc2V7Zm9yKHM9dGhpcy5sYXN0V2VpZ2h0LHI9MDtyPGg7KytyKWZbcl09dGhpcy5sYXN0T3V0cHV0W3JdO3A9ITB9Zm9yKDtzPjAmJnU8dDspaWYobj0xK3UtQixzPj1uKXtmb3Iocj0wO3I8aDsrK3IpZltyXSs9ZVt1KytdKm47Qj11LHMtPW59ZWxzZXtmb3Iocj0wO3I8aDsrK3IpZltyXSs9ZVt1KyhyPjA/cjowKV0qcztCKz1zLHM9MDticmVha31pZihzPT09MClmb3Iocj0wO3I8aDsrK3IpbFttKytdPWZbcl0vYTtlbHNle2Zvcih0aGlzLmxhc3RXZWlnaHQ9cyxyPTA7cjxoOysrcil0aGlzLmxhc3RPdXRwdXRbcl09ZltyXTt0aGlzLnRhaWxFeGlzdHM9ITA7YnJlYWt9fXdoaWxlKHU8dCYmbTxpKTtyZXR1cm4gdGhpcy5idWZmZXJTbGljZShtKX19cmVzYW1wbGUoZSl7cmV0dXJuIHRoaXMuZnJvbVNhbXBsZVJhdGU9PXRoaXMudG9TYW1wbGVSYXRlP3RoaXMucmF0aW9XZWlnaHQ9MToodGhpcy5mcm9tU2FtcGxlUmF0ZTx0aGlzLnRvU2FtcGxlUmF0ZT90aGlzLmxhc3RXZWlnaHQ9MToodGhpcy50YWlsRXhpc3RzPSExLHRoaXMubGFzdFdlaWdodD0wKSx0aGlzLmluaXRpYWxpemVCdWZmZXJzKCksdGhpcy5yYXRpb1dlaWdodD10aGlzLmZyb21TYW1wbGVSYXRlL3RoaXMudG9TYW1wbGVSYXRlKSx0aGlzLnJlc2FtcGxlcihlKX19O2Z1bmN0aW9uIGQobyl7bGV0IGU9by5sZW5ndGgsdD1uZXcgSW50MTZBcnJheShlKTtmb3IoO2UtLTspe2xldCBpPU1hdGgubWF4KC0xLE1hdGgubWluKDEsb1tlXSkpO3RbZV09aTwwP2kqMzI3Njg6aSozMjc2N31yZXR1cm4gdH1mdW5jdGlvbiB3KG8pe2xldCBlPW8ubGVuZ3RoLHQ9bmV3IEJpZ0ludDY0QXJyYXkoZSk7Zm9yKDtlLS07KXtsZXQgaT1NYXRoLm1heCgtMSxNYXRoLm1pbigxLG9bZV0pKTt0W2VdPUJpZ0ludChNYXRoLmZsb29yKGk8MD9pKjMyNzY4OmkqMzI3NjcpKSoweDEwMDAwMDAwMDAwMG59cmV0dXJuIHR9dmFyIGM9Y2xhc3N7Y29uc3RydWN0b3IoZSx0KXt0aGlzLm91dHB1dEJ1ZmZlclNpemU9MDt0aGlzLnBhcnRpYWxCdWZmZXJzPVtdO3RoaXMucGFydGlhbEJ1ZmZlck9mZnNldD0wO2lmKCFlKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcnJheSBjbGFzczogJHtlfWApO2lmKCF0fHx0PD0wKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvdXRwdXQgYnVmZmVyIHNpemU6ICR7dH1gKTt0aGlzLkFycmF5Q2xhc3M9ZSx0aGlzLm91dHB1dEJ1ZmZlclNpemU9dH1nZXQgcXVldWVkU2l6ZSgpe3JldHVybiB0aGlzLnBhcnRpYWxCdWZmZXJzLnJlZHVjZSgoZSx0KT0+ZSt0Lmxlbmd0aCwwKX1mZWVkKGUpe3RoaXMucGFydGlhbEJ1ZmZlcnMucHVzaChlKX1nZXQgY2FuRHJhaW4oKXtyZXR1cm4gdGhpcy5wYXJ0aWFsQnVmZmVycy5yZWR1Y2UoKHQsaSk9PnQraS5sZW5ndGgsMCktdGhpcy5wYXJ0aWFsQnVmZmVyT2Zmc2V0Pj10aGlzLm91dHB1dEJ1ZmZlclNpemV9ZHJhaW4oKXtpZighdGhpcy5jYW5EcmFpbilyZXR1cm4gbnVsbDtsZXQgZT10aGlzLkFycmF5Q2xhc3MsdD1uZXcgZSh0aGlzLm91dHB1dEJ1ZmZlclNpemUpLGk9MDtmb3IoO2khPXQubGVuZ3RoOyl7aWYoaT50Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYEJ1ZmZlciBvdmVyZmxvdzogJHtpfSA+ICR7dC5sZW5ndGh9YCk7bGV0IGY9dC5sZW5ndGgtaSxoPXRoaXMucGFydGlhbEJ1ZmZlcnNbMF0sYT1oLmxlbmd0aC10aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQ7YTxmPyh0LnNldChoLnN1YmFycmF5KHRoaXMucGFydGlhbEJ1ZmZlck9mZnNldCksaSksaSs9YSx0aGlzLnBhcnRpYWxCdWZmZXJzLnNoaWZ0KCksdGhpcy5wYXJ0aWFsQnVmZmVyT2Zmc2V0PTApOih0LnNldChoLnN1YmFycmF5KHRoaXMucGFydGlhbEJ1ZmZlck9mZnNldCx0aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQrZiksaSksaSs9Zix0aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQrPWYpfXJldHVybiB0fXBhZCgpe2xldCBlPXRoaXMucXVldWVkU2l6ZSV0aGlzLm91dHB1dEJ1ZmZlclNpemU7aWYoZT09MClyZXR1cm47bGV0IHQ9dGhpcy5BcnJheUNsYXNzLGk9bmV3IHQoZSk7dGhpcy5mZWVkKGkpfX07dmFyIHk9Y2xhc3MgZXh0ZW5kcyBBdWRpb1dvcmtsZXRQcm9jZXNzb3J7Y29uc3RydWN0b3IodCl7c3VwZXIodCk7dGhpcy5mb3JtYXQ9ImludDE2Ijt0aGlzLmlucHV0QnVmZmVyPW5ldyBjKEZsb2F0MzJBcnJheSw0MDk2KTt0aGlzLnBvcnQub25tZXNzYWdlPWk9PnRoaXMub25NZXNzYWdlKGkpfW9uTWVzc2FnZSh0KXt0LmRhdGEuYWN0aW9uPT0ic3RhcnQiJiYodGhpcy5mb3JtYXQ9dC5kYXRhLmZvcm1hdCx0aGlzLnJlc2FtcGxlcj1uZXcgZyh0LmRhdGEuaW5wdXRTYW1wbGVSYXRlLHQuZGF0YS5vdXRwdXRTYW1wbGVSYXRlLDEsNDA5NiksdGhpcy5mb3JtYXQ9PSJpbnQxNiI/dGhpcy5vdXRwdXRCdWZmZXI9bmV3IGMoSW50MTZBcnJheSx0LmRhdGEuYnVmZmVyU2l6ZSk6dGhpcy5mb3JtYXQ9PSJpbnQ2NCI/dGhpcy5vdXRwdXRCdWZmZXI9bmV3IGMoQmlnSW50NjRBcnJheSx0LmRhdGEuYnVmZmVyU2l6ZSk6dGhpcy5mb3JtYXQ9PSJmbG9hdDMyIiYmKHRoaXMub3V0cHV0QnVmZmVyPW5ldyBjKEZsb2F0MzJBcnJheSx0LmRhdGEuYnVmZmVyU2l6ZSkpKX1wcm9jZXNzKHQsaSxmKXtmb3IobGV0IGE9MDthPGkubGVuZ3RoO2ErKyl7bGV0IHM9TWF0aC5taW4oaVthXS5sZW5ndGgsdFswXS5sZW5ndGgpO2ZvcihsZXQgcj0wO3I8cztyKyspaVthXVtyXS5zZXQodFswXVtyXSl9aWYoIXRoaXMucmVzYW1wbGVyKXJldHVybiEwO2xldCBoPW5ldyBGbG9hdDMyQXJyYXkoaVswXVswXS5sZW5ndGgpO2ZvcihoLnNldChpWzBdWzBdKSx0aGlzLmlucHV0QnVmZmVyLmZlZWQoaCk7dGhpcy5pbnB1dEJ1ZmZlci5jYW5EcmFpbjspe2xldCBhPXRoaXMuaW5wdXRCdWZmZXIuZHJhaW4oKSxzPXRoaXMucmVzYW1wbGVyLnJlc2FtcGxlKGEpO3RoaXMuZm9ybWF0PT0iaW50MTYiP3RoaXMub3V0cHV0QnVmZmVyLmZlZWQoZChzKSk6dGhpcy5mb3JtYXQ9PSJpbnQ2NCI/dGhpcy5vdXRwdXRCdWZmZXIuZmVlZCh3KHMpKTp0aGlzLmZvcm1hdD09ImZsb2F0MzIiJiZ0aGlzLm91dHB1dEJ1ZmZlci5mZWVkKHMpfWZvcig7dGhpcy5vdXRwdXRCdWZmZXIuY2FuRHJhaW47KXtsZXQgYT10aGlzLm91dHB1dEJ1ZmZlci5kcmFpbigpO2lmKCFhKWJyZWFrO3RoaXMucG9ydC5wb3N0TWVzc2FnZSh7YWN0aW9uOiJkYXRhIixidWZmZXI6YS5idWZmZXJ9LFthLmJ1ZmZlcl0pfXJldHVybiEwfX07cmVnaXN0ZXJQcm9jZXNzb3IoInBjbS1yZWNlaXZlci1ub2RlIix5KTsK";var ng=new q("PCMPlayerNode"),gi=class extends AudioWorkletNode{constructor(t,i,r){super(t,"pcm-player-node",{numberOfInputs:0});this.sampleRate=0;this.format="int16";this.isCancelled=!1;if(!i||i<=0)throw new Error(`Invalid sample rate: ${i}`);if(!r||r!="int16"&&r!="float32")throw new Error(`Invalid format: ${r}`);this.sampleRate=i,this.format=r,this.port.onmessage=a=>this.onWorkletMessage(a),this.port.postMessage({action:"start",inputSampleRate:i,outputSampleRate:t.sampleRate,format:r})}feed(t){this.port.postMessage({action:"data",buffer:t.buffer},[t.buffer])}async play(t){if(this.isCancelled)throw new Error("PCMPlayerNode has already been cancelled.");if(this._playPromise)throw new Error("Already playing a stream");this._playPromise=new Promise(i=>this._playPromiseResolve=i),this.dispatchEvent(new CustomEvent("start",{detail:{player:this,stream:t}}));try{let i=t.getReader();for(;!this.isCancelled;){let{done:r,value:a}=await i.read();if(r||!a)break;this.feed(a)}}catch(i){ng.warn("Stream error:",i),this.dispatchEvent(new CustomEvent("error",{detail:{player:this,stream:t,error:i}}))}this.port.postMessage({action:"end"}),await this._playPromise}onWorkletMessage(t){t.data.action=="end"&&(this._playPromiseResolve?.(),this.dispatchEvent(new CustomEvent("end",{detail:{player:this}})))}stop(){this.isCancelled=!0,this.port.postMessage({action:"cancel"}),this._playPromiseResolve?.()}};var hi=new q("SpeechOutput"),Pl=.5,ig=.8,fi=class extends EventTarget{constructor(n){super(),this.ai=n,this.ai.addEventListener("output",t=>this.onTextOutputFromAI(t)),this.ai.audio?.speechRecognition.addEventListener("speechstart",t=>this.interrupt()),this.ai.knowledgeBase.registerSource(()=>[{id:"system.voice",type:"info",name:"Voice active",isContext:!0,disabled:!1,content:"Text-to-speech is active. The user can hear your voice."}])}onTextOutputFromAI(n){n.detail.isChunk||this.ai?.audio?.speechRecognition.isRunning&&this.speak(n.detail.message)}async speak(n){if(!this.ai?.config?.voice?.providerID)return hi.warn("No voice provider configured");let t=`speech-${rg++}`;await this.ai.audio.beginAccess(t);try{await this._speakWithLock(n)}finally{this.ai.audio.endAccess(t)}}async _speakWithLock(n){this.interrupt(),this.ai.audio.speechRecognition.voiceDetection&&(this.ai.audio.speechRecognition.voiceDetection.sensitivity=ig);let t=this.ai?._voiceTracker||hi.timer(`${this.ai.config.voice.providerID} voice`);t(`Speak: ${n}`),this.currentPlayerVolume?.disconnect(),this.currentPlayerVolume=this.ai.audio.context.createGain(),this.currentPlayerVolume.connect(this.ai.audio.context.destination);let i=this.currentPlayerVolume,r=new gi(this.ai.audio.context,24e3,"int16");this.currentPlayer=r,r.connect(i),r.addEventListener("end",o=>{let s=o;t(`PCM stream ${s.detail.interrupted?"interrupted":"ended"}`),this.currentPlayer==r&&!s.detail.interrupted&&(this.currentPlayer=void 0,this.onSpeechEnd())});let a;if(this.ai.config.voice.providerID=="openai")a=await fetch("https://api.openai.com/v1/audio/speech",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.ai.config.voice.apiKey}`},body:JSON.stringify({model:"tts-1",input:n,voice:this.ai.config.voice.voiceID,response_format:"pcm"})});else if(this.ai.config.voice.providerID=="elevenlabs")a=await fetch(`https://api.elevenlabs.io/v1/text-to-speech/${this.ai.config.voice.voiceID}?output_format=pcm_24000`,{method:"POST",headers:{"xi-api-key":`${this.ai.config.voice.apiKey}`,"Content-Type":"application/json"},body:JSON.stringify({text:n})});else{hi.warn(`Unknown voice provider: ${this.ai.config.voice.providerID}`);return}if(t(`Received response ${a.status} ${a.statusText}`),!a.ok){hi.warn(`Failed to generate voice sample: ${a.status} ${a.statusText}`);return}this.dispatchEvent(new CustomEvent("speechstart",{detail:{ai:this.ai,message:n}})),t("Playing PCM stream"),await r.play(a.body),t("Audio has ended")}get isSpeaking(){return!!this.currentPlayer}async interrupt(){if(!this.currentPlayerVolume)return;let n=this.currentPlayerVolume,t=this.currentPlayer;this.currentPlayerVolume=void 0,this.currentPlayer=void 0,this.ai?.audio?.speechRecognition.voiceDetection&&(this.ai.audio.speechRecognition.voiceDetection.sensitivity=Pl);let i=400;n.gain.linearRampToValueAtTime(0,i/1e3),await new Promise(r=>setTimeout(r,i+250)),n.disconnect(),t?.stop(),t?.disconnect()}onSpeechEnd(){this.dispatchEvent(new CustomEvent("speechend",{detail:{ai:this.ai}})),this.ai?.audio?.speechRecognition.voiceDetection&&(this.ai.audio.speechRecognition.voiceDetection.sensitivity=Pl)}},rg=1;function yi(e,n){let t=n.reduce((l,c)=>l+c.byteLength,0),i=new DataView(new ArrayBuffer(44));i.setUint8(0,82),i.setUint8(1,73),i.setUint8(2,70),i.setUint8(3,70),i.setUint32(4,44+t,!0),i.setUint8(8,87),i.setUint8(9,65),i.setUint8(10,86),i.setUint8(11,69);let r=1,a=32,o=r*a/8,s=e*o;return i.setUint8(12,102),i.setUint8(13,109),i.setUint8(14,116),i.setUint8(15,32),i.setUint32(16,16,!0),i.setUint16(20,3,!0),i.setUint16(22,r,!0),i.setUint32(24,e,!0),i.setUint32(28,s,!0),i.setUint16(32,o,!0),i.setUint16(34,a,!0),i.setUint8(36,100),i.setUint8(37,97),i.setUint8(38,116),i.setUint8(39,97),i.setUint32(40,t,!0),new File([i,...n],"audio.wav",{type:"audio/wav"})}var bi=class extends AudioWorkletNode{constructor(t,i,r,a){super(t,"pcm-receiver-node",{numberOfInputs:1});this.format="int16";this.format=r;let o=["int16","int64","float32"];if(!i||i<=0)throw new Error(`Invalid sample rate: ${i}`);if(!o.includes(r))throw new Error(`Invalid format ${r}, must be one of: ${o.join(", ")}`);if(!a||a<=0)throw new Error(`Invalid buffer size: ${a}`);this.port.onmessage=s=>this.onWorkletMessage(s),this.port.postMessage({action:"start",inputSampleRate:t.sampleRate,outputSampleRate:i,format:r,bufferSize:a})}onWorkletMessage(t){if(t.data.action=="data"){let i=null;if(this.format=="int16"&&(i=new Int16Array(t.data.buffer)),this.format=="int64"&&(i=new BigInt64Array(t.data.buffer)),this.format=="float32"&&(i=new Float32Array(t.data.buffer)),!i)throw new Error(`Invalid format: ${this.format}`);this.onData(i),this.dispatchEvent(new CustomEvent("data",{detail:{data:i}}))}}onData(t){}};var sa=16e3,vi=256,xt=8,ln=new q("VoiceDetectionNode"),cn=class cn extends bi{constructor(t){super(t,sa,"float32",vi*xt);this.isVoiceActive=!1;this.lastVoiceActiveDate=0;this.voiceEndTimeout=50;this.sensitivity=.5;this.sentivityEnd=.2;this.nextVadReset=0;this.currentProbability=0;this._lastVoiceActive=!1;if(!cn.vadModelURL)throw new Error("VAD model url not set, please load it and set it to VoiceDetectionNode.vadModelURL");this.loadModel()}get isVoicePossiblyEnding(){return this.isVoiceActive&&this.currentProbability<this.sensitivity}get sampleRate(){return sa}get numberOfSamples(){return vi}get numberOfSampleChunks(){return xt}get outputBufferSize(){return vi*xt}get isModelLoaded(){return!!this.vad}async loadModel(){ln.debug("Loading VAD model"),this.vad=await Ie.load(cn.vadModelURL),this.vad.ignoreIfBusy=!0,ln.debug("Model loaded"),this.vad.makeConstant("sr","int64",[1],sa),this.vad.makeState("h","hn","float32",[2,xt,64]),this.vad.makeState("c","cn","float32",[2,xt,64])}async onData(t){if(this.vad)try{let i=await this.vad.run({input:new Ie.onnx.Tensor(t,[xt,vi])});if(!i)return;this.currentProbability=0;for(let o=0;o<i.output.data.length;o++)i.output.data[o]>this.currentProbability&&(this.currentProbability=i.output.data[o]);let r=this.isVoiceActive?this.sentivityEnd:this.sensitivity,a=this.currentProbability>r;if(!a&&this._lastVoiceActive&&(this.nextVadReset=Date.now(),this.vad.resetState()),this._lastVoiceActive=a,a&&!this.isVoiceActive?(this.lastVoiceActiveDate=Date.now(),this.isVoiceActive=!0,this.dispatchEvent(new CustomEvent("speechstart")),this.onSpeechStart(),ln.debug("Started speaking")):a?this.lastVoiceActiveDate=Date.now():!a&&this.isVoiceActive&&Date.now()<this.lastVoiceActiveDate+this.voiceEndTimeout||!a&&this.isVoiceActive&&(this.isVoiceActive=!1,this.dispatchEvent(new CustomEvent("speechend")),this.onSpeechEnd(),ln.debug("Stopped speaking after timeout")),!a){let o=Date.now();o>this.nextVadReset&&(this.nextVadReset=o+5e3,this.vad.resetState())}}catch(i){ln.error("VAD failed:",i)}}onSpeechStart(){}onSpeechEnd(){}};cn.vadModelURL="";var It=cn;var Dl=new q("VoiceChunkOutputNode"),Rt=class extends It{constructor(){super(...arguments);this.buffers=[];this.recordedBuffers=[];this._voiceRecording=!1;this.backBufferDurationSeconds=3}get bufferDuration(){return this.buffers.reduce((t,i)=>t+i.length,0)/8e3}async onData(t){if(await super.onData(t),this.isVoiceActive&&!this._voiceRecording){Dl.debug(`Voice detected, sending ${this.buffers.length} existing chunks`),this._voiceRecording=!0;for(let i of this.buffers)this.recordedBuffers.push(i),this.dispatchEvent(new CustomEvent("voicedata",{detail:{data:i,isFinal:!1}})),this.onVoiceChunk(i);this.recordedBuffers.push(t),this.dispatchEvent(new CustomEvent("voicedata",{detail:{data:t,isFinal:!1}})),this.onVoiceChunk(t),this.buffers=[]}else if(this.isVoiceActive)this.recordedBuffers.push(t),this.dispatchEvent(new CustomEvent("voicedata",{detail:{data:t,isFinal:!1}})),this.onVoiceChunk(t);else if(!this.isVoiceActive&&this._voiceRecording){this.recordedBuffers.push(t),this.dispatchEvent(new CustomEvent("voicedata",{detail:{data:t,isFinal:!0}})),this.onVoiceChunk(t),this._voiceRecording=!1;let i=this.recordedBuffers.reduce((r,a)=>r+a.length,0);Dl.debug(`Voice complete, recorded ${(i/8e3).toFixed(2)} seconds of audio, ${i*4/1024} KB of data`),this.dispatchEvent(new CustomEvent("voicedataend",{detail:{data:this.recordedBuffers}})),this.onVoiceEnd(this.recordedBuffers),this.recordedBuffers=[]}else for(this.buffers.push(t);this.bufferDuration>this.backBufferDurationSeconds;)this.buffers.shift()}onVoiceChunk(t){}onVoiceEnd(t){}};var _i=new q("OpenAITranscriptionNode"),Si=class extends Rt{constructor(t,i){super(t);this.apiKey="";this.pendingBuffers=[];this.isTranscribing=!1;this.apiKey=i}async onVoiceEnd(t){let i=_i.timer("OpenAI Transcribe");this.isTranscribing=!0,this.pendingBuffers.push(...t);let r=yi(this.sampleRate,this.pendingBuffers);this.lastRequestAbortController?.abort(),this.lastRequestAbortController=new AbortController;let a="";try{let o=new FormData;o.append("file",r),o.append("model","whisper-1"),o.append("response_format","text");let s=await fetch("https://api.openai.com/v1/audio/transcriptions",{method:"POST",headers:{Authorization:`Bearer ${this.apiKey}`},body:o,signal:this.lastRequestAbortController.signal});if(!s.ok)throw new Error(`Failed to generate voice sample: ${s.status} ${s.statusText}`);i("Response received"),a=await s.text(),i("Content received: "+a),this.lastRequestAbortController=void 0}catch(o){_i.error(`Failed to transcribe speech: ${o.message}`);return}finally{this.isTranscribing=!1}if(this.pendingBuffers=[],!a)return _i.debug("Transcription complete, but no text was found");_i.debug(`Transcription: ${a}`),this.onVoiceTranscription(a),this.dispatchEvent(new CustomEvent("transcription",{detail:{text:a}}))}onVoiceTranscription(t){}};var Ei=class extends WebSocket{constructor(t){super(t);this.pendingData=[];this.addEventListener("open",()=>this._onOpen())}send(t){this.readyState==WebSocket.OPEN?super.send(t):this.pendingData.push(t)}_onOpen(){for(let t of this.pendingData)super.send(t);this.pendingData=[]}};var Le=new q("IntelliWeaveTranscriptionNode"),ag="wss://speech.intelliweave.ai/api/v1/transcribe",ki=class ki extends Rt{constructor(t,i){super(t);this.apiAddress=ag;this.apiKey="";this.isTranscribing=!1;this.apiKey=i}async onVoiceChunk(t){this.isTranscribing=!0,this.ws?this.ws.send(t):(Le.debug("Opening WebSocket connection"),this.ws=new Ei(this.apiAddress),this.ws.send(JSON.stringify({type:"hello",sampleRate:16e3,channels:1,format:"float32",apiKey:this.apiKey})),this.ws.send(t.buffer),this.ws.onopen=()=>{Le.debug("WebSocket connection opened")},this.ws.addEventListener("message",r=>{let a=JSON.parse(r.data);if(a.error)return Le.warn("Error: "+a.error);if(a.type!="transcription")return Le.warn("Invalid response type",a);if(a.streaming&&!a.final)return Le.debug("Partial transcription: "+a.partialText);if(this.isTranscribing=!1,!a.text.trim())return Le.warn(`Empty transcription (${a.processingTime}ms)`);Le.debug(`Transcription: ${a.text} (${a.processingTime}ms)`),this.onVoiceTranscription(a.text),this.dispatchEvent(new CustomEvent("transcription",{detail:{text:a.text}}))}),this.ws.addEventListener("close",()=>this.onSocketClose()),this.ws.addEventListener("error",r=>Le.warn("WebSocket error")));let i=1e3*60*1;this.shutdownTimer&&clearTimeout(this.shutdownTimer),this.shutdownTimer=setTimeout(()=>{Le.debug("Shutting down WebSocket connection"),this.ws?.close(),this.ws=void 0},i)}async onVoiceEnd(t){if(this.ws?.send(JSON.stringify({type:"end"})),ki.debugExportWav){let i=yi(this.sampleRate,t),r=document.createElement("a");r.href=URL.createObjectURL(i),r.download="recording.wav",r.click()}}onVoiceTranscription(t){}onSocketClose(){Le.debug("WebSocket connection closed"),this.ws=void 0,this.isTranscribing=!1}};ki.debugExportWav=!1;var Ci=ki;var la=new q("SpeechRecognition"),wi=class extends EventTarget{constructor(t){super();this.isRunning=!1;this._skipEvents=!1;this.maxVolumeHeard=0;this.ai=t,this.ai.knowledgeBase.registerSource(()=>[{id:"system.microphone.enable",type:"action",name:"Enable or disable microphone",isContext:!0,content:`Starts or stops listening to input from the user through the microphone. ${this.isRunning?"Microphone access is currently enabled and you can hear the user.":"Microphone access is currently disabled."}.`,parameters:[{name:"enable",type:"boolean",description:"If true, enables the microphone. If false, disables it."}],action:async i=>{i.enable?await this.start():this.stop()}}])}get isSupported(){if(!Ie.lib||!this.ai?.vadModel||!He().AudioWorkletNode)return!1;if(this.ai?.config?.transcription?.providerID!="intelliweave"){if(!(this.ai?.config?.transcription?.providerID=="openai"&&this.ai.config?.transcription?.apiKey))return!1}return!0}async start(){if(!this.isSupported)throw new Error("Speech recognition not supported in this persona and browser.");if(!this.isRunning){this.isRunning=!0;try{await this.ai.audio.beginAccess("speech-recognition"),this.micStream=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0}});let t=this.ai.audio.context.createMediaStreamSource(this.micStream);this.analyserNode=this.ai.audio.context.createAnalyser(),this.analyserNode.fftSize=32,t.connect(this.analyserNode),this.analyserBuffer=new Float32Array(this.analyserNode.fftSize),It.vadModelURL=URL.createObjectURL(this.ai.vadModel),this.ai?.config?.transcription?.providerID=="openai"?(this.voiceDetection=new Si(this.ai.audio.context,this.ai.config.transcription.apiKey),t.connect(this.voiceDetection)):(this.voiceDetection=new Ci(this.ai.audio.context,this.ai.apiKey),this.voiceDetection.apiAddress=this.ai?.config?.transcription?.url||this.voiceDetection.apiAddress,t.connect(this.voiceDetection)),this.voiceDetection.addEventListener("speechstart",i=>{this.ai._voiceTracker=la.timer("voice interaction","Speech started"),this.dispatchEvent(new CustomEvent(i.type,{detail:i.detail}))}),this.voiceDetection.addEventListener("speechend",i=>{this.ai._voiceTracker?.("Speech ended"),this.dispatchEvent(new CustomEvent(i.type,{detail:i.detail}))}),this.voiceDetection.addEventListener("transcription",i=>{this.ai._voiceTracker?.(`Transcription: ${i.detail.text}`),this.onTranscription(i)}),this._skipEvents||this.dispatchEvent(new CustomEvent("start",{detail:{speechRecognition:this}}))}catch(t){la.error("Failed to start speech recognition:",t),this.stop()}}}stop(){this.isRunning&&(this.isRunning=!1,this.ai.audio.endAccess("speech-recognition"),this.voiceDetection?.disconnect(),this.voiceDetection=void 0,this.micStream?.getTracks().forEach(t=>t.stop()),this.micStream=void 0,this.analyserNode=void 0,this.analyserBuffer=void 0,this._skipEvents||this.dispatchEvent(new CustomEvent("end",{detail:{speechRecognition:this}})))}get volumeLevel(){if(!this.analyserNode||!this.analyserBuffer)return 0;this.analyserNode.getFloatTimeDomainData(this.analyserBuffer);let t=0;for(let r of this.analyserBuffer)t+=r*r;let i=Math.sqrt(t/this.analyserBuffer.length);return i>this.maxVolumeHeard&&(this.maxVolumeHeard=i),this.maxVolumeHeard*=.999,this.maxVolumeHeard<.01&&(this.maxVolumeHeard=.01),Math.min(1,Math.max(0,i/this.maxVolumeHeard))}get wordsCurrentlyBeingSpoken(){return!!this.voiceDetection?.isVoiceActive}get isTranscribing(){return!!this.voiceDetection?.isTranscribing}onTranscription(t){let i=t.detail.text;la.debug("Heard:",i),this.dispatchEvent(new CustomEvent("speech",{detail:{transcript:i,isFinal:!0}}))}async reset(){if(this.isRunning){this._skipEvents=!0;try{this.stop(),await this.start(),this._skipEvents=!1}catch(t){throw this._skipEvents=!1,t}}}};var Ti=new q("AudioSystem"),Pt=class{constructor(n){this.locks=[];if(!n)throw new Error("AI reference is required. Please pass in the IntelliWeave instance to the constructor.");this.ai=n,this.ai.audio=this,this.speechRecognition=new wi(this.ai),this.speechOutput=new fi(this.ai)}static get isSupported(){return!(!Ie.lib||!He().AudioWorkletNode)}async beginAccess(n){Ti.debug(`Began access for: ${n}`),this.locks.includes(n)||this.locks.push(n),!this.context&&(Ti.debug("Creating AudioContext"),this.context=new AudioContext({latencyHint:"interactive"}),this.context.resume(),await Promise.all([this.context.audioWorklet.addModule(Il),this.context.audioWorklet.addModule(Rl)]))}endAccess(n){Ti.debug(`Ended access for: ${n}`),this.locks=this.locks.filter(t=>t!=n),!this.locks.length&&(Ti.debug("Closing AudioContext"),this.context?.close(),this.context=void 0)}};var NT=new q("Stream");var lt=_a(ql(),1);var HT=new q("React");var VT=(0,lt.createContext)(void 0);var Ri=new q("Embed"),ct=class extends be{constructor(){super();this.config={};this.suggestions=[];this.html=()=>`
3534
+ `,r.addEventListener("click",a=>{this.dispatchEvent(new CustomEvent("select",{detail:i.id}))}),t.appendChild(r)}}};sn.observedAttributes=["open"];var At=new q("ONNXModel"),Ie=class e{constructor(n){this.stateTensors={};this.constantTensors={};this._runActive=!1;this.ignoreIfBusy=!1;this.session=n,At.debug(`Model input parameters: ${n.inputNames.join(", ")}`),At.debug(`Model output parameters: ${n.outputNames.join(", ")}`)}static isSupported(){return!!e.lib}static async load(n){if(!e.lib)throw new Error("ONNX runtime not loaded, please set the runtime loader. Example: ONNXModel.lib = () => import('onnxruntime-web')");this.onnx||(At.debug("Loading ONNX runtime"),this.onnx=await e.lib()),At.debug(`Loading model: ${n}`);let t=await this.onnx.InferenceSession.create(n);return new e(t)}makeTensor(n,t,i=0){let r=1;for(let o of t)r*=o;let a;if(n=="float32")a=new e.onnx.Tensor(new Float32Array(r),t);else if(n=="int8")a=new e.onnx.Tensor(new Int8Array(r),t);else if(n=="int16")a=new e.onnx.Tensor(new Int16Array(r),t);else if(n=="int32")a=new e.onnx.Tensor(new Int32Array(r),t);else if(n=="int64")a=new e.onnx.Tensor(new BigInt64Array(r),t);else if(n=="uint8")a=new e.onnx.Tensor(new Uint8Array(r),t);else if(n=="uint16")a=new e.onnx.Tensor(new Uint16Array(r),t);else if(n=="uint32")a=new e.onnx.Tensor(new Uint32Array(r),t);else if(n=="uint64")a=new e.onnx.Tensor(new BigUint64Array(r),t);else throw new Error(`Invalid type: ${n}`);return i!==0&&(n=="int64"||n=="uint64")?a.data.fill(BigInt(i)):i!==0&&a.data.fill(i),a}registerConstant(n,t){if(!this.session.inputNames.includes(n))throw new Error(`Model does not have an input named: ${n}`);return this.constantTensors[n]=t,t}makeConstant(n,t,i,r=0){return this.registerConstant(n,this.makeTensor(t,i,r))}registerState(n,t,i){if(t||(t=n),!this.session.inputNames.includes(n))throw new Error(`Model does not have an input named: ${n}`);if(!this.session.outputNames.includes(t))throw new Error(`Model does not have an output named: ${t}`);return this.stateTensors[n]={outputName:t,tensor:i},i}makeState(n,t,i,r,a=0){return this.registerState(n,t,this.makeTensor(i,r,a))}async run(n={}){if(this._runActive&&this.ignoreIfBusy)return At.debug("Ignoring run request because a previous run is still active");if(this._runActive)throw new Error("A previous run is still active");this._runActive=!0;for(let t in this.stateTensors)n[t]=this.stateTensors[t].tensor;for(let t in this.constantTensors)n[t]=this.constantTensors[t];try{let t=await this.session.run(n);for(let i in this.stateTensors){let r=t[this.stateTensors[i].outputName];this.stateTensors[i].tensor=r}return t}finally{this._runActive=!1}}resetState(){At.debug("Resetting state tensors");for(let n in this.stateTensors)this.stateTensors[n].tensor.data.fill(0)}};var Il="data:application/javascript;base64,dmFyIGM9Y2xhc3N7Y29uc3RydWN0b3IoaSx0KXt0aGlzLm91dHB1dEJ1ZmZlclNpemU9MDt0aGlzLnBhcnRpYWxCdWZmZXJzPVtdO3RoaXMucGFydGlhbEJ1ZmZlck9mZnNldD0wO2lmKCFpKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcnJheSBjbGFzczogJHtpfWApO2lmKCF0fHx0PD0wKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvdXRwdXQgYnVmZmVyIHNpemU6ICR7dH1gKTt0aGlzLkFycmF5Q2xhc3M9aSx0aGlzLm91dHB1dEJ1ZmZlclNpemU9dH1nZXQgcXVldWVkU2l6ZSgpe3JldHVybiB0aGlzLnBhcnRpYWxCdWZmZXJzLnJlZHVjZSgoaSx0KT0+aSt0Lmxlbmd0aCwwKX1mZWVkKGkpe3RoaXMucGFydGlhbEJ1ZmZlcnMucHVzaChpKX1nZXQgY2FuRHJhaW4oKXtyZXR1cm4gdGhpcy5wYXJ0aWFsQnVmZmVycy5yZWR1Y2UoKHQscik9PnQrci5sZW5ndGgsMCktdGhpcy5wYXJ0aWFsQnVmZmVyT2Zmc2V0Pj10aGlzLm91dHB1dEJ1ZmZlclNpemV9ZHJhaW4oKXtpZighdGhpcy5jYW5EcmFpbilyZXR1cm4gbnVsbDtsZXQgaT10aGlzLkFycmF5Q2xhc3MsdD1uZXcgaSh0aGlzLm91dHB1dEJ1ZmZlclNpemUpLHI9MDtmb3IoO3IhPXQubGVuZ3RoOyl7aWYocj50Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYEJ1ZmZlciBvdmVyZmxvdzogJHtyfSA+ICR7dC5sZW5ndGh9YCk7bGV0IGE9dC5sZW5ndGgtcixzPXRoaXMucGFydGlhbEJ1ZmZlcnNbMF0sZj1zLmxlbmd0aC10aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQ7ZjxhPyh0LnNldChzLnN1YmFycmF5KHRoaXMucGFydGlhbEJ1ZmZlck9mZnNldCkscikscis9Zix0aGlzLnBhcnRpYWxCdWZmZXJzLnNoaWZ0KCksdGhpcy5wYXJ0aWFsQnVmZmVyT2Zmc2V0PTApOih0LnNldChzLnN1YmFycmF5KHRoaXMucGFydGlhbEJ1ZmZlck9mZnNldCx0aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQrYSkscikscis9YSx0aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQrPWEpfXJldHVybiB0fXBhZCgpe2xldCBpPXRoaXMucXVldWVkU2l6ZSV0aGlzLm91dHB1dEJ1ZmZlclNpemU7aWYoaT09MClyZXR1cm47bGV0IHQ9dGhpcy5BcnJheUNsYXNzLHI9bmV3IHQoaSk7dGhpcy5mZWVkKHIpfX07dmFyIGQ9Y2xhc3N7Y29uc3RydWN0b3IoaSx0LHIsYSl7aWYoIWl8fCF0fHwhcil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2V0dGluZ3Mgc3BlY2lmaWVkIGZvciB0aGUgcmVzYW1wbGVyLiIpO3RoaXMucmVzYW1wbGVyPW51bGwsdGhpcy5mcm9tU2FtcGxlUmF0ZT1pLHRoaXMudG9TYW1wbGVSYXRlPXQsdGhpcy5jaGFubmVscz1yfHwwLHRoaXMuaW5wdXRCdWZmZXJTaXplPWEsdGhpcy5pbml0aWFsaXplKCl9aW5pdGlhbGl6ZSgpe3RoaXMuZnJvbVNhbXBsZVJhdGU9PXRoaXMudG9TYW1wbGVSYXRlPyh0aGlzLnJlc2FtcGxlcj1pPT5pLHRoaXMucmF0aW9XZWlnaHQ9MSk6KHRoaXMuZnJvbVNhbXBsZVJhdGU8dGhpcy50b1NhbXBsZVJhdGU/KHRoaXMubGluZWFySW50ZXJwb2xhdGlvbigpLHRoaXMubGFzdFdlaWdodD0xKToodGhpcy5tdWx0aVRhcCgpLHRoaXMudGFpbEV4aXN0cz0hMSx0aGlzLmxhc3RXZWlnaHQ9MCksdGhpcy5pbml0aWFsaXplQnVmZmVycygpLHRoaXMucmF0aW9XZWlnaHQ9dGhpcy5mcm9tU2FtcGxlUmF0ZS90aGlzLnRvU2FtcGxlUmF0ZSl9YnVmZmVyU2xpY2UoaSl7dHJ5e3JldHVybiB0aGlzLm91dHB1dEJ1ZmZlci5zdWJhcnJheSgwLGkpfWNhdGNoe3RyeXtyZXR1cm4gdGhpcy5vdXRwdXRCdWZmZXIubGVuZ3RoPWksdGhpcy5vdXRwdXRCdWZmZXJ9Y2F0Y2h7cmV0dXJuIHRoaXMub3V0cHV0QnVmZmVyLnNsaWNlKDAsaSl9fX1pbml0aWFsaXplQnVmZmVycygpe3RoaXMub3V0cHV0QnVmZmVyU2l6ZT1NYXRoLmNlaWwodGhpcy5pbnB1dEJ1ZmZlclNpemUqdGhpcy50b1NhbXBsZVJhdGUvdGhpcy5mcm9tU2FtcGxlUmF0ZS90aGlzLmNoYW5uZWxzKjEuMDAwMDAwNDc2ODM3MTU4MikrdGhpcy5jaGFubmVscyt0aGlzLmNoYW5uZWxzO3RyeXt0aGlzLm91dHB1dEJ1ZmZlcj1uZXcgRmxvYXQzMkFycmF5KHRoaXMub3V0cHV0QnVmZmVyU2l6ZSksdGhpcy5sYXN0T3V0cHV0PW5ldyBGbG9hdDMyQXJyYXkodGhpcy5jaGFubmVscyl9Y2F0Y2h7dGhpcy5vdXRwdXRCdWZmZXI9W10sdGhpcy5sYXN0T3V0cHV0PVtdfX1saW5lYXJJbnRlcnBvbGF0aW9uKCl7dGhpcy5yZXNhbXBsZXI9aT0+e2xldCB0PWkubGVuZ3RoLHI9dGhpcy5jaGFubmVscyxhLHMsZixoLGUsbix1LG8sbDtpZih0JXIhPT0wKXRocm93IG5ldyBFcnJvcigiQnVmZmVyIHdhcyBvZiBpbmNvcnJlY3Qgc2FtcGxlIGxlbmd0aC4iKTtpZih0PD0wKXJldHVybltdO2ZvcihhPXRoaXMub3V0cHV0QnVmZmVyU2l6ZSxzPXRoaXMucmF0aW9XZWlnaHQsZj10aGlzLmxhc3RXZWlnaHQsaD0wLGU9MCxuPTAsdT0wLG89dGhpcy5vdXRwdXRCdWZmZXI7ZjwxO2YrPXMpZm9yKGU9ZiUxLGg9MS1lLHRoaXMubGFzdFdlaWdodD1mJTEsbD0wO2w8dGhpcy5jaGFubmVsczsrK2wpb1t1KytdPXRoaXMubGFzdE91dHB1dFtsXSpoK2lbbF0qZTtmb3IoZi09MSx0LT1yLG49TWF0aC5mbG9vcihmKSpyO3U8YSYmbjx0Oyl7Zm9yKGU9ZiUxLGg9MS1lLGw9MDtsPHRoaXMuY2hhbm5lbHM7KytsKW9bdSsrXT1pW24rKGw+MD9sOjApXSpoK2lbbisocitsKV0qZTtmKz1zLG49TWF0aC5mbG9vcihmKSpyfWZvcihsPTA7bDxyOysrbCl0aGlzLmxhc3RPdXRwdXRbbF09aVtuKytdO3JldHVybiB0aGlzLmJ1ZmZlclNsaWNlKHUpfX1tdWx0aVRhcCgpe3RoaXMucmVzYW1wbGVyPWk9PntsZXQgdD1pLmxlbmd0aCxyLGEscz10aGlzLmNoYW5uZWxzLGYsaCxlLG4sdSxvLGwsbSxnO2lmKHQlcyE9PTApdGhyb3cgbmV3IEVycm9yKCJCdWZmZXIgd2FzIG9mIGluY29ycmVjdCBzYW1wbGUgbGVuZ3RoLiIpO2lmKHQ8PTApcmV0dXJuW107Zm9yKHI9dGhpcy5vdXRwdXRCdWZmZXJTaXplLGE9W10sZj10aGlzLnJhdGlvV2VpZ2h0LGg9MCxuPTAsdT0wLG89IXRoaXMudGFpbEV4aXN0cyx0aGlzLnRhaWxFeGlzdHM9ITEsbD10aGlzLm91dHB1dEJ1ZmZlcixtPTAsZz0wLGU9MDtlPHM7KytlKWFbZV09MDtkb3tpZihvKWZvcihoPWYsZT0wO2U8czsrK2UpYVtlXT0wO2Vsc2V7Zm9yKGg9dGhpcy5sYXN0V2VpZ2h0LGU9MDtlPHM7KytlKWFbZV09dGhpcy5sYXN0T3V0cHV0W2VdO289ITB9Zm9yKDtoPjAmJm48dDspaWYodT0xK24tZyxoPj11KXtmb3IoZT0wO2U8czsrK2UpYVtlXSs9aVtuKytdKnU7Zz1uLGgtPXV9ZWxzZXtmb3IoZT0wO2U8czsrK2UpYVtlXSs9aVtuKyhlPjA/ZTowKV0qaDtnKz1oLGg9MDticmVha31pZihoPT09MClmb3IoZT0wO2U8czsrK2UpbFttKytdPWFbZV0vZjtlbHNle2Zvcih0aGlzLmxhc3RXZWlnaHQ9aCxlPTA7ZTxzOysrZSl0aGlzLmxhc3RPdXRwdXRbZV09YVtlXTt0aGlzLnRhaWxFeGlzdHM9ITA7YnJlYWt9fXdoaWxlKG48dCYmbTxyKTtyZXR1cm4gdGhpcy5idWZmZXJTbGljZShtKX19cmVzYW1wbGUoaSl7cmV0dXJuIHRoaXMuZnJvbVNhbXBsZVJhdGU9PXRoaXMudG9TYW1wbGVSYXRlP3RoaXMucmF0aW9XZWlnaHQ9MToodGhpcy5mcm9tU2FtcGxlUmF0ZTx0aGlzLnRvU2FtcGxlUmF0ZT90aGlzLmxhc3RXZWlnaHQ9MToodGhpcy50YWlsRXhpc3RzPSExLHRoaXMubGFzdFdlaWdodD0wKSx0aGlzLmluaXRpYWxpemVCdWZmZXJzKCksdGhpcy5yYXRpb1dlaWdodD10aGlzLmZyb21TYW1wbGVSYXRlL3RoaXMudG9TYW1wbGVSYXRlKSx0aGlzLnJlc2FtcGxlcihpKX19O2Z1bmN0aW9uIFMocCl7bGV0IGk9cC5sZW5ndGgsdD1uZXcgRmxvYXQzMkFycmF5KGkpO2Zvcig7aS0tOyl7bGV0IHI9cFtpXTt0W2ldPXI+PTMyNzY4Py0oNjU1MzYtcikvMzI3Njg6ci8zMjc2N31yZXR1cm4gdH12YXIgeT0xMDI0KjgsQj1jbGFzcyBleHRlbmRzIEF1ZGlvV29ya2xldFByb2Nlc3Nvcntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KTt0aGlzLmNodW5rcz1bXTt0aGlzLmNodW5rUG9zaXRpb249MDt0aGlzLmlzRW5kZWQ9ITE7dGhpcy5pc0NhbmNlbGxlZD0hMTt0aGlzLnNhbXBsZVJhdGU9MDt0aGlzLmZvcm1hdD0iaW50MTYiO3RoaXMuYnVmZmVyT2Zmc2V0PTA7dGhpcy5sYXN0UGxheWVkQnVmZmVyU2l6ZT0wO3RoaXMuX2hhc1NlbnRFbmRFdmVudD0hMTt0aGlzLnBvcnQub25tZXNzYWdlPXI9PnRoaXMub25NZXNzYWdlKHIpfW9uTWVzc2FnZSh0KXtpZih0LmRhdGEuYWN0aW9uPT0ic3RhcnQiKXRoaXMuZm9ybWF0PXQuZGF0YS5mb3JtYXQsdGhpcy5zYW1wbGVSYXRlPXQuZGF0YS5pbnB1dFNhbXBsZVJhdGUsdGhpcy5yZXNhbXBsZXI9bmV3IGQodC5kYXRhLmlucHV0U2FtcGxlUmF0ZSx0LmRhdGEub3V0cHV0U2FtcGxlUmF0ZSwxLHkpLHRoaXMuZm9ybWF0PT0iaW50MTYiP3RoaXMuaW5wdXRCdWZmZXI9bmV3IGMoVWludDhBcnJheSx5KjIpOnRoaXMuZm9ybWF0PT0iZmxvYXQzMiImJih0aGlzLmlucHV0QnVmZmVyPW5ldyBjKFVpbnQ4QXJyYXkseSo0KSk7ZWxzZSBpZih0LmRhdGEuYWN0aW9uPT0iZGF0YSIpe2xldCByPW5ldyBVaW50OEFycmF5KHQuZGF0YS5idWZmZXIpO2Zvcih0aGlzLmlucHV0QnVmZmVyLmZlZWQocik7dGhpcy5pbnB1dEJ1ZmZlci5jYW5EcmFpbjspdGhpcy5kcmFpbkJ1ZmZlcigpfWVsc2UgdC5kYXRhLmFjdGlvbj09ImVuZCI/KHRoaXMubGFzdFBsYXllZEJ1ZmZlclNpemUmJnRoaXMuY2h1bmtzLnB1c2gobmV3IEZsb2F0MzJBcnJheSh0aGlzLmxhc3RQbGF5ZWRCdWZmZXJTaXplKjIpKSx0aGlzLmlzRW5kZWQ9ITApOnQuZGF0YS5hY3Rpb249PSJjYW5jZWwiJiYodGhpcy5pc0VuZGVkPSEwLHRoaXMuaXNDYW5jZWxsZWQ9ITApfWRyYWluQnVmZmVyKCl7bGV0IHQ9dGhpcy5pbnB1dEJ1ZmZlci5kcmFpbigpO2lmKCF0KXJldHVybjtsZXQgcjtpZih0aGlzLmZvcm1hdD09ImludDE2Iil7bGV0IHM9bmV3IEludDE2QXJyYXkodC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aC8yKTtyPVMocyl9ZWxzZSBpZih0aGlzLmZvcm1hdD09ImZsb2F0MzIiKXI9bmV3IEZsb2F0MzJBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoLzQpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZvcm1hdDogJHt0aGlzLmZvcm1hdH1gKTtsZXQgYT10aGlzLnJlc2FtcGxlci5yZXNhbXBsZShyKTt0aGlzLmNodW5rcy5wdXNoKGEpfW5leHRGbG9hdCgpe2lmKCF0aGlzLmNodW5rcy5sZW5ndGgpcmV0dXJuIDA7bGV0IHQ9dGhpcy5jaHVua3NbMF1bdGhpcy5jaHVua1Bvc2l0aW9uXTtyZXR1cm4gdGhpcy5jaHVua1Bvc2l0aW9uKyssdGhpcy5jaHVua1Bvc2l0aW9uPHRoaXMuY2h1bmtzWzBdLmxlbmd0aHx8KHRoaXMuY2h1bmtzLnNoaWZ0KCksdGhpcy5jaHVua1Bvc2l0aW9uPTApLHR9cHJvY2Vzcyh0LHIsYSl7aWYodGhpcy5pc0NhbmNlbGxlZClyZXR1cm4hMTtpZih0aGlzLmlzRW5kZWQmJiF0aGlzLmNodW5rcy5sZW5ndGgpcmV0dXJuIHRoaXMuX2hhc1NlbnRFbmRFdmVudHx8KHRoaXMuX2hhc1NlbnRFbmRFdmVudD0hMCx0aGlzLnBvcnQucG9zdE1lc3NhZ2Uoe2FjdGlvbjoiZW5kIn0pKSwhMTtsZXQgcz1yWzBdPy5bMF0/Lmxlbmd0aDtpZighcylyZXR1cm4hMDt0aGlzLmxhc3RQbGF5ZWRCdWZmZXJTaXplPXM7Zm9yKGxldCBmPTA7ZjxzO2YrKyl7bGV0IGg9dGhpcy5uZXh0RmxvYXQoKTtmb3IobGV0IGU9MDtlPHIubGVuZ3RoO2UrKylmb3IobGV0IG49MDtuPHJbZV0ubGVuZ3RoO24rKylyW2VdW25dW2ZdPWh9cmV0dXJuITB9fTtyZWdpc3RlclByb2Nlc3NvcigicGNtLXBsYXllci1ub2RlIixCKTsK";var Rl="data:application/javascript;base64,dmFyIGc9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LGksZil7aWYoIWV8fCF0fHwhaSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2V0dGluZ3Mgc3BlY2lmaWVkIGZvciB0aGUgcmVzYW1wbGVyLiIpO3RoaXMucmVzYW1wbGVyPW51bGwsdGhpcy5mcm9tU2FtcGxlUmF0ZT1lLHRoaXMudG9TYW1wbGVSYXRlPXQsdGhpcy5jaGFubmVscz1pfHwwLHRoaXMuaW5wdXRCdWZmZXJTaXplPWYsdGhpcy5pbml0aWFsaXplKCl9aW5pdGlhbGl6ZSgpe3RoaXMuZnJvbVNhbXBsZVJhdGU9PXRoaXMudG9TYW1wbGVSYXRlPyh0aGlzLnJlc2FtcGxlcj1lPT5lLHRoaXMucmF0aW9XZWlnaHQ9MSk6KHRoaXMuZnJvbVNhbXBsZVJhdGU8dGhpcy50b1NhbXBsZVJhdGU/KHRoaXMubGluZWFySW50ZXJwb2xhdGlvbigpLHRoaXMubGFzdFdlaWdodD0xKToodGhpcy5tdWx0aVRhcCgpLHRoaXMudGFpbEV4aXN0cz0hMSx0aGlzLmxhc3RXZWlnaHQ9MCksdGhpcy5pbml0aWFsaXplQnVmZmVycygpLHRoaXMucmF0aW9XZWlnaHQ9dGhpcy5mcm9tU2FtcGxlUmF0ZS90aGlzLnRvU2FtcGxlUmF0ZSl9YnVmZmVyU2xpY2UoZSl7dHJ5e3JldHVybiB0aGlzLm91dHB1dEJ1ZmZlci5zdWJhcnJheSgwLGUpfWNhdGNoe3RyeXtyZXR1cm4gdGhpcy5vdXRwdXRCdWZmZXIubGVuZ3RoPWUsdGhpcy5vdXRwdXRCdWZmZXJ9Y2F0Y2h7cmV0dXJuIHRoaXMub3V0cHV0QnVmZmVyLnNsaWNlKDAsZSl9fX1pbml0aWFsaXplQnVmZmVycygpe3RoaXMub3V0cHV0QnVmZmVyU2l6ZT1NYXRoLmNlaWwodGhpcy5pbnB1dEJ1ZmZlclNpemUqdGhpcy50b1NhbXBsZVJhdGUvdGhpcy5mcm9tU2FtcGxlUmF0ZS90aGlzLmNoYW5uZWxzKjEuMDAwMDAwNDc2ODM3MTU4MikrdGhpcy5jaGFubmVscyt0aGlzLmNoYW5uZWxzO3RyeXt0aGlzLm91dHB1dEJ1ZmZlcj1uZXcgRmxvYXQzMkFycmF5KHRoaXMub3V0cHV0QnVmZmVyU2l6ZSksdGhpcy5sYXN0T3V0cHV0PW5ldyBGbG9hdDMyQXJyYXkodGhpcy5jaGFubmVscyl9Y2F0Y2h7dGhpcy5vdXRwdXRCdWZmZXI9W10sdGhpcy5sYXN0T3V0cHV0PVtdfX1saW5lYXJJbnRlcnBvbGF0aW9uKCl7dGhpcy5yZXNhbXBsZXI9ZT0+e2xldCB0PWUubGVuZ3RoLGk9dGhpcy5jaGFubmVscyxmLGgsYSxzLHIsdSxuLHAsbDtpZih0JWkhPT0wKXRocm93IG5ldyBFcnJvcigiQnVmZmVyIHdhcyBvZiBpbmNvcnJlY3Qgc2FtcGxlIGxlbmd0aC4iKTtpZih0PD0wKXJldHVybltdO2ZvcihmPXRoaXMub3V0cHV0QnVmZmVyU2l6ZSxoPXRoaXMucmF0aW9XZWlnaHQsYT10aGlzLmxhc3RXZWlnaHQscz0wLHI9MCx1PTAsbj0wLHA9dGhpcy5vdXRwdXRCdWZmZXI7YTwxO2ErPWgpZm9yKHI9YSUxLHM9MS1yLHRoaXMubGFzdFdlaWdodD1hJTEsbD0wO2w8dGhpcy5jaGFubmVsczsrK2wpcFtuKytdPXRoaXMubGFzdE91dHB1dFtsXSpzK2VbbF0qcjtmb3IoYS09MSx0LT1pLHU9TWF0aC5mbG9vcihhKSppO248ZiYmdTx0Oyl7Zm9yKHI9YSUxLHM9MS1yLGw9MDtsPHRoaXMuY2hhbm5lbHM7KytsKXBbbisrXT1lW3UrKGw+MD9sOjApXSpzK2VbdSsoaStsKV0qcjthKz1oLHU9TWF0aC5mbG9vcihhKSppfWZvcihsPTA7bDxpOysrbCl0aGlzLmxhc3RPdXRwdXRbbF09ZVt1KytdO3JldHVybiB0aGlzLmJ1ZmZlclNsaWNlKG4pfX1tdWx0aVRhcCgpe3RoaXMucmVzYW1wbGVyPWU9PntsZXQgdD1lLmxlbmd0aCxpLGYsaD10aGlzLmNoYW5uZWxzLGEscyxyLHUsbixwLGwsbSxCO2lmKHQlaCE9PTApdGhyb3cgbmV3IEVycm9yKCJCdWZmZXIgd2FzIG9mIGluY29ycmVjdCBzYW1wbGUgbGVuZ3RoLiIpO2lmKHQ8PTApcmV0dXJuW107Zm9yKGk9dGhpcy5vdXRwdXRCdWZmZXJTaXplLGY9W10sYT10aGlzLnJhdGlvV2VpZ2h0LHM9MCx1PTAsbj0wLHA9IXRoaXMudGFpbEV4aXN0cyx0aGlzLnRhaWxFeGlzdHM9ITEsbD10aGlzLm91dHB1dEJ1ZmZlcixtPTAsQj0wLHI9MDtyPGg7KytyKWZbcl09MDtkb3tpZihwKWZvcihzPWEscj0wO3I8aDsrK3IpZltyXT0wO2Vsc2V7Zm9yKHM9dGhpcy5sYXN0V2VpZ2h0LHI9MDtyPGg7KytyKWZbcl09dGhpcy5sYXN0T3V0cHV0W3JdO3A9ITB9Zm9yKDtzPjAmJnU8dDspaWYobj0xK3UtQixzPj1uKXtmb3Iocj0wO3I8aDsrK3IpZltyXSs9ZVt1KytdKm47Qj11LHMtPW59ZWxzZXtmb3Iocj0wO3I8aDsrK3IpZltyXSs9ZVt1KyhyPjA/cjowKV0qcztCKz1zLHM9MDticmVha31pZihzPT09MClmb3Iocj0wO3I8aDsrK3IpbFttKytdPWZbcl0vYTtlbHNle2Zvcih0aGlzLmxhc3RXZWlnaHQ9cyxyPTA7cjxoOysrcil0aGlzLmxhc3RPdXRwdXRbcl09ZltyXTt0aGlzLnRhaWxFeGlzdHM9ITA7YnJlYWt9fXdoaWxlKHU8dCYmbTxpKTtyZXR1cm4gdGhpcy5idWZmZXJTbGljZShtKX19cmVzYW1wbGUoZSl7cmV0dXJuIHRoaXMuZnJvbVNhbXBsZVJhdGU9PXRoaXMudG9TYW1wbGVSYXRlP3RoaXMucmF0aW9XZWlnaHQ9MToodGhpcy5mcm9tU2FtcGxlUmF0ZTx0aGlzLnRvU2FtcGxlUmF0ZT90aGlzLmxhc3RXZWlnaHQ9MToodGhpcy50YWlsRXhpc3RzPSExLHRoaXMubGFzdFdlaWdodD0wKSx0aGlzLmluaXRpYWxpemVCdWZmZXJzKCksdGhpcy5yYXRpb1dlaWdodD10aGlzLmZyb21TYW1wbGVSYXRlL3RoaXMudG9TYW1wbGVSYXRlKSx0aGlzLnJlc2FtcGxlcihlKX19O2Z1bmN0aW9uIGQobyl7bGV0IGU9by5sZW5ndGgsdD1uZXcgSW50MTZBcnJheShlKTtmb3IoO2UtLTspe2xldCBpPU1hdGgubWF4KC0xLE1hdGgubWluKDEsb1tlXSkpO3RbZV09aTwwP2kqMzI3Njg6aSozMjc2N31yZXR1cm4gdH1mdW5jdGlvbiB3KG8pe2xldCBlPW8ubGVuZ3RoLHQ9bmV3IEJpZ0ludDY0QXJyYXkoZSk7Zm9yKDtlLS07KXtsZXQgaT1NYXRoLm1heCgtMSxNYXRoLm1pbigxLG9bZV0pKTt0W2VdPUJpZ0ludChNYXRoLmZsb29yKGk8MD9pKjMyNzY4OmkqMzI3NjcpKSoweDEwMDAwMDAwMDAwMG59cmV0dXJuIHR9dmFyIGM9Y2xhc3N7Y29uc3RydWN0b3IoZSx0KXt0aGlzLm91dHB1dEJ1ZmZlclNpemU9MDt0aGlzLnBhcnRpYWxCdWZmZXJzPVtdO3RoaXMucGFydGlhbEJ1ZmZlck9mZnNldD0wO2lmKCFlKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcnJheSBjbGFzczogJHtlfWApO2lmKCF0fHx0PD0wKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvdXRwdXQgYnVmZmVyIHNpemU6ICR7dH1gKTt0aGlzLkFycmF5Q2xhc3M9ZSx0aGlzLm91dHB1dEJ1ZmZlclNpemU9dH1nZXQgcXVldWVkU2l6ZSgpe3JldHVybiB0aGlzLnBhcnRpYWxCdWZmZXJzLnJlZHVjZSgoZSx0KT0+ZSt0Lmxlbmd0aCwwKX1mZWVkKGUpe3RoaXMucGFydGlhbEJ1ZmZlcnMucHVzaChlKX1nZXQgY2FuRHJhaW4oKXtyZXR1cm4gdGhpcy5wYXJ0aWFsQnVmZmVycy5yZWR1Y2UoKHQsaSk9PnQraS5sZW5ndGgsMCktdGhpcy5wYXJ0aWFsQnVmZmVyT2Zmc2V0Pj10aGlzLm91dHB1dEJ1ZmZlclNpemV9ZHJhaW4oKXtpZighdGhpcy5jYW5EcmFpbilyZXR1cm4gbnVsbDtsZXQgZT10aGlzLkFycmF5Q2xhc3MsdD1uZXcgZSh0aGlzLm91dHB1dEJ1ZmZlclNpemUpLGk9MDtmb3IoO2khPXQubGVuZ3RoOyl7aWYoaT50Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYEJ1ZmZlciBvdmVyZmxvdzogJHtpfSA+ICR7dC5sZW5ndGh9YCk7bGV0IGY9dC5sZW5ndGgtaSxoPXRoaXMucGFydGlhbEJ1ZmZlcnNbMF0sYT1oLmxlbmd0aC10aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQ7YTxmPyh0LnNldChoLnN1YmFycmF5KHRoaXMucGFydGlhbEJ1ZmZlck9mZnNldCksaSksaSs9YSx0aGlzLnBhcnRpYWxCdWZmZXJzLnNoaWZ0KCksdGhpcy5wYXJ0aWFsQnVmZmVyT2Zmc2V0PTApOih0LnNldChoLnN1YmFycmF5KHRoaXMucGFydGlhbEJ1ZmZlck9mZnNldCx0aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQrZiksaSksaSs9Zix0aGlzLnBhcnRpYWxCdWZmZXJPZmZzZXQrPWYpfXJldHVybiB0fXBhZCgpe2xldCBlPXRoaXMucXVldWVkU2l6ZSV0aGlzLm91dHB1dEJ1ZmZlclNpemU7aWYoZT09MClyZXR1cm47bGV0IHQ9dGhpcy5BcnJheUNsYXNzLGk9bmV3IHQoZSk7dGhpcy5mZWVkKGkpfX07dmFyIHk9Y2xhc3MgZXh0ZW5kcyBBdWRpb1dvcmtsZXRQcm9jZXNzb3J7Y29uc3RydWN0b3IodCl7c3VwZXIodCk7dGhpcy5mb3JtYXQ9ImludDE2Ijt0aGlzLmlucHV0QnVmZmVyPW5ldyBjKEZsb2F0MzJBcnJheSw0MDk2KTt0aGlzLnBvcnQub25tZXNzYWdlPWk9PnRoaXMub25NZXNzYWdlKGkpfW9uTWVzc2FnZSh0KXt0LmRhdGEuYWN0aW9uPT0ic3RhcnQiJiYodGhpcy5mb3JtYXQ9dC5kYXRhLmZvcm1hdCx0aGlzLnJlc2FtcGxlcj1uZXcgZyh0LmRhdGEuaW5wdXRTYW1wbGVSYXRlLHQuZGF0YS5vdXRwdXRTYW1wbGVSYXRlLDEsNDA5NiksdGhpcy5mb3JtYXQ9PSJpbnQxNiI/dGhpcy5vdXRwdXRCdWZmZXI9bmV3IGMoSW50MTZBcnJheSx0LmRhdGEuYnVmZmVyU2l6ZSk6dGhpcy5mb3JtYXQ9PSJpbnQ2NCI/dGhpcy5vdXRwdXRCdWZmZXI9bmV3IGMoQmlnSW50NjRBcnJheSx0LmRhdGEuYnVmZmVyU2l6ZSk6dGhpcy5mb3JtYXQ9PSJmbG9hdDMyIiYmKHRoaXMub3V0cHV0QnVmZmVyPW5ldyBjKEZsb2F0MzJBcnJheSx0LmRhdGEuYnVmZmVyU2l6ZSkpKX1wcm9jZXNzKHQsaSxmKXtmb3IobGV0IGE9MDthPGkubGVuZ3RoO2ErKyl7bGV0IHM9TWF0aC5taW4oaVthXS5sZW5ndGgsdFswXS5sZW5ndGgpO2ZvcihsZXQgcj0wO3I8cztyKyspaVthXVtyXS5zZXQodFswXVtyXSl9aWYoIXRoaXMucmVzYW1wbGVyKXJldHVybiEwO2xldCBoPW5ldyBGbG9hdDMyQXJyYXkoaVswXVswXS5sZW5ndGgpO2ZvcihoLnNldChpWzBdWzBdKSx0aGlzLmlucHV0QnVmZmVyLmZlZWQoaCk7dGhpcy5pbnB1dEJ1ZmZlci5jYW5EcmFpbjspe2xldCBhPXRoaXMuaW5wdXRCdWZmZXIuZHJhaW4oKSxzPXRoaXMucmVzYW1wbGVyLnJlc2FtcGxlKGEpO3RoaXMuZm9ybWF0PT0iaW50MTYiP3RoaXMub3V0cHV0QnVmZmVyLmZlZWQoZChzKSk6dGhpcy5mb3JtYXQ9PSJpbnQ2NCI/dGhpcy5vdXRwdXRCdWZmZXIuZmVlZCh3KHMpKTp0aGlzLmZvcm1hdD09ImZsb2F0MzIiJiZ0aGlzLm91dHB1dEJ1ZmZlci5mZWVkKHMpfWZvcig7dGhpcy5vdXRwdXRCdWZmZXIuY2FuRHJhaW47KXtsZXQgYT10aGlzLm91dHB1dEJ1ZmZlci5kcmFpbigpO2lmKCFhKWJyZWFrO3RoaXMucG9ydC5wb3N0TWVzc2FnZSh7YWN0aW9uOiJkYXRhIixidWZmZXI6YS5idWZmZXJ9LFthLmJ1ZmZlcl0pfXJldHVybiEwfX07cmVnaXN0ZXJQcm9jZXNzb3IoInBjbS1yZWNlaXZlci1ub2RlIix5KTsK";var ng=new q("PCMPlayerNode"),hi=class extends AudioWorkletNode{constructor(t,i,r){super(t,"pcm-player-node",{numberOfInputs:0});this.sampleRate=0;this.format="int16";this.isCancelled=!1;if(!i||i<=0)throw new Error(`Invalid sample rate: ${i}`);if(!r||r!="int16"&&r!="float32")throw new Error(`Invalid format: ${r}`);this.sampleRate=i,this.format=r,this.port.onmessage=a=>this.onWorkletMessage(a),this.port.postMessage({action:"start",inputSampleRate:i,outputSampleRate:t.sampleRate,format:r})}feed(t){this.port.postMessage({action:"data",buffer:t.buffer},[t.buffer])}async play(t){if(this.isCancelled)throw new Error("PCMPlayerNode has already been cancelled.");if(this._playPromise)throw new Error("Already playing a stream");this._playPromise=new Promise(i=>this._playPromiseResolve=i),this.dispatchEvent(new CustomEvent("start",{detail:{player:this,stream:t}}));try{let i=t.getReader();for(;!this.isCancelled;){let{done:r,value:a}=await i.read();if(r||!a)break;this.feed(a)}}catch(i){ng.warn("Stream error:",i),this.dispatchEvent(new CustomEvent("error",{detail:{player:this,stream:t,error:i}}))}this.port.postMessage({action:"end"}),await this._playPromise}onWorkletMessage(t){t.data.action=="end"&&(this._playPromiseResolve?.(),this.dispatchEvent(new CustomEvent("end",{detail:{player:this}})))}stop(){this.isCancelled=!0,this.port.postMessage({action:"cancel"}),this._playPromiseResolve?.()}};var fi=new q("SpeechOutput"),Pl=.5,ig=.8,yi=class extends EventTarget{constructor(n){super(),this.ai=n,this.ai.addEventListener("output",t=>this.onTextOutputFromAI(t)),this.ai.audio?.speechRecognition.addEventListener("speechstart",t=>this.interrupt()),this.ai.knowledgeBase.registerSource(()=>[{id:"system.voice",type:"info",name:"Voice active",isContext:!0,disabled:!1,content:"Text-to-speech is active. The user can hear your voice."}])}onTextOutputFromAI(n){n.detail.isChunk||this.ai?.audio?.speechRecognition.isRunning&&this.speak(n.detail.message)}async speak(n){if(!this.ai?.config?.voice?.providerID)return fi.warn("No voice provider configured");let t=`speech-${rg++}`;await this.ai.audio.beginAccess(t);try{await this._speakWithLock(n)}finally{this.ai.audio.endAccess(t)}}async _speakWithLock(n){this.interrupt(),this.ai.audio.speechRecognition.voiceDetection&&(this.ai.audio.speechRecognition.voiceDetection.sensitivity=ig);let t=this.ai?._voiceTracker||fi.timer(`${this.ai.config.voice.providerID} voice`);t(`Speak: ${n}`),this.currentPlayerVolume?.disconnect(),this.currentPlayerVolume=this.ai.audio.context.createGain(),this.currentPlayerVolume.connect(this.ai.audio.context.destination);let i=this.currentPlayerVolume,r=new hi(this.ai.audio.context,24e3,"int16");this.currentPlayer=r,r.connect(i),r.addEventListener("end",o=>{let s=o;t(`PCM stream ${s.detail.interrupted?"interrupted":"ended"}`),this.currentPlayer==r&&!s.detail.interrupted&&(this.currentPlayer=void 0,this.onSpeechEnd())});let a;if(this.ai.config.voice.providerID=="openai")a=await fetch("https://api.openai.com/v1/audio/speech",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.ai.config.voice.apiKey}`},body:JSON.stringify({model:"tts-1",input:n,voice:this.ai.config.voice.voiceID,response_format:"pcm"})});else if(this.ai.config.voice.providerID=="elevenlabs")a=await fetch(`https://api.elevenlabs.io/v1/text-to-speech/${this.ai.config.voice.voiceID}?output_format=pcm_24000`,{method:"POST",headers:{"xi-api-key":`${this.ai.config.voice.apiKey}`,"Content-Type":"application/json"},body:JSON.stringify({text:n})});else{fi.warn(`Unknown voice provider: ${this.ai.config.voice.providerID}`);return}if(t(`Received response ${a.status} ${a.statusText}`),!a.ok){fi.warn(`Failed to generate voice sample: ${a.status} ${a.statusText}`);return}this.dispatchEvent(new CustomEvent("speechstart",{detail:{ai:this.ai,message:n}})),t("Playing PCM stream"),await r.play(a.body),t("Audio has ended")}get isSpeaking(){return!!this.currentPlayer}async interrupt(){if(!this.currentPlayerVolume)return;let n=this.currentPlayerVolume,t=this.currentPlayer;this.currentPlayerVolume=void 0,this.currentPlayer=void 0,this.ai?.audio?.speechRecognition.voiceDetection&&(this.ai.audio.speechRecognition.voiceDetection.sensitivity=Pl);let i=400;n.gain.linearRampToValueAtTime(0,i/1e3),await new Promise(r=>setTimeout(r,i+250)),n.disconnect(),t?.stop(),t?.disconnect()}onSpeechEnd(){this.dispatchEvent(new CustomEvent("speechend",{detail:{ai:this.ai}})),this.ai?.audio?.speechRecognition.voiceDetection&&(this.ai.audio.speechRecognition.voiceDetection.sensitivity=Pl)}},rg=1;function bi(e,n){let t=n.reduce((l,c)=>l+c.byteLength,0),i=new DataView(new ArrayBuffer(44));i.setUint8(0,82),i.setUint8(1,73),i.setUint8(2,70),i.setUint8(3,70),i.setUint32(4,44+t,!0),i.setUint8(8,87),i.setUint8(9,65),i.setUint8(10,86),i.setUint8(11,69);let r=1,a=32,o=r*a/8,s=e*o;return i.setUint8(12,102),i.setUint8(13,109),i.setUint8(14,116),i.setUint8(15,32),i.setUint32(16,16,!0),i.setUint16(20,3,!0),i.setUint16(22,r,!0),i.setUint32(24,e,!0),i.setUint32(28,s,!0),i.setUint16(32,o,!0),i.setUint16(34,a,!0),i.setUint8(36,100),i.setUint8(37,97),i.setUint8(38,116),i.setUint8(39,97),i.setUint32(40,t,!0),new File([i,...n],"audio.wav",{type:"audio/wav"})}var vi=class extends AudioWorkletNode{constructor(t,i,r,a){super(t,"pcm-receiver-node",{numberOfInputs:1});this.format="int16";this.format=r;let o=["int16","int64","float32"];if(!i||i<=0)throw new Error(`Invalid sample rate: ${i}`);if(!o.includes(r))throw new Error(`Invalid format ${r}, must be one of: ${o.join(", ")}`);if(!a||a<=0)throw new Error(`Invalid buffer size: ${a}`);this.port.onmessage=s=>this.onWorkletMessage(s),this.port.postMessage({action:"start",inputSampleRate:t.sampleRate,outputSampleRate:i,format:r,bufferSize:a})}onWorkletMessage(t){if(t.data.action=="data"){let i=null;if(this.format=="int16"&&(i=new Int16Array(t.data.buffer)),this.format=="int64"&&(i=new BigInt64Array(t.data.buffer)),this.format=="float32"&&(i=new Float32Array(t.data.buffer)),!i)throw new Error(`Invalid format: ${this.format}`);this.onData(i),this.dispatchEvent(new CustomEvent("data",{detail:{data:i}}))}}onData(t){}};var sa=16e3,_i=256,xt=8,ln=new q("VoiceDetectionNode"),cn=class cn extends vi{constructor(t){super(t,sa,"float32",_i*xt);this.isVoiceActive=!1;this.lastVoiceActiveDate=0;this.voiceEndTimeout=50;this.sensitivity=.5;this.sentivityEnd=.2;this.nextVadReset=0;this.currentProbability=0;this._lastVoiceActive=!1;if(!cn.vadModelURL)throw new Error("VAD model url not set, please load it and set it to VoiceDetectionNode.vadModelURL");this.loadModel()}get isVoicePossiblyEnding(){return this.isVoiceActive&&this.currentProbability<this.sensitivity}get sampleRate(){return sa}get numberOfSamples(){return _i}get numberOfSampleChunks(){return xt}get outputBufferSize(){return _i*xt}get isModelLoaded(){return!!this.vad}async loadModel(){ln.debug("Loading VAD model"),this.vad=await Ie.load(cn.vadModelURL),this.vad.ignoreIfBusy=!0,ln.debug("Model loaded"),this.vad.makeConstant("sr","int64",[1],sa),this.vad.makeState("h","hn","float32",[2,xt,64]),this.vad.makeState("c","cn","float32",[2,xt,64])}async onData(t){if(this.vad)try{let i=await this.vad.run({input:new Ie.onnx.Tensor(t,[xt,_i])});if(!i)return;this.currentProbability=0;for(let o=0;o<i.output.data.length;o++)i.output.data[o]>this.currentProbability&&(this.currentProbability=i.output.data[o]);let r=this.isVoiceActive?this.sentivityEnd:this.sensitivity,a=this.currentProbability>r;if(!a&&this._lastVoiceActive&&(this.nextVadReset=Date.now(),this.vad.resetState()),this._lastVoiceActive=a,a&&!this.isVoiceActive?(this.lastVoiceActiveDate=Date.now(),this.isVoiceActive=!0,this.dispatchEvent(new CustomEvent("speechstart")),this.onSpeechStart(),ln.debug("Started speaking")):a?this.lastVoiceActiveDate=Date.now():!a&&this.isVoiceActive&&Date.now()<this.lastVoiceActiveDate+this.voiceEndTimeout||!a&&this.isVoiceActive&&(this.isVoiceActive=!1,this.dispatchEvent(new CustomEvent("speechend")),this.onSpeechEnd(),ln.debug("Stopped speaking after timeout")),!a){let o=Date.now();o>this.nextVadReset&&(this.nextVadReset=o+5e3,this.vad.resetState())}}catch(i){ln.error("VAD failed:",i)}}onSpeechStart(){}onSpeechEnd(){}};cn.vadModelURL="";var It=cn;var Dl=new q("VoiceChunkOutputNode"),Rt=class extends It{constructor(){super(...arguments);this.buffers=[];this.recordedBuffers=[];this._voiceRecording=!1;this.backBufferDurationSeconds=3}get bufferDuration(){return this.buffers.reduce((t,i)=>t+i.length,0)/8e3}async onData(t){if(await super.onData(t),this.isVoiceActive&&!this._voiceRecording){Dl.debug(`Voice detected, sending ${this.buffers.length} existing chunks`),this._voiceRecording=!0;for(let i of this.buffers)this.recordedBuffers.push(i),this.dispatchEvent(new CustomEvent("voicedata",{detail:{data:i,isFinal:!1}})),this.onVoiceChunk(i);this.recordedBuffers.push(t),this.dispatchEvent(new CustomEvent("voicedata",{detail:{data:t,isFinal:!1}})),this.onVoiceChunk(t),this.buffers=[]}else if(this.isVoiceActive)this.recordedBuffers.push(t),this.dispatchEvent(new CustomEvent("voicedata",{detail:{data:t,isFinal:!1}})),this.onVoiceChunk(t);else if(!this.isVoiceActive&&this._voiceRecording){this.recordedBuffers.push(t),this.dispatchEvent(new CustomEvent("voicedata",{detail:{data:t,isFinal:!0}})),this.onVoiceChunk(t),this._voiceRecording=!1;let i=this.recordedBuffers.reduce((r,a)=>r+a.length,0);Dl.debug(`Voice complete, recorded ${(i/8e3).toFixed(2)} seconds of audio, ${i*4/1024} KB of data`),this.dispatchEvent(new CustomEvent("voicedataend",{detail:{data:this.recordedBuffers}})),this.onVoiceEnd(this.recordedBuffers),this.recordedBuffers=[]}else for(this.buffers.push(t);this.bufferDuration>this.backBufferDurationSeconds;)this.buffers.shift()}onVoiceChunk(t){}onVoiceEnd(t){}};var Si=new q("OpenAITranscriptionNode"),Ei=class extends Rt{constructor(t,i){super(t);this.apiKey="";this.pendingBuffers=[];this.isTranscribing=!1;this.apiKey=i}async onVoiceEnd(t){let i=Si.timer("OpenAI Transcribe");this.isTranscribing=!0,this.pendingBuffers.push(...t);let r=bi(this.sampleRate,this.pendingBuffers);this.lastRequestAbortController?.abort(),this.lastRequestAbortController=new AbortController;let a="";try{let o=new FormData;o.append("file",r),o.append("model","whisper-1"),o.append("response_format","text");let s=await fetch("https://api.openai.com/v1/audio/transcriptions",{method:"POST",headers:{Authorization:`Bearer ${this.apiKey}`},body:o,signal:this.lastRequestAbortController.signal});if(!s.ok)throw new Error(`Failed to generate voice sample: ${s.status} ${s.statusText}`);i("Response received"),a=await s.text(),i("Content received: "+a),this.lastRequestAbortController=void 0}catch(o){Si.error(`Failed to transcribe speech: ${o.message}`);return}finally{this.isTranscribing=!1}if(this.pendingBuffers=[],!a)return Si.debug("Transcription complete, but no text was found");Si.debug(`Transcription: ${a}`),this.onVoiceTranscription(a),this.dispatchEvent(new CustomEvent("transcription",{detail:{text:a}}))}onVoiceTranscription(t){}};var Ci=class extends WebSocket{constructor(t){super(t);this.pendingData=[];this.addEventListener("open",()=>this._onOpen())}send(t){this.readyState==WebSocket.OPEN?super.send(t):this.pendingData.push(t)}_onOpen(){for(let t of this.pendingData)super.send(t);this.pendingData=[]}};var Ne=new q("IntelliWeaveTranscriptionNode"),ag="wss://speech.intelliweave.ai/api/v1/transcribe",wi=class wi extends Rt{constructor(t,i){super(t);this.apiAddress=ag;this.apiKey="";this.isTranscribing=!1;this.apiKey=i}async onVoiceChunk(t){this.isTranscribing=!0,this.ws?this.ws.send(t):(Ne.debug("Opening WebSocket connection"),this.ws=new Ci(this.apiAddress),this.ws.send(JSON.stringify({type:"hello",sampleRate:16e3,channels:1,format:"float32",apiKey:this.apiKey})),this.ws.send(t.buffer),this.ws.onopen=()=>{Ne.debug("WebSocket connection opened")},this.ws.addEventListener("message",r=>{let a=JSON.parse(r.data);if(a.error)return Ne.warn("Error: "+a.error);if(a.type!="transcription")return Ne.warn("Invalid response type",a);if(a.streaming&&!a.final)return Ne.debug("Partial transcription: "+a.partialText);if(this.isTranscribing=!1,!a.text.trim())return Ne.warn(`Empty transcription (${a.processingTime}ms)`);Ne.debug(`Transcription: ${a.text} (${a.processingTime}ms)`),this.onVoiceTranscription(a.text),this.dispatchEvent(new CustomEvent("transcription",{detail:{text:a.text}}))}),this.ws.addEventListener("close",()=>this.onSocketClose()),this.ws.addEventListener("error",r=>Ne.warn("WebSocket error")));let i=1e3*60*1;this.shutdownTimer&&clearTimeout(this.shutdownTimer),this.shutdownTimer=setTimeout(()=>{Ne.debug("Shutting down WebSocket connection"),this.ws?.close(),this.ws=void 0},i)}async onVoiceEnd(t){if(this.ws?.send(JSON.stringify({type:"end"})),wi.debugExportWav){let i=bi(this.sampleRate,t),r=document.createElement("a");r.href=URL.createObjectURL(i),r.download="recording.wav",r.click()}}onVoiceTranscription(t){}onSocketClose(){Ne.debug("WebSocket connection closed"),this.ws=void 0,this.isTranscribing=!1}};wi.debugExportWav=!1;var ki=wi;var la=new q("SpeechRecognition"),Ti=class extends EventTarget{constructor(t){super();this.isRunning=!1;this._skipEvents=!1;this.maxVolumeHeard=0;this.ai=t,this.ai.knowledgeBase.registerSource(()=>[{id:"system.microphone.enable",type:"action",name:"Enable or disable microphone",isContext:!0,content:`Starts or stops listening to input from the user through the microphone. ${this.isRunning?"Microphone access is currently enabled and you can hear the user.":"Microphone access is currently disabled."}.`,parameters:[{name:"enable",type:"boolean",description:"If true, enables the microphone. If false, disables it."}],action:async i=>{i.enable?await this.start():this.stop()}}])}get isSupported(){if(!Ie.lib||!this.ai?.vadModel||!He().AudioWorkletNode)return!1;if(this.ai?.config?.transcription?.providerID!="intelliweave"){if(!(this.ai?.config?.transcription?.providerID=="openai"&&this.ai.config?.transcription?.apiKey))return!1}return!0}async start(){if(!this.isSupported)throw new Error("Speech recognition not supported in this persona and browser.");if(!this.isRunning){this.isRunning=!0;try{await this.ai.audio.beginAccess("speech-recognition"),this.micStream=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0}});let t=this.ai.audio.context.createMediaStreamSource(this.micStream);this.analyserNode=this.ai.audio.context.createAnalyser(),this.analyserNode.fftSize=32,t.connect(this.analyserNode),this.analyserBuffer=new Float32Array(this.analyserNode.fftSize),It.vadModelURL=URL.createObjectURL(this.ai.vadModel),this.ai?.config?.transcription?.providerID=="openai"?(this.voiceDetection=new Ei(this.ai.audio.context,this.ai.config.transcription.apiKey),t.connect(this.voiceDetection)):(this.voiceDetection=new ki(this.ai.audio.context,this.ai.apiKey),this.voiceDetection.apiAddress=this.ai?.config?.transcription?.url||this.voiceDetection.apiAddress,t.connect(this.voiceDetection)),this.voiceDetection.addEventListener("speechstart",i=>{this.ai._voiceTracker=la.timer("voice interaction","Speech started"),this.dispatchEvent(new CustomEvent(i.type,{detail:i.detail}))}),this.voiceDetection.addEventListener("speechend",i=>{this.ai._voiceTracker?.("Speech ended"),this.dispatchEvent(new CustomEvent(i.type,{detail:i.detail}))}),this.voiceDetection.addEventListener("transcription",i=>{this.ai._voiceTracker?.(`Transcription: ${i.detail.text}`),this.onTranscription(i)}),this._skipEvents||this.dispatchEvent(new CustomEvent("start",{detail:{speechRecognition:this}}))}catch(t){la.error("Failed to start speech recognition:",t),this.stop()}}}stop(){this.isRunning&&(this.isRunning=!1,this.ai.audio.endAccess("speech-recognition"),this.voiceDetection?.disconnect(),this.voiceDetection=void 0,this.micStream?.getTracks().forEach(t=>t.stop()),this.micStream=void 0,this.analyserNode=void 0,this.analyserBuffer=void 0,this._skipEvents||this.dispatchEvent(new CustomEvent("end",{detail:{speechRecognition:this}})))}get volumeLevel(){if(!this.analyserNode||!this.analyserBuffer)return 0;this.analyserNode.getFloatTimeDomainData(this.analyserBuffer);let t=0;for(let r of this.analyserBuffer)t+=r*r;let i=Math.sqrt(t/this.analyserBuffer.length);return i>this.maxVolumeHeard&&(this.maxVolumeHeard=i),this.maxVolumeHeard*=.999,this.maxVolumeHeard<.01&&(this.maxVolumeHeard=.01),Math.min(1,Math.max(0,i/this.maxVolumeHeard))}get wordsCurrentlyBeingSpoken(){return!!this.voiceDetection?.isVoiceActive}get isTranscribing(){return!!this.voiceDetection?.isTranscribing}onTranscription(t){let i=t.detail.text;la.debug("Heard:",i),this.dispatchEvent(new CustomEvent("speech",{detail:{transcript:i,isFinal:!0}}))}async reset(){if(this.isRunning){this._skipEvents=!0;try{this.stop(),await this.start(),this._skipEvents=!1}catch(t){throw this._skipEvents=!1,t}}}};var Ai=new q("AudioSystem"),Pt=class{constructor(n){this.locks=[];if(!n)throw new Error("AI reference is required. Please pass in the IntelliWeave instance to the constructor.");this.ai=n,this.ai.audio=this,this.speechRecognition=new Ti(this.ai),this.speechOutput=new yi(this.ai)}static get isSupported(){return!(!Ie.lib||!He().AudioWorkletNode)}async beginAccess(n){Ai.debug(`Began access for: ${n}`),this.locks.includes(n)||this.locks.push(n),!this.context&&(Ai.debug("Creating AudioContext"),this.context=new AudioContext({latencyHint:"interactive"}),this.context.resume(),await Promise.all([this.context.audioWorklet.addModule(Il),this.context.audioWorklet.addModule(Rl)]))}endAccess(n){Ai.debug(`Ended access for: ${n}`),this.locks=this.locks.filter(t=>t!=n),!this.locks.length&&(Ai.debug("Closing AudioContext"),this.context?.close(),this.context=void 0)}};var LT=new q("Stream");var lt=_a(ql(),1);var HT=new q("React");var VT=(0,lt.createContext)(void 0);var dn=new q("Embed"),ct=class extends be{constructor(){super();this.config={};this.suggestions=[];this.html=()=>`
3534
3535
 
3535
3536
  <!-- Styling -->
3536
3537
  <style>
@@ -3549,6 +3550,9 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
3549
3550
  font-family: "Karla", sans-serif;
3550
3551
  overlow: hidden;
3551
3552
  }
3553
+ #root.hidden {
3554
+ display: none;
3555
+ }
3552
3556
  #root.open {
3553
3557
  border-radius: 32px 32px 16px 16px;
3554
3558
  display: flex;
@@ -3689,7 +3693,7 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
3689
3693
  <link href="https://fonts.googleapis.com/css2?family=Karla:ital,wght@0,200..800;1,200..800&display=swap" rel="stylesheet">
3690
3694
 
3691
3695
  <!-- Root element -->
3692
- <div id='root'>
3696
+ <div id='root' class='hidden'>
3693
3697
 
3694
3698
  <!-- Logo -->
3695
3699
  ${Gt.add({id:"web-weaver-logo",logo:this.attr.logo})}
@@ -3713,7 +3717,7 @@ extractions:`+JSON.stringify(r))||"";o=o.replace(/```json/g,"").replace(/```/g,"
3713
3717
 
3714
3718
  </div>
3715
3719
 
3716
- `;this._isProcessing=!1;this.ai=new St,Pt.isSupported&&(this.ai.audio=new Pt(this.ai))}onCreate(){$().embed&&Ri.warn("Only one <web-weaver-embed> element should be on the page."),$().embed=this;let t=this.getAttribute("logo"),i=this.getAttribute("background"),r=this.getAttribute("textColor");if(t){let l=this.child("web-weaver-logo");l&&(l.setAttribute("logo",t),l.refreshLayout())}let a=this.child("root");if(a&&(i&&(a.style.background=i,console.log("[WebWeaverEmbed] Initial background:",i)),r)){a.style.color=r,console.log("[WebWeaverEmbed] Initial text color:",r);let l=this.child("interaction-bar");l&&l.setAttribute("textColor",r)}this.child("root").addEventListener("click",l=>this.onContainerClick(l)),this.child("web-weaver-logo").addEventListener("click",l=>this.onLogoClick(l)),this.child("interaction-bar").addEventListener("input-message",l=>this.processInput(l.detail)),this.child("interaction-bar").addEventListener("llm-button-click",l=>this.state.llmPanelOpen=!this.state.llmPanelOpen),this.child("llm-selector-panel").addEventListener("select",l=>this.onLLMModelSelect(l)),this.child("interaction-bar").connectAI(this.ai),this.ai.onAIMessage=this.onAIMessage.bind(this),this.ai.onAIToolStart=this.onAIToolStart.bind(this),this.ai.knowledgeBase.addEntry({id:"ui.suggestResponse",type:"action",name:"Suggest a response",content:"Add a button with a suggested response for the user's next message. Supports multiple calls at once.",isContext:!0,parameters:[{name:"text",type:"string",description:"The suggested response for the user's next message."}],action:l=>(this.suggestions.push(l.text),this.ai.submitAnalyticsEvent({type:"suggest-response",text:l.text}),"Suggestion button added")});let s=this.attr.apiKey||$().apiKey;if(!s)return Ri.warn("No API key specified, some features may be unavailable.");this.state.loading=!0,this.attr.hubAPI&&(this.ai.hubAPI=this.attr.hubAPI),this.ai.load(s).then(l=>{this.config=l,$().introductionMessage=this.config.introductionMessage,$().analytics=this.config.analytics!==void 0?!!this.config.analytics:$().analytics,this.applyConfigStyles(l),this.state.loading=!1,this.resetConversation()}).catch(l=>{Ri.error("Failed to load AI configuration:",l),this.state.loading=!1;let c=this.child("web-weaver-embed-inner");c&&(c.innerHTML='<div class="output" style="color: red; padding: 20px;">Error loading configuration. Please try again later.</div>')})}applyConfigStyles(t){if(console.log("[WebWeaverEmbed] Applying UI styling:",{logo:t.logo,background:t.background,textColor:t.textColor}),t.logo){this.setAttribute("logo",t.logo);let i=this.child("web-weaver-logo");i&&i.setAttribute("logo",t.logo)}if(t.background){let i=this.child("root");i&&(i.style.background=t.background,this.setAttribute("background",t.background))}if(t.textColor){let i=this.child("root");i&&(i.style.color=t.textColor,this.setAttribute("textColor",t.textColor));let r=this.child("interaction-bar");r&&r.setAttribute("textColor",t.textColor)}}onUpdate(){let t=this.getAttribute("logo"),i=this.getAttribute("background"),r=this.getAttribute("textColor");if(t){let s=this.child("web-weaver-logo");s&&(s.setAttribute("logo",t),s.refreshLayout())}let a=this.child("root");if(a)if(i?a.style.background=i:a.style.background="#20262C",r){a.style.color=r;let s=this.child("interaction-bar");s&&s.setAttribute("textColor",r)}else a.style.color="white";this.child("web-weaver-embed-inner").style.display=this.attr.open?"":"none",this.child("interaction-bar").style.display=this.attr.open?"":"none",this.child("root").className=this.attr.open?"open":"",this.child("llm-selector-panel").attr.open=this.state.llmPanelOpen,this.child("pulseanim").style.display=this.attr.open?"none":"",this.child("poweredby").style.display=this.attr.open?"flex":"none",this.child("root").style.right=this.attr.offsetX?this.attr.offsetX+"px":"20px",this.child("root").style.bottom=this.attr.offsetY?this.attr.offsetY+"px":"20px",this.child("interaction-bar").attr.loading=this.state.loading,this.child("interaction-bar").attr.llmName=this.ai.currentModel?.metadata?.name||this.ai.currentModel?.id||"None",this.child("interaction-bar").attr.llmButtonVisible=this.ai.models.length>1;let o=this.child("web-weaver-logo");o.attr.focusID=this.attr.focusID,o.refreshLayout(),this.child("llm-selector-panel").state.items=this.ai.models.sort((s,l)=>(l.priority||0)-(s.priority||0)),this.child("llm-selector-panel").state.selectedID=this.ai.currentModel?.id}onDestroy(){$().embed==this&&($().embed=null)}onContainerClick(t){this.attr.open||(t.preventDefault(),this.attr.open=!0)}onLogoClick(t){t.preventDefault(),t.stopPropagation(),this.attr.focusID?this.attr.focusID="":this.attr.open=!this.attr.open}open(){this.attr.open=!0}close(){this.attr.open=!1}resetConversation(){let t=this.child("web-weaver-embed-inner");for(this.state.llmPanelOpen=!1;t.children.length>0;)t.children[0].remove();this.ai.resetConversation(),this.suggestions=[];let i=document.createElement("div");i.className="introduction-message",i.innerHTML=$().introductionMessage||`Welcome to <b>${document.title||"Web Weaver"}</b>. How can I help you?`,t.appendChild(i),this.ai.insertAssistantMessage(i.innerText);for(let r of $().introductionSuggestions||[]){let a=document.createElement("div");a.className="suggestion-button",a.innerText=r,a.addEventListener("click",o=>this.onSuggestionClick(o,r)),t.appendChild(a)}}async processInput(t){if(this._isProcessing)return;this._isProcessing=!0,this.state.loading=!0,this.state.llmPanelOpen=!1;let i=this.child("web-weaver-embed-inner");this.suggestions=[];try{for(let a of Array.from(i.querySelectorAll(".suggestion-button")))a.remove();this.attr.focusID="";let r=document.createElement("div");r.className="input",r.innerText=t,i.appendChild(r),i.lastElementChild?.scrollIntoView({behavior:"instant",block:"end"}),await this.ai.sendMessage(t);for(let a of this.suggestions){let o=document.createElement("div");o.className="suggestion-button",o.innerText=a,o.addEventListener("click",s=>this.onSuggestionClick(s,a)),i.appendChild(o)}i.lastElementChild?.scrollIntoView({behavior:"instant",block:"end"})}catch(r){Ri.error("Failed to process input:",r);let a=document.createElement("div");a.className="output",a.innerText="Sorry, there was a problem getting a response. "+r.message,i.appendChild(a);let o=document.createElement("div");o.className="suggestion-button",o.innerText="Reset conversation",o.addEventListener("click",s=>this.resetConversation()),i.appendChild(o)}this.state.loading=!1,this._isProcessing=!1}async onAIMessage(t){let i=await oa().use(ri).use(ui).use(Mn,{target:"_blank",rel:["noopener","noreferrer"]}).use(Bn).use(qn).processSync(t),r=this.child("web-weaver-embed-inner"),a=r.lastElementChild;if(a&&a.classList.contains("output"))a.innerHTML=i.toString("utf-8");else{let o=document.createElement("div");o.className="output",o.innerHTML=i.toString("utf-8"),r.appendChild(o)}for(let o of Array.from(r.querySelectorAll(".tool")))o.remove();r.lastElementChild?.scrollIntoView({behavior:"instant",block:"end"})}onAIToolStart(t,i){let r=`Running: ${t}`;t=="search"&&(r=`Searching: ${i?.query}`),t=="ui.focusElement"&&(r=`Focusing: #${i?.elementID}`),t=="ui.suggestResponse"&&(r=`Suggested response: ${i?.text}`);let a=this.child("web-weaver-embed-inner"),o=document.createElement("div");o.className="tool",o.innerText=r,a.appendChild(o),a.lastElementChild?.scrollIntoView({behavior:"instant",block:"end"})}onSuggestionClick(t,i){this.processInput(i)}onLLMModelSelect(t){t.preventDefault(),this.ai.setModel(t.detail),this.state.llmPanelOpen=!1}};ct.tagName="intelliweave-embed",ct.observedAttributes=["logo","focusID","open","background","textColor"];Ie.lib=()=>import("./ort.bundle.min-IUPKB45H.js");document.body.appendChild(ct.create());
3720
+ `;this._lastLogo="";this._lastBackground="";this._lastTextColor="";this._isProcessing=!1;this.ai=new St,Pt.isSupported&&(this.ai.audio=new Pt(this.ai))}onCreate(){$().embed&&dn.warn("Only one <web-weaver-embed> element should be on the page."),$().embed=this,this.child("root").addEventListener("click",r=>this.onContainerClick(r)),this.child("web-weaver-logo").addEventListener("click",r=>this.onLogoClick(r)),this.child("interaction-bar").addEventListener("input-message",r=>this.processInput(r.detail)),this.child("interaction-bar").addEventListener("llm-button-click",r=>this.state.llmPanelOpen=!this.state.llmPanelOpen),this.child("llm-selector-panel").addEventListener("select",r=>this.onLLMModelSelect(r)),this.child("interaction-bar").connectAI(this.ai),this.ai.onAIMessage=this.onAIMessage.bind(this),this.ai.onAIToolStart=this.onAIToolStart.bind(this),this.ai.knowledgeBase.addEntry({id:"ui.suggestResponse",type:"action",name:"Suggest a response",content:"Add a button with a suggested response for the user's next message. Supports multiple calls at once.",isContext:!0,parameters:[{name:"text",type:"string",description:"The suggested response for the user's next message."}],action:r=>(this.suggestions.push(r.text),this.ai.submitAnalyticsEvent({type:"suggest-response",text:r.text}),"Suggestion button added")});let i=this.attr.apiKey||$().apiKey;if(!i)return dn.warn("No API key specified, some features may be unavailable.");this.state.loading=!0,this.attr.hubAPI&&(this.ai.hubAPI=this.attr.hubAPI),this.ai.load(i).then(r=>{this.config=r,$().introductionMessage=this.config.introductionMessage,$().analytics=this.config.analytics!==void 0?!!this.config.analytics:$().analytics,this.applyConfigStylesAndAttributes(),this.child("root").classList.remove("hidden"),this.state.loading=!1,this.resetConversation()}).catch(r=>{dn.error("Failed to load AI configuration:",r),this.state.loading=!1;let a=this.child("web-weaver-embed-inner");a&&(a.innerHTML='<div class="output" style="color: red; padding: 20px;">Error loading configuration. Please try again later.</div>')})}applyConfigStylesAndAttributes(){let t=this.config,i=this.child("root");if(!i)return;let r=!1,o=this.getAttribute("logo")||t.logo;if(o&&o!==this._lastLogo){this._lastLogo=o,r=!0;let m=this.child("web-weaver-logo");m&&m.setAttribute("logo",o)}let l=this.getAttribute("background")||t.background;l!==this._lastBackground&&(this._lastBackground=l,r=!0,l?i.style.background=l:i.style.background="");let u=this.getAttribute("textColor")||t.textColor,d=this.child("interaction-bar");u!==this._lastTextColor&&(this._lastTextColor=u,r=!0,u?(i.style.color=u,d&&d.setAttribute("textColor",u)):(i.style.color="",d&&d.removeAttribute("textColor"))),r&&dn.debug("[WebWeaverEmbed] Applied UI Styling:",{finalLogo:o,finalBackground:i.style.background,finalTextColor:i.style.color})}onUpdate(){this.applyConfigStylesAndAttributes(),this.child("web-weaver-embed-inner").style.display=this.attr.open?"":"none",this.child("interaction-bar").style.display=this.attr.open?"":"none",this.child("llm-selector-panel").attr.open=this.state.llmPanelOpen,this.child("pulseanim").style.display=this.attr.open?"none":"",this.child("poweredby").style.display=this.attr.open?"flex":"none",this.attr.open?this.child("root").classList.add("open"):this.child("root").classList.remove("open"),this.child("root").style.right=this.attr.offsetX?this.attr.offsetX+"px":"20px",this.child("root").style.bottom=this.attr.offsetY?this.attr.offsetY+"px":"20px",this.child("interaction-bar").attr.loading=this.state.loading,this.child("interaction-bar").attr.llmName=this.ai.currentModel?.metadata?.name||this.ai.currentModel?.id||"None",this.child("interaction-bar").attr.llmButtonVisible=this.ai.models.length>1,this.child("llm-selector-panel").state.items=this.ai.models.sort((t,i)=>(i.priority||0)-(t.priority||0)),this.child("llm-selector-panel").state.selectedID=this.ai.currentModel?.id}onDestroy(){$().embed==this&&($().embed=void 0)}onContainerClick(t){this.attr.open||(t.preventDefault(),this.attr.open=!0)}onLogoClick(t){t.preventDefault(),t.stopPropagation(),this.attr.focusID?this.attr.focusID="":this.attr.open=!this.attr.open}open(){this.attr.open=!0}close(){this.attr.open=!1}resetConversation(){let t=this.child("web-weaver-embed-inner");for(this.state.llmPanelOpen=!1;t.children.length>0;)t.children[0].remove();this.ai.resetConversation(),this.suggestions=[];let i=document.createElement("div");i.className="introduction-message",i.innerHTML=$().introductionMessage||`Welcome to <b>${document.title||"Web Weaver"}</b>. How can I help you?`,t.appendChild(i),this.ai.insertAssistantMessage(i.innerText);for(let r of $().introductionSuggestions||[]){let a=document.createElement("div");a.className="suggestion-button",a.innerText=r,a.addEventListener("click",o=>this.onSuggestionClick(o,r)),t.appendChild(a)}}async processInput(t){if(this._isProcessing)return;this._isProcessing=!0,this.state.loading=!0,this.state.llmPanelOpen=!1;let i=this.child("web-weaver-embed-inner");this.suggestions=[];try{for(let a of Array.from(i.querySelectorAll(".suggestion-button")))a.remove();this.attr.focusID="";let r=document.createElement("div");r.className="input",r.innerText=t,i.appendChild(r),i.lastElementChild?.scrollIntoView({behavior:"instant",block:"end"}),await this.ai.sendMessage(t);for(let a of this.suggestions){let o=document.createElement("div");o.className="suggestion-button",o.innerText=a,o.addEventListener("click",s=>this.onSuggestionClick(s,a)),i.appendChild(o)}i.lastElementChild?.scrollIntoView({behavior:"instant",block:"end"})}catch(r){dn.error("Failed to process input:",r);let a=document.createElement("div");a.className="output",a.innerText="Sorry, there was a problem getting a response. "+r.message,i.appendChild(a);let o=document.createElement("div");o.className="suggestion-button",o.innerText="Reset conversation",o.addEventListener("click",s=>this.resetConversation()),i.appendChild(o)}this.state.loading=!1,this._isProcessing=!1}async onAIMessage(t){let i=await oa().use(ai).use(di).use(On,{target:"_blank",rel:["noopener","noreferrer"]}).use(Fn).use(Kn).processSync(t),r=this.child("web-weaver-embed-inner"),a=r.lastElementChild;if(a&&a.classList.contains("output"))a.innerHTML=i.toString("utf-8");else{let o=document.createElement("div");o.className="output",o.innerHTML=i.toString("utf-8"),r.appendChild(o)}for(let o of Array.from(r.querySelectorAll(".tool")))o.remove();r.lastElementChild?.scrollIntoView({behavior:"instant",block:"end"})}onAIToolStart(t,i){let r=`Running: ${t}`;t=="search"&&(r=`Searching: ${i?.query}`),t=="ui.focusElement"&&(r=`Focusing: #${i?.elementID}`),t=="ui.suggestResponse"&&(r=`Suggested response: ${i?.text}`);let a=this.child("web-weaver-embed-inner"),o=document.createElement("div");o.className="tool",o.innerText=r,a.appendChild(o),a.lastElementChild?.scrollIntoView({behavior:"instant",block:"end"})}onSuggestionClick(t,i){this.processInput(i)}onLLMModelSelect(t){t.preventDefault(),this.ai.setModel(t.detail),this.state.llmPanelOpen=!1}};ct.tagName="intelliweave-embed",ct.observedAttributes=["logo","focusID","open","background","textColor"];Ie.lib=()=>import("./ort.bundle.min-IUPKB45H.js");document.body.appendChild(ct.create());
3717
3721
  /*! Bundled license information:
3718
3722
 
3719
3723
  react/cjs/react.production.min.js: