@voxket-ai/voxket-live 1.1.39 → 1.1.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -52,16 +52,16 @@
52
52
  `},c]}}const KT=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),qT=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],YT=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],ZT=[...qT,...YT],XT=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),_g=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Tg=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),QT=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),JT=_g.concat(Tg).sort().reverse();function eN(e){const t=KT(e),n=JT,r="and or not only",i="[\\w-]+",o="("+i+"|@\\{"+i+"\\})",s=[],a=[],l=function(w){return{className:"string",begin:"~?"+w+".*?"+w}},c=function(w,_,C){return{className:w,begin:_,relevance:C}},u={$pattern:/[a-z-]+/,keyword:r,attribute:XT.join(" ")},d={begin:"\\(",end:"\\)",contains:a,keywords:u,relevance:0};a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l("'"),l('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,d,c("variable","@@?"+i,10),c("variable","@\\{"+i+"\\}"),c("built_in","~?`[^`]*?`"),{className:"attribute",begin:i+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);const f=a.concat({begin:/\{/,end:/\}/,contains:s}),p={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(a)},m={begin:o+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+QT.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:a}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:u,returnEnd:!0,contains:a,relevance:0}},v={className:"variable",variants:[{begin:"@"+i+"\\s*:",relevance:15},{begin:"@"+i}],starts:{end:"[;}]",returnEnd:!0,contains:f}},y={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:o,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,p,c("keyword","all\\b"),c("variable","@\\{"+i+"\\}"),{begin:"\\b("+ZT.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,c("selector-tag",o,0),c("selector-id","#"+o),c("selector-class","\\."+o,0),c("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+_g.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Tg.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:f},{begin:"!important"},t.FUNCTION_DISPATCH]},E={begin:i+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[y]};return s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,v,E,m,y,p,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:s}}function tN(e){const t="\\[=*\\[",n="\\]=*\\]",r={begin:t,end:n,contains:["self"]},i=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[r],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:i}].concat(i)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[r],relevance:5}])}}function nN(e){const t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t]},r={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[t,n]},i={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},o={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},s={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[t]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[e.HASH_COMMENT_MODE,t,n,r,i,o,s]}}function rN(e){const t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},r={begin:"^[-\\*]{3,}",end:"$"},i={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},o={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},s={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},a=/[A-Za-z][A-Za-z0-9+.-]*/,l={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,a,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},c={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},u={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},d=e.inherit(c,{contains:[]}),f=e.inherit(u,{contains:[]});c.contains.push(f),u.contains.push(d);let p=[n,l];return[c,u,d,f].forEach(y=>{y.contains=y.contains.concat(p)}),p=p.concat(c,u),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:p},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:p}]}]},n,o,c,u,{className:"quote",begin:"^>\\s+",contains:p,end:"$"},i,r,l,s,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function iN(e){const t={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,a={"variable.language":["this","super"],$pattern:n,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},l={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:a,illegal:"</",contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+l.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:l,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function oN(e){const t=e.regex,n=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],r=/[dualxmsipngr]{0,12}/,i={$pattern:/[\w.]+/,keyword:n.join(" ")},o={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:i},s={begin:/->\{/,end:/\}/},a={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},l={scope:"variable",variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[a]},c={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},u=[e.BACKSLASH_ESCAPE,o,l],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],f=(g,v,y="\\1")=>{const E=y==="\\1"?y:t.concat(y,v);return t.concat(t.concat("(?:",g,")"),v,/(?:\\.|[^\\\/])*?/,E,/(?:\\.|[^\\\/])*?/,y,r)},p=(g,v,y)=>t.concat(t.concat("(?:",g,")"),v,/(?:\\.|[^\\\/])*?/,y,r),m=[l,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),s,{className:"string",contains:u,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},c,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:f("s|tr|y",t.either(...d,{capture:!0}))},{begin:f("s|tr|y","\\(","\\)")},{begin:f("s|tr|y","\\[","\\]")},{begin:f("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:p("(?:m|qr)?",/\//,/\//)},{begin:p("m|qr",t.either(...d,{capture:!0}),/\1/)},{begin:p("m|qr",/\(/,/\)/)},{begin:p("m|qr",/\[/,/\]/)},{begin:p("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,a]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,a,c]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return o.contains=m,s.contains=m,{name:"Perl",aliases:["pl","pm"],keywords:i,contains:m}}function sN(e){const t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,r=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),i=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),o=t.concat(/[A-Z]+/,n),s={scope:"variable",match:"\\$+"+r},a={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},l={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},c=e.inherit(e.APOS_STRING_MODE,{illegal:null}),u=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(l)}),d={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(l),"on:begin":(j,W)=>{W.data._beginMatch=j[1]||j[2]},"on:end":(j,W)=>{W.data._beginMatch!==j[1]&&W.ignoreMatch()}},f=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[
53
53
  ]`,m={scope:"string",variants:[u,c,d,f]},g={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},v=["false","null","true"],y=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],E=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],_={keyword:y,literal:(j=>{const W=[];return j.forEach(oe=>{W.push(oe),oe.toLowerCase()===oe?W.push(oe.toUpperCase()):W.push(oe.toLowerCase())}),W})(v),built_in:E},C=j=>j.map(W=>W.replace(/\|\d+$/,"")),T={variants:[{match:[/new/,t.concat(p,"+"),t.concat("(?!",C(E).join("\\b|"),"\\b)"),i],scope:{1:"keyword",4:"title.class"}}]},R=t.concat(r,"\\b(?!\\()"),A={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),R],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[i,t.concat(/::/,t.lookahead(/(?!class\b)/)),R],scope:{1:"title.class",3:"variable.constant"}},{match:[i,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},I={scope:"attr",match:t.concat(r,t.lookahead(":"),t.lookahead(/(?!::)/))},b={relevance:0,begin:/\(/,end:/\)/,keywords:_,contains:[I,s,A,e.C_BLOCK_COMMENT_MODE,m,g,T]},M={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",C(y).join("\\b|"),"|",C(E).join("\\b|"),"\\b)"),r,t.concat(p,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[b]};b.contains.push(M);const O=[I,A,e.C_BLOCK_COMMENT_MODE,m,g,T],L={begin:t.concat(/#\[\s*\\?/,t.either(i,o)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:v,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:v,keyword:["new","array"]},contains:["self",...O]},...O,{scope:"meta",variants:[{match:i},{match:o}]}]};return{case_insensitive:!1,keywords:_,contains:[L,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},a,{scope:"variable.language",match:/\$this\b/},s,M,A,{match:[/const/,/\s/,r],scope:{1:"keyword",3:"variable.constant"}},T,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:_,contains:["self",L,s,A,e.C_BLOCK_COMMENT_MODE,m,g]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},m,g]}}function aN(e){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function lN(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function cN(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],a={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},l={className:"meta",begin:/^(>>>|\.\.\.) /},c={className:"subst",begin:/\{/,end:/\}/,keywords:a,illegal:/#/},u={begin:/\{\{/,relevance:0},d={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,l,u,c]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,l,u,c]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,u,c]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,u,c]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},f="[0-9](_?[0-9])*",p=`(\\b(${f}))?\\.(${f})|\\b(${f})\\.`,m=`\\b|${r.join("|")}`,g={className:"number",relevance:0,variants:[{begin:`(\\b(${f})|(${p}))[eE][+-]?(${f})[jJ]?(?=${m})`},{begin:`(${p})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${m})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${m})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${m})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${m})`},{begin:`\\b(${f})[jJ](?=${m})`}]},v={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:a,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},y={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:["self",l,g,d,e.HASH_COMMENT_MODE]}]};return c.contains=[d,g,l],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:a,illegal:/(<\/|\?)|=>/,contains:[l,g,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},d,v,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[y]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,y,d]}]}}function uN(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function dN(e){const t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,r=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,o=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[i,r]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,r]},{scope:{1:"punctuation",2:"number"},match:[o,r]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,r]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:o},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function fN(e){const t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",r=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=t.concat(r,/(::\w+)*/),s={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},a={className:"doctag",begin:"@[A-Za-z]+"},l={begin:"#<",end:">"},c=[e.COMMENT("#","$",{contains:[a]}),e.COMMENT("^=begin","^=end",{contains:[a],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],u={className:"subst",begin:/#\{/,end:/\}/,keywords:s},d={className:"string",contains:[e.BACKSLASH_ESCAPE,u],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,u]})]}]},f="[1-9](_?[0-9])*|0",p="[0-9](_?[0-9])*",m={className:"number",relevance:0,variants:[{begin:`\\b(${f})(\\.(${p}))?([eE][+-]?(${p})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},g={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:s}]},T=[d,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:s},{match:[/(include|extend)\s+/,i],scope:{2:"title.class"},keywords:s},{relevance:0,match:[i,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:r,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[g]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[d,{begin:n}],relevance:0},m,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:s},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,u],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(l,c),relevance:0}].concat(l,c);u.contains=T,g.contains=T;const b=[{begin:/^\s*=>/,starts:{end:"$",contains:T}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:s,contains:T}}];return c.unshift(l),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:s,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(b).concat(c).concat(T)}}function hN(e){const t=e.regex,n=/(r#)?/,r=t.concat(n,e.UNDERSCORE_IDENT_RE),i=t.concat(n,e.IDENT_RE),o={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,t.lookahead(/\s*\(/))},s="([ui](8|16|32|64|128|size)|f(32|64))?",a=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],l=["true","false","Some","None","Ok","Err"],c=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],u=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:u,keyword:a,literal:l,built_in:c},illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)"+s},{begin:"\\b0o([0-7_]+)"+s},{begin:"\\b0x([A-Fa-f0-9_]+)"+s},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+s}],relevance:0},{begin:[/fn/,/\s+/,r],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,r],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,r,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{begin:e.IDENT_RE+"::",keywords:{keyword:"Self",built_in:c,type:u}},{className:"punctuation",begin:"->"},o]}}const pN=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),gN=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],mN=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],bN=[...gN,...mN],yN=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),xN=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),vN=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),wN=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function EN(e){const t=pN(e),n=vN,r=xN,i="@[a-z-]+",o="and or not only",a={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+bN.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+r.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},a,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+wN.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,a,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:o,attribute:yN.join(" ")},contains:[{begin:i,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},a,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}function SN(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function kN(e){const t=e.regex,n=e.COMMENT("--","$"),r={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},i={begin:/"/,end:/"/,contains:[{match:/""/}]},o=["true","false","unknown"],s=["double precision","large object","with timezone","without timezone"],a=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],l=["add","asc","collation","desc","final","first","last","view"],c=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],u=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],d=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],f=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],p=u,m=[...c,...l].filter(C=>!u.includes(C)),g={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},v={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},y={match:t.concat(/\b/,t.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function E(C){return t.concat(/\b/,t.either(...C.map(T=>T.replace(/\s+/,"\\s+"))),/\b/)}const w={scope:"keyword",match:E(f),relevance:0};function _(C,{exceptions:T,when:R}={}){const A=R;return T=T||[],C.map(I=>I.match(/\|\d+$/)||T.includes(I)?I:A(I)?`${I}|0`:I)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:_(m,{when:C=>C.length<3}),literal:o,type:a,built_in:d},contains:[{scope:"type",match:E(s)},w,y,g,r,i,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,v]}}function Ng(e){return e?typeof e=="string"?e:e.source:null}function Kr(e){return Ge("(?=",e,")")}function Ge(...e){return e.map(n=>Ng(n)).join("")}function CN(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function Mt(...e){return"("+(CN(e).capture?"":"?:")+e.map(r=>Ng(r)).join("|")+")"}const Wl=e=>Ge(/\b/,e,/\w$/.test(e)?/\b/:/\B/),_N=["Protocol","Type"].map(Wl),Pd=["init","self"].map(Wl),TN=["Any","Self"],$s=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],Dd=["false","nil","true"],NN=["assignment","associativity","higherThan","left","lowerThan","none","right"],AN=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],Ld=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],Ag=Mt(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),Mg=Mt(Ag,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),Vs=Ge(Ag,Mg,"*"),Rg=Mt(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),So=Mt(Rg,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),ln=Ge(Rg,So,"*"),qi=Ge(/[A-Z]/,So,"*"),MN=["attached","autoclosure",Ge(/convention\(/,Mt("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",Ge(/objc\(/,ln,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],RN=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function IN(e){const t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),r=[e.C_LINE_COMMENT_MODE,n],i={match:[/\./,Mt(..._N,...Pd)],className:{2:"keyword"}},o={match:Ge(/\./,Mt(...$s)),relevance:0},s=$s.filter(se=>typeof se=="string").concat(["_|0"]),a=$s.filter(se=>typeof se!="string").concat(TN).map(Wl),l={variants:[{className:"keyword",match:Mt(...a,...Pd)}]},c={$pattern:Mt(/\b\w+/,/#\w+/),keyword:s.concat(AN),literal:Dd},u=[i,o,l],d={match:Ge(/\./,Mt(...Ld)),relevance:0},f={className:"built_in",match:Ge(/\b/,Mt(...Ld),/(?=\()/)},p=[d,f],m={match:/->/,relevance:0},g={className:"operator",relevance:0,variants:[{match:Vs},{match:`\\.(\\.|${Mg})+`}]},v=[m,g],y="([0-9]_*)+",E="([0-9a-fA-F]_*)+",w={className:"number",relevance:0,variants:[{match:`\\b(${y})(\\.(${y}))?([eE][+-]?(${y}))?\\b`},{match:`\\b0x(${E})(\\.(${E}))?([pP][+-]?(${y}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},_=(se="")=>({className:"subst",variants:[{match:Ge(/\\/,se,/[0\\tnr"']/)},{match:Ge(/\\/,se,/u\{[0-9a-fA-F]{1,8}\}/)}]}),C=(se="")=>({className:"subst",match:Ge(/\\/,se,/[\t ]*(?:[\r\n]|\r\n)/)}),T=(se="")=>({className:"subst",label:"interpol",begin:Ge(/\\/,se,/\(/),end:/\)/}),R=(se="")=>({begin:Ge(se,/"""/),end:Ge(/"""/,se),contains:[_(se),C(se),T(se)]}),A=(se="")=>({begin:Ge(se,/"/),end:Ge(/"/,se),contains:[_(se),T(se)]}),I={className:"string",variants:[R(),R("#"),R("##"),R("###"),A(),A("#"),A("##"),A("###")]},b=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],M={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:b},O=se=>{const be=Ge(se,/\//),ke=Ge(/\//,se);return{begin:be,end:ke,contains:[...b,{scope:"comment",begin:`#(?!.*${ke})`,end:/$/}]}},L={scope:"regexp",variants:[O("###"),O("##"),O("#"),M]},j={match:Ge(/`/,ln,/`/)},W={className:"variable",match:/\$\d+/},oe={className:"variable",match:`\\$${So}+`},te=[j,W,oe],B={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:RN,contains:[...v,w,I]}]}},$={scope:"keyword",match:Ge(/@/,Mt(...MN),Kr(Mt(/\(/,/\s+/)))},x={scope:"meta",match:Ge(/@/,ln)},z=[B,$,x],G={match:Kr(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:Ge(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,So,"+")},{className:"type",match:qi,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:Ge(/\s+&\s+/,Kr(qi)),relevance:0}]},k={begin:/</,end:/>/,keywords:c,contains:[...r,...u,...z,m,G]};G.contains.push(k);const K={match:Ge(ln,/\s*:/),keywords:"_|0",relevance:0},Z={begin:/\(/,end:/\)/,relevance:0,keywords:c,contains:["self",K,...r,L,...u,...p,...v,w,I,...te,...z,G]},X={begin:/</,end:/>/,keywords:"repeat each",contains:[...r,G]},ie={begin:Mt(Kr(Ge(ln,/\s*:/)),Kr(Ge(ln,/\s+/,ln,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:ln}]},Y={begin:/\(/,end:/\)/,keywords:c,contains:[ie,...r,...u,...v,w,I,...z,G,Z],endsParent:!0,illegal:/["']/},re={match:[/(func|macro)/,/\s+/,Mt(j.match,ln,Vs)],className:{1:"keyword",3:"title.function"},contains:[X,Y,t],illegal:[/\[/,/%/]},H={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[X,Y,t],illegal:/\[|%/},Ee={match:[/operator/,/\s+/,Vs],className:{1:"keyword",3:"title"}},P={begin:[/precedencegroup/,/\s+/,qi],className:{1:"keyword",3:"title"},contains:[G],keywords:[...NN,...Dd],end:/}/},ne={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},Se={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},pe={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,ln,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:c,contains:[X,...u,{begin:/:/,end:/\{/,keywords:c,contains:[{scope:"title.class.inherited",match:qi},...u],relevance:0}]};for(const se of I.variants){const be=se.contains.find(ye=>ye.label==="interpol");be.keywords=c;const ke=[...u,...p,...v,w,I,...te];be.contains=[...ke,{begin:/\(/,end:/\)/,contains:["self",...ke]}]}return{name:"Swift",keywords:c,contains:[...r,re,H,ne,Se,pe,Ee,P,{beginKeywords:"import",end:/$/,contains:[...r],relevance:0},L,...u,...p,...v,w,I,...te,...z,G,Z]}}const ko="[A-Za-z$_][0-9A-Za-z$_]*",Ig=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],Og=["true","false","null","undefined","NaN","Infinity"],Pg=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Dg=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Lg=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Fg=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],jg=[].concat(Lg,Pg,Dg);function ON(e){const t=e.regex,n=(B,{after:$})=>{const x="</"+B[0].slice(1);return B.input.indexOf(x,$)!==-1},r=ko,i={begin:"<>",end:"</>"},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(B,$)=>{const x=B[0].length+B.index,z=B.input[x];if(z==="<"||z===","){$.ignoreMatch();return}z===">"&&(n(B,{after:x})||$.ignoreMatch());let G;const k=B.input.substring(x);if(G=k.match(/^\s*=/)){$.ignoreMatch();return}if((G=k.match(/^\s+extends\s+/))&&G.index===0){$.ignoreMatch();return}}},a={$pattern:ko,keyword:Ig,literal:Og,built_in:jg,"variable.language":Fg},l="[0-9](_?[0-9])*",c=`\\.(${l})`,u="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",d={className:"number",variants:[{begin:`(\\b(${u})((${c})|\\.)?|(${c}))[eE][+-]?(${l})\\b`},{begin:`\\b(${u})\\b((${c})\\b|\\.)?|(${c})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},f={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:"css"}},g={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:"graphql"}},v={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,f]},E={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},w=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,v,{match:/\$\d+/},d];f.contains=w.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(w)});const _=[].concat(E,f.contains),C=_.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(_)}]),T={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:C},R={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},A={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...Pg,...Dg]}},I={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},b={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[T],illegal:/%/},M={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function O(B){return t.concat("(?!",B.join("|"),")")}const L={match:t.concat(/\b/,O([...Lg,"super","import"].map(B=>`${B}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},j={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},W={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},T]},oe="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",te={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(oe)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[T]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:C,CLASS_REFERENCE:A},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),I,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,v,E,{match:/\$\d+/},d,A,{scope:"attr",match:r+t.lookahead(":"),relevance:0},te,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[E,e.REGEXP_MODE,{className:"function",begin:oe,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:C}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:o},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},b,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[T,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},j,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[T]},L,M,R,W,{match:/\$[(.]/}]}}function PN(e){const t=e.regex,n=ON(e),r=ko,i=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],o={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:i},contains:[n.exports.CLASS_REFERENCE]},a={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},l=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],c={$pattern:ko,keyword:Ig.concat(l),literal:Og,built_in:jg.concat(i),"variable.language":Fg},u={className:"meta",begin:"@"+r},d=(g,v,y)=>{const E=g.contains.findIndex(w=>w.label===v);if(E===-1)throw new Error("can not find mode to replace");g.contains.splice(E,1,y)};Object.assign(n.keywords,c),n.exports.PARAMS_CONTAINS.push(u);const f=n.contains.find(g=>g.scope==="attr"),p=Object.assign({},f,{match:t.concat(r,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,f,p]),n.contains=n.contains.concat([u,o,s,p]),d(n,"shebang",e.SHEBANG()),d(n,"use_strict",a);const m=n.contains.find(g=>g.label==="func.def");return m.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}function DN(e){const t=e.regex,n={className:"string",begin:/"(""|[^/n])"C\b/},r={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},i=/\d{1,2}\/\d{1,2}\/\d{4}/,o=/\d{4}-\d{1,2}-\d{1,2}/,s=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,a=/\d{1,2}(:\d{1,2}){1,2}/,l={className:"literal",variants:[{begin:t.concat(/# */,t.either(o,i),/ *#/)},{begin:t.concat(/# */,a,/ *#/)},{begin:t.concat(/# */,s,/ *#/)},{begin:t.concat(/# */,t.either(o,i),/ +/,t.either(s,a),/ *#/)}]},c={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},u={className:"label",begin:/^\w+:/},d=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),f=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[n,r,l,c,u,d,f,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[f]}]}}function LN(e){e.regex;const t=e.COMMENT(/\(;/,/;\)/);t.contains.push("self");const n=e.COMMENT(/;;/,/$/),r=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],i={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},o={className:"variable",begin:/\$[\w_]+/},s={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},a={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},l={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},c={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:r},contains:[n,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},o,s,i,e.QUOTE_STRING_MODE,l,c,a]}}function FN(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,i={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},o={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},s=e.inherit(o,{begin:/\(/,end:/\)/}),a=e.inherit(e.APOS_STRING_MODE,{className:"string"}),l=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),c={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:r,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[i]},{begin:/'/,end:/'/,contains:[i]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[o,l,a,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[o,s,l,a]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},i,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[c],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[c],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(/</,t.lookahead(t.concat(n,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:c}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function jN(e){const t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",r={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},i={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},o={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},s={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,i]},a=e.inherit(s,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),f={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},p={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},m={begin:/\{/,end:/\}/,contains:[p],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[p],illegal:"\\n",relevance:0},v=[r,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},f,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},m,g,o,s],y=[...v];return y.pop(),y.push(a),p.contains=y,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:v}}const BN={arduino:vT,bash:wT,c:ET,cpp:ST,csharp:kT,css:OT,diff:PT,go:DT,graphql:LT,ini:FT,java:jT,javascript:UT,json:HT,kotlin:GT,less:eN,lua:tN,makefile:nN,markdown:rN,objectivec:iN,perl:oN,php:sN,"php-template":aN,plaintext:lN,python:cN,"python-repl":uN,r:dN,ruby:fN,rust:hN,scss:EN,shell:SN,sql:kN,swift:IN,typescript:PN,vbnet:DN,wasm:LN,xml:FN,yaml:jN};var zs,Fd;function $N(){if(Fd)return zs;Fd=1;function e(S){return S instanceof Map?S.clear=S.delete=S.set=function(){throw new Error("map is read-only")}:S instanceof Set&&(S.add=S.clear=S.delete=function(){throw new Error("set is read-only")}),Object.freeze(S),Object.getOwnPropertyNames(S).forEach(F=>{const q=S[F],ce=typeof q;(ce==="object"||ce==="function")&&!Object.isFrozen(q)&&e(q)}),S}class t{constructor(F){F.data===void 0&&(F.data={}),this.data=F.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function n(S){return S.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function r(S,...F){const q=Object.create(null);for(const ce in S)q[ce]=S[ce];return F.forEach(function(ce){for(const Qe in ce)q[Qe]=ce[Qe]}),q}const i="</span>",o=S=>!!S.scope,s=(S,{prefix:F})=>{if(S.startsWith("language:"))return S.replace("language:","language-");if(S.includes(".")){const q=S.split(".");return[`${F}${q.shift()}`,...q.map((ce,Qe)=>`${ce}${"_".repeat(Qe+1)}`)].join(" ")}return`${F}${S}`};class a{constructor(F,q){this.buffer="",this.classPrefix=q.classPrefix,F.walk(this)}addText(F){this.buffer+=n(F)}openNode(F){if(!o(F))return;const q=s(F.scope,{prefix:this.classPrefix});this.span(q)}closeNode(F){o(F)&&(this.buffer+=i)}value(){return this.buffer}span(F){this.buffer+=`<span class="${F}">`}}const l=(S={})=>{const F={children:[]};return Object.assign(F,S),F};class c{constructor(){this.rootNode=l(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(F){this.top.children.push(F)}openNode(F){const q=l({scope:F});this.add(q),this.stack.push(q)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(F){return this.constructor._walk(F,this.rootNode)}static _walk(F,q){return typeof q=="string"?F.addText(q):q.children&&(F.openNode(q),q.children.forEach(ce=>this._walk(F,ce)),F.closeNode(q)),F}static _collapse(F){typeof F!="string"&&F.children&&(F.children.every(q=>typeof q=="string")?F.children=[F.children.join("")]:F.children.forEach(q=>{c._collapse(q)}))}}class u extends c{constructor(F){super(),this.options=F}addText(F){F!==""&&this.add(F)}startScope(F){this.openNode(F)}endScope(){this.closeNode()}__addSublanguage(F,q){const ce=F.root;q&&(ce.scope=`language:${q}`),this.add(ce)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function d(S){return S?typeof S=="string"?S:S.source:null}function f(S){return g("(?=",S,")")}function p(S){return g("(?:",S,")*")}function m(S){return g("(?:",S,")?")}function g(...S){return S.map(q=>d(q)).join("")}function v(S){const F=S[S.length-1];return typeof F=="object"&&F.constructor===Object?(S.splice(S.length-1,1),F):{}}function y(...S){return"("+(v(S).capture?"":"?:")+S.map(ce=>d(ce)).join("|")+")"}function E(S){return new RegExp(S.toString()+"|").exec("").length-1}function w(S,F){const q=S&&S.exec(F);return q&&q.index===0}const _=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function C(S,{joinWith:F}){let q=0;return S.map(ce=>{q+=1;const Qe=q;let ut=d(ce),ge="";for(;ut.length>0;){const de=_.exec(ut);if(!de){ge+=ut;break}ge+=ut.substring(0,de.index),ut=ut.substring(de.index+de[0].length),de[0][0]==="\\"&&de[1]?ge+="\\"+String(Number(de[1])+Qe):(ge+=de[0],de[0]==="("&&q++)}return ge}).map(ce=>`(${ce})`).join(F)}const T=/\b\B/,R="[a-zA-Z]\\w*",A="[a-zA-Z_]\\w*",I="\\b\\d+(\\.\\d+)?",b="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",M="\\b(0b[01]+)",O="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",L=(S={})=>{const F=/^#![ ]*\//;return S.binary&&(S.begin=g(F,/.*\b/,S.binary,/\b.*/)),r({scope:"meta",begin:F,end:/$/,relevance:0,"on:begin":(q,ce)=>{q.index!==0&&ce.ignoreMatch()}},S)},j={begin:"\\\\[\\s\\S]",relevance:0},W={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[j]},oe={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[j]},te={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},B=function(S,F,q={}){const ce=r({scope:"comment",begin:S,end:F,contains:[]},q);ce.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const Qe=y("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return ce.contains.push({begin:g(/[ ]+/,"(",Qe,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),ce},$=B("//","$"),x=B("/\\*","\\*/"),z=B("#","$"),G={scope:"number",begin:I,relevance:0},k={scope:"number",begin:b,relevance:0},K={scope:"number",begin:M,relevance:0},Z={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[j,{begin:/\[/,end:/\]/,relevance:0,contains:[j]}]},X={scope:"title",begin:R,relevance:0},ie={scope:"title",begin:A,relevance:0},Y={begin:"\\.\\s*"+A,relevance:0};var H=Object.freeze({__proto__:null,APOS_STRING_MODE:W,BACKSLASH_ESCAPE:j,BINARY_NUMBER_MODE:K,BINARY_NUMBER_RE:M,COMMENT:B,C_BLOCK_COMMENT_MODE:x,C_LINE_COMMENT_MODE:$,C_NUMBER_MODE:k,C_NUMBER_RE:b,END_SAME_AS_BEGIN:function(S){return Object.assign(S,{"on:begin":(F,q)=>{q.data._beginMatch=F[1]},"on:end":(F,q)=>{q.data._beginMatch!==F[1]&&q.ignoreMatch()}})},HASH_COMMENT_MODE:z,IDENT_RE:R,MATCH_NOTHING_RE:T,METHOD_GUARD:Y,NUMBER_MODE:G,NUMBER_RE:I,PHRASAL_WORDS_MODE:te,QUOTE_STRING_MODE:oe,REGEXP_MODE:Z,RE_STARTERS_RE:O,SHEBANG:L,TITLE_MODE:X,UNDERSCORE_IDENT_RE:A,UNDERSCORE_TITLE_MODE:ie});function Ee(S,F){S.input[S.index-1]==="."&&F.ignoreMatch()}function P(S,F){S.className!==void 0&&(S.scope=S.className,delete S.className)}function ne(S,F){F&&S.beginKeywords&&(S.begin="\\b("+S.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",S.__beforeBegin=Ee,S.keywords=S.keywords||S.beginKeywords,delete S.beginKeywords,S.relevance===void 0&&(S.relevance=0))}function Se(S,F){Array.isArray(S.illegal)&&(S.illegal=y(...S.illegal))}function pe(S,F){if(S.match){if(S.begin||S.end)throw new Error("begin & end are not supported with match");S.begin=S.match,delete S.match}}function se(S,F){S.relevance===void 0&&(S.relevance=1)}const be=(S,F)=>{if(!S.beforeMatch)return;if(S.starts)throw new Error("beforeMatch cannot be used with starts");const q=Object.assign({},S);Object.keys(S).forEach(ce=>{delete S[ce]}),S.keywords=q.keywords,S.begin=g(q.beforeMatch,f(q.begin)),S.starts={relevance:0,contains:[Object.assign(q,{endsParent:!0})]},S.relevance=0,delete q.beforeMatch},ke=["of","and","for","in","not","or","if","then","parent","list","value"],ye="keyword";function ct(S,F,q=ye){const ce=Object.create(null);return typeof S=="string"?Qe(q,S.split(" ")):Array.isArray(S)?Qe(q,S):Object.keys(S).forEach(function(ut){Object.assign(ce,ct(S[ut],F,ut))}),ce;function Qe(ut,ge){F&&(ge=ge.map(de=>de.toLowerCase())),ge.forEach(function(de){const Te=de.split("|");ce[Te[0]]=[ut,xt(Te[0],Te[1])]})}}function xt(S,F){return F?Number(F):Ke(S)?0:1}function Ke(S){return ke.includes(S.toLowerCase())}const ue={},mt=S=>{console.error(S)},qe=(S,...F)=>{console.log(`WARN: ${S}`,...F)},V=(S,F)=>{ue[`${S}/${F}`]||(console.log(`Deprecated as of ${S}. ${F}`),ue[`${S}/${F}`]=!0)},J=new Error;function we(S,F,{key:q}){let ce=0;const Qe=S[q],ut={},ge={};for(let de=1;de<=F.length;de++)ge[de+ce]=Qe[de],ut[de+ce]=!0,ce+=E(F[de-1]);S[q]=ge,S[q]._emit=ut,S[q]._multi=!0}function Oe(S){if(Array.isArray(S.begin)){if(S.skip||S.excludeBegin||S.returnBegin)throw mt("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),J;if(typeof S.beginScope!="object"||S.beginScope===null)throw mt("beginScope must be object"),J;we(S,S.begin,{key:"beginScope"}),S.begin=C(S.begin,{joinWith:""})}}function Fe(S){if(Array.isArray(S.end)){if(S.skip||S.excludeEnd||S.returnEnd)throw mt("skip, excludeEnd, returnEnd not compatible with endScope: {}"),J;if(typeof S.endScope!="object"||S.endScope===null)throw mt("endScope must be object"),J;we(S,S.end,{key:"endScope"}),S.end=C(S.end,{joinWith:""})}}function At(S){S.scope&&typeof S.scope=="object"&&S.scope!==null&&(S.beginScope=S.scope,delete S.scope)}function Qt(S){At(S),typeof S.beginScope=="string"&&(S.beginScope={_wrap:S.beginScope}),typeof S.endScope=="string"&&(S.endScope={_wrap:S.endScope}),Oe(S),Fe(S)}function Bt(S){function F(ge,de){return new RegExp(d(ge),"m"+(S.case_insensitive?"i":"")+(S.unicodeRegex?"u":"")+(de?"g":""))}class q{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(de,Te){Te.position=this.position++,this.matchIndexes[this.matchAt]=Te,this.regexes.push([Te,de]),this.matchAt+=E(de)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const de=this.regexes.map(Te=>Te[1]);this.matcherRe=F(C(de,{joinWith:"|"}),!0),this.lastIndex=0}exec(de){this.matcherRe.lastIndex=this.lastIndex;const Te=this.matcherRe.exec(de);if(!Te)return null;const vt=Te.findIndex(($r,es)=>es>0&&$r!==void 0),ht=this.matchIndexes[vt];return Te.splice(0,vt),Object.assign(Te,ht)}}class ce{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(de){if(this.multiRegexes[de])return this.multiRegexes[de];const Te=new q;return this.rules.slice(de).forEach(([vt,ht])=>Te.addRule(vt,ht)),Te.compile(),this.multiRegexes[de]=Te,Te}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(de,Te){this.rules.push([de,Te]),Te.type==="begin"&&this.count++}exec(de){const Te=this.getMatcher(this.regexIndex);Te.lastIndex=this.lastIndex;let vt=Te.exec(de);if(this.resumingScanAtSamePosition()&&!(vt&&vt.index===this.lastIndex)){const ht=this.getMatcher(0);ht.lastIndex=this.lastIndex+1,vt=ht.exec(de)}return vt&&(this.regexIndex+=vt.position+1,this.regexIndex===this.count&&this.considerAll()),vt}}function Qe(ge){const de=new ce;return ge.contains.forEach(Te=>de.addRule(Te.begin,{rule:Te,type:"begin"})),ge.terminatorEnd&&de.addRule(ge.terminatorEnd,{type:"end"}),ge.illegal&&de.addRule(ge.illegal,{type:"illegal"}),de}function ut(ge,de){const Te=ge;if(ge.isCompiled)return Te;[P,pe,Qt,be].forEach(ht=>ht(ge,de)),S.compilerExtensions.forEach(ht=>ht(ge,de)),ge.__beforeBegin=null,[ne,Se,se].forEach(ht=>ht(ge,de)),ge.isCompiled=!0;let vt=null;return typeof ge.keywords=="object"&&ge.keywords.$pattern&&(ge.keywords=Object.assign({},ge.keywords),vt=ge.keywords.$pattern,delete ge.keywords.$pattern),vt=vt||/\w+/,ge.keywords&&(ge.keywords=ct(ge.keywords,S.case_insensitive)),Te.keywordPatternRe=F(vt,!0),de&&(ge.begin||(ge.begin=/\B|\b/),Te.beginRe=F(Te.begin),!ge.end&&!ge.endsWithParent&&(ge.end=/\B|\b/),ge.end&&(Te.endRe=F(Te.end)),Te.terminatorEnd=d(Te.end)||"",ge.endsWithParent&&de.terminatorEnd&&(Te.terminatorEnd+=(ge.end?"|":"")+de.terminatorEnd)),ge.illegal&&(Te.illegalRe=F(ge.illegal)),ge.contains||(ge.contains=[]),ge.contains=[].concat(...ge.contains.map(function(ht){return Wt(ht==="self"?ge:ht)})),ge.contains.forEach(function(ht){ut(ht,Te)}),ge.starts&&ut(ge.starts,de),Te.matcher=Qe(Te),Te}if(S.compilerExtensions||(S.compilerExtensions=[]),S.contains&&S.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return S.classNameAliases=r(S.classNameAliases||{}),ut(S)}function Dt(S){return S?S.endsWithParent||Dt(S.starts):!1}function Wt(S){return S.variants&&!S.cachedVariants&&(S.cachedVariants=S.variants.map(function(F){return r(S,{variants:null},F)})),S.cachedVariants?S.cachedVariants:Dt(S)?r(S,{starts:S.starts?r(S.starts):null}):Object.isFrozen(S)?r(S):S}var wt="11.11.1";class rn extends Error{constructor(F,q){super(F),this.name="HTMLInjectionError",this.html=q}}const Et=n,rr=r,ir=Symbol("nomatch"),Br=7,Bn=function(S){const F=Object.create(null),q=Object.create(null),ce=[];let Qe=!0;const ut="Could not find the language '{}', did you forget to load/include a language module?",ge={disableAutodetect:!0,name:"Plain text",contains:[]};let de={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:u};function Te(ee){return de.noHighlightRe.test(ee)}function vt(ee){let xe=ee.className+" ";xe+=ee.parentNode?ee.parentNode.className:"";const De=de.languageDetectRe.exec(xe);if(De){const Je=Cn(De[1]);return Je||(qe(ut.replace("{}",De[1])),qe("Falling back to no-highlight mode for this block.",ee)),Je?De[1]:"no-highlight"}return xe.split(/\s+/).find(Je=>Te(Je)||Cn(Je))}function ht(ee,xe,De){let Je="",bt="";typeof xe=="object"?(Je=ee,De=xe.ignoreIllegals,bt=xe.language):(V("10.7.0","highlight(lang, code, ...args) has been deprecated."),V("10.7.0",`Please use highlight(code, options) instead.
54
54
  https://github.com/highlightjs/highlight.js/issues/2277`),bt=ee,Je=xe),De===void 0&&(De=!0);const Jt={code:Je,language:bt};Mi("before:highlight",Jt);const _n=Jt.result?Jt.result:$r(Jt.language,Jt.code,De);return _n.code=Jt.code,Mi("after:highlight",_n),_n}function $r(ee,xe,De,Je){const bt=Object.create(null);function Jt(ae,me){return ae.keywords[me]}function _n(){if(!Ne.keywords){St.addText(et);return}let ae=0;Ne.keywordPatternRe.lastIndex=0;let me=Ne.keywordPatternRe.exec(et),Re="";for(;me;){Re+=et.substring(ae,me.index);const ze=sn.case_insensitive?me[0].toLowerCase():me[0],Ct=Jt(Ne,ze);if(Ct){const[gn,Gm]=Ct;if(St.addText(Re),Re="",bt[ze]=(bt[ze]||0)+1,bt[ze]<=Br&&(Oi+=Gm),gn.startsWith("_"))Re+=me[0];else{const Km=sn.classNameAliases[gn]||gn;on(me[0],Km)}}else Re+=me[0];ae=Ne.keywordPatternRe.lastIndex,me=Ne.keywordPatternRe.exec(et)}Re+=et.substring(ae),St.addText(Re)}function Ri(){if(et==="")return;let ae=null;if(typeof Ne.subLanguage=="string"){if(!F[Ne.subLanguage]){St.addText(et);return}ae=$r(Ne.subLanguage,et,!0,mc[Ne.subLanguage]),mc[Ne.subLanguage]=ae._top}else ae=ts(et,Ne.subLanguage.length?Ne.subLanguage:null);Ne.relevance>0&&(Oi+=ae.relevance),St.__addSublanguage(ae._emitter,ae.language)}function $t(){Ne.subLanguage!=null?Ri():_n(),et=""}function on(ae,me){ae!==""&&(St.startScope(me),St.addText(ae),St.endScope())}function fc(ae,me){let Re=1;const ze=me.length-1;for(;Re<=ze;){if(!ae._emit[Re]){Re++;continue}const Ct=sn.classNameAliases[ae[Re]]||ae[Re],gn=me[Re];Ct?on(gn,Ct):(et=gn,_n(),et=""),Re++}}function hc(ae,me){return ae.scope&&typeof ae.scope=="string"&&St.openNode(sn.classNameAliases[ae.scope]||ae.scope),ae.beginScope&&(ae.beginScope._wrap?(on(et,sn.classNameAliases[ae.beginScope._wrap]||ae.beginScope._wrap),et=""):ae.beginScope._multi&&(fc(ae.beginScope,me),et="")),Ne=Object.create(ae,{parent:{value:Ne}}),Ne}function pc(ae,me,Re){let ze=w(ae.endRe,Re);if(ze){if(ae["on:end"]){const Ct=new t(ae);ae["on:end"](me,Ct),Ct.isMatchIgnored&&(ze=!1)}if(ze){for(;ae.endsParent&&ae.parent;)ae=ae.parent;return ae}}if(ae.endsWithParent)return pc(ae.parent,me,Re)}function Vm(ae){return Ne.matcher.regexIndex===0?(et+=ae[0],1):(os=!0,0)}function zm(ae){const me=ae[0],Re=ae.rule,ze=new t(Re),Ct=[Re.__beforeBegin,Re["on:begin"]];for(const gn of Ct)if(gn&&(gn(ae,ze),ze.isMatchIgnored))return Vm(me);return Re.skip?et+=me:(Re.excludeBegin&&(et+=me),$t(),!Re.returnBegin&&!Re.excludeBegin&&(et=me)),hc(Re,ae),Re.returnBegin?0:me.length}function Um(ae){const me=ae[0],Re=xe.substring(ae.index),ze=pc(Ne,ae,Re);if(!ze)return ir;const Ct=Ne;Ne.endScope&&Ne.endScope._wrap?($t(),on(me,Ne.endScope._wrap)):Ne.endScope&&Ne.endScope._multi?($t(),fc(Ne.endScope,ae)):Ct.skip?et+=me:(Ct.returnEnd||Ct.excludeEnd||(et+=me),$t(),Ct.excludeEnd&&(et=me));do Ne.scope&&St.closeNode(),!Ne.skip&&!Ne.subLanguage&&(Oi+=Ne.relevance),Ne=Ne.parent;while(Ne!==ze.parent);return ze.starts&&hc(ze.starts,ae),Ct.returnEnd?0:me.length}function Hm(){const ae=[];for(let me=Ne;me!==sn;me=me.parent)me.scope&&ae.unshift(me.scope);ae.forEach(me=>St.openNode(me))}let Ii={};function gc(ae,me){const Re=me&&me[0];if(et+=ae,Re==null)return $t(),0;if(Ii.type==="begin"&&me.type==="end"&&Ii.index===me.index&&Re===""){if(et+=xe.slice(me.index,me.index+1),!Qe){const ze=new Error(`0 width match regex (${ee})`);throw ze.languageName=ee,ze.badRule=Ii.rule,ze}return 1}if(Ii=me,me.type==="begin")return zm(me);if(me.type==="illegal"&&!De){const ze=new Error('Illegal lexeme "'+Re+'" for mode "'+(Ne.scope||"<unnamed>")+'"');throw ze.mode=Ne,ze}else if(me.type==="end"){const ze=Um(me);if(ze!==ir)return ze}if(me.type==="illegal"&&Re==="")return et+=`
55
- `,1;if(is>1e5&&is>me.index*3)throw new Error("potential infinite loop, way more iterations than matches");return et+=Re,Re.length}const sn=Cn(ee);if(!sn)throw mt(ut.replace("{}",ee)),new Error('Unknown language: "'+ee+'"');const Wm=Bt(sn);let rs="",Ne=Je||Wm;const mc={},St=new de.__emitter(de);Hm();let et="",Oi=0,$n=0,is=0,os=!1;try{if(sn.__emitTokens)sn.__emitTokens(xe,St);else{for(Ne.matcher.considerAll();;){is++,os?os=!1:Ne.matcher.considerAll(),Ne.matcher.lastIndex=$n;const ae=Ne.matcher.exec(xe);if(!ae)break;const me=xe.substring($n,ae.index),Re=gc(me,ae);$n=ae.index+Re}gc(xe.substring($n))}return St.finalize(),rs=St.toHTML(),{language:ee,value:rs,relevance:Oi,illegal:!1,_emitter:St,_top:Ne}}catch(ae){if(ae.message&&ae.message.includes("Illegal"))return{language:ee,value:Et(xe),illegal:!0,relevance:0,_illegalBy:{message:ae.message,index:$n,context:xe.slice($n-100,$n+100),mode:ae.mode,resultSoFar:rs},_emitter:St};if(Qe)return{language:ee,value:Et(xe),illegal:!1,relevance:0,errorRaised:ae,_emitter:St,_top:Ne};throw ae}}function es(ee){const xe={value:Et(ee),illegal:!1,relevance:0,_top:ge,_emitter:new de.__emitter(de)};return xe._emitter.addText(ee),xe}function ts(ee,xe){xe=xe||de.languages||Object.keys(F);const De=es(ee),Je=xe.filter(Cn).filter(dc).map($t=>$r($t,ee,!1));Je.unshift(De);const bt=Je.sort(($t,on)=>{if($t.relevance!==on.relevance)return on.relevance-$t.relevance;if($t.language&&on.language){if(Cn($t.language).supersetOf===on.language)return 1;if(Cn(on.language).supersetOf===$t.language)return-1}return 0}),[Jt,_n]=bt,Ri=Jt;return Ri.secondBest=_n,Ri}function Mm(ee,xe,De){const Je=xe&&q[xe]||De;ee.classList.add("hljs"),ee.classList.add(`language-${Je}`)}function ns(ee){let xe=null;const De=vt(ee);if(Te(De))return;if(Mi("before:highlightElement",{el:ee,language:De}),ee.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",ee);return}if(ee.children.length>0&&(de.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(ee)),de.throwUnescapedHTML))throw new rn("One of your code blocks includes unescaped HTML.",ee.innerHTML);xe=ee;const Je=xe.textContent,bt=De?ht(Je,{language:De,ignoreIllegals:!0}):ts(Je);ee.innerHTML=bt.value,ee.dataset.highlighted="yes",Mm(ee,De,bt.language),ee.result={language:bt.language,re:bt.relevance,relevance:bt.relevance},bt.secondBest&&(ee.secondBest={language:bt.secondBest.language,relevance:bt.secondBest.relevance}),Mi("after:highlightElement",{el:ee,result:bt,text:Je})}function Rm(ee){de=rr(de,ee)}const Im=()=>{Ai(),V("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Om(){Ai(),V("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let cc=!1;function Ai(){function ee(){Ai()}if(document.readyState==="loading"){cc||window.addEventListener("DOMContentLoaded",ee,!1),cc=!0;return}document.querySelectorAll(de.cssSelector).forEach(ns)}function Pm(ee,xe){let De=null;try{De=xe(S)}catch(Je){if(mt("Language definition for '{}' could not be registered.".replace("{}",ee)),Qe)mt(Je);else throw Je;De=ge}De.name||(De.name=ee),F[ee]=De,De.rawDefinition=xe.bind(null,S),De.aliases&&uc(De.aliases,{languageName:ee})}function Dm(ee){delete F[ee];for(const xe of Object.keys(q))q[xe]===ee&&delete q[xe]}function Lm(){return Object.keys(F)}function Cn(ee){return ee=(ee||"").toLowerCase(),F[ee]||F[q[ee]]}function uc(ee,{languageName:xe}){typeof ee=="string"&&(ee=[ee]),ee.forEach(De=>{q[De.toLowerCase()]=xe})}function dc(ee){const xe=Cn(ee);return xe&&!xe.disableAutodetect}function Fm(ee){ee["before:highlightBlock"]&&!ee["before:highlightElement"]&&(ee["before:highlightElement"]=xe=>{ee["before:highlightBlock"](Object.assign({block:xe.el},xe))}),ee["after:highlightBlock"]&&!ee["after:highlightElement"]&&(ee["after:highlightElement"]=xe=>{ee["after:highlightBlock"](Object.assign({block:xe.el},xe))})}function jm(ee){Fm(ee),ce.push(ee)}function Bm(ee){const xe=ce.indexOf(ee);xe!==-1&&ce.splice(xe,1)}function Mi(ee,xe){const De=ee;ce.forEach(function(Je){Je[De]&&Je[De](xe)})}function $m(ee){return V("10.7.0","highlightBlock will be removed entirely in v12.0"),V("10.7.0","Please use highlightElement now."),ns(ee)}Object.assign(S,{highlight:ht,highlightAuto:ts,highlightAll:Ai,highlightElement:ns,highlightBlock:$m,configure:Rm,initHighlighting:Im,initHighlightingOnLoad:Om,registerLanguage:Pm,unregisterLanguage:Dm,listLanguages:Lm,getLanguage:Cn,registerAliases:uc,autoDetection:dc,inherit:rr,addPlugin:jm,removePlugin:Bm}),S.debugMode=function(){Qe=!1},S.safeMode=function(){Qe=!0},S.versionString=wt,S.regex={concat:g,lookahead:f,either:y,optional:m,anyNumberOfTimes:p};for(const ee in H)typeof H[ee]=="object"&&e(H[ee]);return Object.assign(S,H),S},pn=Bn({});return pn.newInstance=()=>Bn({}),zs=pn,pn.HighlightJS=pn,pn.default=pn,zs}var VN=$N();const zN=Lo(VN),jd={},UN="hljs-";function HN(e){const t=zN.newInstance();return e&&o(e),{highlight:n,highlightAuto:r,listLanguages:i,register:o,registerAlias:s,registered:a};function n(l,c,u){const d=u||jd,f=typeof d.prefix=="string"?d.prefix:UN;if(!t.getLanguage(l))throw new Error("Unknown language: `"+l+"` is not registered");t.configure({__emitter:WN,classPrefix:f});const p=t.highlight(c,{ignoreIllegals:!0,language:l});if(p.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:p.errorRaised});const m=p._emitter.root,g=m.data;return g.language=p.language,g.relevance=p.relevance,m}function r(l,c){const d=(c||jd).subset||i();let f=-1,p=0,m;for(;++f<d.length;){const g=d[f];if(!t.getLanguage(g))continue;const v=n(g,l,c);v.data&&v.data.relevance!==void 0&&v.data.relevance>p&&(p=v.data.relevance,m=v)}return m||{type:"root",children:[],data:{language:void 0,relevance:p}}}function i(){return t.listLanguages()}function o(l,c){if(typeof l=="string")t.registerLanguage(l,c);else{let u;for(u in l)Object.hasOwn(l,u)&&t.registerLanguage(u,l[u])}}function s(l,c){if(typeof l=="string")t.registerAliases(typeof c=="string"?c:[...c],{languageName:l});else{let u;for(u in l)if(Object.hasOwn(l,u)){const d=l[u];t.registerAliases(typeof d=="string"?d:[...d],{languageName:u})}}}function a(l){return!!t.getLanguage(l)}}class WN{constructor(t){this.options=t,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(t){if(t==="")return;const n=this.stack[this.stack.length-1],r=n.children[n.children.length-1];r&&r.type==="text"?r.value+=t:n.children.push({type:"text",value:t})}startScope(t){this.openNode(String(t))}endScope(){this.closeNode()}__addSublanguage(t,n){const r=this.stack[this.stack.length-1],i=t.root.children;n?r.children.push({type:"element",tagName:"span",properties:{className:[n]},children:i}):r.children.push(...i)}openNode(t){const n=this,r=t.split(".").map(function(s,a){return a?s+"_".repeat(a):n.options.classPrefix+s}),i=this.stack[this.stack.length-1],o={type:"element",tagName:"span",properties:{className:r},children:[]};i.children.push(o),this.stack.push(o)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const GN={};function KN(e){const t=e||GN,n=t.aliases,r=t.detect||!1,i=t.languages||BN,o=t.plainText,s=t.prefix,a=t.subset;let l="hljs";const c=HN(i);if(n&&c.registerAlias(n),s){const u=s.indexOf("-");l=u===-1?s:s.slice(0,u)}return function(u,d){Vo(u,"element",function(f,p,m){if(f.tagName!=="code"||!m||m.type!=="element"||m.tagName!=="pre")return;const g=qN(f);if(g===!1||!g&&!r||g&&o&&o.includes(g))return;Array.isArray(f.properties.className)||(f.properties.className=[]),f.properties.className.includes(l)||f.properties.className.unshift(l);const v=fT(f,{whitespace:"pre"});let y;try{y=g?c.highlight(g,v,{prefix:s}):c.highlightAuto(v,{prefix:s,subset:a})}catch(E){const w=E;if(g&&/Unknown language/.test(w.message)){d.message("Cannot highlight as `"+g+"`, it’s not registered",{ancestors:[m,f],cause:w,place:f.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw w}!g&&y.data&&y.data.language&&f.properties.className.push("language-"+y.data.language),y.children.length>0&&(f.children=y.children)})}}function qN(e){const t=e.properties.className;let n=-1;if(!Array.isArray(t))return;let r;for(;++n<t.length;){const i=String(t[n]);if(i==="no-highlight"||i==="nohighlight")return!1;!r&&i.slice(0,5)==="lang-"&&(r=i.slice(5)),!r&&i.slice(0,9)==="language-"&&(r=i.slice(9))}return r}function YN({message:e,theme:t,isOwn:n,isStreaming:r=!1}){var c,u;const i=Pt(t),o=e.sender.name?e.sender.name.split(" ").map(d=>d[0]).join("").toUpperCase().slice(0,2):"U",s=D.useMemo(()=>{var d,f;return((d=e==null?void 0:e.metadata)==null?void 0:d.format)==="markdown"||((f=e==null?void 0:e.metadata)==null?void 0:f.markdown)===!0||Pw(e.content)},[e.content,e.metadata]),a=D.useMemo(()=>s?Dw(e.content):e.content,[e.content,s]),l=D.useMemo(()=>Iw(t),[t]);return h.jsx("div",{className:`flex w-full ${n?"justify-end":"justify-start"} mb-4 px-1`,children:h.jsxs("div",{className:`relative group ${n?"flex-row-reverse":"flex-row"} flex items-end gap-3 max-w-[85%] min-w-0`,children:[h.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${n?t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to-gray-700":t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to_gray-700"}`,children:o}),h.jsxs("div",{className:`
56
- relative px-3 py-2 rounded-2xl break-words shadow-lg backdrop-blur-sm message-bubble message-hover min-w-0 max-w-full overflow-hidden
55
+ `,1;if(is>1e5&&is>me.index*3)throw new Error("potential infinite loop, way more iterations than matches");return et+=Re,Re.length}const sn=Cn(ee);if(!sn)throw mt(ut.replace("{}",ee)),new Error('Unknown language: "'+ee+'"');const Wm=Bt(sn);let rs="",Ne=Je||Wm;const mc={},St=new de.__emitter(de);Hm();let et="",Oi=0,$n=0,is=0,os=!1;try{if(sn.__emitTokens)sn.__emitTokens(xe,St);else{for(Ne.matcher.considerAll();;){is++,os?os=!1:Ne.matcher.considerAll(),Ne.matcher.lastIndex=$n;const ae=Ne.matcher.exec(xe);if(!ae)break;const me=xe.substring($n,ae.index),Re=gc(me,ae);$n=ae.index+Re}gc(xe.substring($n))}return St.finalize(),rs=St.toHTML(),{language:ee,value:rs,relevance:Oi,illegal:!1,_emitter:St,_top:Ne}}catch(ae){if(ae.message&&ae.message.includes("Illegal"))return{language:ee,value:Et(xe),illegal:!0,relevance:0,_illegalBy:{message:ae.message,index:$n,context:xe.slice($n-100,$n+100),mode:ae.mode,resultSoFar:rs},_emitter:St};if(Qe)return{language:ee,value:Et(xe),illegal:!1,relevance:0,errorRaised:ae,_emitter:St,_top:Ne};throw ae}}function es(ee){const xe={value:Et(ee),illegal:!1,relevance:0,_top:ge,_emitter:new de.__emitter(de)};return xe._emitter.addText(ee),xe}function ts(ee,xe){xe=xe||de.languages||Object.keys(F);const De=es(ee),Je=xe.filter(Cn).filter(dc).map($t=>$r($t,ee,!1));Je.unshift(De);const bt=Je.sort(($t,on)=>{if($t.relevance!==on.relevance)return on.relevance-$t.relevance;if($t.language&&on.language){if(Cn($t.language).supersetOf===on.language)return 1;if(Cn(on.language).supersetOf===$t.language)return-1}return 0}),[Jt,_n]=bt,Ri=Jt;return Ri.secondBest=_n,Ri}function Mm(ee,xe,De){const Je=xe&&q[xe]||De;ee.classList.add("hljs"),ee.classList.add(`language-${Je}`)}function ns(ee){let xe=null;const De=vt(ee);if(Te(De))return;if(Mi("before:highlightElement",{el:ee,language:De}),ee.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",ee);return}if(ee.children.length>0&&(de.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(ee)),de.throwUnescapedHTML))throw new rn("One of your code blocks includes unescaped HTML.",ee.innerHTML);xe=ee;const Je=xe.textContent,bt=De?ht(Je,{language:De,ignoreIllegals:!0}):ts(Je);ee.innerHTML=bt.value,ee.dataset.highlighted="yes",Mm(ee,De,bt.language),ee.result={language:bt.language,re:bt.relevance,relevance:bt.relevance},bt.secondBest&&(ee.secondBest={language:bt.secondBest.language,relevance:bt.secondBest.relevance}),Mi("after:highlightElement",{el:ee,result:bt,text:Je})}function Rm(ee){de=rr(de,ee)}const Im=()=>{Ai(),V("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Om(){Ai(),V("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let cc=!1;function Ai(){function ee(){Ai()}if(document.readyState==="loading"){cc||window.addEventListener("DOMContentLoaded",ee,!1),cc=!0;return}document.querySelectorAll(de.cssSelector).forEach(ns)}function Pm(ee,xe){let De=null;try{De=xe(S)}catch(Je){if(mt("Language definition for '{}' could not be registered.".replace("{}",ee)),Qe)mt(Je);else throw Je;De=ge}De.name||(De.name=ee),F[ee]=De,De.rawDefinition=xe.bind(null,S),De.aliases&&uc(De.aliases,{languageName:ee})}function Dm(ee){delete F[ee];for(const xe of Object.keys(q))q[xe]===ee&&delete q[xe]}function Lm(){return Object.keys(F)}function Cn(ee){return ee=(ee||"").toLowerCase(),F[ee]||F[q[ee]]}function uc(ee,{languageName:xe}){typeof ee=="string"&&(ee=[ee]),ee.forEach(De=>{q[De.toLowerCase()]=xe})}function dc(ee){const xe=Cn(ee);return xe&&!xe.disableAutodetect}function Fm(ee){ee["before:highlightBlock"]&&!ee["before:highlightElement"]&&(ee["before:highlightElement"]=xe=>{ee["before:highlightBlock"](Object.assign({block:xe.el},xe))}),ee["after:highlightBlock"]&&!ee["after:highlightElement"]&&(ee["after:highlightElement"]=xe=>{ee["after:highlightBlock"](Object.assign({block:xe.el},xe))})}function jm(ee){Fm(ee),ce.push(ee)}function Bm(ee){const xe=ce.indexOf(ee);xe!==-1&&ce.splice(xe,1)}function Mi(ee,xe){const De=ee;ce.forEach(function(Je){Je[De]&&Je[De](xe)})}function $m(ee){return V("10.7.0","highlightBlock will be removed entirely in v12.0"),V("10.7.0","Please use highlightElement now."),ns(ee)}Object.assign(S,{highlight:ht,highlightAuto:ts,highlightAll:Ai,highlightElement:ns,highlightBlock:$m,configure:Rm,initHighlighting:Im,initHighlightingOnLoad:Om,registerLanguage:Pm,unregisterLanguage:Dm,listLanguages:Lm,getLanguage:Cn,registerAliases:uc,autoDetection:dc,inherit:rr,addPlugin:jm,removePlugin:Bm}),S.debugMode=function(){Qe=!1},S.safeMode=function(){Qe=!0},S.versionString=wt,S.regex={concat:g,lookahead:f,either:y,optional:m,anyNumberOfTimes:p};for(const ee in H)typeof H[ee]=="object"&&e(H[ee]);return Object.assign(S,H),S},pn=Bn({});return pn.newInstance=()=>Bn({}),zs=pn,pn.HighlightJS=pn,pn.default=pn,zs}var VN=$N();const zN=Lo(VN),jd={},UN="hljs-";function HN(e){const t=zN.newInstance();return e&&o(e),{highlight:n,highlightAuto:r,listLanguages:i,register:o,registerAlias:s,registered:a};function n(l,c,u){const d=u||jd,f=typeof d.prefix=="string"?d.prefix:UN;if(!t.getLanguage(l))throw new Error("Unknown language: `"+l+"` is not registered");t.configure({__emitter:WN,classPrefix:f});const p=t.highlight(c,{ignoreIllegals:!0,language:l});if(p.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:p.errorRaised});const m=p._emitter.root,g=m.data;return g.language=p.language,g.relevance=p.relevance,m}function r(l,c){const d=(c||jd).subset||i();let f=-1,p=0,m;for(;++f<d.length;){const g=d[f];if(!t.getLanguage(g))continue;const v=n(g,l,c);v.data&&v.data.relevance!==void 0&&v.data.relevance>p&&(p=v.data.relevance,m=v)}return m||{type:"root",children:[],data:{language:void 0,relevance:p}}}function i(){return t.listLanguages()}function o(l,c){if(typeof l=="string")t.registerLanguage(l,c);else{let u;for(u in l)Object.hasOwn(l,u)&&t.registerLanguage(u,l[u])}}function s(l,c){if(typeof l=="string")t.registerAliases(typeof c=="string"?c:[...c],{languageName:l});else{let u;for(u in l)if(Object.hasOwn(l,u)){const d=l[u];t.registerAliases(typeof d=="string"?d:[...d],{languageName:u})}}}function a(l){return!!t.getLanguage(l)}}class WN{constructor(t){this.options=t,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(t){if(t==="")return;const n=this.stack[this.stack.length-1],r=n.children[n.children.length-1];r&&r.type==="text"?r.value+=t:n.children.push({type:"text",value:t})}startScope(t){this.openNode(String(t))}endScope(){this.closeNode()}__addSublanguage(t,n){const r=this.stack[this.stack.length-1],i=t.root.children;n?r.children.push({type:"element",tagName:"span",properties:{className:[n]},children:i}):r.children.push(...i)}openNode(t){const n=this,r=t.split(".").map(function(s,a){return a?s+"_".repeat(a):n.options.classPrefix+s}),i=this.stack[this.stack.length-1],o={type:"element",tagName:"span",properties:{className:r},children:[]};i.children.push(o),this.stack.push(o)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const GN={};function KN(e){const t=e||GN,n=t.aliases,r=t.detect||!1,i=t.languages||BN,o=t.plainText,s=t.prefix,a=t.subset;let l="hljs";const c=HN(i);if(n&&c.registerAlias(n),s){const u=s.indexOf("-");l=u===-1?s:s.slice(0,u)}return function(u,d){Vo(u,"element",function(f,p,m){if(f.tagName!=="code"||!m||m.type!=="element"||m.tagName!=="pre")return;const g=qN(f);if(g===!1||!g&&!r||g&&o&&o.includes(g))return;Array.isArray(f.properties.className)||(f.properties.className=[]),f.properties.className.includes(l)||f.properties.className.unshift(l);const v=fT(f,{whitespace:"pre"});let y;try{y=g?c.highlight(g,v,{prefix:s}):c.highlightAuto(v,{prefix:s,subset:a})}catch(E){const w=E;if(g&&/Unknown language/.test(w.message)){d.message("Cannot highlight as `"+g+"`, it’s not registered",{ancestors:[m,f],cause:w,place:f.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw w}!g&&y.data&&y.data.language&&f.properties.className.push("language-"+y.data.language),y.children.length>0&&(f.children=y.children)})}}function qN(e){const t=e.properties.className;let n=-1;if(!Array.isArray(t))return;let r;for(;++n<t.length;){const i=String(t[n]);if(i==="no-highlight"||i==="nohighlight")return!1;!r&&i.slice(0,5)==="lang-"&&(r=i.slice(5)),!r&&i.slice(0,9)==="language-"&&(r=i.slice(9))}return r}function YN({message:e,theme:t,isOwn:n,isStreaming:r=!1}){var c,u;const i=Pt(t),o=e.sender.name?e.sender.name.split(" ").map(d=>d[0]).join("").toUpperCase().slice(0,2):"U",s=D.useMemo(()=>{var d,f;return((d=e==null?void 0:e.metadata)==null?void 0:d.format)==="markdown"||((f=e==null?void 0:e.metadata)==null?void 0:f.markdown)===!0||Pw(e.content)},[e.content,e.metadata]),a=D.useMemo(()=>s?Dw(e.content):e.content,[e.content,s]),l=D.useMemo(()=>Iw(t),[t]);return h.jsx("div",{className:`flex w-full ${n?"justify-end":"justify-start"} mb-4 px-3`,children:h.jsxs("div",{className:`relative group ${n?"flex-row-reverse":"flex-row"} flex items-end gap-3 w-full min-w-0`,children:[h.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${n?t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to-gray-700":t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to_gray-700"}`,children:o}),h.jsxs("div",{className:`
56
+ relative px-3 py-2 rounded-2xl break-words shadow-lg backdrop-blur-sm message-bubble message-hover min-w-0 max-w-[85%] overflow-hidden
57
57
  ${n?`${i.chatMessage.own} rounded-br-md`:`${i.chatMessage.other} rounded-bl-md`}
58
58
  ${r?"shimmer":""}
59
59
  transition-all duration-200 group-hover:scale-[1.02]
60
- `,style:{wordWrap:"break-word",overflowWrap:"anywhere",wordBreak:"break-word",hyphens:"auto"},children:[h.jsx("div",{className:"leading-relaxed text-sm overflow-hidden",children:((c=e.metadata)==null?void 0:c.type)==="attachment"?h.jsx(Rw,{message:e,theme:t,isOwn:n}):r&&!n?h.jsx(Nw,{text:e.content,isComplete:!r,isRealTimeStream:((u=e.metadata)==null?void 0:u.streaming)===!0,speed:35}):s?h.jsx(GC,{remarkPlugins:[oT],rehypePlugins:[KN],components:l,children:a}):h.jsx("span",{className:"whitespace-pre-wrap break-words",children:Ow(e.content,t)})}),h.jsx("div",{className:"text-xs",children:e.timestamp.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]})})}function ZN({theme:e}){const t=Pt(e);return h.jsx("div",{className:"flex w-full justify-start mb-4 px-1",children:h.jsxs("div",{className:"relative group flex-row flex items-end gap-3 max-w-[85%] min-w-0",children:[h.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${e==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to-gray-700"}`,children:"AI"}),h.jsx("div",{className:`
60
+ `,style:{wordWrap:"break-word",overflowWrap:"anywhere",wordBreak:"break-word",hyphens:"auto"},children:[h.jsx("div",{className:"leading-relaxed text-sm overflow-hidden min-w-0",children:((c=e.metadata)==null?void 0:c.type)==="attachment"?h.jsx(Rw,{message:e,theme:t,isOwn:n}):r&&!n?h.jsx(Nw,{text:e.content,isComplete:!r,isRealTimeStream:((u=e.metadata)==null?void 0:u.streaming)===!0,speed:35}):s?h.jsx(GC,{remarkPlugins:[oT],rehypePlugins:[KN],components:l,children:a}):h.jsx("span",{className:"whitespace-pre-wrap break-words",style:{overflowWrap:"anywhere",wordBreak:"break-word"},children:Ow(e.content,t)})}),h.jsx("div",{className:"text-xs",children:e.timestamp.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]})})}function ZN({theme:e}){const t=Pt(e);return h.jsx("div",{className:"flex w-full justify-start mb-4 px-1",children:h.jsxs("div",{className:"relative group flex-row flex items-end gap-3 max-w-[85%] min-w-0",children:[h.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${e==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to-gray-700"}`,children:"AI"}),h.jsx("div",{className:`
61
61
  relative px-4 py-3 rounded-2xl rounded-bl-md shadow-lg backdrop-blur-sm
62
62
  ${t.chatMessage.other}
63
63
  transition-all duration-200
64
- `,children:h.jsx("div",{className:"flex items-center gap-2",children:h.jsxs("div",{className:"flex items-center space-x-1",children:[h.jsx("span",{className:`text-sm ${e==="light"?"text-gray-600":"text-gray-400"}`,children:"Thinking"}),[0,1,2].map(n=>h.jsx(Me.div,{className:`w-1 h-1 rounded-full ${e==="light"?"bg-gray-400":"bg-gray-500"}`,animate:{y:[0,-3,0],opacity:[.4,1,.4],scale:[.8,1,.8]},transition:{duration:.8,repeat:1/0,repeatType:"mirror",delay:n*.2,ease:"easeInOut"}},n))]})})})]})})}function XN(){return h.jsxs("div",{className:"max-w-xs mx-auto bg-green-50 border border-green-200 rounded-lg shadow p-3 flex flex-col items-center",children:[h.jsx("div",{className:"text-2xl mb-2",children:"✅"}),h.jsx("div",{className:"text-green-700 font-semibold text-sm mb-1",children:"Success!"}),h.jsx("div",{className:"text-xs text-gray-600 text-center mb-1",children:"Your action was completed successfully."})]})}function QN(){return h.jsxs("div",{className:"flex items-center gap-2 text-orange-600 dark:text-orange-400",children:[h.jsx("span",{className:"text-lg",children:"⏰"}),h.jsx("span",{className:"text-sm font-medium",children:"Request timed out"})]})}function JN({toolData:e}){return h.jsxs("div",{className:"flex items-center text-blue-600 dark:text-blue-400",children:[h.jsx("span",{className:"text-lg",children:"🛠️"}),h.jsx("span",{className:"text-sm font-medium",children:"Tool executed"})]})}function eA(e){const[t,n]=D.useState(()=>e&&typeof e.getChatMessages=="function"?e.getChatMessages():[]),[r,i]=D.useState(()=>{const c=e&&typeof e.getCurrentSession=="function"&&!!e.getCurrentSession(),u=e&&typeof e.getChatMessages=="function"&&e.getChatMessages().length>0;return!c&&!u}),[o,s]=D.useState(new Set),[a,l]=D.useState([]);return{messages:t,setMessages:n,isLoading:r,setIsLoading:i,streamingMessages:o,setStreamingMessages:s,pendingMessages:a,setPendingMessages:l}}function tA(e){const[t,n]=D.useState("idle"),[r,i]=D.useState([]);return D.useEffect(()=>{(()=>{const u=e.getAgentState();n(u||"idle")})();const s=()=>n("thinking"),a=()=>n("speaking"),l=()=>n("idle"),c=u=>{console.log("Tool executed:",u),i(d=>[...d,u]),n("tool_execution"),setTimeout(()=>n("idle"),1e3)};return e.on("agent.thinking",s),e.on("agent.speaking",a),e.on("agent.idle",l),e.on("tool.executed",c),()=>{e.off("agent.thinking",s),e.off("agent.speaking",a),e.off("agent.idle",l),e.off("tool.executed",c)}},[e]),{agentState:t,setAgentState:n,toolExecutions:r,setToolExecutions:i}}function nA(e){const[t,n]=D.useState(()=>e.getCurrentInteraction());return D.useEffect(()=>{const r=e.getCurrentInteraction();r?(console.log("ChatView: Restoring interaction state on mount/client change:",r.methodName),n(r)):n(null)},[e]),{currentInteraction:t,setCurrentInteraction:n}}function rA(){const e=D.useRef(null),[t,n]=D.useState(!0),r=D.useCallback((a=!1)=>{if(e.current){const l=e.current;a?l.scrollTop=l.scrollHeight:l.scrollTo({top:l.scrollHeight,behavior:"smooth"})}},[]),i=D.useCallback(()=>{if(e.current){const{scrollTop:a,scrollHeight:l,clientHeight:c}=e.current;return l-a-c<100}return!0},[]),o=D.useCallback(()=>{const a=i();n(a)},[i]),s=D.useCallback((a=!1)=>{t&&r(a)},[t,r]);return{messagesContainerRef:e,shouldAutoScroll:t,setShouldAutoScroll:n,scrollToBottom:r,smartScrollToBottom:s,handleScroll:o}}function iA(){const[e,t]=D.useState(!1),[n,r]=D.useState(!1);return D.useEffect(()=>{const i=()=>{const o=navigator.userAgent.toLowerCase(),a=["android","iphone","ipad","mobile","tablet"].some(d=>o.includes(d)),l="ontouchstart"in window||navigator.maxTouchPoints>0,c=window.innerWidth<=768,u=a||l&&c;t(u),u&&r(!0)};return i(),window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[]),{isMobile:e,isFullscreen:n,setIsFullscreen:r}}function Gl({client:e,theme:t="vox",onBack:n,disabled:r=!1,displayType:i="widget",onEndChat:o,showTimer:s=!0}){const a=D.useMemo(()=>{const P=e.getCurrentAgentInfo();return Oo(P)},[e]),{suggestedReplyEnabled:l,attachmentsEnabled:c}=D.useMemo(()=>cp(a),[a]),u=D.useMemo(()=>Po(a),[a]),{messages:d,setMessages:f,setIsLoading:p,streamingMessages:m,setStreamingMessages:g,pendingMessages:v,setPendingMessages:y}=eA(e),{agentState:E,toolExecutions:w}=tA(e),{currentInteraction:_,setCurrentInteraction:C}=nA(e),{messagesContainerRef:T,shouldAutoScroll:R,setShouldAutoScroll:A,smartScrollToBottom:I,handleScroll:b,scrollToBottom:M}=rA(),{isMobile:O,isFullscreen:L,setIsFullscreen:j}=iA(),[W,oe]=D.useState(new Set),[te,B]=D.useState([]),$=Pt(t);D.useEffect(()=>(L&&O&&(document.body.style.overflow="hidden",document.body.style.position="fixed",document.body.style.width="100%",document.body.style.height="100%",document.documentElement.requestFullscreen&&document.documentElement.requestFullscreen().catch(console.log)),()=>{L&&O&&(document.body.style.overflow="unset",document.body.style.position="unset",document.body.style.width="unset",document.body.style.height="unset",document.fullscreenElement&&document.exitFullscreen().catch(console.log))}),[L,O]);const x=e.getCurrentAgentInfo(),z=(x==null?void 0:x.name)||"AI Assistant",G=z.split(" ").map(P=>P[0]).join("").toUpperCase().slice(0,2),k=D.useCallback(P=>{const ne={id:`local_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,content:P,timestamp:new Date,sender:{id:"participant",name:"You",type:"participant"},metadata:{isLocal:!0}};f(Se=>[...Se,ne])},[f]);D.useEffect(()=>{if(R&&d.length>0){I(!0);const P=setTimeout(()=>{R&&I(!1)},10);return()=>clearTimeout(P)}},[d.length,I,R]),D.useEffect(()=>{if(_&&R){I(!0);const P=setTimeout(()=>{R&&I(!1)},50);return()=>clearTimeout(P)}},[_,I,R]),D.useEffect(()=>{w.forEach(P=>{const ne=`${P.created_at}-${P.type}`;W.has(ne)||(console.log("Processing tool execution:",ne),oe(Se=>new Set(Se).add(ne)),setTimeout(()=>{const Se={id:`tool_${ne}`,content:"",timestamp:new Date,sender:{id:"system",name:"System",type:"agent"},metadata:{type:"toolExecution",view:h.jsx(JN,{toolData:P})}};console.log("Adding tool message with timestamp:",Se.timestamp),f(pe=>{if(pe.some(ke=>ke.id===Se.id))return console.log("Tool message already exists, skipping"),pe;console.log("Adding tool message to end of",pe.length,"messages");const be=[...pe,Se];return console.log("New messages array length:",be.length),be}),setTimeout(()=>{R&&I(!0)},0)},100))})},[w,W,f,R,I]),D.useEffect(()=>{const P=pe=>{if(console.log("ChatView: Received message:",pe),p(!1),_&&pe.sender.type==="agent"){console.log("ChatView: Queuing agent message due to active interaction:",_.methodName),y(se=>[...se,pe]);return}f(se=>{var ke;if(se.some(ye=>ye.id===pe.id))return console.log("ChatView: Message already exists, skipping:",pe.id),se;if(console.log("ChatView: Adding new message:",pe.id),pe.sender.type==="agent"&&(g(ye=>new Set(ye).add(pe.id)),!((ke=pe.metadata)!=null&&ke.streaming))){const ye=pe.content.length*35+1e3;setTimeout(()=>{g(ct=>{const xt=new Set(ct);return xt.delete(pe.id),xt})},ye)}return[...se,pe]}),setTimeout(()=>{R&&I(!0)},0)},ne=pe=>{var se;if(console.log("ChatView: Updated message:",pe),_&&pe.sender.type==="agent"){console.log("ChatView: Queuing agent message update due to active interaction:",_.methodName),y(be=>{const ke=be.findIndex(ye=>ye.id===pe.id);if(ke>=0){const ye=[...be];return ye[ke]=pe,ye}else return[...be,pe]});return}f(be=>be.map(ke=>ke.id===pe.id?{...pe}:ke)),setTimeout(()=>{R&&I(!0)},0),(se=pe.metadata)!=null&&se.streaming||g(be=>{const ke=new Set(be);return ke.delete(pe.id),ke})},Se=pe=>{console.log("ChatView: Sent message:",pe),p(!1),f(se=>se.some(ke=>ke.id===pe.id)?(console.log("ChatView: Sent message already exists, skipping:",pe.id),se):(console.log("ChatView: Adding sent message:",pe.id),[...se,pe])),setTimeout(()=>{R&&I(!0)},0)};return e.on("chat.message.received",P),e.on("chat.message.updated",ne),e.on("chat.message.sent",Se),()=>{e.off("chat.message.received",P),e.off("chat.message.updated",ne),e.off("chat.message.sent",Se)}},[e,_,R,I,p,f,g,y]),D.useEffect(()=>{const P=se=>{console.log("ChatView: RPC interaction started:",se);const be=e.getCurrentInteraction();console.log("ChatView: Got interaction from client:",be==null?void 0:be.methodName),C(be),R&&(I(!0),setTimeout(()=>{R&&I(!1)},100))},ne=se=>{if(console.log("ChatView: RPC interaction completed:",se),C(null),v.length>0&&(console.log("ChatView: Processing",v.length,"queued messages"),f(be=>{const ke=[...be];return v.forEach(ye=>{var xt;if(!ke.some(Ke=>Ke.id===ye.id)&&(console.log("ChatView: Adding queued message:",ye.id),ke.push(ye),ye.sender.type==="agent"&&(g(Ke=>new Set(Ke).add(ye.id)),!((xt=ye.metadata)!=null&&xt.streaming)))){const Ke=ye.content.length*35+1e3;setTimeout(()=>{g(ue=>{const mt=new Set(ue);return mt.delete(ye.id),mt})},Ke)}}),ke}),y([]),setTimeout(()=>{R&&I(!0)},0)),se&&se.response&&se.response.success){let be=null;se.response.successView?be=se.response.successView:se.successView&&(be=se.successView),f(ke=>{const ye=[...ke].reverse().findIndex(ue=>ue.sender.type==="participant");let ct=ke.length;ye!==-1&&(ct=ke.length-ye);const xt={id:`success_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,content:"",timestamp:new Date,sender:{id:"participant",name:"You",type:"participant"},metadata:{type:"successView",view:be||h.jsx(XN,{})}};e&&typeof e.addChatMessage=="function"&&e.addChatMessage(xt);const Ke=[...ke];return Ke.splice(ct,0,xt),Ke})}},Se=async se=>{_&&(console.log("ChatView: Dismissing active interaction due to timeout"),e.dismissCurrentInteraction()),C(null),v.length>0&&(console.log("ChatView: Processing",v.length,"queued messages after timeout"),f(ke=>{const ye=[...ke];return v.forEach(ct=>{var Ke;if(!ye.some(ue=>ue.id===ct.id)&&(ye.push(ct),ct.sender.type==="agent"&&(g(ue=>new Set(ue).add(ct.id)),!((Ke=ct.metadata)!=null&&Ke.streaming)))){const ue=ct.content.length*35+1e3;setTimeout(()=>{g(mt=>{const qe=new Set(mt);return qe.delete(ct.id),qe})},ue)}}),ye}),y([]),setTimeout(()=>{R&&I(!0)},0));let be=null;se&&se.response&&se.response.timeoutView?be=se.response.timeoutView:se&&se.timeoutView&&(be=se.timeoutView),f(ke=>{const ye={id:`timeout_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,content:"",timestamp:new Date,sender:{id:"agent",name:z,type:"agent"},metadata:{type:"timeoutView",view:be||h.jsx(QN,{})}};return e&&typeof e.addChatMessage=="function"&&e.addChatMessage(ye),[...ke,ye]}),setTimeout(()=>{e.getCurrentInteraction()||C(null)},100)},pe=async se=>{console.log("ChatView: RPC interaction dismissed:",se),console.log("ChatView: Current interaction before dismiss:",_==null?void 0:_.methodName),C(null),v.length>0&&(console.log("ChatView: Processing",v.length,"queued messages after dismissal"),f(be=>{const ke=[...be];return v.forEach(ye=>{var xt;if(!ke.some(Ke=>Ke.id===ye.id)&&(ke.push(ye),ye.sender.type==="agent"&&(g(Ke=>new Set(Ke).add(ye.id)),!((xt=ye.metadata)!=null&&xt.streaming)))){const Ke=ye.content.length*35+1e3;setTimeout(()=>{g(ue=>{const mt=new Set(ue);return mt.delete(ye.id),mt})},Ke)}}),ke}),y([]),setTimeout(()=>{R&&I(!0)},0)),setTimeout(()=>{const be=e.getCurrentInteraction();console.log("ChatView: Latest interaction from client after dismiss:",(be==null?void 0:be.methodName)||"null"),be===null&&C(null)},50),console.log("ChatView: Set currentInteraction to null after dismiss")};return e.on("rpc.interaction.started",P),e.on("rpc.interaction.completed",ne),e.on("rpc.interaction.timeout",Se),e.on("rpc.interaction.dismissed",pe),()=>{e.off("rpc.interaction.started",P),e.off("rpc.interaction.completed",ne),e.off("rpc.interaction.timeout",Se),e.off("rpc.interaction.dismissed",pe)}},[e,R,I,z,v,_,C,f,g,y]),D.useEffect(()=>{console.log("ChatView: Display type changed to:",i,"Current interaction:",(_==null?void 0:_.methodName)||"none")},[i,_]);const K=async P=>{try{_&&(console.log("ChatView: Dismissing active interaction due to user message send"),e.dismissCurrentInteraction(),C(null)),await e.sendChatMessage(P)}catch(ne){console.error("Failed to send message:",ne)}},Z=async P=>{try{_&&(console.log("ChatView: Dismissing active interaction due to user attachment send"),e.dismissCurrentInteraction(),C(null)),await e.sendAttachments(P),console.log("Attachments sent successfully:",P.map(ne=>ne.name))}catch(ne){console.error("Failed to send attachments:",ne)}};D.useEffect(()=>{const P=ne=>{B(Array.isArray(ne)?ne:["tes","hello how are you","algebra make me learn that ","what is the meaning of life"])};return e.on("suggested.response",P),()=>{e.off("suggested.response",P)}},[e]);const X=L&&O?"fullscreen":i,ie=X==="fullscreen"?L&&O?`fixed inset-0 z-[9999] flex flex-col h-[100svh] w-screen min-h-0 ${$.main}`:"flex flex-col h-full w-full max-w-none":"flex flex-col h-full w-full backdrop-blur-sm max-h-full overflow-hidden contain-layout",Y=X==="fullscreen"?L&&O?`flex items-center w-full justify-between px-3 h-11 ${$.chatHeader.container} border-b`:`flex items-center w-full justify-between px-5 h-12 border-b ${$.chatHeader.container}`:`flex items-center w-full justify-between px-4 h-12 border-b ${$.chatHeader.container}`,re=X==="fullscreen"?L&&O?"flex-1 overflow-y-auto overflow-x-hidden scrollbar-hide p-4 w-full max-w-none chat-scrollable min-h-0":"flex-1 overflow-y-auto overflow-x-hidden scrollbar-hide p-6 w-full max-w-none chat-scrollable min-h-0":"flex-1 overflow-y-auto overflow-x-hidden scrollbar-hide w-full p-4 chat-scrollable min-h-0",H="flex-shrink-0 !w-full",Ee=()=>{j(!1),n&&n()};return h.jsxs("div",{className:`${ie} relative`,children:[h.jsx("div",{className:Y,children:h.jsxs("div",{className:"flex items-center justify-between w-full",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("h3",{className:`!font-semibold !text-sm pl-3 leading-tight ${L&&O?"":$.text.primary}`,children:"Transcription"}),E==="idle"&&h.jsx("span",{className:`px-2 py-1 text-xs rounded-full ${t==="light"?"bg-gray-100 text-gray-600":"bg-gray-700 text-gray-400"}`,children:"Idle"})]}),s&&u&&h.jsx("div",{className:"flex-1 flex justify-center",children:h.jsx(hi,{duration:u,theme:t,onTimerExpired:()=>{console.log("Session timer expired")},showIcon:!1,className:"text-xs"})}),n&&h.jsx(Me.button,{onClick:Ee,whileHover:{scale:1.05},whileTap:{scale:.95},className:`p-1.5 rounded-md transition-all duration-200 ${L&&O?"hover:bg-white/10 text-white/70 hover:text-white":t==="light"?"hover:bg-gray-100 text-gray-400 hover:text-gray-600":"hover:bg-gray-700/40 text-gray-400 hover:text-gray-200"}`,"aria-label":"Close chat",children:h.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),h.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]})}),h.jsx("div",{ref:T,className:`${re}`,style:{scrollBehavior:"smooth",scrollbarWidth:"none",contain:"layout style paint",overscrollBehavior:"contain"},onScroll:b,children:d.length===0?h.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center py-12",children:[h.jsx(Me.div,{animate:{scale:[1,1.05,1]},transition:{duration:2,repeat:1/0,ease:"easeInOut"},className:"w-16 h-16 rounded-full bg-gradient-to-br from-blue-500 to-purple-600 flex items-center justify-center text-white font-bold text-xl mb-6 shadow-xl",children:G}),h.jsxs("p",{className:`text-base mb-2 ${L&&O?"text-white":$.text.secondary}`,children:[z," is joining..."]}),h.jsx("p",{className:`text-xs ${L&&O?"text-gray-300":$.text.muted}`,children:"Your conversation will begin shortly"})]}):h.jsx("div",{className:"w-full space-y-3 py-4 px-2",children:h.jsxs("div",{className:"space-y-3",children:[d.map((P,ne)=>{var Se,pe,se,be;return h.jsx("div",{children:((Se=P.metadata)==null?void 0:Se.type)==="successView"?h.jsx("div",{className:"flex w-full justify-end mb-4 px-1",children:h.jsxs("div",{className:"relative group flex-row-reverse flex items-end gap-3 max-w-[85%] min-w-0",children:[h.jsx(Me.div,{initial:{scale:0},animate:{scale:1},transition:{delay:.1},className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to-gray-700"}`,children:G}),h.jsxs("div",{className:`flex h-full flex-col justify-between border px-3 py-2 rounded-2xl shadow-lg backdrop-bl-sm message-bubble rounded-br-md message-hover border-gray-200 dark:border-gray-700 ${$.chatMessage.own} min-w-0 max-w-full break-words overflow-hidden`,style:{overflowWrap:"anywhere",wordBreak:"break-word",hyphens:"auto"},children:[P.metadata.view,h.jsx("div",{className:`text-xs ${$.text.muted} mt-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200`,children:P.timestamp.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]})}):((pe=P.metadata)==null?void 0:pe.type)==="timeoutView"?h.jsx("div",{className:"flex w-full justify-start mb-4 px-1",children:h.jsxs("div",{className:"relative group flex-row flex items-end gap-3 max-w-[85%] min-w-0",children:[h.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to_gray-700"}`,children:G}),h.jsxs("div",{className:`flex h-full flex-col justify-between border px-3 py-2 rounded-2xl shadow-lg backdrop-bl-sm message-bubble rounded-bl-md message-hover border-gray-200 dark:border-gray-700 ${$.chatMessage.other} min-w-0 max-w-full break-words overflow-hidden`,style:{overflowWrap:"anywhere",wordBreak:"break-word",hyphens:"auto"},children:[P.metadata.view,h.jsx("div",{className:`text-xs ${$.text.muted} mt-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200`,children:P.timestamp.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]})}):((se=P.metadata)==null?void 0:se.type)==="visualization"?h.jsx("div",{className:"flex w-full justify-start mb-4 px-1",children:h.jsxs("div",{className:"relative group flex-row flex items-end gap-3 max-w-[85%] min-w-0",children:[h.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to_gray-700"}`,children:G}),h.jsxs("div",{className:`flex h-full flex-col justify-between border px-3 py-2 rounded-2xl shadow-lg backdrop-bl-sm message-bubble rounded-bl-md message-hover border-gray-200 dark:border-gray-700 ${$.chatMessage.other} min-w-0 max-w-full break-words overflow-hidden`,style:{overflowWrap:"anywhere",wordBreak:"break-word",hyphens:"auto"},children:[P.metadata.view,h.jsx("div",{className:`text-xs ${$.text.muted} mt-1 opacity-70 transition-opacity duration-200`,children:P.timestamp.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]})}):((be=P.metadata)==null?void 0:be.type)==="toolExecution"?h.jsx("div",{className:"flex w-full justify-start mb-4 px-1",children:h.jsxs("div",{className:"relative group flex-row flex items-end gap-3 max-w-[85%] min-w-0",children:[h.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to_gray-700"}`,children:G}),h.jsxs("div",{className:`flex h-full flex-col justify-between border px-3 py-2 rounded-2xl shadow-lg backdrop-bl-sm message-bubble rounded-bl-md message-hover border-gray-200 dark:border-gray-700 ${$.chatMessage.other} min-w-0 max-w-full break-words overflow-hidden`,style:{overflowWrap:"anywhere",wordBreak:"break-word",hyphens:"auto"},children:[P.metadata.view,h.jsx("div",{className:`text-xs ${$.text.muted} mt-1 opacity-70 transition-opacity duration-200`,children:P.timestamp.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]})}):h.jsx(YN,{message:P,theme:t,isOwn:P.sender.type==="participant",isStreaming:m.has(P.id)})},P.id)}),E==="thinking"&&!_&&h.jsx(Me.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.3},children:h.jsx(ZN,{theme:t})}),_&&_.presentationMode==="embedded"&&h.jsxs("div",{className:"relative group flex-row flex items-end gap-3 max-w-[85%] min-w-0",children:[h.jsx(Me.div,{initial:{scale:0},animate:{scale:1},transition:{delay:.1},className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to_gray-700"}`,children:G}),h.jsxs("div",{className:`flex h-full flex-col justify-between border px-3 py-2 rounded-2xl shadow-lg backdrop-bl-sm message-bubble rounded-bl-md message-hover border-gray-200 dark:border-gray-700 ${$.chatMessage.other} min-w-0 max-w-full break-words overflow-hidden`,style:{overflowWrap:"anywhere",wordBreak:"break-word",hyphens:"auto"},children:[h.jsx(fi,{interaction:_,theme:t,onDismiss:()=>e.dismissCurrentInteraction(),client:e,addLocalMessage:k},_.methodName),h.jsx(Me.div,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.2},className:`text-xs ${$.text.muted} mt-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200`,children:new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]})]})})}),!R&&h.jsx(Me.button,{initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.8},onClick:()=>{A(!0),M(!1)},className:`absolute right-6 bottom-20 z-10 p-3 rounded-full shadow-lg backdrop-blur-sm border transition-all duration-200 hover:scale-105 ${t==="light"?"bg-white/90 text-gray-600 border-gray-200 hover:bg-white hover:text-gray-800":"bg-gray-800/90 text-gray-300 border-gray-700 hover:bg-gray-700 hover:text-white"}`,"aria-label":"Scroll to bottom",children:h.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 14l-7 7m0 0l-7-7m7 7V3"})})}),l&&te.length>0&&h.jsx("div",{className:"w-full flex overflow-x-auto gap-2 px-4 py-2 mb-1 scrollbar-hide flex-shrink-0",children:te.map((P,ne)=>{var Se;return h.jsx("button",{className:`whitespace-nowrap px-3 py-1 rounded-full border shadow-sm flex-shrink-0 transition-all duration-150 font-medium text-sm focus:outline-none focus:ring-2 focus:ring-blue-400/40
64
+ `,children:h.jsx("div",{className:"flex items-center gap-2",children:h.jsxs("div",{className:"flex items-center space-x-1",children:[h.jsx("span",{className:`text-sm ${e==="light"?"text-gray-600":"text-gray-400"}`,children:"Thinking"}),[0,1,2].map(n=>h.jsx(Me.div,{className:`w-1 h-1 rounded-full ${e==="light"?"bg-gray-400":"bg-gray-500"}`,animate:{y:[0,-3,0],opacity:[.4,1,.4],scale:[.8,1,.8]},transition:{duration:.8,repeat:1/0,repeatType:"mirror",delay:n*.2,ease:"easeInOut"}},n))]})})})]})})}function XN(){return h.jsxs("div",{className:"max-w-xs mx-auto bg-green-50 border border-green-200 rounded-lg shadow p-3 flex flex-col items-center",children:[h.jsx("div",{className:"text-2xl mb-2",children:"✅"}),h.jsx("div",{className:"text-green-700 font-semibold text-sm mb-1",children:"Success!"}),h.jsx("div",{className:"text-xs text-gray-600 text-center mb-1",children:"Your action was completed successfully."})]})}function QN(){return h.jsxs("div",{className:"flex items-center gap-2 text-orange-600 dark:text-orange-400",children:[h.jsx("span",{className:"text-lg",children:"⏰"}),h.jsx("span",{className:"text-sm font-medium",children:"Request timed out"})]})}function JN({toolData:e}){return h.jsxs("div",{className:"flex items-center text-blue-600 dark:text-blue-400",children:[h.jsx("span",{className:"text-lg",children:"🛠️"}),h.jsx("span",{className:"text-sm font-medium",children:"Tool executed"})]})}function eA(e){const[t,n]=D.useState(()=>e&&typeof e.getChatMessages=="function"?e.getChatMessages():[]),[r,i]=D.useState(()=>{const c=e&&typeof e.getCurrentSession=="function"&&!!e.getCurrentSession(),u=e&&typeof e.getChatMessages=="function"&&e.getChatMessages().length>0;return!c&&!u}),[o,s]=D.useState(new Set),[a,l]=D.useState([]);return{messages:t,setMessages:n,isLoading:r,setIsLoading:i,streamingMessages:o,setStreamingMessages:s,pendingMessages:a,setPendingMessages:l}}function tA(e){const[t,n]=D.useState("idle"),[r,i]=D.useState([]);return D.useEffect(()=>{(()=>{const u=e.getAgentState();n(u||"idle")})();const s=()=>n("thinking"),a=()=>n("speaking"),l=()=>n("idle"),c=u=>{console.log("Tool executed:",u),i(d=>[...d,u]),n("tool_execution"),setTimeout(()=>n("idle"),1e3)};return e.on("agent.thinking",s),e.on("agent.speaking",a),e.on("agent.idle",l),e.on("tool.executed",c),()=>{e.off("agent.thinking",s),e.off("agent.speaking",a),e.off("agent.idle",l),e.off("tool.executed",c)}},[e]),{agentState:t,setAgentState:n,toolExecutions:r,setToolExecutions:i}}function nA(e){const[t,n]=D.useState(()=>e.getCurrentInteraction());return D.useEffect(()=>{const r=e.getCurrentInteraction();r?(console.log("ChatView: Restoring interaction state on mount/client change:",r.methodName),n(r)):n(null)},[e]),{currentInteraction:t,setCurrentInteraction:n}}function rA(){const e=D.useRef(null),[t,n]=D.useState(!0),r=D.useCallback((a=!1)=>{if(e.current){const l=e.current;a?l.scrollTop=l.scrollHeight:l.scrollTo({top:l.scrollHeight,behavior:"smooth"})}},[]),i=D.useCallback(()=>{if(e.current){const{scrollTop:a,scrollHeight:l,clientHeight:c}=e.current;return l-a-c<100}return!0},[]),o=D.useCallback(()=>{const a=i();n(a)},[i]),s=D.useCallback((a=!1)=>{t&&r(a)},[t,r]);return{messagesContainerRef:e,shouldAutoScroll:t,setShouldAutoScroll:n,scrollToBottom:r,smartScrollToBottom:s,handleScroll:o}}function iA(){const[e,t]=D.useState(!1),[n,r]=D.useState(!1);return D.useEffect(()=>{const i=()=>{const o=navigator.userAgent.toLowerCase(),a=["android","iphone","ipad","mobile","tablet"].some(d=>o.includes(d)),l="ontouchstart"in window||navigator.maxTouchPoints>0,c=window.innerWidth<=768,u=a||l&&c;t(u),u&&r(!0)};return i(),window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[]),{isMobile:e,isFullscreen:n,setIsFullscreen:r}}function Gl({client:e,theme:t="vox",onBack:n,disabled:r=!1,displayType:i="widget",onEndChat:o,showTimer:s=!0}){const a=D.useMemo(()=>{const P=e.getCurrentAgentInfo();return Oo(P)},[e]),{suggestedReplyEnabled:l,attachmentsEnabled:c}=D.useMemo(()=>cp(a),[a]),u=D.useMemo(()=>Po(a),[a]),{messages:d,setMessages:f,setIsLoading:p,streamingMessages:m,setStreamingMessages:g,pendingMessages:v,setPendingMessages:y}=eA(e),{agentState:E,toolExecutions:w}=tA(e),{currentInteraction:_,setCurrentInteraction:C}=nA(e),{messagesContainerRef:T,shouldAutoScroll:R,setShouldAutoScroll:A,smartScrollToBottom:I,handleScroll:b,scrollToBottom:M}=rA(),{isMobile:O,isFullscreen:L,setIsFullscreen:j}=iA(),[W,oe]=D.useState(new Set),[te,B]=D.useState([]),$=Pt(t);D.useEffect(()=>(L&&O&&(document.body.style.overflow="hidden",document.body.style.position="fixed",document.body.style.width="100%",document.body.style.height="100%",document.documentElement.requestFullscreen&&document.documentElement.requestFullscreen().catch(console.log)),()=>{L&&O&&(document.body.style.overflow="unset",document.body.style.position="unset",document.body.style.width="unset",document.body.style.height="unset",document.fullscreenElement&&document.exitFullscreen().catch(console.log))}),[L,O]);const x=e.getCurrentAgentInfo(),z=(x==null?void 0:x.name)||"AI Assistant",G=z.split(" ").map(P=>P[0]).join("").toUpperCase().slice(0,2),k=D.useCallback(P=>{const ne={id:`local_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,content:P,timestamp:new Date,sender:{id:"participant",name:"You",type:"participant"},metadata:{isLocal:!0}};f(Se=>[...Se,ne])},[f]);D.useEffect(()=>{if(R&&d.length>0){I(!0);const P=setTimeout(()=>{R&&I(!1)},10);return()=>clearTimeout(P)}},[d.length,I,R]),D.useEffect(()=>{if(_&&R){I(!0);const P=setTimeout(()=>{R&&I(!1)},50);return()=>clearTimeout(P)}},[_,I,R]),D.useEffect(()=>{w.forEach(P=>{const ne=`${P.created_at}-${P.type}`;W.has(ne)||(console.log("Processing tool execution:",ne),oe(Se=>new Set(Se).add(ne)),setTimeout(()=>{const Se={id:`tool_${ne}`,content:"",timestamp:new Date,sender:{id:"system",name:"System",type:"agent"},metadata:{type:"toolExecution",view:h.jsx(JN,{toolData:P})}};console.log("Adding tool message with timestamp:",Se.timestamp),f(pe=>{if(pe.some(ke=>ke.id===Se.id))return console.log("Tool message already exists, skipping"),pe;console.log("Adding tool message to end of",pe.length,"messages");const be=[...pe,Se];return console.log("New messages array length:",be.length),be}),setTimeout(()=>{R&&I(!0)},0)},100))})},[w,W,f,R,I]),D.useEffect(()=>{const P=pe=>{if(console.log("ChatView: Received message:",pe),p(!1),_&&pe.sender.type==="agent"){console.log("ChatView: Queuing agent message due to active interaction:",_.methodName),y(se=>[...se,pe]);return}f(se=>{var ke;if(se.some(ye=>ye.id===pe.id))return console.log("ChatView: Message already exists, skipping:",pe.id),se;if(console.log("ChatView: Adding new message:",pe.id),pe.sender.type==="agent"&&(g(ye=>new Set(ye).add(pe.id)),!((ke=pe.metadata)!=null&&ke.streaming))){const ye=pe.content.length*35+1e3;setTimeout(()=>{g(ct=>{const xt=new Set(ct);return xt.delete(pe.id),xt})},ye)}return[...se,pe]}),setTimeout(()=>{R&&I(!0)},0)},ne=pe=>{var se;if(console.log("ChatView: Updated message:",pe),_&&pe.sender.type==="agent"){console.log("ChatView: Queuing agent message update due to active interaction:",_.methodName),y(be=>{const ke=be.findIndex(ye=>ye.id===pe.id);if(ke>=0){const ye=[...be];return ye[ke]=pe,ye}else return[...be,pe]});return}f(be=>be.map(ke=>ke.id===pe.id?{...pe}:ke)),setTimeout(()=>{R&&I(!0)},0),(se=pe.metadata)!=null&&se.streaming||g(be=>{const ke=new Set(be);return ke.delete(pe.id),ke})},Se=pe=>{console.log("ChatView: Sent message:",pe),p(!1),f(se=>se.some(ke=>ke.id===pe.id)?(console.log("ChatView: Sent message already exists, skipping:",pe.id),se):(console.log("ChatView: Adding sent message:",pe.id),[...se,pe])),setTimeout(()=>{R&&I(!0)},0)};return e.on("chat.message.received",P),e.on("chat.message.updated",ne),e.on("chat.message.sent",Se),()=>{e.off("chat.message.received",P),e.off("chat.message.updated",ne),e.off("chat.message.sent",Se)}},[e,_,R,I,p,f,g,y]),D.useEffect(()=>{const P=se=>{console.log("ChatView: RPC interaction started:",se);const be=e.getCurrentInteraction();console.log("ChatView: Got interaction from client:",be==null?void 0:be.methodName),C(be),R&&(I(!0),setTimeout(()=>{R&&I(!1)},100))},ne=se=>{if(console.log("ChatView: RPC interaction completed:",se),C(null),v.length>0&&(console.log("ChatView: Processing",v.length,"queued messages"),f(be=>{const ke=[...be];return v.forEach(ye=>{var xt;if(!ke.some(Ke=>Ke.id===ye.id)&&(console.log("ChatView: Adding queued message:",ye.id),ke.push(ye),ye.sender.type==="agent"&&(g(Ke=>new Set(Ke).add(ye.id)),!((xt=ye.metadata)!=null&&xt.streaming)))){const Ke=ye.content.length*35+1e3;setTimeout(()=>{g(ue=>{const mt=new Set(ue);return mt.delete(ye.id),mt})},Ke)}}),ke}),y([]),setTimeout(()=>{R&&I(!0)},0)),se&&se.response&&se.response.success){let be=null;se.response.successView?be=se.response.successView:se.successView&&(be=se.successView),f(ke=>{const ye=[...ke].reverse().findIndex(ue=>ue.sender.type==="participant");let ct=ke.length;ye!==-1&&(ct=ke.length-ye);const xt={id:`success_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,content:"",timestamp:new Date,sender:{id:"participant",name:"You",type:"participant"},metadata:{type:"successView",view:be||h.jsx(XN,{})}};e&&typeof e.addChatMessage=="function"&&e.addChatMessage(xt);const Ke=[...ke];return Ke.splice(ct,0,xt),Ke})}},Se=async se=>{_&&(console.log("ChatView: Dismissing active interaction due to timeout"),e.dismissCurrentInteraction()),C(null),v.length>0&&(console.log("ChatView: Processing",v.length,"queued messages after timeout"),f(ke=>{const ye=[...ke];return v.forEach(ct=>{var Ke;if(!ye.some(ue=>ue.id===ct.id)&&(ye.push(ct),ct.sender.type==="agent"&&(g(ue=>new Set(ue).add(ct.id)),!((Ke=ct.metadata)!=null&&Ke.streaming)))){const ue=ct.content.length*35+1e3;setTimeout(()=>{g(mt=>{const qe=new Set(mt);return qe.delete(ct.id),qe})},ue)}}),ye}),y([]),setTimeout(()=>{R&&I(!0)},0));let be=null;se&&se.response&&se.response.timeoutView?be=se.response.timeoutView:se&&se.timeoutView&&(be=se.timeoutView),f(ke=>{const ye={id:`timeout_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,content:"",timestamp:new Date,sender:{id:"agent",name:z,type:"agent"},metadata:{type:"timeoutView",view:be||h.jsx(QN,{})}};return e&&typeof e.addChatMessage=="function"&&e.addChatMessage(ye),[...ke,ye]}),setTimeout(()=>{e.getCurrentInteraction()||C(null)},100)},pe=async se=>{console.log("ChatView: RPC interaction dismissed:",se),console.log("ChatView: Current interaction before dismiss:",_==null?void 0:_.methodName),C(null),v.length>0&&(console.log("ChatView: Processing",v.length,"queued messages after dismissal"),f(be=>{const ke=[...be];return v.forEach(ye=>{var xt;if(!ke.some(Ke=>Ke.id===ye.id)&&(ke.push(ye),ye.sender.type==="agent"&&(g(Ke=>new Set(Ke).add(ye.id)),!((xt=ye.metadata)!=null&&xt.streaming)))){const Ke=ye.content.length*35+1e3;setTimeout(()=>{g(ue=>{const mt=new Set(ue);return mt.delete(ye.id),mt})},Ke)}}),ke}),y([]),setTimeout(()=>{R&&I(!0)},0)),setTimeout(()=>{const be=e.getCurrentInteraction();console.log("ChatView: Latest interaction from client after dismiss:",(be==null?void 0:be.methodName)||"null"),be===null&&C(null)},50),console.log("ChatView: Set currentInteraction to null after dismiss")};return e.on("rpc.interaction.started",P),e.on("rpc.interaction.completed",ne),e.on("rpc.interaction.timeout",Se),e.on("rpc.interaction.dismissed",pe),()=>{e.off("rpc.interaction.started",P),e.off("rpc.interaction.completed",ne),e.off("rpc.interaction.timeout",Se),e.off("rpc.interaction.dismissed",pe)}},[e,R,I,z,v,_,C,f,g,y]),D.useEffect(()=>{console.log("ChatView: Display type changed to:",i,"Current interaction:",(_==null?void 0:_.methodName)||"none")},[i,_]);const K=async P=>{try{_&&(console.log("ChatView: Dismissing active interaction due to user message send"),e.dismissCurrentInteraction(),C(null)),await e.sendChatMessage(P)}catch(ne){console.error("Failed to send message:",ne)}},Z=async P=>{try{_&&(console.log("ChatView: Dismissing active interaction due to user attachment send"),e.dismissCurrentInteraction(),C(null)),await e.sendAttachments(P),console.log("Attachments sent successfully:",P.map(ne=>ne.name))}catch(ne){console.error("Failed to send attachments:",ne)}};D.useEffect(()=>{const P=ne=>{B(Array.isArray(ne)?ne:["tes","hello how are you","algebra make me learn that ","what is the meaning of life"])};return e.on("suggested.response",P),()=>{e.off("suggested.response",P)}},[e]);const X=L&&O?"fullscreen":i,ie=X==="fullscreen"?L&&O?`fixed inset-0 z-[9999] flex flex-col h-[100svh] w-screen min-h-0 ${$.main}`:"flex flex-col h-full w-full max-w-none":"flex flex-col h-full w-full backdrop-blur-sm max-h-full overflow-hidden contain-layout",Y=X==="fullscreen"?L&&O?`flex items-center w-full justify-between px-3 h-11 ${$.chatHeader.container} border-b`:`flex items-center w-full justify-between px-5 h-12 border-b ${$.chatHeader.container}`:`flex items-center w-full justify-between px-4 h-12 border-b ${$.chatHeader.container}`,re=X==="fullscreen"?L&&O?"flex-1 overflow-y-auto overflow-x-hidden scrollbar-hide p-4 w-full max-w-none chat-scrollable min-h-0":"flex-1 overflow-y-auto overflow-x-hidden scrollbar-hide p-6 w-full max-w-none chat-scrollable min-h-0":"flex-1 overflow-y-auto overflow-x-hidden scrollbar-hide w-full p-4 chat-scrollable min-h-0",H="flex-shrink-0 !w-full",Ee=()=>{j(!1),n&&n()};return h.jsxs("div",{className:`${ie} relative`,children:[h.jsx("div",{className:Y,children:h.jsxs("div",{className:"flex items-center justify-between w-full",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("h3",{className:`!font-semibold !text-sm pl-3 leading-tight ${L&&O?"":$.text.primary}`,children:"Transcription"}),E==="idle"&&h.jsx("span",{className:`px-2 py-1 text-xs rounded-full ${t==="light"?"bg-gray-100 text-gray-600":"bg-gray-700 text-gray-400"}`,children:"Idle"})]}),s&&u&&h.jsx("div",{className:"flex-1 flex justify-center",children:h.jsx(hi,{duration:u,theme:t,onTimerExpired:()=>{console.log("Session timer expired")},showIcon:!1,className:"text-xs"})}),n&&h.jsx(Me.button,{onClick:Ee,whileHover:{scale:1.05},whileTap:{scale:.95},className:`p-1.5 rounded-md transition-all duration-200 ${L&&O?"hover:bg-white/10 text-white/70 hover:text-white":t==="light"?"hover:bg-gray-100 text-gray-400 hover:text-gray-600":"hover:bg-gray-700/40 text-gray-400 hover:text-gray-200"}`,"aria-label":"Close chat",children:h.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),h.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]})}),h.jsx("div",{ref:T,className:`${re}`,style:{scrollBehavior:"smooth",scrollbarWidth:"none",contain:"layout style paint",overscrollBehavior:"contain"},onScroll:b,children:d.length===0?h.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center py-12",children:[h.jsx(Me.div,{animate:{scale:[1,1.05,1]},transition:{duration:2,repeat:1/0,ease:"easeInOut"},className:"w-16 h-16 rounded-full bg-gradient-to-br from-blue-500 to-purple-600 flex items-center justify-center text-white font-bold text-xl mb-6 shadow-xl",children:G}),h.jsxs("p",{className:`text-base mb-2 ${L&&O?"text-white":$.text.secondary}`,children:[z," is joining..."]}),h.jsx("p",{className:`text-xs ${L&&O?"text-gray-300":$.text.muted}`,children:"Your conversation will begin shortly"})]}):h.jsx("div",{className:"w-full space-y-3 py-4 px-2",children:h.jsxs("div",{className:"space-y-3",children:[d.map((P,ne)=>{var Se,pe,se,be;return h.jsx("div",{children:((Se=P.metadata)==null?void 0:Se.type)==="successView"?h.jsx("div",{className:"flex w-full justify-end mb-4 px-3",children:h.jsxs("div",{className:"relative group flex-row-reverse flex items-end gap-3 w-full min-w-0",children:[h.jsx(Me.div,{initial:{scale:0},animate:{scale:1},transition:{delay:.1},className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to-gray-700"}`,children:G}),h.jsxs("div",{className:`flex h-full flex-col justify-between border px-3 py-2 rounded-2xl shadow-lg backdrop-bl-sm message-bubble rounded-br-md message-hover border-gray-200 dark:border-gray-700 ${$.chatMessage.own} min-w-0 max-w-[85%] break-words overflow-hidden`,style:{overflowWrap:"anywhere",wordBreak:"break-word",hyphens:"auto"},children:[P.metadata.view,h.jsx("div",{className:`text-xs ${$.text.muted} mt-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200`,children:P.timestamp.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]})}):((pe=P.metadata)==null?void 0:pe.type)==="timeoutView"?h.jsx("div",{className:"flex w-full justify-start mb-4 px-3",children:h.jsxs("div",{className:"relative group flex-row flex items-end gap-3 w-full min-w-0",children:[h.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to_gray-700"}`,children:G}),h.jsxs("div",{className:`flex h-full flex-col justify-between border px-3 py-2 rounded-2xl shadow-lg backdrop-bl-sm message-bubble rounded-bl-md message-hover border-gray-200 dark:border-gray-700 ${$.chatMessage.other} min-w-0 max-w-[85%] break-words overflow-hidden`,style:{overflowWrap:"anywhere",wordBreak:"break-word",hyphens:"auto"},children:[P.metadata.view,h.jsx("div",{className:`text-xs ${$.text.muted} mt-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200`,children:P.timestamp.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]})}):((se=P.metadata)==null?void 0:se.type)==="visualization"?h.jsx("div",{className:"flex w-full justify-start mb-4 px-3",children:h.jsxs("div",{className:"relative group flex-row flex items-end gap-3 w-full min-w-0",children:[h.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to_gray-700"}`,children:G}),h.jsxs("div",{className:`flex h-full flex-col justify-between border px-3 py-2 rounded-2xl shadow-lg backdrop-bl-sm message-bubble rounded-bl-md message-hover border-gray-200 dark:border-gray-700 ${$.chatMessage.other} min-w-0 max-w-[85%] break-words overflow-hidden`,style:{overflowWrap:"anywhere",wordBreak:"break-word",hyphens:"auto"},children:[P.metadata.view,h.jsx("div",{className:`text-xs ${$.text.muted} mt-1 opacity-70 transition-opacity duration-200`,children:P.timestamp.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]})}):((be=P.metadata)==null?void 0:be.type)==="toolExecution"?h.jsx("div",{className:"flex w-full justify-start mb-4 px-3",children:h.jsxs("div",{className:"relative group flex-row flex items-end gap-3 w-full min-w-0",children:[h.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to_gray-700"}`,children:G}),h.jsxs("div",{className:`flex h-full flex-col justify-between border px-3 py-2 rounded-2xl shadow-lg backdrop-bl-sm message-bubble rounded-bl-md message-hover border-gray-200 dark:border-gray-700 ${$.chatMessage.other} min-w-0 max-w-[85%] break-words overflow-hidden`,style:{overflowWrap:"anywhere",wordBreak:"break-word",hyphens:"auto"},children:[P.metadata.view,h.jsx("div",{className:`text-xs ${$.text.muted} mt-1 opacity-70 transition-opacity duration-200`,children:P.timestamp.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]})}):h.jsx(YN,{message:P,theme:t,isOwn:P.sender.type==="participant",isStreaming:m.has(P.id)})},P.id)}),E==="thinking"&&!_&&h.jsx(Me.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.3},children:h.jsx(ZN,{theme:t})}),_&&_.presentationMode==="embedded"&&h.jsxs("div",{className:"relative group flex-row flex items-end gap-3 max-w-[85%] min-w-0",children:[h.jsx(Me.div,{initial:{scale:0},animate:{scale:1},transition:{delay:.1},className:`w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-semibold flex-shrink-0 shadow-lg ${t==="light"?"bg-gradient-to-br from-blue-500 to-purple-600":"bg-gradient-to-br from-gray-600 to_gray-700"}`,children:G}),h.jsxs("div",{className:`flex h-full flex-col justify-between border px-3 py-2 rounded-2xl shadow-lg backdrop-bl-sm message-bubble rounded-bl-md message-hover border-gray-200 dark:border-gray-700 ${$.chatMessage.other} min-w-0 max-w-full break-words overflow-hidden`,style:{overflowWrap:"anywhere",wordBreak:"break-word",hyphens:"auto"},children:[h.jsx(fi,{interaction:_,theme:t,onDismiss:()=>e.dismissCurrentInteraction(),client:e,addLocalMessage:k},_.methodName),h.jsx(Me.div,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.2},className:`text-xs ${$.text.muted} mt-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200`,children:new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]})]})]})})}),!R&&h.jsx(Me.button,{initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.8},onClick:()=>{A(!0),M(!1)},className:`absolute right-6 bottom-20 z-10 p-3 rounded-full shadow-lg backdrop-blur-sm border transition-all duration-200 hover:scale-105 ${t==="light"?"bg-white/90 text-gray-600 border-gray-200 hover:bg-white hover:text-gray-800":"bg-gray-800/90 text-gray-300 border-gray-700 hover:bg-gray-700 hover:text-white"}`,"aria-label":"Scroll to bottom",children:h.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 14l-7 7m0 0l-7-7m7 7V3"})})}),l&&te.length>0&&h.jsx("div",{className:"w-full flex overflow-x-auto gap-2 px-4 py-2 mb-1 scrollbar-hide flex-shrink-0",children:te.map((P,ne)=>{var Se;return h.jsx("button",{className:`whitespace-nowrap px-3 py-1 rounded-full border shadow-sm flex-shrink-0 transition-all duration-150 font-medium text-sm focus:outline-none focus:ring-2 focus:ring-blue-400/40
65
65
  ${t==="light"?"bg-white text-blue-700 border-blue-200 hover:bg-blue-50 hover:text-blue-900":t==="dark"?"bg-gray-800 text-blue-300 border-gray-700 hover:bg-gray-700 hover:text-white":((Se=$.suggestedResponse)==null?void 0:Se.container)||"bg-gradient-to-br from-blue-500 to-purple-600 text-white border-blue-400 hover:from-blue-600 hover:to-purple-700"}
66
66
  `,style:{boxShadow:t==="vox"?"0 2px 8px 0 rgba(80,60,200,0.10)":void 0,borderWidth:1},onClick:()=>{K(P),B([])},children:P},P+ne)})}),_&&_.presentationMode!=="embedded"&&h.jsx(fi,{interaction:_,theme:t,onDismiss:()=>e.dismissCurrentInteraction(),client:e,addLocalMessage:k},_.methodName),h.jsx(Me.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.2},className:H,children:h.jsx(Do,{modality:"chat",theme:t,disabled:r,showTextInput:!0,textInputPlaceholder:"Type a message...",onSendText:K,onSendAttachments:c?Z:void 0,supportsAttachments:c,showEndCall:!!o,onEndCall:o})})]})}const Bg=N.forwardRef(({disabled:e,sessionStarted:t,participantName:n="User",loadingText:r="Waiting for agent to connect...",theme:i="vox",client:o,displayType:s="widget",onBack:a},l)=>{var G,k,K,Z,X,ie;const[c,u]=N.useState(!1),[d,f]=N.useState(!1),[p,m]=N.useState(!1),[g,v]=N.useState(()=>{var Y;return((Y=o==null?void 0:o.getCurrentInteraction)==null?void 0:Y.call(o))||null}),[y,E]=N.useState(()=>t),w=N.useRef(null),_=N.useMemo(()=>{var re;const Y=(re=o==null?void 0:o.getCurrentAgentInfo)==null?void 0:re.call(o);return Oo(Y)},[o]),C=N.useMemo(()=>Po(_),[_]);N.useMemo(()=>up(_),[_]);const T=N.useRef(null),[R,A]=N.useState(64);N.useLayoutEffect(()=>{const Y=T.current;if(!Y)return;const re=()=>A(Y.offsetHeight||64);re();const H=new ResizeObserver(()=>re());return H.observe(Y),window.addEventListener("resize",re),()=>{H.disconnect(),window.removeEventListener("resize",re)}},[]),_w();const{agent:{isActive:I=!1}={}}=o?Cl(o):{agent:{isActive:!1}},b=oo(o,"microphone"),M=Pt(i),O=N.useMemo(()=>o!=null&&o.getCurrentSession?!!o.getCurrentSession():!1,[o]),L=N.useMemo(()=>o!=null&&o.getIsAgentConnected&&o.getIsAgentConnected()||p,[o,p]),j=I||L;N.useEffect(()=>{j&&y&&E(!1)},[j,y]),N.useEffect(()=>{if(t&&!j){const Y=setTimeout(()=>{O&&!j&&(console.log("⚡ SessionView: Auto-connecting agent after room connection"),m(!0),f(!1))},3e3),re=setTimeout(()=>{j||(console.warn("⏱️ SessionView: Agent connection timeout after 30s"),f(!0))},3e4);return()=>{clearTimeout(Y),clearTimeout(re)}}else j&&f(!1)},[t,j,O]),N.useEffect(()=>{if(!o)return;const Y=()=>{v(null),u(!1),f(!1)};return o.on("connection.disconnected",Y),()=>o.off("connection.disconnected",Y)},[o]),N.useEffect(()=>{if(!o)return;const Y=()=>{console.log("✅ SessionView: Agent connected event received"),m(!0),f(!1),E(!1)},re=Y,H=Y,Ee=ne=>{console.log("👤 SessionView: Participant joined:",ne),ne.isLocal||Y()},P=()=>{m(!1),t&&E(!0)};return o.on("agent.connected",Y),o.on("agent.speaking",re),o.on("agent.thinking",H),o.on("participant.joined",Ee),o.on("connection.disconnected",P),()=>{o.off("agent.connected",Y),o.off("agent.speaking",re),o.off("agent.thinking",H),o.off("participant.joined",Ee),o.off("connection.disconnected",P)}},[o,t]),N.useEffect(()=>{if(!o)return;const Y=()=>v(o.getCurrentInteraction()),re=()=>v(null);return o.on("rpc.interaction.started",Y),o.on("rpc.interaction.completed",re),o.on("rpc.interaction.timeout",re),o.on("rpc.interaction.dismissed",re),()=>{o.off("rpc.interaction.started",Y),o.off("rpc.interaction.completed",re),o.off("rpc.interaction.timeout",re),o.off("rpc.interaction.dismissed",re)}},[o]),N.useEffect(()=>{var re;if(!o)return;const Y=(re=o.getCurrentInteraction)==null?void 0:re.call(o);v(Y||null)},[o]),N.useEffect(()=>{var re,H;const Y=((H=(re=o==null?void 0:o.getCurrentSession)==null?void 0:re.call(o))==null?void 0:H.id)||null;w.current,w.current=Y},[o]),N.useEffect(()=>{g&&c&&u(!1)},[g,c]);const W=N.useCallback(Y=>{},[]),oe=N.useCallback(()=>{var Y,re,H;try{g&&(v(null),(Y=o==null?void 0:o.dismissCurrentInteraction)==null||Y.call(o)),u(!1),f(!1),(re=o==null?void 0:o.endSession)==null||re.call(o),(H=o==null?void 0:o.disconnect)==null||H.call(o),a==null||a()}catch(Ee){console.error("Failed to end call:",Ee),v(null),u(!1),f(!1),a==null||a()}},[o,g,a]),te=Be("w-full flex flex-col",s==="fullscreen"?"w-full max-w-none mx-0 h-full":"w-full mx-auto",M.main,s==="fullscreen"?"max-w-none":"","overflow-hidden h-full"),B=a&&(s==="popup"||s==="fullscreen"),$=N.useMemo(()=>d?"Agent is taking longer than expected...":O?"Room connected. Waiting for agent...":r,[d,O,r]),x=N.useMemo(()=>d?"Please check your connection or try again.":O?"The agent will join shortly.":"Agent is connecting... This may take a moment.",[d,O]),z=o.getCurrentAgentInfo();return y?h.jsxs("main",{ref:l,className:Be(te,"relative",e&&"pointer-events-none opacity-50"),children:[(B||C)&&h.jsxs("div",{className:`flex items-center justify-between w-full p-4 border-b ${((G=M.chatHeader)==null?void 0:G.container)||"border-gray-200"}`,children:[h.jsx("div",{children:h.jsx("h3",{className:`font-semibold ${M.text.primary}`,children:(z==null?void 0:z.agentName)||"Voice Session"})}),C&&h.jsx(hi,{duration:C,theme:i,onTimerExpired:()=>{console.log("Session timer expired")}})]}),h.jsx("div",{className:"flex-1 flex items-center justify-center w-full",children:h.jsxs("div",{className:"flex flex-col items-center justify-center w-full h-full min-h-[180px]",children:[h.jsx(Me.div,{animate:{rotate:360,scale:[1,1.1,1]},transition:{rotate:{duration:2,repeat:1/0,ease:"linear"},scale:{duration:1,repeat:1/0,ease:"easeInOut"}},className:"w-12 h-12 mb-4",children:h.jsx(yo,{className:M.spinner,weight:"bold"})}),h.jsx(Me.span,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:`text-sm opacity-80 ${M.text.muted} text-center max-w-xs`,children:$}),h.jsx(Me.p,{initial:{opacity:0},animate:{opacity:1},transition:{delay:2},className:`text-xs ${M.text.muted} mt-2 text-center opacity-60`,children:x}),d&&a&&h.jsx(Me.button,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},transition:{delay:.5},onClick:a,className:`mt-4 px-4 py-2 rounded-lg ${((k=M.chatHeader)==null?void 0:k.backButton)||"bg-gray-100 hover:bg-gray-200"} transition-colors`,children:"Go Back"})]})})]}):h.jsxs("main",{ref:l,className:Be(te,"relative",e&&"pointer-events-none opacity-50"),style:{minHeight:0},children:[(B||C)&&h.jsxs("div",{className:`flex items-center justify-between w-full p-4 border-b ${((K=M.chatHeader)==null?void 0:K.container)||"border-gray-200"}`,children:[h.jsx("div",{children:h.jsx("h3",{className:`font-semibold ${M.text.primary}`,children:"Voice Session"})}),C&&h.jsx(hi,{duration:C,theme:i,onTimerExpired:()=>{console.log("Session timer expired")}})]}),h.jsxs("div",{className:"w-full flex-1 flex flex-col items-center px-0 min-h-0 overflow-hidden relative",children:[!j&&h.jsxs("div",{className:"flex flex-col items-center justify-center w-full h-full min-h-[180px]",children:[h.jsx(Me.div,{animate:{rotate:360,scale:[1,1.1,1]},transition:{rotate:{duration:2,repeat:1/0,ease:"linear"},scale:{duration:1,repeat:1/0,ease:"easeInOut"}},className:"w-12 h-12 mb-4",children:h.jsx(yo,{className:M.spinner,weight:"bold"})}),h.jsx(Me.span,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:`text-sm opacity-80 ${M.text.muted} text-center max-w-xs`,children:$}),h.jsx(Me.p,{initial:{opacity:0},animate:{opacity:1},transition:{delay:2},className:`text-xs ${M.text.muted} mt-2 text-center opacity-60`,children:x}),d&&a&&h.jsx(Me.button,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},transition:{delay:.5},onClick:a,className:`mt-4 px-4 py-2 rounded-lg ${((Z=M.chatHeader)==null?void 0:Z.backButton)||"bg-gray-100 hover:bg-gray-200"} transition-colors`,children:"Go Back"})]}),j&&h.jsxs(h.Fragment,{children:[c&&h.jsx("div",{className:Be("absolute inset-0 flex flex-col min-h-0 transition-[opacity,transform] duration-300 ease-out z-10",M.main),style:{bottom:0,top:0,left:0,right:0},children:h.jsx(Gl,{client:o,theme:i,displayType:s==="fullscreen"?"fullscreen":"widget",disabled:e,onBack:()=>u(!1),showTimer:!1})}),!c&&h.jsxs("div",{className:Be("flex-1 flex flex-col items-center w-full h-full min-h-0",(g==null?void 0:g.presentationMode)==="embedded"?"justify-end":"justify-center"),children:[h.jsx(Me.div,{className:"w-full flex justify-center",animate:{y:(g==null?void 0:g.presentationMode)==="embedded"?-8:0},transition:{duration:.3,ease:"easeOut"},children:h.jsx(vw,{chatOpen:c,client:o,theme:i},`media-tiles-${((ie=(X=o==null?void 0:o.getCurrentSession)==null?void 0:X.call(o))==null?void 0:ie.id)||"no-session"}`)}),h.jsx(Tr,{mode:"wait",children:g&&g.presentationMode==="embedded"&&h.jsx(Me.div,{initial:{opacity:0,y:20,height:0},animate:{opacity:1,y:0,height:"auto"},exit:{opacity:0,y:20,height:0},transition:{duration:.3,ease:"easeOut"},className:Be("w-full relative mt-4 flex justify-center",s==="fullscreen"?"max-w-4xl":"max-w-md"),children:h.jsx("div",{className:"bg-white/10 backdrop-blur-sm rounded-xl border border-white/20 shadow-lg overflow-hidden",children:h.jsx(fi,{interaction:g,theme:i,onDismiss:()=>{var Y;return(Y=o==null?void 0:o.dismissCurrentInteraction)==null?void 0:Y.call(o)},client:o,addLocalMessage:W})})},`embedded-${g.methodName}`)})]})]})]}),h.jsx(Tr,{mode:"wait",children:g&&g.presentationMode!=="embedded"&&!c&&h.jsx("div",{className:Be("absolute inset-0 z-50 flex items-center justify-center backdrop-blur-sm",s==="fullscreen"?"bg-black/70":"bg-black/50"),children:h.jsx(Me.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},transition:{duration:.2,ease:"easeOut"},className:Be("relative w-full overflow-hidden",s==="fullscreen"?"max-w-2xl mx-8 max-h-[85vh]":"max-w-lg mx-4 max-h-[80vh]","bg-white dark:bg-gray-900 rounded-2xl shadow-2xl","border border-gray-200 dark:border-gray-700"),children:h.jsx(fi,{interaction:g,theme:i,onDismiss:()=>{var Y;return(Y=o==null?void 0:o.dismissCurrentInteraction)==null?void 0:Y.call(o)},client:o,addLocalMessage:W})},`modal-${g.methodName}`)})}),h.jsx("div",{ref:T,className:"relative z-30 mt-auto w-full",children:h.jsx(Do,{modality:"voice",theme:i,disabled:e,showMicrophone:!0,microphoneEnabled:b.enabled,microphoneLoading:b.pending,onToggleMicrophone:()=>b.toggle(),showChatToggle:!0,chatOpen:c,onToggleChat:()=>u(!c),showEndCall:!0,onEndCall:oe})})]})});Bg.displayName="SessionView";function Bd({trackRef:e,participant:t,isLocal:n=!1,className:r="",theme:i}){var l;const o=Pt(i),s=(t==null?void 0:t.name)||(t==null?void 0:t.identity)||(n?"You":"Participant"),a=(e==null?void 0:e.publication)&&!e.publication.isMuted;return h.jsxs("div",{className:`relative rounded-lg overflow-hidden ${o.video.tile} ${r}`,children:[a?h.jsx(Rt.VideoTrack,{trackRef:e,className:"w-full h-full object-cover"}):h.jsx("div",{className:`w-full h-full flex items-center justify-center ${o.video.placeholder}`,children:h.jsx("div",{className:"text-center",children:h.jsx("div",{className:`w-16 h-16 mx-auto mb-2 rounded-full flex items-center justify-center ${o.video.avatar}`,children:h.jsx(ot.User,{className:"w-8 h-8"})})})}),h.jsx("div",{className:`absolute bottom-2 left-2 px-2 py-1 rounded text-xs ${o.video.nameOverlay}`,children:s}),((l=e==null?void 0:e.publication)==null?void 0:l.isMuted)&&h.jsx("div",{className:`absolute top-2 right-2 p-1 rounded ${o.video.mutedIndicator}`,children:h.jsx(ot.CameraOff,{className:"w-4 h-4"})})]})}function $g({client:e,theme:t="vox",onBack:n,disabled:r=!1,displayType:i,onEndCall:o}){var K;const s=Pt(t),[a,l]=D.useState(!1),[c,u]=D.useState(!1),d=D.useMemo(()=>{const Z=e.getCurrentAgentInfo();return Oo(Z)},[e]),{userVideoEnabled:f,agentAvatarEnabled:p,screenshareEnabled:m}=D.useMemo(()=>lp(d),[d]),g=D.useMemo(()=>Po(d),[d]),v=D.useRef(null),[y,E]=D.useState(64);D.useLayoutEffect(()=>{const Z=v.current;if(!Z)return;const X=()=>E(Z.offsetHeight||64);X();const ie=new ResizeObserver(()=>X());return ie.observe(Z),window.addEventListener("resize",X),()=>{ie.disconnect(),window.removeEventListener("resize",X)}},[]);const[w,_]=D.useState(null),C=Iv(e),{videoTrackRefs:T,screenShareTrackRefs:R}=Ov(e),{agent:{isActive:A=!1}={},state:I="idle",audioTrack:b}=e?Cl(e):{agent:{isActive:!1},state:"idle",audioTrack:null},M=D.useMemo(()=>e.getRemoteParticipants(),[e,C]),O=oo(e,"microphone"),L=oo(e,"camera"),j=oo(e,"screenShare"),W=D.useCallback(async()=>{L.pending||await L.toggle()},[L]),oe=D.useCallback(async()=>{j.pending||await j.toggle()},[j]),te=D.useCallback(()=>{l(Z=>!Z)},[]),B=D.useCallback(()=>{o?o():n&&n()},[o,n]);D.useEffect(()=>{if(!e)return;const Z=X=>{console.log("📺 Video: Interactive UI state updated:",X),_(X)};return e.on("interactive.ui.update",Z),e.on("interactive.ui.show",Z),()=>{e.off("interactive.ui.update",Z),e.off("interactive.ui.show",Z)}},[e]),D.useEffect(()=>{if(A)u(!1);else{const Z=setTimeout(()=>{A||u(!0)},3e4);return()=>{clearTimeout(Z)}}},[A]);const $=C==null?void 0:C.localParticipant,x=D.useMemo(()=>(e?e.getCameraTrackRefs():[]).find(Z=>Z.participant===$),[e,$]),G=T.filter(Z=>Z.participant!==$)[0],k=D.useMemo(()=>(R||[]).find(Z=>Z.participant===$),[R,$]);return h.jsxs("div",{className:`flex flex-col h-full ${s.video.container} relative`,children:[h.jsxs("div",{className:`flex items-center justify-between p-4 border-b ${s.video.header}`,children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("div",{className:`w-3 h-3 rounded-full ${s.video.statusDot}`}),h.jsx("span",{className:"font-medium",children:"Video Call"}),h.jsxs("span",{className:"text-sm opacity-70",children:[M.length+1," participant",M.length!==0?"s":""]})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[g&&h.jsx(hi,{duration:g,theme:t,onTimerExpired:()=>{console.log("Session timer expired")}}),h.jsx("button",{className:`p-2 rounded-lg transition-colors ${s.video.headerButton}`,title:"Layout options",children:h.jsx(ot.LayoutGrid,{className:"w-4 h-4"})})]})]}),h.jsxs("div",{className:"relative flex-1 min-h-0",children:[!A&&h.jsx("div",{className:"flex items-center justify-center h-full",children:h.jsxs("div",{className:"text-center",children:[h.jsx(Me.div,{animate:{rotate:360,scale:[1,1.1,1]},transition:{rotate:{duration:2,repeat:1/0,ease:"linear"},scale:{duration:1,repeat:1/0,ease:"easeInOut"}},className:"w-12 h-12 mx-auto",children:h.jsx(yo,{className:s.spinner,weight:"bold"})}),c&&n&&h.jsx(Me.button,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},transition:{delay:.5},onClick:n,className:`mt-4 px-4 py-2 rounded-lg ${((K=s.chatHeader)==null?void 0:K.backButton)||"bg-gray-100 hover:bg-gray-200"} transition-colors`,children:"Go Back"})]})}),A&&!a&&h.jsx("div",{className:"p-4 min-h-0 h-full",children:h.jsxs("div",{className:"relative w-full h-full overflow-hidden",children:[p?G?h.jsx(Bd,{trackRef:G,participant:G.participant,isLocal:!1,theme:t,className:"w-full h-full"}):h.jsx("div",{className:"w-full h-full flex items-center justify-center",children:h.jsx("div",{className:"text-center",children:h.jsx(ot.Users,{className:"w-12 h-12 mx-auto mb-4 opacity-50"})})}):h.jsx("div",{className:"w-full h-full flex items-center justify-center",children:h.jsx("div",{className:"text-center",children:h.jsxs("div",{className:"mb-4",children:[h.jsx("div",{className:"w-16 h-16 mx-auto mb-4 rounded-full bg-gradient-to-br from-[#6721a4] to-[#5c64f6] flex items-center justify-center",children:h.jsx(ot.User,{className:"w-8 h-8 text-white"})}),A&&(b?h.jsx(Rt.BarVisualizer,{barCount:5,state:I,options:{minHeight:5},trackRef:b,className:"flex items-center justify-center gap-1",children:h.jsx("span",{className:Be(["bg-[#6721a4] min-h-2 w-2 rounded-full","origin-center transition-colors duration-250 ease-linear","data-[lk-highlighted=true]:bg-[#5c64f6]","data-[lk-muted=true]:bg-[#222222]"])})}):h.jsx("div",{className:"flex items-center justify-center gap-1",children:Array.from({length:5}).map((Z,X)=>h.jsx("span",{className:Be(["bg-[#6721a4] min-h-2 w-2 rounded-full","origin-center transition-colors duration-250 ease-linear",I==="speaking"&&"bg-[#5c64f6]",I==="thinking"&&"animate-pulse bg-yellow-500"])},X))}))]})})}),k&&h.jsx("div",{className:"absolute bottom-4 left-0 sm:left-0 z-10 w-32 sm:w-36 h-20 sm:h-24 rounded-lg overflow-hidden shadow-xl border border-white/20",children:h.jsxs("div",{className:"relative w-full h-full bg-black/40",children:[h.jsx(Rt.VideoTrack,{trackRef:k,className:"w-full h-full object-contain"}),h.jsx("div",{className:`absolute top-1 left-1 px-1.5 py-0.5 rounded text-xs ${s.video.nameOverlay}`,children:h.jsxs("span",{className:"inline-flex items-center gap-1",children:[h.jsx(ot.Monitor,{className:"w-3 h-3"}),h.jsx("span",{className:"text-xs",children:"Sharing"})]})})]})}),x&&f&&h.jsx("div",{className:"absolute bottom-4 right-0 w-32 sm:w-36 h-20 sm:h-24 rounded-lg overflow-hidden shadow-xl border border-white/20",children:h.jsx(Bd,{trackRef:x,participant:$||void 0,isLocal:!0,theme:t,className:"w-full h-full"})})]})})]}),h.jsx(Tr,{mode:"wait",children:a&&h.jsx(Me.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:20},transition:{duration:.3,ease:"easeOut"},className:Be("absolute left-0 right-0 top-0 flex flex-col z-20",t==="light"?"bg-white":"bg-gray-900/95 backdrop-blur-sm"),style:{bottom:`${y}px`},children:h.jsx(Gl,{client:e,theme:t,displayType:i==="fullscreen"?"fullscreen":"widget",disabled:r,onBack:()=>l(!1),showTimer:!1})})}),h.jsx("div",{ref:v,className:"relative z-30 mt-auto",children:h.jsx(Do,{modality:"video",theme:t,disabled:r,showMicrophone:!0,microphoneEnabled:O.enabled,microphoneLoading:O.pending,onToggleMicrophone:()=>O.toggle(),showCamera:f,cameraEnabled:L.enabled,cameraLoading:L.pending,onToggleCamera:W,showScreenShare:m,screenShareEnabled:j.enabled,screenShareLoading:j.pending,onToggleScreenShare:oe,showChatToggle:!0,chatOpen:a,onToggleChat:te,showEndCall:!0,onEndCall:B})})]})}const $d=e=>e,oA=()=>{let e=$d;return{configure(t){e=t},generate(t){return e(t)},reset(){e=$d}}},sA=oA();function Pn(e,...t){const n=new URL(`https://mui.com/production-error/?code=${e}`);return t.forEach(r=>n.searchParams.append("args[]",r)),`Minified MUI error #${e}; visit ${n} for the full message.`}function Jn(e){if(typeof e!="string")throw new Error(process.env.NODE_ENV!=="production"?"MUI: `capitalize(string)` expects a string argument.":Pn(7));return e.charAt(0).toUpperCase()+e.slice(1)}var Yi={exports:{}},Zi={exports:{}},$e={};/** @license React v16.13.1
67
67
  * react-is.production.min.js