ctxloom-pro 1.1.3 → 1.1.4
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.
|
@@ -141,3 +141,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
141
141
|
`),style:o,startingLineNumber:l}))}function fie(e){return"".concat(e.toString().length,".25em")}function Wk(e,t){return{type:"element",tagName:"span",properties:{key:"line-number--".concat(e),className:["comment","linenumber","react-syntax-highlighter-line-number"],style:t},children:[{type:"text",value:e}]}}function Hk(e,t,n){var r={display:"inline-block",minWidth:fie(n),paddingRight:"1em",textAlign:"right",userSelect:"none"},i=typeof e=="function"?e(t):e,a=$r($r({},r),i);return a}function Xu(e){var t=e.children,n=e.lineNumber,r=e.lineNumberStyle,i=e.largestLineNumber,a=e.showInlineLineNumbers,o=e.lineProps,l=o===void 0?{}:o,s=e.className,u=s===void 0?[]:s,f=e.showLineNumbers,c=e.wrapLongLines,d=e.wrapLines,p=d===void 0?!1:d,y=p?$r({},typeof l=="function"?l(n):l):{};if(y.className=y.className?[].concat(Dm(y.className.trim().split(/\s+/)),Dm(u)):u,n&&a){var m=Hk(r,n,i);t.unshift(Wk(n,m))}return c&f&&(y.style=$r({display:"flex"},y.style)),{type:"element",tagName:"span",properties:y,children:t}}function Vk(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];e.length===void 0&&(e=[e]);for(var r=0;r<e.length;r++){var i=e[r];if(i.type==="text")n.push(Xu({children:[i],className:Dm(new Set(t))}));else if(i.children){var a,o=t.concat(((a=i.properties)===null||a===void 0?void 0:a.className)||[]);Vk(i.children,o).forEach(function(l){return n.push(l)})}}return n}function die(e,t,n,r,i,a,o,l,s){var u,f=Vk(e.value),c=[],d=-1,p=0;function y(w,S){var _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return Xu({children:w,lineNumber:S,lineNumberStyle:l,largestLineNumber:o,showInlineLineNumbers:i,lineProps:n,className:_,showLineNumbers:r,wrapLongLines:s,wrapLines:t})}function m(w,S){if(r&&S&&i){var _=Hk(l,S,o);w.unshift(Wk(S,_))}return w}function v(w,S){var _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return t||_.length>0?y(w,S,_):m(w,S)}for(var h=function(){var S=f[p],_=S.children[0].value,A=sie(_);if(A){var P=_.split(`
|
|
142
142
|
`);P.forEach(function(T,I){var j=r&&c.length+a,R={type:"text",value:"".concat(T,`
|
|
143
143
|
`)};if(I===0){var E=f.slice(d+1,p).concat(Xu({children:[R],className:S.properties.className})),N=v(E,j);c.push(N)}else if(I===P.length-1){var C=f[p+1]&&f[p+1].children&&f[p+1].children[0],L={type:"text",value:"".concat(T)};if(C){var M=Xu({children:[L],className:S.properties.className});f.splice(p+1,0,M)}else{var D=[L],B=v(D,j,S.properties.className);c.push(B)}}else{var W=[R],U=v(W,j,S.properties.className);c.push(U)}}),d=p}p++};p<f.length;)h();if(d!==f.length-1){var g=f.slice(d+1,f.length);if(g&&g.length){var b=r&&c.length+a,x=v(g,b);c.push(x)}}return t?c:(u=[]).concat.apply(u,c)}function pie(e){var t=e.rows,n=e.stylesheet,r=e.useInlineStyles;return t.map(function(i,a){return Uk({node:i,stylesheet:n,useInlineStyles:r,key:"code-segment-".concat(a)})})}function Gk(e){return e&&typeof e.highlightAuto<"u"}function hie(e){var t=e.astGenerator,n=e.language,r=e.code,i=e.defaultCodeValue;if(Gk(t)){var a=aie(t,n);return n==="text"?{value:i,language:"text"}:a?t.highlight(n,r):t.highlightAuto(r)}try{return n&&n!=="text"?{value:t.highlight(r,n)}:{value:i}}catch{return{value:i}}}function gie(e,t){return function(r){var i,a,o=r.language,l=r.children,s=r.style,u=s===void 0?t:s,f=r.customStyle,c=f===void 0?{}:f,d=r.codeTagProps,p=d===void 0?{className:o?"language-".concat(o):void 0,style:$r($r({},u['code[class*="language-"]']),u['code[class*="language-'.concat(o,'"]')])}:d,y=r.useInlineStyles,m=y===void 0?!0:y,v=r.showLineNumbers,h=v===void 0?!1:v,g=r.showInlineLineNumbers,b=g===void 0?!0:g,x=r.startingLineNumber,w=x===void 0?1:x,S=r.lineNumberContainerStyle,_=r.lineNumberStyle,A=_===void 0?{}:_,P=r.wrapLines,T=r.wrapLongLines,I=T===void 0?!1:T,j=r.lineProps,R=j===void 0?{}:j,E=r.renderer,N=r.PreTag,C=N===void 0?"pre":N,L=r.CodeTag,M=L===void 0?"code":L,D=r.code,B=D===void 0?(Array.isArray(l)?l[0]:l)||"":D,W=r.astGenerator,U=Xre(r,oie);W=W||e;var Y=h?$.createElement(cie,{containerStyle:S,codeStyle:p.style||{},numberStyle:A,startingLineNumber:w,codeString:B}):null,J=u.hljs||u['pre[class*="language-"]']||{backgroundColor:"#fff"},ae=Gk(W)?"hljs":"prismjs",z=m?Object.assign({},U,{style:Object.assign({},J,c)}):Object.assign({},U,{className:U.className?"".concat(ae," ").concat(U.className):ae,style:Object.assign({},c)});if(I?p.style=$r({whiteSpace:"pre-wrap"},p.style):p.style=$r({whiteSpace:"pre"},p.style),!W)return $.createElement(C,z,Y,$.createElement(M,p,B));(P===void 0&&E||I)&&(P=!0),E=E||pie;var Q=[{type:"text",value:B}],ce=hie({astGenerator:W,language:o,code:B,defaultCodeValue:Q});ce.language===null&&(ce.value=Q);var X=(i=(a=B.match(/\n/g))===null||a===void 0?void 0:a.length)!==null&&i!==void 0?i:0,re=w+X,oe=die(ce,P,R,h,b,w,re,A,I);return $.createElement(C,z,$.createElement(M,p,!b&&Y,E({rows:oe,stylesheet:u,useInlineStyles:m})))}}class Fs{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}Fs.prototype.normal={};Fs.prototype.property={};Fs.prototype.space=void 0;function Kk(e,t){const n={},r={};for(const i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new Fs(n,r,t)}function As(e){return e.toLowerCase()}class Mt{constructor(t,n){this.attribute=n,this.property=t}}Mt.prototype.attribute="";Mt.prototype.booleanish=!1;Mt.prototype.boolean=!1;Mt.prototype.commaOrSpaceSeparated=!1;Mt.prototype.commaSeparated=!1;Mt.prototype.defined=!1;Mt.prototype.mustUseProperty=!1;Mt.prototype.number=!1;Mt.prototype.overloadedBoolean=!1;Mt.prototype.property="";Mt.prototype.spaceSeparated=!1;Mt.prototype.space=void 0;let mie=0;const le=Vi(),ze=Vi(),Bm=Vi(),G=Vi(),we=Vi(),Ta=Vi(),It=Vi();function Vi(){return 2**++mie}const Fm=Object.freeze(Object.defineProperty({__proto__:null,boolean:le,booleanish:ze,commaOrSpaceSeparated:It,commaSeparated:Ta,number:G,overloadedBoolean:Bm,spaceSeparated:we},Symbol.toStringTag,{value:"Module"})),rh=Object.keys(Fm);class qy extends Mt{constructor(t,n,r,i){let a=-1;if(super(t,n),HS(this,"space",i),typeof r=="number")for(;++a<rh.length;){const o=rh[a];HS(this,rh[a],(r&Fm[o])===Fm[o])}}}qy.prototype.defined=!0;function HS(e,t,n){n&&(e[t]=n)}function jo(e){const t={},n={};for(const[r,i]of Object.entries(e.properties)){const a=new qy(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[As(r)]=r,n[As(a.attribute)]=r}return new Fs(t,n,e.space)}const Xk=jo({properties:{ariaActiveDescendant:null,ariaAtomic:ze,ariaAutoComplete:null,ariaBusy:ze,ariaChecked:ze,ariaColCount:G,ariaColIndex:G,ariaColSpan:G,ariaControls:we,ariaCurrent:null,ariaDescribedBy:we,ariaDetails:null,ariaDisabled:ze,ariaDropEffect:we,ariaErrorMessage:null,ariaExpanded:ze,ariaFlowTo:we,ariaGrabbed:ze,ariaHasPopup:null,ariaHidden:ze,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:we,ariaLevel:G,ariaLive:null,ariaModal:ze,ariaMultiLine:ze,ariaMultiSelectable:ze,ariaOrientation:null,ariaOwns:we,ariaPlaceholder:null,ariaPosInSet:G,ariaPressed:ze,ariaReadOnly:ze,ariaRelevant:null,ariaRequired:ze,ariaRoleDescription:we,ariaRowCount:G,ariaRowIndex:G,ariaRowSpan:G,ariaSelected:ze,ariaSetSize:G,ariaSort:null,ariaValueMax:G,ariaValueMin:G,ariaValueNow:G,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function Yk(e,t){return t in e?e[t]:t}function qk(e,t){return Yk(e,t.toLowerCase())}const vie=jo({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Ta,acceptCharset:we,accessKey:we,action:null,allow:null,allowFullScreen:le,allowPaymentRequest:le,allowUserMedia:le,alt:null,as:null,async:le,autoCapitalize:null,autoComplete:we,autoFocus:le,autoPlay:le,blocking:we,capture:null,charSet:null,checked:le,cite:null,className:we,cols:G,colSpan:null,content:null,contentEditable:ze,controls:le,controlsList:we,coords:G|Ta,crossOrigin:null,data:null,dateTime:null,decoding:null,default:le,defer:le,dir:null,dirName:null,disabled:le,download:Bm,draggable:ze,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:le,formTarget:null,headers:we,height:G,hidden:Bm,high:G,href:null,hrefLang:null,htmlFor:we,httpEquiv:we,id:null,imageSizes:null,imageSrcSet:null,inert:le,inputMode:null,integrity:null,is:null,isMap:le,itemId:null,itemProp:we,itemRef:we,itemScope:le,itemType:we,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:le,low:G,manifest:null,max:null,maxLength:G,media:null,method:null,min:null,minLength:G,multiple:le,muted:le,name:null,nonce:null,noModule:le,noValidate:le,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:le,optimum:G,pattern:null,ping:we,placeholder:null,playsInline:le,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:le,referrerPolicy:null,rel:we,required:le,reversed:le,rows:G,rowSpan:G,sandbox:we,scope:null,scoped:le,seamless:le,selected:le,shadowRootClonable:le,shadowRootDelegatesFocus:le,shadowRootMode:null,shape:null,size:G,sizes:null,slot:null,span:G,spellCheck:ze,src:null,srcDoc:null,srcLang:null,srcSet:null,start:G,step:null,style:null,tabIndex:G,target:null,title:null,translate:null,type:null,typeMustMatch:le,useMap:null,value:ze,width:G,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:we,axis:null,background:null,bgColor:null,border:G,borderColor:null,bottomMargin:G,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:le,declare:le,event:null,face:null,frame:null,frameBorder:null,hSpace:G,leftMargin:G,link:null,longDesc:null,lowSrc:null,marginHeight:G,marginWidth:G,noResize:le,noHref:le,noShade:le,noWrap:le,object:null,profile:null,prompt:null,rev:null,rightMargin:G,rules:null,scheme:null,scrolling:ze,standby:null,summary:null,text:null,topMargin:G,valueType:null,version:null,vAlign:null,vLink:null,vSpace:G,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:le,disableRemotePlayback:le,prefix:null,property:null,results:G,security:null,unselectable:null},space:"html",transform:qk}),yie=jo({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:It,accentHeight:G,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:G,amplitude:G,arabicForm:null,ascent:G,attributeName:null,attributeType:null,azimuth:G,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:G,by:null,calcMode:null,capHeight:G,className:we,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:G,diffuseConstant:G,direction:null,display:null,dur:null,divisor:G,dominantBaseline:null,download:le,dx:null,dy:null,edgeMode:null,editable:null,elevation:G,enableBackground:null,end:null,event:null,exponent:G,externalResourcesRequired:null,fill:null,fillOpacity:G,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Ta,g2:Ta,glyphName:Ta,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:G,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:G,horizOriginX:G,horizOriginY:G,id:null,ideographic:G,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:G,k:G,k1:G,k2:G,k3:G,k4:G,kernelMatrix:It,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:G,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:G,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:G,overlineThickness:G,paintOrder:null,panose1:null,path:null,pathLength:G,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:we,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:G,pointsAtY:G,pointsAtZ:G,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:It,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:It,rev:It,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:It,requiredFeatures:It,requiredFonts:It,requiredFormats:It,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:G,specularExponent:G,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:G,strikethroughThickness:G,string:null,stroke:null,strokeDashArray:It,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:G,strokeOpacity:G,strokeWidth:null,style:null,surfaceScale:G,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:It,tabIndex:G,tableValues:null,target:null,targetX:G,targetY:G,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:It,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:G,underlineThickness:G,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:G,values:null,vAlphabetic:G,vMathematical:G,vectorEffect:null,vHanging:G,vIdeographic:G,version:null,vertAdvY:G,vertOriginX:G,vertOriginY:G,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:G,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:Yk}),Zk=jo({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),Qk=jo({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:qk}),Jk=jo({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),bie=/[A-Z]/g,VS=/-[a-z]/g,xie=/^data[-\w.:]+$/i;function wie(e,t){const n=As(t);let r=t,i=Mt;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&xie.test(t)){if(t.charAt(4)==="-"){const a=t.slice(5).replace(VS,_ie);r="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{const a=t.slice(4);if(!VS.test(a)){let o=a.replace(bie,Sie);o.charAt(0)!=="-"&&(o="-"+o),t="data"+o}}i=qy}return new i(r,t)}function Sie(e){return"-"+e.toLowerCase()}function _ie(e){return e.charAt(1).toUpperCase()}const Oie=Kk([Xk,vie,Zk,Qk,Jk],"html"),Aie=Kk([Xk,yie,Zk,Qk,Jk],"svg");function GS(e){const t=[],n=String(e||"");let r=n.indexOf(","),i=0,a=!1;for(;!a;){r===-1&&(r=n.length,a=!0);const o=n.slice(i,r).trim();(o||!a)&&t.push(o),i=r+1,r=n.indexOf(",",i)}return t}const KS=/[#.]/g;function Eie(e,t){const n=e||"",r={};let i=0,a,o;for(;i<n.length;){KS.lastIndex=i;const l=KS.exec(n),s=n.slice(i,l?l.index:n.length);s&&(a?a==="#"?r.id=s:Array.isArray(r.className)?r.className.push(s):r.className=[s]:o=s,i+=s.length),l&&(a=l[0],i++)}return{type:"element",tagName:o||t||"div",properties:r,children:[]}}function XS(e){const t=String(e||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function e$(e,t,n){const r=n?$ie(n):void 0;function i(a,o,...l){let s;if(a==null){s={type:"root",children:[]};const u=o;l.unshift(u)}else{s=Eie(a,t);const u=s.tagName.toLowerCase(),f=r?r.get(u):void 0;if(s.tagName=f||u,Pie(o))l.unshift(o);else for(const[c,d]of Object.entries(o))Tie(e,s.properties,c,d)}for(const u of l)zm(s.children,u);return s.type==="element"&&s.tagName==="template"&&(s.content={type:"root",children:s.children},s.children=[]),s}return i}function Pie(e){if(e===null||typeof e!="object"||Array.isArray(e))return!0;if(typeof e.type!="string")return!1;const t=e,n=Object.keys(e);for(const r of n){const i=t[r];if(i&&typeof i=="object"){if(!Array.isArray(i))return!0;const a=i;for(const o of a)if(typeof o!="number"&&typeof o!="string")return!0}}return!!("children"in e&&Array.isArray(e.children))}function Tie(e,t,n,r){const i=wie(e,n);let a;if(r!=null){if(typeof r=="number"){if(Number.isNaN(r))return;a=r}else typeof r=="boolean"?a=r:typeof r=="string"?i.spaceSeparated?a=XS(r):i.commaSeparated?a=GS(r):i.commaOrSpaceSeparated?a=XS(GS(r).join(" ")):a=YS(i,i.property,r):Array.isArray(r)?a=[...r]:a=i.property==="style"?kie(r):String(r);if(Array.isArray(a)){const o=[];for(const l of a)o.push(YS(i,i.property,l));a=o}i.property==="className"&&Array.isArray(t.className)&&(a=t.className.concat(a)),t[i.property]=a}}function zm(e,t){if(t!=null)if(typeof t=="number"||typeof t=="string")e.push({type:"text",value:String(t)});else if(Array.isArray(t))for(const n of t)zm(e,n);else if(typeof t=="object"&&"type"in t)t.type==="root"?zm(e,t.children):e.push(t);else throw new Error("Expected node, nodes, or string, got `"+t+"`")}function YS(e,t,n){if(typeof n=="string"){if(e.number&&n&&!Number.isNaN(Number(n)))return Number(n);if((e.boolean||e.overloadedBoolean)&&(n===""||As(n)===As(t)))return!0}return n}function kie(e){const t=[];for(const[n,r]of Object.entries(e))t.push([n,r].join(": "));return t.join("; ")}function $ie(e){const t=new Map;for(const n of e)t.set(n.toLowerCase(),n);return t}const jie=["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","solidColor","textArea","textPath"],Cie=e$(Oie,"div");e$(Aie,"g",jie);const Nie=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"],qS={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"};function t$(e){const t=typeof e=="string"?e.charCodeAt(0):e;return t>=48&&t<=57}function Mie(e){const t=typeof e=="string"?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}function Iie(e){const t=typeof e=="string"?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}function ZS(e){return Iie(e)||t$(e)}const QS=document.createElement("i");function JS(e){const t="&"+e+";";QS.innerHTML=t;const n=QS.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}const Rie=["","Named character references must be terminated by a semicolon","Numeric character references must be terminated by a semicolon","Named character references cannot be empty","Numeric character references cannot be empty","Named character references must be known","Numeric character references cannot be disallowed","Numeric character references cannot be outside the permissible Unicode range"];function Lie(e,t){const n={},r=typeof n.additional=="string"?n.additional.charCodeAt(0):n.additional,i=[];let a=0,o=-1,l="",s,u;n.position&&("start"in n.position||"indent"in n.position?(u=n.position.indent,s=n.position.start):s=n.position);let f=(s?s.line:0)||1,c=(s?s.column:0)||1,d=y(),p;for(a--;++a<=e.length;)if(p===10&&(c=(u?u[o]:0)||1),p=e.charCodeAt(a),p===38){const h=e.charCodeAt(a+1);if(h===9||h===10||h===12||h===32||h===38||h===60||Number.isNaN(h)||r&&h===r){l+=String.fromCharCode(p),c++;continue}const g=a+1;let b=g,x=g,w;if(h===35){x=++b;const R=e.charCodeAt(x);R===88||R===120?(w="hexadecimal",x=++b):w="decimal"}else w="named";let S="",_="",A="";const P=w==="named"?ZS:w==="decimal"?t$:Mie;for(x--;++x<=e.length;){const R=e.charCodeAt(x);if(!P(R))break;A+=String.fromCharCode(R),w==="named"&&Nie.includes(A)&&(S=A,_=JS(A))}let T=e.charCodeAt(x)===59;if(T){x++;const R=w==="named"?JS(A):!1;R&&(S=A,_=R)}let I=1+x-g,j="";if(!(!T&&n.nonTerminated===!1))if(!A)w!=="named"&&m(4,I);else if(w==="named"){if(T&&!_)m(5,1);else if(S!==A&&(x=b+S.length,I=1+x-b,T=!1),!T){const R=S?1:3;if(n.attribute){const E=e.charCodeAt(x);E===61?(m(R,I),_=""):ZS(E)?_="":m(R,I)}else m(R,I)}j=_}else{T||m(2,I);let R=Number.parseInt(A,w==="hexadecimal"?16:10);if(Die(R))m(7,I),j="�";else if(R in qS)m(6,I),j=qS[R];else{let E="";Bie(R)&&m(6,I),R>65535&&(R-=65536,E+=String.fromCharCode(R>>>10|55296),R=56320|R&1023),j=E+String.fromCharCode(R)}}if(j){v(),d=y(),a=x-1,c+=x-g+1,i.push(j);const R=y();R.offset++,n.reference&&n.reference.call(n.referenceContext||void 0,j,{start:d,end:R},e.slice(g-1,x)),d=R}else A=e.slice(g-1,x),l+=A,c+=A.length,a=x-1}else p===10&&(f++,o++,c=0),Number.isNaN(p)?v():(l+=String.fromCharCode(p),c++);return i.join("");function y(){return{line:f,column:c,offset:a+((s?s.offset:0)||0)}}function m(h,g){let b;n.warning&&(b=y(),b.column+=g,b.offset+=g,n.warning.call(n.warningContext||void 0,Rie[h],b,h))}function v(){l&&(i.push(l),n.text&&n.text.call(n.textContext||void 0,l,{start:d,end:y()}),l="")}}function Die(e){return e>=55296&&e<=57343||e>1114111}function Bie(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534}var Fie=0,Ou={},et={util:{type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++Fie}),e.__id},clone:function e(t,n){n=n||{};var r,i;switch(et.util.type(t)){case"Object":if(i=et.util.objId(t),n[i])return n[i];r={},n[i]=r;for(var a in t)t.hasOwnProperty(a)&&(r[a]=e(t[a],n));return r;case"Array":return i=et.util.objId(t),n[i]?n[i]:(r=[],n[i]=r,t.forEach(function(o,l){r[l]=e(o,n)}),r);default:return t}}},languages:{plain:Ou,plaintext:Ou,text:Ou,txt:Ou,extend:function(e,t){var n=et.util.clone(et.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){r=r||et.languages;var i=r[e],a={};for(var o in i)if(i.hasOwnProperty(o)){if(o==t)for(var l in n)n.hasOwnProperty(l)&&(a[l]=n[l]);n.hasOwnProperty(o)||(a[o]=i[o])}var s=r[e];return r[e]=a,et.languages.DFS(et.languages,function(u,f){f===s&&u!=e&&(this[u]=a)}),a},DFS:function e(t,n,r,i){i=i||{};var a=et.util.objId;for(var o in t)if(t.hasOwnProperty(o)){n.call(t,o,t[o],r||o);var l=t[o],s=et.util.type(l);s==="Object"&&!i[a(l)]?(i[a(l)]=!0,e(l,n,null,i)):s==="Array"&&!i[a(l)]&&(i[a(l)]=!0,e(l,n,o,i))}}},plugins:{},highlight:function(e,t,n){var r={code:e,grammar:t,language:n};if(et.hooks.run("before-tokenize",r),!r.grammar)throw new Error('The language "'+r.language+'" has no grammar.');return r.tokens=et.tokenize(r.code,r.grammar),et.hooks.run("after-tokenize",r),Sl.stringify(et.util.encode(r.tokens),r.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var i=new zie;return Yu(i,i.head,e),n$(e,i,t,i.head,0),Wie(i)},hooks:{all:{},add:function(e,t){var n=et.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=et.hooks.all[e];if(!(!n||!n.length))for(var r=0,i;i=n[r++];)i(t)}},Token:Sl};function Sl(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=(r||"").length|0}function e_(e,t,n,r){e.lastIndex=t;var i=e.exec(n);if(i&&r&&i[1]){var a=i[1].length;i.index+=a,i[0]=i[0].slice(a)}return i}function n$(e,t,n,r,i,a){for(var o in n)if(!(!n.hasOwnProperty(o)||!n[o])){var l=n[o];l=Array.isArray(l)?l:[l];for(var s=0;s<l.length;++s){if(a&&a.cause==o+","+s)return;var u=l[s],f=u.inside,c=!!u.lookbehind,d=!!u.greedy,p=u.alias;if(d&&!u.pattern.global){var y=u.pattern.toString().match(/[imsuy]*$/)[0];u.pattern=RegExp(u.pattern.source,y+"g")}for(var m=u.pattern||u,v=r.next,h=i;v!==t.tail&&!(a&&h>=a.reach);h+=v.value.length,v=v.next){var g=v.value;if(t.length>e.length)return;if(!(g instanceof Sl)){var b=1,x;if(d){if(x=e_(m,h,e,c),!x||x.index>=e.length)break;var A=x.index,w=x.index+x[0].length,S=h;for(S+=v.value.length;A>=S;)v=v.next,S+=v.value.length;if(S-=v.value.length,h=S,v.value instanceof Sl)continue;for(var _=v;_!==t.tail&&(S<w||typeof _.value=="string");_=_.next)b++,S+=_.value.length;b--,g=e.slice(h,S),x.index-=h}else if(x=e_(m,0,g,c),!x)continue;var A=x.index,P=x[0],T=g.slice(0,A),I=g.slice(A+P.length),j=h+g.length;a&&j>a.reach&&(a.reach=j);var R=v.prev;T&&(R=Yu(t,R,T),h+=T.length),Uie(t,R,b);var E=new Sl(o,f?et.tokenize(P,f):P,p,P);if(v=Yu(t,R,E),I&&Yu(t,v,I),b>1){var N={cause:o+","+s,reach:j};n$(e,t,n,v.prev,h,N),a&&N.reach>a.reach&&(a.reach=N.reach)}}}}}}function zie(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function Yu(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function Uie(e,t,n){for(var r=t.next,i=0;i<n&&r!==e.tail;i++)r=r.next;t.next=r,r.prev=t,e.length-=i}function Wie(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}const r$=et;function i$(){}i$.prototype=r$;const Qe=new i$;Qe.highlight=Hie;Qe.register=Vie;Qe.alias=Gie;Qe.registered=Kie;Qe.listLanguages=Xie;Qe.util.encode=Yie;Qe.Token.stringify=Um;function Hie(e,t){if(typeof e!="string")throw new TypeError("Expected `string` for `value`, got `"+e+"`");let n,r;if(t&&typeof t=="object")n=t;else{if(r=t,typeof r!="string")throw new TypeError("Expected `string` for `name`, got `"+r+"`");if(Object.hasOwn(Qe.languages,r))n=Qe.languages[r];else throw new Error("Unknown language: `"+r+"` is not registered")}return{type:"root",children:r$.highlight.call(Qe,e,n,r)}}function Vie(e){if(typeof e!="function"||!e.displayName)throw new Error("Expected `function` for `syntax`, got `"+e+"`");Object.hasOwn(Qe.languages,e.displayName)||e(Qe)}function Gie(e,t){const n=Qe.languages;let r={};typeof e=="string"?t&&(r[e]=t):r=e;let i;for(i in r)if(Object.hasOwn(r,i)){const a=r[i],o=typeof a=="string"?[a]:a;let l=-1;for(;++l<o.length;)n[o[l]]=n[i]}}function Kie(e){if(typeof e!="string")throw new TypeError("Expected `string` for `aliasOrLanguage`, got `"+e+"`");return Object.hasOwn(Qe.languages,e)}function Xie(){const e=Qe.languages,t=[];let n;for(n in e)Object.hasOwn(e,n)&&typeof e[n]=="object"&&t.push(n);return t}function Um(e,t){if(typeof e=="string")return{type:"text",value:e};if(Array.isArray(e)){const r=[];let i=-1;for(;++i<e.length;)e[i]!==null&&e[i]!==void 0&&e[i]!==""&&r.push(Um(e[i],t));return r}const n={attributes:{},classes:["token",e.type],content:Um(e.content,t),language:t,tag:"span",type:e.type};return e.alias&&n.classes.push(...typeof e.alias=="string"?[e.alias]:e.alias),Qe.hooks.run("wrap",n),Cie(n.tag+"."+n.classes.join("."),qie(n.attributes),n.content)}function Yie(e){return e}function qie(e){let t;for(t in e)Object.hasOwn(e,t)&&(e[t]=Lie(e[t]));return e}var gt=gie(Qe,{});gt.registerLanguage=function(e,t){return Qe.register(t)};gt.alias=function(e,t){return Qe.alias(e,t)};Gd.displayName="markup";Gd.aliases=["atom","html","mathml","rss","ssml","svg","xml"];function Gd(e){e.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},e.languages.markup.tag.inside["attr-value"].inside.entity=e.languages.markup.entity,e.languages.markup.doctype.inside["internal-subset"].inside=e.languages.markup,e.hooks.add("wrap",function(t){t.type==="entity"&&(t.attributes.title=t.content.value.replace(/&/,"&"))}),Object.defineProperty(e.languages.markup.tag,"addInlined",{value:function(n,r){var i={};i["language-"+r]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:e.languages[r]},i.cdata=/^<!\[CDATA\[|\]\]>$/i;var a={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:i}};a["language-"+r]={pattern:/[\s\S]+/,inside:e.languages[r]};var o={};o[n]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return n}),"i"),lookbehind:!0,greedy:!0,inside:a},e.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(e.languages.markup.tag,"addAttribute",{value:function(t,n){e.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+t+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[n,"language-"+n],inside:e.languages[n]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),e.languages.html=e.languages.markup,e.languages.mathml=e.languages.markup,e.languages.svg=e.languages.markup,e.languages.xml=e.languages.extend("markup",{}),e.languages.ssml=e.languages.xml,e.languages.atom=e.languages.xml,e.languages.rss=e.languages.xml}Zy.displayName="css";Zy.aliases=[];function Zy(e){(function(t){var n=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;t.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+n.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+n.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+n.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+n.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:n,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},t.languages.css.atrule.inside.rest=t.languages.css;var r=t.languages.markup;r&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css"))})(e)}Gi.displayName="clike";Gi.aliases=[];function Gi(e){e.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}Kd.displayName="javascript";Kd.aliases=["js"];function Kd(e){e.register(Gi),e.languages.javascript=e.languages.extend("clike",{"class-name":[e.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),e.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,e.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:e.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),e.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:e.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),e.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),e.languages.markup&&(e.languages.markup.tag.addInlined("script","javascript"),e.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),e.languages.js=e.languages.javascript}Qy.displayName="sql";Qy.aliases=[];function Qy(e){e.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}}Jy.displayName="bash";Jy.aliases=["sh","shell"];function Jy(e){(function(t){var n="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",r={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},i={bash:r,environment:{pattern:RegExp("\\$"+n),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+n),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};t.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+n),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:i},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:r}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:i},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:i.entity}}],environment:{pattern:RegExp("\\$?"+n),alias:"constant"},variable:i.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},r.inside=t.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=i.variable[1].inside,l=0;l<a.length;l++)o[a[l]]=t.languages.bash[a[l]];t.languages.sh=t.languages.bash,t.languages.shell=t.languages.bash})(e)}e0.displayName="yaml";e0.aliases=["yml"];function e0(e){(function(t){var n=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,i="(?:"+r.source+"(?:[ ]+"+n.source+")?|"+n.source+"(?:[ ]+"+r.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function l(s,u){u=(u||"").replace(/m/g,"")+"m";var f=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return i}).replace(/<<value>>/g,function(){return s});return RegExp(f,u)}t.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return i})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return i}).replace(/<<key>>/g,function(){return"(?:"+a+"|"+o+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:l(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:l(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:l(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:l(o),lookbehind:!0,greedy:!0},number:{pattern:l(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:r,important:n,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},t.languages.yml=t.languages.yaml})(e)}t0.displayName="markdown";t0.aliases=["md"];function t0(e){e.register(Gd),function(t){var n=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function r(l){return l=l.replace(/<inner>/g,function(){return n}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+l+")")}var i=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return i}),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;t.languages.markdown=t.languages.extend("markup",{}),t.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:t.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(i),inside:t.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(i),alias:"important",inside:t.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:r(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:r(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:r(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:r(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(l){["url","bold","italic","strike","code-snippet"].forEach(function(s){l!==s&&(t.languages.markdown[l].inside.content.inside[s]=t.languages.markdown[s])})}),t.hooks.add("after-tokenize",function(l){if(l.language!=="markdown"&&l.language!=="md")return;function s(u){if(!(!u||typeof u=="string"))for(var f=0,c=u.length;f<c;f++){var d=u[f];if(d.type!=="code"){s(d.content);continue}var p=d.content[1],y=d.content[3];if(p&&y&&p.type==="code-language"&&y.type==="code-block"&&typeof p.content=="string"){var m=p.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp");m=(/[a-z][\w-]*/i.exec(m)||[""])[0].toLowerCase();var v="language-"+m;y.alias?typeof y.alias=="string"?y.alias=[y.alias,v]:y.alias.push(v):y.alias=[v]}}}s(l.tokens)}),t.hooks.add("wrap",function(l){if(l.type==="code-block"){for(var s="",u=0,f=l.classes.length;u<f;u++){var c=l.classes[u],d=/language-(.+)/.exec(c);if(d){s=d[1];break}}var p=t.languages[s];if(p)l.content=t.highlight(l.content.value,p,s);else if(s&&s!=="none"&&t.plugins.autoloader){var y="md-"+new Date().valueOf()+"-"+Math.floor(Math.random()*1e16);l.attributes.id=y,t.plugins.autoloader.loadLanguages(s,function(){var m=document.getElementById(y);m&&(m.innerHTML=t.highlight(m.textContent,t.languages[s],s))})}}}),RegExp(t.languages.markup.tag.pattern.source,"gi"),t.languages.md=t.languages.markdown}(e)}n0.displayName="ruby";n0.aliases=["rb"];function n0(e){e.register(Gi),function(t){t.languages.ruby=t.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),t.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var n={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:t.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete t.languages.ruby.function;var r="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",i=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;t.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+r+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:n,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:n,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+i),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+i+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),t.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+r),greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:n,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+r),greedy:!0,inside:{interpolation:n,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:n,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete t.languages.ruby.string,t.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),t.languages.rb=t.languages.ruby}(e)}r0.displayName="go";r0.aliases=[];function r0(e){e.register(Gi),e.languages.go=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),e.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete e.languages.go["class-name"]}i0.displayName="json";i0.aliases=["webmanifest"];function i0(e){e.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},e.languages.webmanifest=e.languages.json}a0.displayName="java";a0.aliases=[];function a0(e){e.register(Gi),function(t){var n=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,r=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,i={pattern:RegExp(/(^|[^\w.])/.source+r+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};t.languages.java=t.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[i,{pattern:RegExp(/(^|[^\w.])/.source+r+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:i.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+r+/[A-Z]\w*\b/.source),lookbehind:!0,inside:i.inside}],keyword:n,function:[t.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),t.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),t.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":i,keyword:n,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+r+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:i.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+r+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:i.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,function(){return n.source})),lookbehind:!0,inside:{punctuation:/\./}}})}(e)}o0.displayName="typescript";o0.aliases=["ts"];function o0(e){e.register(Kd),function(t){t.languages.typescript=t.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),t.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete t.languages.typescript.parameter,delete t.languages.typescript["literal-property"];var n=t.languages.extend("typescript",{});delete n["class-name"],t.languages.typescript["class-name"].inside=n,t.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:n}}}}),t.languages.ts=t.languages.typescript}(e)}l0.displayName="kotlin";l0.aliases=["kt","kts"];function l0(e){e.register(Gi),function(t){t.languages.kotlin=t.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete t.languages.kotlin["class-name"];var n={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:t.languages.kotlin}};t.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:n},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:n},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete t.languages.kotlin.string,t.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),t.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),t.languages.kt=t.languages.kotlin,t.languages.kts=t.languages.kotlin}(e)}s0.displayName="python";s0.aliases=["py"];function s0(e){e.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern://,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},e.languages.python["string-interpolation"].inside.interpolation.inside.rest=e.languages.python,e.languages.py=e.languages.python}u0.displayName="jsx";u0.aliases=[];function u0(e){e.register(Kd),e.register(Gd),function(t){var n=t.util.clone(t.languages.javascript),r=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,i=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function o(u,f){return u=u.replace(/<S>/g,function(){return r}).replace(/<BRACES>/g,function(){return i}).replace(/<SPREAD>/g,function(){return a}),RegExp(u,f)}a=o(a).source,t.languages.jsx=t.languages.extend("markup",n),t.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),t.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,t.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,t.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,t.languages.jsx.tag.inside.comment=n.comment,t.languages.insertBefore("inside","attr-name",{spread:{pattern:o(/<SPREAD>/.source),inside:t.languages.jsx}},t.languages.jsx.tag),t.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:t.languages.jsx}}},t.languages.jsx.tag);var l=function(u){return u?typeof u=="string"?u:typeof u.content=="string"?u.content:u.content.map(l).join(""):""},s=function(u){for(var f=[],c=0;c<u.length;c++){var d=u[c],p=!1;if(typeof d!="string"&&(d.type==="tag"&&d.content[0]&&d.content[0].type==="tag"?d.content[0].content[0].content==="</"?f.length>0&&f[f.length-1].tagName===l(d.content[0].content[1])&&f.pop():d.content[d.content.length-1].content==="/>"||f.push({tagName:l(d.content[0].content[1]),openedBraces:0}):f.length>0&&d.type==="punctuation"&&d.content==="{"?f[f.length-1].openedBraces++:f.length>0&&f[f.length-1].openedBraces>0&&d.type==="punctuation"&&d.content==="}"?f[f.length-1].openedBraces--:p=!0),(p||typeof d=="string")&&f.length>0&&f[f.length-1].openedBraces===0){var y=l(d);c<u.length-1&&(typeof u[c+1]=="string"||u[c+1].type==="plain-text")&&(y+=l(u[c+1]),u.splice(c+1,1)),c>0&&(typeof u[c-1]=="string"||u[c-1].type==="plain-text")&&(y=l(u[c-1])+y,u.splice(c-1,1),c--),u[c]=new t.Token("plain-text",y,null,y)}d.content&&typeof d.content!="string"&&s(d.content)}};t.hooks.add("after-tokenize",function(u){u.language!=="jsx"&&u.language!=="tsx"||s(u.tokens)})}(e)}c0.displayName="tsx";c0.aliases=[];function c0(e){e.register(u0),e.register(o0),function(t){var n=t.util.clone(t.languages.typescript);t.languages.tsx=t.languages.extend("jsx",n),delete t.languages.tsx.parameter,delete t.languages.tsx["literal-property"];var r=t.languages.tsx.tag;r.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+r.pattern.source+")",r.pattern.flags),r.lookbehind=!0}(e)}f0.displayName="rust";f0.aliases=[];function f0(e){(function(t){for(var n=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,r=0;r<2;r++)n=n.replace(/<self>/g,function(){return n});n=n.replace(/<self>/g,function(){return/[^\s\S]/.source}),t.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+n),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},t.languages.rust["closure-params"].inside.rest=t.languages.rust,t.languages.rust.attribute.inside.string=t.languages.rust.string})(e)}const Zie={'pre[class*="language-"]':{color:"#d4d4d4",fontSize:"13px",textShadow:"none",fontFamily:'Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",background:"#1e1e1e"},'code[class*="language-"]':{color:"#d4d4d4",fontSize:"13px",textShadow:"none",fontFamily:'Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]::selection':{textShadow:"none",background:"#264F78"},'code[class*="language-"]::selection':{textShadow:"none",background:"#264F78"},'pre[class*="language-"] *::selection':{textShadow:"none",background:"#264F78"},'code[class*="language-"] *::selection':{textShadow:"none",background:"#264F78"},':not(pre) > code[class*="language-"]':{padding:".1em .3em",borderRadius:".3em",color:"#db4c69",background:"#1e1e1e"},".namespace":{Opacity:".7"},"doctype.doctype-tag":{color:"#569CD6"},"doctype.name":{color:"#9cdcfe"},comment:{color:"#6a9955"},prolog:{color:"#6a9955"},punctuation:{color:"#d4d4d4"},".language-html .language-css .token.punctuation":{color:"#d4d4d4"},".language-html .language-javascript .token.punctuation":{color:"#d4d4d4"},property:{color:"#9cdcfe"},tag:{color:"#569cd6"},boolean:{color:"#569cd6"},number:{color:"#b5cea8"},constant:{color:"#9cdcfe"},symbol:{color:"#b5cea8"},inserted:{color:"#b5cea8"},unit:{color:"#b5cea8"},selector:{color:"#d7ba7d"},"attr-name":{color:"#9cdcfe"},string:{color:"#ce9178"},char:{color:"#ce9178"},builtin:{color:"#ce9178"},deleted:{color:"#ce9178"},".language-css .token.string.url":{textDecoration:"underline"},operator:{color:"#d4d4d4"},entity:{color:"#569cd6"},"operator.arrow":{color:"#569CD6"},atrule:{color:"#ce9178"},"atrule.rule":{color:"#c586c0"},"atrule.url":{color:"#9cdcfe"},"atrule.url.function":{color:"#dcdcaa"},"atrule.url.punctuation":{color:"#d4d4d4"},keyword:{color:"#569CD6"},"keyword.module":{color:"#c586c0"},"keyword.control-flow":{color:"#c586c0"},function:{color:"#dcdcaa"},"function.maybe-class-name":{color:"#dcdcaa"},regex:{color:"#d16969"},important:{color:"#569cd6"},italic:{fontStyle:"italic"},"class-name":{color:"#4ec9b0"},"maybe-class-name":{color:"#4ec9b0"},console:{color:"#9cdcfe"},parameter:{color:"#9cdcfe"},interpolation:{color:"#9cdcfe"},"punctuation.interpolation-punctuation":{color:"#569cd6"},variable:{color:"#9cdcfe"},"imports.maybe-class-name":{color:"#9cdcfe"},"exports.maybe-class-name":{color:"#9cdcfe"},escape:{color:"#d7ba7d"},"tag.punctuation":{color:"#808080"},cdata:{color:"#808080"},"attr-value":{color:"#ce9178"},"attr-value.punctuation":{color:"#ce9178"},"attr-value.punctuation.attr-equals":{color:"#d4d4d4"},namespace:{color:"#4ec9b0"},'pre[class*="language-javascript"]':{color:"#9cdcfe"},'code[class*="language-javascript"]':{color:"#9cdcfe"},'pre[class*="language-jsx"]':{color:"#9cdcfe"},'code[class*="language-jsx"]':{color:"#9cdcfe"},'pre[class*="language-typescript"]':{color:"#9cdcfe"},'code[class*="language-typescript"]':{color:"#9cdcfe"},'pre[class*="language-tsx"]':{color:"#9cdcfe"},'code[class*="language-tsx"]':{color:"#9cdcfe"},'pre[class*="language-css"]':{color:"#ce9178"},'code[class*="language-css"]':{color:"#ce9178"},'pre[class*="language-html"]':{color:"#d4d4d4"},'code[class*="language-html"]':{color:"#d4d4d4"},".language-regex .token.anchor":{color:"#dcdcaa"},".language-html .token.punctuation":{color:"#808080"},'pre[class*="language-"] > code[class*="language-"]':{position:"relative",zIndex:"1"},".line-highlight.line-highlight":{background:"#f7ebc6",boxShadow:"inset 5px 0 0 #f7d87c",zIndex:"0"}},Qie={critical:"#fca5a5",high:"#fdba74",medium:"#fde68a",low:"#86efac"},Au=240,ai=40,qt=2;function ih(e){const t=Math.floor(Date.now()/1e3)-e;return t<60?"just now":t<3600?`${Math.floor(t/60)}m ago`:t<86400?`${Math.floor(t/3600)}h ago`:`${Math.floor(t/86400)}d ago`}function Jie({file:e}){const[t,n]=k.useState({status:"loading"});if(k.useEffect(()=>{let g=!1;return n({status:"loading"}),fetch(`/api/trends/file?path=${encodeURIComponent(e)}&range=90d`).then(async b=>{if(!b.ok)throw new Error(`API failed: ${b.status}`);return b.json()}).then(b=>{g||n({status:"success",data:b})}).catch(b=>{g||n({status:"error",message:b instanceof Error?b.message:String(b)})}),()=>{g=!0}},[e]),t.status==="loading")return O.jsx("div",{className:"text-white/30 text-xs",children:"Loading risk history…"});if(t.status==="error")return O.jsxs("div",{className:"text-red-300/60 text-xs",children:["Risk history failed: ",t.message]});const{points:r,gitEnabled:i}=t.data;if(!i)return O.jsx("div",{className:"text-white/40 text-xs",children:"No git history available for this project."});if(r.length===0)return O.jsxs("div",{className:"text-white/40 text-xs leading-relaxed",children:["No risk history yet for this file.",O.jsx("br",{}),O.jsx("span",{className:"text-white/30",children:"Records appear after a re-index when the file's score changes meaningfully."})]});if(r.length===1){const g=r[0];return O.jsxs("div",{className:"text-white/60 text-xs",children:["Single point: ",O.jsx("span",{className:"text-white/90 tabular-nums",children:g.score.toFixed(2)}),O.jsxs("span",{className:"text-white/30",children:[" (",g.label,", ",ih(g.unixSeconds),")"]})]})}const a=r[0],o=r[r.length-1],l=o.score-a.score,s=l>.005?"↑":l<-.005?"↓":"→",u=l>.005?"text-red-300/80":l<-.005?"text-green-300/80":"text-white/40",f=0,c=1,d=r.map(g=>g.unixSeconds),p=Math.min(...d),m=Math.max(...d)-p||1,v=c-f,h=r.map((g,b)=>{const x=qt+(g.unixSeconds-p)/m*(Au-qt*2),w=ai-qt-(g.score-f)/v*(ai-qt*2);return`${b===0?"M":"L"}${x.toFixed(1)} ${w.toFixed(1)}`}).join(" ");return O.jsxs("div",{className:"space-y-1.5",children:[O.jsxs("div",{className:"flex items-baseline justify-between",children:[O.jsx("span",{className:"text-white/40 text-[10px] uppercase tracking-wide",children:"Risk over time"}),O.jsxs("span",{className:"text-white/30 text-[10px]",children:[r.length," points · last 90d"]})]}),O.jsxs("div",{className:"flex items-center gap-3",children:[O.jsxs("svg",{width:Au,height:ai,className:"shrink-0",children:[O.jsx("line",{x1:qt,y1:ai-qt,x2:Au-qt,y2:ai-qt,stroke:"rgba(255,255,255,0.05)"}),O.jsx("path",{d:h,fill:"none",stroke:"#a78bfa",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),r.map((g,b)=>{const x=qt+(g.unixSeconds-p)/m*(Au-qt*2),w=ai-qt-(g.score-f)/v*(ai-qt*2);return O.jsx("circle",{cx:x,cy:w,r:2,fill:Qie[g.label]??"#a78bfa",children:O.jsxs("title",{children:[g.label," (",g.score.toFixed(2),") — ",ih(g.unixSeconds)]})},b)})]}),O.jsxs("div",{className:"text-xs leading-relaxed",children:[O.jsxs("div",{className:"text-white/60",children:[O.jsx("span",{className:"text-white/90 tabular-nums",children:o.score.toFixed(2)}),O.jsxs("span",{className:"text-white/30",children:[" · ",o.label]})]}),O.jsxs("div",{className:`tabular-nums text-[11px] ${u}`,children:[s," ",l>=0?"+":"",l.toFixed(2)," ",O.jsxs("span",{className:"text-white/30",children:["since ",ih(a.unixSeconds)]})]})]})]})]})}gt.registerLanguage("bash",Jy);gt.registerLanguage("css",Zy);gt.registerLanguage("go",r0);gt.registerLanguage("java",a0);gt.registerLanguage("json",i0);gt.registerLanguage("kotlin",l0);gt.registerLanguage("markdown",t0);gt.registerLanguage("python",s0);gt.registerLanguage("ruby",n0);gt.registerLanguage("rust",f0);gt.registerLanguage("sql",Qy);gt.registerLanguage("tsx",c0);gt.registerLanguage("yaml",e0);const eae={ts:"tsx",tsx:"tsx",js:"tsx",jsx:"tsx",mjs:"tsx",cjs:"tsx",py:"python",pyi:"python",go:"go",rs:"rust",java:"java",kt:"kotlin",kts:"kotlin",rb:"ruby",sql:"sql",md:"markdown",markdown:"markdown",sh:"bash",bash:"bash",zsh:"bash",yml:"yaml",yaml:"yaml",json:"json",css:"css"};function tae(e){return e?eae[e.toLowerCase()]??"text":"text"}function Xd({file:e,onClose:t}){const[n,r]=k.useState(null),[i,a]=k.useState(!1),[o,l]=k.useState(!1);k.useEffect(()=>{if(!e){r(null);return}a(!0),fetch(`/api/file?path=${encodeURIComponent(e)}`).then(f=>f.ok?f.json():null).then(f=>r(f)).finally(()=>a(!1))},[e]);async function s(){e&&(l(!0),await fetch("/api/open",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})}),l(!1))}if(!e)return null;const u=e.split("/").pop()??e;return O.jsxs(O.Fragment,{children:[O.jsx("div",{className:"fixed inset-0 bg-black/40 z-40",onClick:t}),O.jsxs("div",{className:"fixed right-0 top-0 h-full w-[680px] max-w-full z-50 flex flex-col",style:{background:"#131220",borderLeft:"1px solid rgba(255,255,255,0.07)"},children:[O.jsxs("div",{className:"flex items-center justify-between px-5 py-4 shrink-0",style:{borderBottom:"1px solid rgba(255,255,255,0.07)"},children:[O.jsxs("div",{className:"min-w-0",children:[O.jsx("p",{className:"text-white font-medium text-sm truncate",children:u}),O.jsx("p",{className:"text-white/30 text-xs font-mono truncate mt-0.5",children:e})]}),O.jsxs("div",{className:"flex items-center gap-2 ml-4 shrink-0",children:[O.jsx("button",{onClick:s,disabled:o,className:"flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium bg-[#603dc6]/20 text-[#a78bfa] hover:bg-[#603dc6]/30 transition-colors disabled:opacity-50",children:o?"Opening…":"↗ Open in IDE"}),O.jsx("button",{onClick:t,className:"text-white/30 hover:text-white/70 transition-colors text-lg leading-none px-1",children:"✕"})]})]}),O.jsxs("div",{className:"flex-1 overflow-auto",children:[i&&O.jsx("div",{className:"p-5 text-white/30 text-sm",children:"Loading\\u2026"}),!i&&n&&O.jsxs(O.Fragment,{children:[O.jsxs("div",{className:"px-5 py-2 text-white/20 text-xs",style:{borderBottom:"1px solid rgba(255,255,255,0.05)"},children:[n.lines," lines · .",n.ext]}),O.jsx("div",{className:"px-5 py-3",style:{borderBottom:"1px solid rgba(255,255,255,0.05)"},children:O.jsx(Jie,{file:e})}),O.jsx(gt,{language:tae(n.ext),style:Zie,showLineNumbers:!0,wrapLongLines:!1,customStyle:{margin:0,padding:"20px",background:"transparent",fontSize:"12px",lineHeight:1.55},lineNumberStyle:{color:"rgba(255,255,255,0.20)",minWidth:"2em",paddingRight:"1em",userSelect:"none"},codeTagProps:{style:{fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace"}},children:n.content})]}),!i&&!n&&O.jsx("div",{className:"p-5 text-white/30 text-sm",children:"Could not load file."})]})]})]})}const Eu=Fre;function ah(e){return e.split("/").pop()??e}function nae(){const e=Si(kn.graph),t=k.useRef(null),n=k.useRef(null),r=k.useRef(null),i=k.useRef([]),[a,o]=k.useState(null),[l,s]=k.useState({x:0,y:0}),[u,f]=k.useState(null),[c,d]=k.useState(null),[p,y]=k.useState(""),[m,v]=k.useState([]),h=k.useCallback(g=>{if(!g.trim()||!t.current||!r.current)return;const b=g.toLowerCase(),x=i.current.find(w=>ah(w.id).toLowerCase().includes(b)||w.id.toLowerCase().includes(b));x&&x.x!=null&&x.y!=null&&bn(t.current).transition().duration(500).call(r.current.translateTo,x.x,x.y)},[]);return k.useEffect(()=>{h(p)},[p,h]),k.useEffect(()=>{var J,ae;if(e.status!=="success"||!t.current)return;const{nodes:g,edges:b}=e.data,x=[...g].sort((z,Q)=>Q.inDegree+Q.outDegree-(z.inDegree+z.outDegree)).slice(0,300),w=new Set(x.map(z=>z.id)),S=b.filter(z=>w.has(z.source)&&w.has(z.target)),_=[...new Set(x.map(z=>z.community))].sort((z,Q)=>z-Q);v(_);const A=new Set([...x].sort((z,Q)=>Q.inDegree+Q.outDegree-(z.inDegree+z.outDegree)).slice(0,15).map(z=>z.id)),P=t.current,T=P.clientWidth||900,I=P.clientHeight||600,j=bn(P);j.selectAll("*").remove();const R=j.append("g"),E=Kre().scaleExtent([.1,8]).on("zoom",z=>R.attr("transform",z.transform));r.current=E,j.call(E),j.on("click",z=>{z.target===P&&f(null)});const N=x.map(z=>({...z}));i.current=N;const C=new Map(N.map(z=>[z.id,z])),L=S.map(z=>({source:C.get(z.source),target:C.get(z.target)})).filter(z=>z.source&&z.target),M=new Map;for(const z of N)M.set(z.id,new Set);for(const z of L)(J=M.get(z.source.id))==null||J.add(z.target.id),(ae=M.get(z.target.id))==null||ae.add(z.source.id);const D=Lre(N).force("link",kre(L).id(z=>z.id).distance(60)).force("charge",Dre().strength(-120)).force("center",sre(T/2,I/2)).force("collision",Pre(8)),B=R.append("g").selectAll("line").data(L).join("line").attr("stroke","rgba(255,255,255,0.1)").attr("stroke-width",.8).attr("stroke-opacity",.6),W=R.append("g").selectAll("g").data(N).join("g").style("cursor","pointer").call(qte().on("start",(z,Q)=>{z.active||D.alphaTarget(.3).restart(),Q.fx=Q.x,Q.fy=Q.y}).on("drag",(z,Q)=>{Q.fx=z.x,Q.fy=z.y}).on("end",(z,Q)=>{z.active||D.alphaTarget(0),Q.fx=null,Q.fy=null}));W.filter(z=>(z.riskScore??0)>.6).append("circle").attr("class","risk-ring").attr("r",z=>3+Math.min(10,(z.inDegree+z.outDegree)*.5)+3).attr("fill","none").attr("stroke","#ef4444").attr("stroke-opacity",.6).attr("stroke-width",z=>(z.riskScore??0)>.8?2.5:1.5);const U=W.append("circle").attr("r",z=>3+Math.min(10,(z.inDegree+z.outDegree)*.5)).attr("fill",z=>Eu[z.community%Eu.length]).attr("stroke","rgba(255,255,255,0.15)").attr("stroke-width",1);W.filter(z=>A.has(z.id)).append("text").attr("dy",z=>3+Math.min(10,(z.inDegree+z.outDegree)*.5)+11).attr("text-anchor","middle").attr("font-size",9).attr("fill","rgba(255,255,255,0.6)").attr("pointer-events","none").text(z=>ah(z.id)),W.on("mouseover",(z,Q)=>{o({id:Q.id,label:Q.label,inDegree:Q.inDegree,outDegree:Q.outDegree,riskScore:Q.riskScore})}).on("mousemove",z=>{const Q=P.getBoundingClientRect();s({x:z.clientX-Q.left+12,y:z.clientY-Q.top-8})}).on("mouseout",()=>{o(null)}).on("click",(z,Q)=>{z.stopPropagation(),f(ce=>ce===Q.id?null:Q.id),d(Q.id)});function Y(z){if(z===null)W.attr("opacity",1),U.attr("opacity",1),B.attr("opacity",.6);else{const Q=M.get(z)??new Set;W.attr("opacity",ce=>ce.id===z||Q.has(ce.id)?1:.15),B.attr("opacity",ce=>{const X=ce.source.id,re=ce.target.id;return X===z||re===z?.9:.05})}}return t.current._applyHighlight=Y,D.on("tick",()=>{B.attr("x1",z=>z.source.x??0).attr("y1",z=>z.source.y??0).attr("x2",z=>z.target.x??0).attr("y2",z=>z.target.y??0),W.attr("transform",z=>`translate(${z.x??0},${z.y??0})`)}),D.on("end",()=>{i.current=N}),()=>{D.stop(),t.current&&delete t.current._applyHighlight}},[e]),k.useEffect(()=>{if(!t.current)return;const g=t.current._applyHighlight;g&&g(u)},[u]),e.status==="loading"?O.jsx("div",{className:"text-white/40 text-sm",children:"Building graph..."}):e.status==="error"?O.jsx(vo,{message:e.message}):O.jsxs("div",{className:"space-y-4 h-full",children:[O.jsxs("div",{className:"flex items-center justify-between",children:[O.jsx("h1",{className:"text-white text-xl font-semibold",children:"Dependency Graph"}),O.jsxs("span",{className:"text-xs text-white/40",children:[e.data.nodes.length," nodes · ",e.data.edges.length," edges · scroll to zoom · drag to pan"]})]}),O.jsxs("div",{ref:n,className:"rounded-xl border border-white/10 bg-[#18181f] relative overflow-hidden",style:{height:"calc(100vh - 160px)"},children:[O.jsx("div",{className:"absolute top-3 right-3 z-10",children:O.jsx("input",{type:"text",placeholder:"Search node...",value:p,onChange:g=>y(g.target.value),className:"bg-[#131220] border border-white/10 text-white placeholder:text-white/30 rounded-md px-2 py-1 text-xs w-48 outline-none focus:ring-1 focus:ring-[#603dc6]/50"})}),m.length>0&&O.jsxs("div",{className:"absolute bottom-3 left-3 z-10 bg-[#1e1d2a] border border-white/10 rounded-lg px-3 py-2 max-h-48 overflow-y-auto","aria-label":"Community legend",children:[O.jsx("p",{className:"text-white/40 text-[10px] uppercase tracking-wider mb-2",children:"Communities"}),O.jsx("div",{className:"space-y-1",children:m.map(g=>O.jsxs("div",{className:"flex items-center gap-2",children:[O.jsx("span",{className:"w-2.5 h-2.5 rounded-full flex-shrink-0",style:{backgroundColor:Eu[g%Eu.length]}}),O.jsx("span",{className:"text-white/60 text-[10px]",children:g})]},g))})]}),O.jsx("svg",{ref:t,width:"100%",height:"100%",style:{background:"#18181f",borderRadius:"0.75rem"}}),a&&O.jsxs("div",{className:"absolute pointer-events-none z-20 bg-[#1e1d2a] border border-white/10 rounded-lg px-3 py-2 text-xs text-white shadow-lg",style:{left:l.x,top:l.y,maxWidth:260},role:"tooltip",children:[O.jsx("p",{className:"font-bold truncate",children:ah(a.id)}),O.jsx("p",{className:"text-white/40 truncate mt-0.5",children:a.id}),O.jsxs("div",{className:"mt-2 space-y-0.5 text-white/70",children:[O.jsxs("p",{children:["In-degree: ",O.jsx("span",{className:"text-white",children:a.inDegree})]}),O.jsxs("p",{children:["Out-degree: ",O.jsx("span",{className:"text-white",children:a.outDegree})]}),O.jsxs("p",{children:["Risk score:"," ",O.jsx("span",{className:"text-white",children:a.riskScore!=null?a.riskScore.toFixed(2):"—"})]})]})]})]}),O.jsx(Xd,{file:c,onClose:()=>d(null)})]})}function rae(){const e=Si(kn.risk),[t,n]=k.useState("riskScore"),[r,i]=k.useState(""),[a,o]=k.useState(null);if(e.status==="loading")return O.jsx("div",{className:"text-white/40 text-sm",children:"Loading..."});if(e.status==="error")return O.jsx(vo,{message:e.message});const{entries:l,overallRiskScore:s,caps:u,bands:f}=e.data;if(l.length===0)return O.jsxs("div",{className:"space-y-4",children:[O.jsx("h1",{className:"text-white text-xl font-semibold",children:"Risk"}),O.jsxs("p",{className:"text-white/40 text-sm",children:["No git history available. Run ",O.jsx("code",{className:"text-[#a78bfa]",children:"ctxloom index --with-git"})," to enable risk analysis."]})]});const c=l.filter(p=>p.file.toLowerCase().includes(r.toLowerCase())).sort((p,y)=>y[t]-p[t]),d=[{key:"riskScore",label:"Risk"},{key:"churnLines",label:"Churn lines"},{key:"busFactor",label:"Bus factor"},{key:"couplingFanOut",label:"Coupling"},{key:"bugDensity",label:"Bug density"}];return O.jsxs("div",{className:"space-y-4",children:[O.jsxs("div",{className:"flex items-center justify-between",children:[O.jsx("h1",{className:"text-white text-xl font-semibold",children:"Risk"}),O.jsxs("span",{className:"text-sm text-white/40",title:"Score is intrinsic file risk: 40% churn + 30% bug density + 30% coupling, all normalized to this repo's 90th-percentile values. Labels are percentile-banded — top 5% are critical in this repo, next 10% are high, next 20% are medium. Bus factor is shown in each tooltip but does not contribute to the score.",children:["avg score: ",s,f&&O.jsxs("span",{className:"text-white/30",children:[" · ",f.criticalCount," critical · ",f.highCount," high · ",f.mediumCount," medium"]}),u&&O.jsxs("span",{className:"text-white/30",children:[" · ","churn p90: ",u.churn.toLocaleString()," · coupling p90: ",u.coupling]})]})]}),O.jsx("input",{type:"text",placeholder:"Filter by file...",value:r,onChange:p=>i(p.target.value),className:"w-full rounded-md border border-white/10 bg-[#1e1d2a] px-3 py-2 text-sm text-white placeholder:text-white/30 outline-none focus:ring-2 focus:ring-[#603dc6]/50 focus:border-[#603dc6]/50"}),O.jsx("div",{className:"overflow-x-auto rounded-xl border border-white/10 bg-[#1e1d2a]",children:O.jsxs("table",{className:"min-w-full text-sm",children:[O.jsx("thead",{className:"border-b border-white/10 bg-[#131220]",children:O.jsxs("tr",{children:[O.jsx("th",{className:"px-4 py-3 text-left text-xs font-medium text-white/40",children:"File"}),O.jsx("th",{className:"px-4 py-3 text-left text-xs font-medium text-white/40",children:"Owner"}),d.map(p=>O.jsxs("th",{onClick:()=>n(p.key),className:`px-4 py-3 text-left text-xs font-medium cursor-pointer select-none ${t===p.key?"text-[#a78bfa]":"text-white/40"}`,children:[p.label," ",t===p.key?"↓":""]},p.key))]})}),O.jsx("tbody",{className:"divide-y divide-[rgba(255,255,255,0.05)]",children:c.map(p=>O.jsxs("tr",{className:"hover:bg-white/5",children:[O.jsx("td",{className:"px-4 py-3 font-mono text-xs text-white/60 max-w-xs truncate cursor-pointer hover:text-[#a78bfa] transition-colors",title:p.file,onClick:()=>o(p.file),children:p.file}),O.jsx("td",{className:"px-4 py-3 text-xs text-white/50",children:p.topOwner??"—"}),O.jsx("td",{className:"px-4 py-3",children:O.jsx(TA,{level:p.riskLabel,breakdown:p.breakdown,score:p.riskScore,busFactor:p.busFactor,topOwner:p.topOwner,siloed:p.siloed})}),O.jsx("td",{className:"px-4 py-3 text-white/70",children:p.churnLines.toLocaleString()}),O.jsx("td",{className:"px-4 py-3 text-white/70",children:p.busFactor}),O.jsx("td",{className:"px-4 py-3 text-white/70",children:p.couplingFanOut}),O.jsx("td",{className:"px-4 py-3 text-white/70",children:p.bugDensity.toFixed(2)})]},p.file))})]})}),O.jsx(Xd,{file:a,onClose:()=>o(null)})]})}function iae(e,t,n){if(e===0){if(t===0)return{label:"→ stable",tone:"neutral"};const s=t>0;return{label:"↑ new",tone:n==="up"===s?"good":"bad"}}const r=(t-e)/e,i=Math.abs(r);if(i<.01)return{label:"→ stable",tone:"neutral"};const a=r>0?"↑":"↓",o=r>0,l=n==="up"===o;return{label:`${a} ${(i*100).toFixed(0)}%`,tone:l?"good":"bad"}}const aae={good:"#22c55e",bad:"#ef4444",neutral:"#a1a1aa"};function Pu({label:e,currentValue:t,series:n,goodDirection:r,format:i,gitRequired:a=!1,gitEnabled:o}){if(a&&!o)return O.jsxs("div",{className:"bg-[#1e1d2a] border border-white/10 rounded-xl p-5",children:[O.jsx("h2",{className:"text-white/40 text-xs uppercase tracking-wider mb-2",children:e}),O.jsx("p",{className:"text-white/30 text-sm",children:"Git history disabled"})]});const l=n.filter(p=>typeof p.v=="number");if(l.length<2||t===null)return O.jsxs("div",{className:"bg-[#1e1d2a] border border-white/10 rounded-xl p-5",children:[O.jsx("h2",{className:"text-white/40 text-xs uppercase tracking-wider mb-2",children:e}),O.jsxs("p",{className:"text-white/30 text-sm",children:["Collecting data — edit some files or run ",O.jsx("code",{className:"text-white/50",children:"ctxloom index"})]})]});const s=l[0].v,u=l[l.length-1].v,f=iae(s,u,r),c=aae[f.tone],d=`spark-grad-${e.replace(/[^a-zA-Z0-9]/g,"_")}`;return O.jsxs("div",{className:"bg-[#1e1d2a] border border-white/10 rounded-xl p-5",children:[O.jsx("h2",{className:"text-white/40 text-xs uppercase tracking-wider mb-2",children:e}),O.jsxs("div",{className:"flex items-baseline gap-3 mb-3",children:[O.jsx("span",{className:"text-white text-2xl font-semibold",children:i(t)}),O.jsx("span",{className:"text-xs font-medium",style:{color:c},children:f.label})]}),O.jsx("div",{className:"h-14",children:O.jsx(HE,{width:"100%",height:"100%",children:O.jsxs(aee,{data:l,margin:{top:4,right:4,bottom:4,left:4},children:[O.jsx("defs",{children:O.jsxs("linearGradient",{id:d,x1:"0",y1:"0",x2:"0",y2:"1",children:[O.jsx("stop",{offset:"0%",stopColor:c,stopOpacity:.32}),O.jsx("stop",{offset:"100%",stopColor:c,stopOpacity:0})]})}),O.jsx(zd,{hide:!0,domain:["auto","auto"]}),O.jsx(Jr,{type:"monotone",dataKey:"v",stroke:c,strokeWidth:1.75,fill:`url(#${d})`,dot:!1,isAnimationActive:!1})]})})})]})}const oae=[{value:"7d",label:"7d"},{value:"30d",label:"30d"},{value:"90d",label:"90d"}];function lae({value:e,onChange:t}){return O.jsx("div",{className:"inline-flex rounded-md bg-[#131220] border border-white/10 p-0.5",children:oae.map(n=>O.jsx("button",{onClick:()=>t(n.value),"aria-pressed":e===n.value,className:`px-3 py-1 text-xs font-medium rounded ${e===n.value?"bg-[#603dc6]/20 text-[#a78bfa]":"text-white/40 hover:text-white/70"}`,children:n.label},n.value))})}function t_(e){return String(Math.round(e))}function sae(e){return e.toFixed(1)}function uae(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(Math.round(e))}function Tu(e,t){return e.map(n=>({t:n.unixSeconds,v:n[t]}))}function ku(e,t){for(let n=e.length-1;n>=0;n--){const r=e[n][t];if(typeof r=="number")return r}return null}function cae(){const[e,t]=k.useState("30d"),[n,r]=k.useState({status:"loading"});if(k.useEffect(()=>{let o=!1;return r({status:"loading"}),fetch(`/api/trends?range=${e}`).then(async l=>{if(!l.ok)throw new Error(`API failed: ${l.status}`);return l.json()}).then(l=>{o||r({status:"success",data:l})}).catch(l=>{o||r({status:"error",message:l instanceof Error?l.message:String(l)})}),()=>{o=!0}},[e]),n.status==="loading")return O.jsx("div",{className:"text-white/40 text-sm",children:"Loading..."});if(n.status==="error")return O.jsx(vo,{message:n.message});const{snapshots:i,gitEnabled:a}=n.data;return O.jsxs("div",{className:"space-y-8",children:[O.jsxs("div",{className:"flex items-center justify-between",children:[O.jsx("h1",{className:"text-white text-xl font-semibold",children:"Trends"}),O.jsx(lae,{value:e,onChange:t})]}),O.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[O.jsx(Pu,{label:"Dead files",currentValue:ku(i,"deadFiles"),series:Tu(i,"deadFiles"),goodDirection:"down",format:t_,gitEnabled:a}),O.jsx(Pu,{label:"Avg bus factor",currentValue:ku(i,"avgBusFactor"),series:Tu(i,"avgBusFactor"),goodDirection:"up",format:sae,gitRequired:!0,gitEnabled:a}),O.jsx(Pu,{label:"High-risk files",currentValue:ku(i,"highRiskFiles"),series:Tu(i,"highRiskFiles"),goodDirection:"down",format:t_,gitRequired:!0,gitEnabled:a}),O.jsx(Pu,{label:"Churn lines / week",currentValue:ku(i,"churnLinesLast7d"),series:Tu(i,"churnLinesLast7d"),goodDirection:"down",format:uae,gitRequired:!0,gitEnabled:a})]})]})}function fae(){const e=Si(kn.communities),[t,n]=k.useState(null),[r,i]=k.useState(null);if(e.status==="loading")return O.jsx("div",{className:"text-white/40 text-sm",children:"Loading..."});if(e.status==="error")return O.jsx(vo,{message:e.message});const{communities:a,totalFiles:o,totalEdges:l}=e.data;return O.jsxs("div",{className:"space-y-4",children:[O.jsxs("div",{className:"flex items-center justify-between",children:[O.jsx("h1",{className:"text-white text-xl font-semibold",children:"Communities"}),O.jsxs("span",{className:"text-sm text-white/40",children:[a.length," clusters · ",o," files · ",l," edges"]})]}),O.jsx("div",{className:"grid grid-cols-1 gap-3 lg:grid-cols-2 items-start",children:a.map(s=>O.jsxs("div",{className:"bg-[#1e1d2a] border border-white/10 rounded-xl p-4 transition-colors hover:border-white/20",children:[O.jsxs("button",{className:"w-full flex items-center justify-between text-left",onClick:()=>n(t===s.id?null:s.id),children:[O.jsxs("div",{children:[O.jsx("span",{className:"text-white/80 text-sm font-medium",children:s.name}),O.jsxs("span",{className:"ml-2 text-xs text-white/40",children:[s.size," files"]})]}),O.jsx("span",{className:"text-white/30 text-xs",children:t===s.id?"▲":"▼"})]}),t===s.id&&O.jsx("ul",{className:"mt-3 space-y-1 border-t border-white/10 pt-3",children:s.files.map(u=>O.jsx("li",{className:"font-mono text-xs text-white/40 truncate cursor-pointer hover:text-[#a78bfa] transition-colors",title:u,onClick:()=>i(u),children:u},u))})]},s.id))}),O.jsx(Xd,{file:r,onClose:()=>i(null)})]})}function dae(){const e=Si(kn.ownership),[t,n]=k.useState(""),[r,i]=k.useState(null);if(e.status==="loading")return O.jsx("div",{className:"text-white/40 text-sm",children:"Loading..."});if(e.status==="error")return O.jsx(vo,{message:e.message});const{entries:a,totalAuthors:o}=e.data;if(a.length===0)return O.jsxs("div",{className:"space-y-4",children:[O.jsx("h1",{className:"text-white text-xl font-semibold",children:"Ownership"}),O.jsxs("p",{className:"text-white/40 text-sm",children:["No git history available. Run ",O.jsx("code",{className:"text-[#a78bfa]",children:"ctxloom index --with-git"})," to enable ownership analysis."]})]});const l=a.filter(u=>u.file.toLowerCase().includes(t.toLowerCase())||u.primaryOwner.toLowerCase().includes(t.toLowerCase())),s=a.filter(u=>u.busFactor===1).length;return O.jsxs("div",{className:"space-y-4",children:[O.jsxs("div",{className:"flex items-center justify-between",children:[O.jsx("h1",{className:"text-white text-xl font-semibold",children:"Ownership"}),O.jsxs("span",{className:"text-sm text-white/40",children:[o," authors · ",s," single-owner files"]})]}),s>0&&O.jsxs("div",{className:"bg-yellow-900/20 border border-yellow-500/30 text-yellow-300 rounded-lg p-3 text-sm",children:["⚠ ",s," files have only one contributor — bus factor risk."]}),O.jsx("input",{type:"text",placeholder:"Filter by file or owner...",value:t,onChange:u=>n(u.target.value),className:"w-full rounded-md border border-white/10 bg-[#1e1d2a] px-3 py-2 text-sm text-white placeholder:text-white/30 outline-none focus:ring-2 focus:ring-[#603dc6]/50 focus:border-[#603dc6]/50"}),O.jsx("div",{className:"overflow-x-auto rounded-xl border border-white/10 bg-[#1e1d2a]",children:O.jsxs("table",{className:"min-w-full text-sm",children:[O.jsx("thead",{className:"border-b border-white/10 bg-[#131220]",children:O.jsxs("tr",{children:[O.jsx("th",{className:"px-4 py-3 text-left text-xs font-medium text-white/40",children:"File"}),O.jsx("th",{className:"px-4 py-3 text-left text-xs font-medium text-white/40",children:"Primary owner"}),O.jsx("th",{className:"px-4 py-3 text-left text-xs font-medium text-white/40",children:"Share"}),O.jsx("th",{className:"px-4 py-3 text-left text-xs font-medium text-white/40",children:"Contributors"})]})}),O.jsx("tbody",{className:"divide-y divide-[rgba(255,255,255,0.05)]",children:l.map(u=>O.jsxs("tr",{className:`hover:bg-white/5 ${u.busFactor===1?"bg-yellow-900/10":""}`,children:[O.jsx("td",{className:"px-4 py-3 font-mono text-xs text-white/60 max-w-xs truncate cursor-pointer hover:text-[#a78bfa] transition-colors",title:u.file,onClick:()=>i(u.file),children:u.file}),O.jsx("td",{className:"px-4 py-3 text-xs text-white/70",children:u.primaryOwner}),O.jsxs("td",{className:"px-4 py-3 text-xs text-white/50",children:[Math.round(u.primaryShare*100),"%"]}),O.jsx("td",{className:"px-4 py-3 text-xs text-white/50",children:u.busFactor===1?O.jsx("span",{className:"text-yellow-400 font-medium",children:"sole owner"}):u.busFactor})]},u.file))})]})}),O.jsx(Xd,{file:r,onClose:()=>i(null)})]})}const n_=[{id:"overview",title:"Overview",icon:"◈",summary:"Your codebase at a glance — health snapshot and architectural hotspots.",items:[{term:"Files",def:"Total source files indexed. Click to open the Dependency Graph."},{term:"Edges",def:"Total import/dependency relationships between files. A high edge count relative to file count means a densely coupled codebase."},{term:"Communities",def:'Logical modules detected automatically by grouping files that import each other heavily (Louvain algorithm). Think of them as architectural "neighbourhoods".'},{term:"Git history",def:'"enabled" means git overlay data is loaded — Risk, Churn, and Ownership metrics will show real values. "disabled" means only static graph metrics are available. Run ctxloom index --with-git to enable.'},{term:"Risk breakdown donut",def:'Distribution of files across four risk tiers. A healthy codebase has most files in "low" and very few in "critical". Each slice is sized by file count.'},{term:"Risk tiers",def:"critical (score > 0.8) — urgent attention needed. high (> 0.6) — should be addressed soon. medium (> 0.3) — monitor. low (≤ 0.3) — acceptable."},{term:"Top architectural hubs",def:"Files most imported by others (high in-degree ↑) or that import the most (high out-degree ↓). Hubs are load-bearing — a bug here ripples everywhere."}]},{id:"graph",title:"Dependency Graph",icon:"⬡",summary:"Interactive force-directed map of every import relationship in your codebase.",items:[{term:"Nodes (dots)",def:"Each node is a file. Size reflects total degree (imports + importers) — bigger means more connected."},{term:"Node colour",def:"Colour encodes the Louvain community. Files in the same community share many imports with each other. The community legend (bottom-left) maps colours to community IDs."},{term:"Red ring around a node",def:"Risk alert. A thin red ring means riskScore > 0.6 (high). A thick red ring means riskScore > 0.8 (critical). These files need attention."},{term:"Edges (lines)",def:"A line from A to B means A imports B. The direction shows dependency flow."},{term:"Labels",def:"The top-15 most-connected files always show their filename. Hover any node to see full details."},{term:"Hover tooltip",def:"Shows the full file path, in-degree (how many files import this), out-degree (how many files this imports), and risk score."},{term:"Click to highlight",def:"Clicking a node dims everything except its direct neighbours. This reveals the file's immediate dependency context. Click again to reset."},{term:"Search box",def:"Type a filename fragment to pan the viewport to the first matching node."},{term:"Zoom / pan",def:"Scroll to zoom. Drag the background to pan. Drag individual nodes to reposition them."},{term:"Isolated nodes (far from centre)",def:"Files with few or no dependencies — utilities, config files, or dead code candidates."}]},{id:"risk",title:"Risk",icon:"⚠",summary:"Composite risk score per file, combining git churn, ownership concentration, and coupling.",items:[{term:"Risk score",def:"Weighted composite: (churn × 0.4) + (bus factor × 0.3) + (coupling × 0.3), normalised 0–1. Higher is riskier. Click the column header to sort."},{term:"Risk label (badge)",def:"critical / high / medium / low — derived from the risk score thresholds above. Critical files deserve immediate review."},{term:"Churn lines",def:"Total lines added + removed across all commits in the git window (default 365 days). High churn means the file changes frequently — volatility that correlates with bugs."},{term:"Bug density",def:"Ratio of commits with bug-fix keywords (fix, bug, hotfix, patch) to total commits touching this file. A value of 0.30 means 30% of its commits were bug fixes — a strong signal of instability."},{term:"Bus factor",def:"Minimum number of contributors whose loss would leave > 50% of this file's git history without a knowledgeable owner. Bus factor 1 = single point of failure."},{term:"Coupling",def:"Number of other files that import this file (fan-out of its importers). High coupling = many blast radius victims when this file changes."},{term:"Owner",def:"The git author responsible for the most lines of the file's history (by commit count share)."},{term:"avg score",def:"Mean risk score across all files shown. Use it as a baseline — individual files above this average warrant closer inspection."}]},{id:"communities",title:"Communities",icon:"⬡⬡",summary:"Auto-detected architectural modules — files that belong together by import density.",items:[{term:"What is a community?",def:"A group of files that import each other more than they import files outside the group. Detected via the Louvain modularity algorithm on the dependency graph."},{term:"Community name",def:"Named after the highest-degree file in the group (the hub). It's a label, not a hard boundary."},{term:"Size",def:"Number of files in the community. Very large communities (50+ files) may indicate an overgrown module that should be split. Very small ones (1–2 files) may be isolated utilities."},{term:"Expanding a community",def:"Click the row to expand and see all member files. This helps you verify whether the auto-grouping makes architectural sense."},{term:"What to look for",def:"Ideally, communities map to feature domains (auth, payments, graph). If unrelated files appear in the same community, they may be over-coupled. If a feature is split across many communities, its modules may be too tangled."},{term:"87 clusters",def:"A high community count vs file count ratio is normal — many files are singletons or small isolated groups (config, fixtures, types)."}]},{id:"ownership",title:"Ownership",icon:"◎",summary:"Per-file git ownership — who knows the code and where knowledge is concentrated.",items:[{term:"Primary owner",def:"The contributor with the highest share of commits touching this file."},{term:"Share %",def:"Percentage of commits to this file authored by the primary owner. 100% = sole owner."},{term:"Contributors column",def:'Shows "sole owner" (bus factor 1) or the count of meaningful contributors (bus factor > 1).'},{term:"Bus factor risk banner",def:"Appears when many files have only one contributor. If that person is unavailable, those files become a knowledge black hole."},{term:"Sole owner (highlighted in yellow)",def:"This file has exactly one person who understands it. It's the most critical ownership risk — prioritise review, documentation, or pair programming for these files."},{term:"What to do with this data",def:"Cross-reference with the Risk table. A file that is both high-churn AND sole-owner is extremely fragile. Target it for code review and knowledge transfer."},{term:"Filter",def:"Filter by filename or owner name to focus on a specific contributor's footprint or a specific directory."}]}];function pae(){return O.jsxs("div",{className:"max-w-3xl space-y-10 pb-16",children:[O.jsxs("div",{children:[O.jsx("h1",{className:"text-white text-xl font-semibold",children:"Guide"}),O.jsx("p",{className:"mt-1 text-white/50 text-sm",children:"How to read and interpret each dashboard view."})]}),O.jsx("div",{className:"flex flex-wrap gap-2",children:n_.map(e=>O.jsx("a",{href:`#${e.id}`,className:"rounded-full border border-white/10 px-3 py-1 text-xs text-white/50 hover:border-[#603dc6]/60 hover:text-[#a78bfa] transition-colors",children:e.title},e.id))}),n_.map(e=>O.jsxs("section",{id:e.id,className:"scroll-mt-6",children:[O.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[O.jsx("span",{className:"text-[#603dc6] text-lg select-none",children:e.icon}),O.jsx("h2",{className:"text-white font-semibold text-base",children:e.title})]}),O.jsx("p",{className:"text-white/50 text-sm mb-5 leading-relaxed",children:e.summary}),O.jsx("div",{className:"rounded-xl border border-white/10 bg-[#1e1d2a] overflow-hidden",children:e.items.map((t,n)=>O.jsxs("div",{className:`flex gap-4 px-5 py-4 ${n<e.items.length-1?"border-b border-[rgba(255,255,255,0.05)]":""}`,children:[O.jsx("dt",{className:"w-36 shrink-0 text-xs font-medium text-[#a78bfa] pt-0.5 leading-relaxed",children:t.term}),O.jsx("dd",{className:"text-sm text-white/60 leading-relaxed",children:t.def})]},t.term))})]},e.id))]})}let ol=null,$u=null;async function hae(){if(ol===null)return $u||($u=(async()=>{try{const e=await fetch("/api/telemetry/identity",{credentials:"same-origin"});if(!e.ok){ol=!1;return}ol=(await e.json()).enabled===!0}catch{ol=!1}})(),$u)}async function r_(e,t={}){if(await hae(),!!ol)try{await fetch("/api/telemetry/event",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:JSON.stringify({event:e,props:t}),keepalive:!0})}catch{}}function gae(){const e=mo();return k.useEffect(()=>{r_("dashboard_loaded")},[]),k.useEffect(()=>{r_("dashboard_page_viewed",{path:e.pathname})},[e.pathname]),null}function mae(){return O.jsxs(O.Fragment,{children:[O.jsx(gae,{}),O.jsx(EN,{children:O.jsxs(Un,{element:O.jsx(VN,{}),children:[O.jsx(Un,{index:!0,element:O.jsx(see,{})}),O.jsx(Un,{path:"graph",element:O.jsx(nae,{})}),O.jsx(Un,{path:"risk",element:O.jsx(rae,{})}),O.jsx(Un,{path:"trends",element:O.jsx(cae,{})}),O.jsx(Un,{path:"communities",element:O.jsx(fae,{})}),O.jsx(Un,{path:"ownership",element:O.jsx(dae,{})}),O.jsx(Un,{path:"guide",element:O.jsx(pae,{})})]})})]})}oh.createRoot(document.getElementById("root")).render(O.jsx($.StrictMode,{children:O.jsx(MN,{children:O.jsx(mae,{})})}));
|
|
144
|
+
//# sourceMappingURL=index-DNFP0Mer.js.map
|
|
@@ -8838,7 +8838,7 @@ function markAliasSent(home) {
|
|
|
8838
8838
|
|
|
8839
8839
|
// packages/core/src/license/telemetry.ts
|
|
8840
8840
|
var TELEMETRY_DISABLED = process.env["CTXLOOM_NO_TELEMETRY"] === "1" || process.env["DO_NOT_TRACK"] === "1";
|
|
8841
|
-
var CTXLOOM_VERSION = "1.1.
|
|
8841
|
+
var CTXLOOM_VERSION = "1.1.4".length > 0 ? "1.1.4" : "dev";
|
|
8842
8842
|
var POSTHOG_HOST = "https://eu.i.posthog.com";
|
|
8843
8843
|
var POSTHOG_KEY = process.env["POSTHOG_API_KEY"] ?? (true ? "phc_CiDkmFLcZ2K6uCpcoSUQLmFrnnUvsyXGhSxopX5TVKE6" : "");
|
|
8844
8844
|
var SENTRY_DSN = process.env["SENTRY_DSN"] ?? (true ? "https://81c94a0f04a8e242dee493ac1e17f733@o4508531702497280.ingest.de.sentry.io/4511256875368528" : "");
|
|
@@ -9409,4 +9409,4 @@ export {
|
|
|
9409
9409
|
FirstTouchTracker,
|
|
9410
9410
|
EmittedOnceTracker
|
|
9411
9411
|
};
|
|
9412
|
-
//# sourceMappingURL=chunk-
|
|
9412
|
+
//# sourceMappingURL=chunk-P5BGH7U6.js.map
|
package/dist/index.js
CHANGED
|
@@ -45,7 +45,7 @@ import {
|
|
|
45
45
|
validateDefaultRoot,
|
|
46
46
|
wrapWithIndexingEnvelope,
|
|
47
47
|
writeCODEOWNERS
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-P5BGH7U6.js";
|
|
49
49
|
import {
|
|
50
50
|
VectorStore
|
|
51
51
|
} from "./chunk-NEHYSE2Y.js";
|
|
@@ -892,7 +892,7 @@ try {
|
|
|
892
892
|
} catch {
|
|
893
893
|
}
|
|
894
894
|
var args = process.argv.slice(2);
|
|
895
|
-
var ctxloomVersion = "1.1.
|
|
895
|
+
var ctxloomVersion = "1.1.4".length > 0 ? "1.1.4" : "dev";
|
|
896
896
|
if (args.includes("--version") || args.includes("-v")) {
|
|
897
897
|
process.stdout.write(`ctxloom ${ctxloomVersion}
|
|
898
898
|
`);
|
|
@@ -965,7 +965,7 @@ async function checkLicense() {
|
|
|
965
965
|
if (command !== void 0 && LICENSE_GATE_BYPASS_COMMANDS.has(command)) return;
|
|
966
966
|
const ciKey = process.env["CTXLOOM_LICENSE_KEY"];
|
|
967
967
|
if (ciKey) {
|
|
968
|
-
const { ApiClient } = await import("./src-
|
|
968
|
+
const { ApiClient } = await import("./src-243TE3YF.js");
|
|
969
969
|
const client = new ApiClient(process.env["CTXLOOM_API_BASE"]);
|
|
970
970
|
try {
|
|
971
971
|
const result = await client.validate(ciKey, "ci-ephemeral");
|
|
@@ -1318,7 +1318,7 @@ async function main() {
|
|
|
1318
1318
|
process.exit(1);
|
|
1319
1319
|
}
|
|
1320
1320
|
if (alias !== void 0) {
|
|
1321
|
-
const { validateAlias } = await import("./src-
|
|
1321
|
+
const { validateAlias } = await import("./src-243TE3YF.js");
|
|
1322
1322
|
const v = validateAlias(alias);
|
|
1323
1323
|
if (!v.ok) {
|
|
1324
1324
|
console.error(`[ctxloom] Invalid alias: ${v.reason}`);
|
|
@@ -1562,7 +1562,7 @@ Suggested reviewers for ${files.length} file(s):`);
|
|
|
1562
1562
|
process.stderr.write("[ctxloom] --limit must be a non-negative integer (0 for unlimited)\n");
|
|
1563
1563
|
process.exit(2);
|
|
1564
1564
|
}
|
|
1565
|
-
const { loadRulesConfig, RulesChecker, formatText, formatJson, RulesConfigError } = await import("./src-
|
|
1565
|
+
const { loadRulesConfig, RulesChecker, formatText, formatJson, RulesConfigError } = await import("./src-243TE3YF.js");
|
|
1566
1566
|
let config;
|
|
1567
1567
|
try {
|
|
1568
1568
|
config = await loadRulesConfig(root);
|
|
@@ -1586,7 +1586,7 @@ Suggested reviewers for ${files.length} file(s):`);
|
|
|
1586
1586
|
}
|
|
1587
1587
|
let graph;
|
|
1588
1588
|
if (useSnapshot) {
|
|
1589
|
-
const { DependencyGraph: DG } = await import("./src-
|
|
1589
|
+
const { DependencyGraph: DG } = await import("./src-243TE3YF.js");
|
|
1590
1590
|
graph = new DG();
|
|
1591
1591
|
const loaded = await graph.loadSnapshotOnly(root);
|
|
1592
1592
|
if (!loaded) {
|
|
@@ -1595,7 +1595,7 @@ Suggested reviewers for ${files.length} file(s):`);
|
|
|
1595
1595
|
}
|
|
1596
1596
|
} else {
|
|
1597
1597
|
process.stderr.write("[ctxloom] Building dependency graph...\n");
|
|
1598
|
-
const { ASTParser: ASTParser2, DependencyGraph: DependencyGraph2 } = await import("./src-
|
|
1598
|
+
const { ASTParser: ASTParser2, DependencyGraph: DependencyGraph2 } = await import("./src-243TE3YF.js");
|
|
1599
1599
|
let parser;
|
|
1600
1600
|
try {
|
|
1601
1601
|
parser = new ASTParser2();
|
|
@@ -99,7 +99,7 @@ import {
|
|
|
99
99
|
validateDefaultRoot,
|
|
100
100
|
wrapWithIndexingEnvelope,
|
|
101
101
|
writeCODEOWNERS
|
|
102
|
-
} from "./chunk-
|
|
102
|
+
} from "./chunk-P5BGH7U6.js";
|
|
103
103
|
import {
|
|
104
104
|
VectorStore
|
|
105
105
|
} from "./chunk-NEHYSE2Y.js";
|
|
@@ -220,4 +220,4 @@ export {
|
|
|
220
220
|
wrapWithIndexingEnvelope,
|
|
221
221
|
writeCODEOWNERS
|
|
222
222
|
};
|
|
223
|
-
//# sourceMappingURL=src-
|
|
223
|
+
//# sourceMappingURL=src-243TE3YF.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ctxloom-pro",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"description": "ctxloom — The Universal Code Context Engine. A local-first MCP server providing intelligent code context via hybrid Vector + AST + Graph search with Skeletonization (92% token reduction).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -96,6 +96,7 @@
|
|
|
96
96
|
},
|
|
97
97
|
"devDependencies": {
|
|
98
98
|
"@ctxloom/core": "*",
|
|
99
|
+
"@sentry/cli": "^3.4.2",
|
|
99
100
|
"@types/js-yaml": "^4.0.9",
|
|
100
101
|
"@types/node": "^22.0.0",
|
|
101
102
|
"@types/picomatch": "^4.0.3",
|