codegraphy-lite 1.0.0__py3-none-any.whl
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.
- codegraphy_lite/__init__.py +7 -0
- codegraphy_lite/cli.py +113 -0
- codegraphy_lite/mcp.py +338 -0
- codegraphy_lite/models.py +204 -0
- codegraphy_lite/scanner.py +330 -0
- codegraphy_lite/server.py +414 -0
- codegraphy_lite/storage.py +201 -0
- codegraphy_lite/web/assets/codegraphy-lite-ui.css +323 -0
- codegraphy_lite/web/assets/codegraphy-lite-ui.js +305 -0
- codegraphy_lite/web/assets/graph-D7gaURIl.js +7 -0
- codegraphy_lite/web/assets/icons-CvV5lYnA.js +1 -0
- codegraphy_lite/web/assets/index-BH1KbUBa.css +1 -0
- codegraphy_lite/web/assets/index-BPD6wClD.js +50 -0
- codegraphy_lite/web/assets/markdown-Bj3RCaMp.js +14 -0
- codegraphy_lite/web/favicon.ico +0 -0
- codegraphy_lite/web/favicon.png +0 -0
- codegraphy_lite/web/favicon.svg +1 -0
- codegraphy_lite/web/index.html +22 -0
- codegraphy_lite-1.0.0.dist-info/METADATA +227 -0
- codegraphy_lite-1.0.0.dist-info/RECORD +24 -0
- codegraphy_lite-1.0.0.dist-info/WHEEL +5 -0
- codegraphy_lite-1.0.0.dist-info/entry_points.txt +3 -0
- codegraphy_lite-1.0.0.dist-info/licenses/LICENSE +21 -0
- codegraphy_lite-1.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import{g as Cr,j as Ze}from"./graph-D7gaURIl.js";function Ir(e,n){const t={};return(e[e.length-1]===""?[...e,""]:e).join((t.padRight?" ":"")+","+(t.padLeft===!1?"":" ")).trim()}const Tr=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Ar=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Pr={};function Yn(e,n){return(Pr.jsx?Ar:Tr).test(e)}const zr=/[ \t\n\f\r]/g;function Lr(e){return typeof e=="object"?e.type==="text"?Qn(e.value):!1:Qn(e)}function Qn(e){return e.replace(zr,"")===""}class Be{constructor(n,t,r){this.normal=t,this.property=n,r&&(this.space=r)}}Be.prototype.normal={};Be.prototype.property={};Be.prototype.space=void 0;function Ft(e,n){const t={},r={};for(const i of e)Object.assign(t,i.property),Object.assign(r,i.normal);return new Be(t,r,n)}function mn(e){return e.toLowerCase()}class ee{constructor(n,t){this.attribute=t,this.property=n}}ee.prototype.attribute="";ee.prototype.booleanish=!1;ee.prototype.boolean=!1;ee.prototype.commaOrSpaceSeparated=!1;ee.prototype.commaSeparated=!1;ee.prototype.defined=!1;ee.prototype.mustUseProperty=!1;ee.prototype.number=!1;ee.prototype.overloadedBoolean=!1;ee.prototype.property="";ee.prototype.spaceSeparated=!1;ee.prototype.space=void 0;let Dr=0;const P=be(),q=be(),dn=be(),b=be(),M=be(),ke=be(),te=be();function be(){return 2**++Dr}const gn=Object.freeze(Object.defineProperty({__proto__:null,boolean:P,booleanish:q,commaOrSpaceSeparated:te,commaSeparated:ke,number:b,overloadedBoolean:dn,spaceSeparated:M},Symbol.toStringTag,{value:"Module"})),en=Object.keys(gn);class Tn extends ee{constructor(n,t,r,i){let l=-1;if(super(n,t),Xn(this,"space",i),typeof r=="number")for(;++l<en.length;){const o=en[l];Xn(this,en[l],(r&gn[o])===gn[o])}}}Tn.prototype.defined=!0;function Xn(e,n,t){t&&(e[n]=t)}function Te(e){const n={},t={};for(const[r,i]of Object.entries(e.properties)){const l=new Tn(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(l.mustUseProperty=!0),n[r]=l,t[mn(r)]=r,t[mn(l.attribute)]=r}return new Be(n,t,e.space)}const Nt=Te({properties:{ariaActiveDescendant:null,ariaAtomic:q,ariaAutoComplete:null,ariaBusy:q,ariaChecked:q,ariaColCount:b,ariaColIndex:b,ariaColSpan:b,ariaControls:M,ariaCurrent:null,ariaDescribedBy:M,ariaDetails:null,ariaDisabled:q,ariaDropEffect:M,ariaErrorMessage:null,ariaExpanded:q,ariaFlowTo:M,ariaGrabbed:q,ariaHasPopup:null,ariaHidden:q,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:M,ariaLevel:b,ariaLive:null,ariaModal:q,ariaMultiLine:q,ariaMultiSelectable:q,ariaOrientation:null,ariaOwns:M,ariaPlaceholder:null,ariaPosInSet:b,ariaPressed:q,ariaReadOnly:q,ariaRelevant:null,ariaRequired:q,ariaRoleDescription:M,ariaRowCount:b,ariaRowIndex:b,ariaRowSpan:b,ariaSelected:q,ariaSetSize:b,ariaSort:null,ariaValueMax:b,ariaValueMin:b,ariaValueNow:b,ariaValueText:null,role:null},transform(e,n){return n==="role"?n:"aria-"+n.slice(4).toLowerCase()}});function Ot(e,n){return n in e?e[n]:n}function Rt(e,n){return Ot(e,n.toLowerCase())}const Fr=Te({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:ke,acceptCharset:M,accessKey:M,action:null,allow:null,allowFullScreen:P,allowPaymentRequest:P,allowUserMedia:P,alpha:P,alt:null,as:null,async:P,autoCapitalize:null,autoComplete:M,autoFocus:P,autoPlay:P,blocking:M,capture:null,charSet:null,checked:P,cite:null,className:M,closedBy:null,colorSpace:null,cols:b,colSpan:b,command:null,commandFor:null,content:null,contentEditable:q,controls:P,controlsList:M,coords:b|ke,crossOrigin:null,data:null,dateTime:null,decoding:null,default:P,defer:P,dir:null,dirName:null,disabled:P,download:dn,draggable:q,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:P,formTarget:null,headers:M,height:b,hidden:dn,high:b,href:null,hrefLang:null,htmlFor:M,httpEquiv:M,id:null,imageSizes:null,imageSrcSet:null,inert:P,inputMode:null,integrity:null,is:null,isMap:P,itemId:null,itemProp:M,itemRef:M,itemScope:P,itemType:M,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:P,low:b,manifest:null,max:null,maxLength:b,media:null,method:null,min:null,minLength:b,multiple:P,muted:P,name:null,nonce:null,noModule:P,noValidate:P,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:P,optimum:b,pattern:null,ping:M,placeholder:null,playsInline:P,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:P,referrerPolicy:null,rel:M,required:P,reversed:P,rows:b,rowSpan:b,sandbox:M,scope:null,scoped:P,seamless:P,selected:P,shadowRootClonable:P,shadowRootCustomElementRegistry:P,shadowRootDelegatesFocus:P,shadowRootMode:null,shadowRootSerializable:P,shape:null,size:b,sizes:null,slot:null,span:b,spellCheck:q,src:null,srcDoc:null,srcLang:null,srcSet:null,start:b,step:null,style:null,tabIndex:b,target:null,title:null,translate:null,type:null,typeMustMatch:P,useMap:null,value:q,width:b,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:M,axis:null,background:null,bgColor:null,border:b,borderColor:null,bottomMargin:b,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:P,declare:P,event:null,face:null,frame:null,frameBorder:null,hSpace:b,leftMargin:b,link:null,longDesc:null,lowSrc:null,marginHeight:b,marginWidth:b,noResize:P,noHref:P,noShade:P,noWrap:P,object:null,profile:null,prompt:null,rev:null,rightMargin:b,rules:null,scheme:null,scrolling:q,standby:null,summary:null,text:null,topMargin:b,valueType:null,version:null,vAlign:null,vLink:null,vSpace:b,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:P,disablePictureInPicture:P,disableRemotePlayback:P,exportParts:ke,part:M,prefix:null,property:null,results:b,security:null,unselectable:null},space:"html",transform:Rt}),Nr=Te({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",maskType:"mask-type",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:te,accentHeight:b,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:b,amplitude:b,arabicForm:null,ascent:b,attributeName:null,attributeType:null,azimuth:b,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:b,by:null,calcMode:null,capHeight:b,className:M,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:b,diffuseConstant:b,direction:null,display:null,dur:null,divisor:b,dominantBaseline:null,download:P,dx:null,dy:null,edgeMode:null,editable:null,elevation:b,enableBackground:null,end:null,event:null,exponent:b,externalResourcesRequired:null,fill:null,fillOpacity:b,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:ke,g2:ke,glyphName:ke,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:b,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:b,horizOriginX:b,horizOriginY:b,id:null,ideographic:b,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:b,k:b,k1:b,k2:b,k3:b,k4:b,kernelMatrix:te,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:b,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:b,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:b,overlineThickness:b,paintOrder:null,panose1:null,path:null,pathLength:b,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:M,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:b,pointsAtY:b,pointsAtZ:b,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:te,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:te,rev:te,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:te,requiredFeatures:te,requiredFonts:te,requiredFormats:te,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:b,specularExponent:b,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:b,strikethroughThickness:b,string:null,stroke:null,strokeDashArray:te,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:b,strokeOpacity:b,strokeWidth:null,style:null,surfaceScale:b,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:te,tabIndex:b,tableValues:null,target:null,targetX:b,targetY:b,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:te,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:b,underlineThickness:b,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:b,values:null,vAlphabetic:b,vMathematical:b,vectorEffect:null,vHanging:b,vIdeographic:b,version:null,vertAdvY:b,vertOriginX:b,vertOriginY:b,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:b,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:Ot}),Mt=Te({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,n){return"xlink:"+n.slice(5).toLowerCase()}}),vt=Te({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:Rt}),_t=Te({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,n){return"xml:"+n.slice(3).toLowerCase()}}),Or={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},Rr=/[A-Z]/g,Kn=/-[a-z]/g,Mr=/^data[-\w.:]+$/i;function vr(e,n){const t=mn(n);let r=n,i=ee;if(t in e.normal)return e.property[e.normal[t]];if(t.length>4&&t.slice(0,4)==="data"&&Mr.test(n)){if(n.charAt(4)==="-"){const l=n.slice(5).replace(Kn,Br);r="data"+l.charAt(0).toUpperCase()+l.slice(1)}else{const l=n.slice(4);if(!Kn.test(l)){let o=l.replace(Rr,_r);o.charAt(0)!=="-"&&(o="-"+o),n="data"+o}}i=Tn}return new i(r,n)}function _r(e){return"-"+e.toLowerCase()}function Br(e){return e.charAt(1).toUpperCase()}const jr=Ft([Nt,Fr,Mt,vt,_t],"html"),An=Ft([Nt,Nr,Mt,vt,_t],"svg");function Ur(e){return e.join(" ").trim()}var Jn=/\/\*(?:[^*]|\*(?!\/))*\*\//g,Hr=/\n/g,Vr=/^\s*/,qr=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,$r=/^:\s*/,Wr=/^((?:'(?:\\.|[^'\\])*'|"(?:\\.|[^"\\])*"|url\((?:'(?:\\.|[^'\\])*'|"(?:\\.|[^"\\])*"|[^)]*)\)|[^};])+)/,Yr=/^[;\s]*/,Qr=`
|
|
2
|
+
`,Gn="/",Zn="*",Fe="",Xr="comment",Kr="declaration";function Jr(e,n){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];n=n||{};var t=1,r=1;function i(y){var x=y.match(Hr);x&&(t+=x.length);var I=y.lastIndexOf(Qr);r=~I?y.length-I:r+y.length}function l(){var y={line:t,column:r};return function(x){return x.position=new o(y),s(),x}}function o(y){this.start=y,this.end={line:t,column:r},this.source=n.source}o.prototype.content=e;function u(y){var x=new Error(n.source+":"+t+":"+r+": "+y);if(x.reason=y,x.filename=n.source,x.line=t,x.column=r,x.source=e,!n.silent)throw x}function c(y){var x=y.exec(e);if(x){var I=x[0];return i(I),e=e.slice(I.length),x}}function s(){c(Vr)}function a(y){for(var x;x=f();)y.push(x);return y}function f(){var y=l();if(!(Gn!=e.charAt(0)||Zn!=e.charAt(1))){for(var x=2;Fe!=e.charAt(x)&&(Zn!=e.charAt(x)||Gn!=e.charAt(x+1));)++x;if(x+=2,Fe===e.charAt(x-1))return u("End of comment missing");var I=e.slice(2,x-2);return r+=2,i(I),e=e.slice(x),r+=2,y({type:Xr,comment:I})}}function d(){var y=l(),x=c(qr);if(x){if(f(),!c($r))return u("property missing ':'");var I=c(Wr),w=y({type:Kr,property:x[0].replace(Jn,Fe).trim(),value:I?I[0].replace(Jn,Fe).trim():Fe});return c(Yr),w}}function p(){var y=[];a(y);for(var x;x=d();)y.push(x),a(y);return y}return s(),p()}function Gr(e,n){let t=null;if(!e||typeof e!="string")return t;const r=Jr(e),i=typeof n=="function";return r.forEach(l=>{if(l.type!=="declaration")return;const{property:o,value:u}=l;i?n(o,u,l):u&&(t=t??{},t[o]=u)}),t}const Bt=jt("end"),Pn=jt("start");function jt(e){return n;function n(t){const r=t&&t.position&&t.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function Zr(e){const n=Pn(e),t=Bt(e);if(n&&t)return{start:n,end:t}}function Re(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?et(e.position):"start"in e||"end"in e?et(e):"line"in e||"column"in e?yn(e):""}function yn(e){return nt(e&&e.line)+":"+nt(e&&e.column)}function et(e){return yn(e&&e.start)+"-"+yn(e&&e.end)}function nt(e){return e&&typeof e=="number"?e:1}class X extends Error{constructor(n,t,r){super(),typeof t=="string"&&(r=t,t=void 0);let i="",l={},o=!1;if(t&&("line"in t&&"column"in t?l={place:t}:"start"in t&&"end"in t?l={place:t}:"type"in t?l={ancestors:[t],place:t.position}:l={...t}),typeof n=="string"?i=n:!l.cause&&n&&(o=!0,i=n.message,l.cause=n),!l.ruleId&&!l.source&&typeof r=="string"){const c=r.indexOf(":");c===-1?l.ruleId=r:(l.source=r.slice(0,c),l.ruleId=r.slice(c+1))}if(!l.place&&l.ancestors&&l.ancestors){const c=l.ancestors[l.ancestors.length-1];c&&(l.place=c.position)}const u=l.place&&"start"in l.place?l.place.start:l.place;this.ancestors=l.ancestors||void 0,this.cause=l.cause||void 0,this.column=u?u.column:void 0,this.fatal=void 0,this.file="",this.message=i,this.line=u?u.line:void 0,this.name=Re(l.place)||"1:1",this.place=l.place||void 0,this.reason=this.message,this.ruleId=l.ruleId||void 0,this.source=l.source||void 0,this.stack=o&&l.cause&&typeof l.cause.stack=="string"?l.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}X.prototype.file="";X.prototype.name="";X.prototype.reason="";X.prototype.message="";X.prototype.stack="";X.prototype.column=void 0;X.prototype.line=void 0;X.prototype.ancestors=void 0;X.prototype.cause=void 0;X.prototype.fatal=void 0;X.prototype.place=void 0;X.prototype.ruleId=void 0;X.prototype.source=void 0;const zn={}.hasOwnProperty,ei=new Map,ni=/[A-Z]/g,ti=/-([a-z])/g,ri=new Set(["table","tbody","thead","tfoot","tr"]),ii=new Set(["td","th"]),Ut="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function li(e,n){if(!n||n.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const t=n.filePath||void 0;let r;if(n.development){if(typeof n.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=hi(t,n.jsxDEV)}else{if(typeof n.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof n.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=fi(t,n.jsx,n.jsxs)}const i={Fragment:n.Fragment,ancestors:[],components:n.components||{},create:r,elementAttributeNameCase:n.elementAttributeNameCase||"react",evaluater:n.createEvaluater?n.createEvaluater():void 0,filePath:t,ignoreInvalidStyle:n.ignoreInvalidStyle||!1,passKeys:n.passKeys!==!1,passNode:n.passNode||!1,schema:n.space==="svg"?An:jr,stylePropertyNameCase:n.stylePropertyNameCase||"dom",tableCellAlignToStyle:n.tableCellAlignToStyle!==!1},l=Ht(i,e,void 0);return l&&typeof l!="string"?l:i.create(e,i.Fragment,{children:l||void 0},void 0)}function Ht(e,n,t){if(n.type==="element")return oi(e,n,t);if(n.type==="mdxFlowExpression"||n.type==="mdxTextExpression")return ui(e,n);if(n.type==="mdxJsxFlowElement"||n.type==="mdxJsxTextElement")return si(e,n,t);if(n.type==="mdxjsEsm")return ai(e,n);if(n.type==="root")return ci(e,n,t);if(n.type==="text")return pi(e,n)}function oi(e,n,t){const r=e.schema;let i=r;n.tagName.toLowerCase()==="svg"&&r.space==="html"&&(i=An,e.schema=i),e.ancestors.push(n);const l=qt(e,n.tagName,!1),o=mi(e,n);let u=Dn(e,n);return ri.has(n.tagName)&&(u=u.filter(function(c){return typeof c=="string"?!Lr(c):!0})),Vt(e,o,l,n),Ln(o,u),e.ancestors.pop(),e.schema=r,e.create(n,l,o,t)}function ui(e,n){if(n.data&&n.data.estree&&e.evaluater){const r=n.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}_e(e,n.position)}function ai(e,n){if(n.data&&n.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(n.data.estree);_e(e,n.position)}function si(e,n,t){const r=e.schema;let i=r;n.name==="svg"&&r.space==="html"&&(i=An,e.schema=i),e.ancestors.push(n);const l=n.name===null?e.Fragment:qt(e,n.name,!0),o=di(e,n),u=Dn(e,n);return Vt(e,o,l,n),Ln(o,u),e.ancestors.pop(),e.schema=r,e.create(n,l,o,t)}function ci(e,n,t){const r={};return Ln(r,Dn(e,n)),e.create(n,e.Fragment,r,t)}function pi(e,n){return n.value}function Vt(e,n,t,r){typeof t!="string"&&t!==e.Fragment&&e.passNode&&(n.node=r)}function Ln(e,n){if(n.length>0){const t=n.length>1?n:n[0];t&&(e.children=t)}}function fi(e,n,t){return r;function r(i,l,o,u){const s=Array.isArray(o.children)?t:n;return u?s(l,o,u):s(l,o)}}function hi(e,n){return t;function t(r,i,l,o){const u=Array.isArray(l.children),c=Pn(r);return n(i,l,o,u,{columnNumber:c?c.column-1:void 0,fileName:e,lineNumber:c?c.line:void 0},void 0)}}function mi(e,n){const t={};let r,i;for(i in n.properties)if(i!=="children"&&zn.call(n.properties,i)){const l=gi(e,i,n.properties[i]);if(l){const[o,u]=l;e.tableCellAlignToStyle&&o==="align"&&typeof u=="string"&&ii.has(n.tagName)?r=u:t[o]=u}}if(r){const l=t.style||(t.style={});l[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return t}function di(e,n){const t={};for(const r of n.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const l=r.data.estree.body[0];l.type;const o=l.expression;o.type;const u=o.properties[0];u.type,Object.assign(t,e.evaluater.evaluateExpression(u.argument))}else _e(e,n.position);else{const{name:i}=r;let l;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const u=r.value.data.estree.body[0];u.type,l=e.evaluater.evaluateExpression(u.expression)}else _e(e,n.position);else l=r.value===null?!0:r.value;t[i]=l}return t}function Dn(e,n){const t=[];let r=-1;const i=e.passKeys?new Map:ei;for(;++r<n.children.length;){const l=n.children[r];let o;if(e.passKeys){const c=l.type==="element"?l.tagName:l.type==="mdxJsxFlowElement"||l.type==="mdxJsxTextElement"?l.name:void 0;if(c){const s=i.get(c)||0;o=c+"-"+s,i.set(c,s+1)}}const u=Ht(e,l,o);u!==void 0&&t.push(u)}return t}function gi(e,n,t){if(t==null||typeof t=="number"&&Number.isNaN(t))return;const r=vr(e.schema,n);return Array.isArray(t)&&(t=r.commaSeparated?Ir(t):Ur(t)),r.property==="style"?["style",typeof t=="object"?e.stylePropertyNameCase==="dom"?t:xi(t):yi(e,String(t))]:[e.elementAttributeNameCase==="react"&&r.space?Or[r.property]||r.property:r.attribute,t]}function yi(e,n){const t={};try{Gr(n,function(r,i){if(r&&i){let l=r;l.slice(0,2)!=="--"&&(l=l.toLowerCase(),e.stylePropertyNameCase==="dom"&&(l.slice(0,4)==="-ms-"&&(l=l.slice(1)),l=l.replace(ti,wi))),t[l]=i}})}catch(r){if(e.ignoreInvalidStyle)return{};const i=r,l=new X("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:i,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw l.file=e.filePath||void 0,l.url=Ut+"#cannot-parse-style-attribute",l}return t}function qt(e,n,t){let r;if(!t)r={type:"Literal",value:n};else if(n.includes(".")){const i=n.split(".");let l=-1,o;for(;++l<i.length;){const u=Yn(i[l])?{type:"Identifier",name:i[l]}:{type:"Literal",value:i[l]};o=o?{type:"MemberExpression",object:o,property:u,computed:!!(l&&u.type==="Literal"),optional:!1}:u}r=o}else r=Yn(n)&&!/^[a-z]/.test(n)?{type:"Identifier",name:n}:{type:"Literal",value:n};if(r.type==="Literal"){const i=r.value;return zn.call(e.components,i)?e.components[i]:i}if(e.evaluater)return e.evaluater.evaluateExpression(r);_e(e)}function _e(e,n){const t=new X("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:n,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw t.file=e.filePath||void 0,t.url=Ut+"#cannot-handle-mdx-estrees-without-createevaluater",t}function xi(e){const n={};let t;for(t in e)zn.call(e,t)&&(n[ki(t)]=e[t]);return n}function ki(e){if(e.slice(0,2)==="--")return e;let n=e.replace(ni,bi);return n.slice(0,3)==="ms-"&&(n="-"+n),n}function bi(e){return"-"+e.toLowerCase()}function wi(e,n){return n.toUpperCase()}const nn={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},Si={};function Ei(e,n){const t=Si,r=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,i=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return $t(e,r,i)}function $t(e,n,t){if(Ci(e)){if("value"in e)return e.type==="html"&&!t?"":e.value;if(n&&"alt"in e&&e.alt)return e.alt;if("children"in e)return tt(e.children,n,t)}return Array.isArray(e)?tt(e,n,t):""}function tt(e,n,t){const r=[];let i=-1;for(;++i<e.length;)r[i]=$t(e[i],n,t);return r.join("")}function Ci(e){return!!(e&&typeof e=="object")}const rt=document.createElement("i");function Fn(e){const n="&"+e+";";rt.innerHTML=n;const t=rt.textContent;return t.charCodeAt(t.length-1)===59&&e!=="semi"||t===n?!1:t}function ge(e,n,t,r){const i=e.length;let l=0,o;if(n<0?n=-n>i?0:i+n:n=n>i?i:n,t=t>0?t:0,r.length<1e4)o=Array.from(r),o.unshift(n,t),e.splice(...o);else for(t&&e.splice(n,t);l<r.length;)o=r.slice(l,l+1e4),o.unshift(n,0),e.splice(...o),l+=1e4,n+=1e4}function ie(e,n){return e.length>0?(ge(e,e.length,0,n),e):n}const it={}.hasOwnProperty;function Ii(e){const n={};let t=-1;for(;++t<e.length;)Ti(n,e[t]);return n}function Ti(e,n){let t;for(t in n){const i=(it.call(e,t)?e[t]:void 0)||(e[t]={}),l=n[t];let o;if(l)for(o in l){it.call(i,o)||(i[o]=[]);const u=l[o];Ai(i[o],Array.isArray(u)?u:u?[u]:[])}}}function Ai(e,n){let t=-1;const r=[];for(;++t<n.length;)(n[t].add==="after"?e:r).push(n[t]);ge(e,0,0,r)}function Wt(e,n){const t=Number.parseInt(e,n);return t<9||t===11||t>13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"๏ฟฝ":String.fromCodePoint(t)}function Ie(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const ce=ye(/[A-Za-z]/),re=ye(/[\dA-Za-z]/),Pi=ye(/[#-'*+\--9=?A-Z^-~]/);function xn(e){return e!==null&&(e<32||e===127)}const kn=ye(/\d/),zi=ye(/[\dA-Fa-f]/),Li=ye(/[!-/:-@[-`{-~]/);function A(e){return e!==null&&e<-2}function Z(e){return e!==null&&(e<0||e===32)}function R(e){return e===-2||e===-1||e===32}const Di=ye(new RegExp("\\p{P}|\\p{S}","u")),Fi=ye(/\s/);function ye(e){return n;function n(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function Ae(e){const n=[];let t=-1,r=0,i=0;for(;++t<e.length;){const l=e.charCodeAt(t);let o="";if(l===37&&re(e.charCodeAt(t+1))&&re(e.charCodeAt(t+2)))i=2;else if(l<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(l))||(o=String.fromCharCode(l));else if(l>55295&&l<57344){const u=e.charCodeAt(t+1);l<56320&&u>56319&&u<57344?(o=String.fromCharCode(l,u),i=1):o="๏ฟฝ"}else o=String.fromCharCode(l);o&&(n.push(e.slice(r,t),encodeURIComponent(o)),r=t+i+1,o=""),i&&(t+=i,i=0)}return n.join("")+e.slice(r)}function H(e,n,t,r){const i=r?r-1:1/0;let l=0;return o;function o(c){return R(c)?(e.enter(t),u(c)):n(c)}function u(c){return R(c)&&l++<i?(e.consume(c),u):(e.exit(t),n(c))}}function Yt(e,n,t,r,i,l){let o=0;return u;function u(a){return R(a)?(e.enter(r),c(a)):s(a)}function c(a){return R(a)&&o<l?(e.consume(a),o++,c):(e.exit(r),s(a))}function s(a){return o>=i?n(a):t(a)}}const Ni={tokenize:Oi};function Oi(e){const n=e.attempt(this.parser.constructs.contentInitial,r,i);let t;return n;function r(u){if(u===null){e.consume(u);return}return e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),H(e,n,"linePrefix")}function i(u){return e.enter("paragraph"),l(u)}function l(u){const c=e.enter("chunkText",{contentType:"text",previous:t});return t&&(t.next=c),t=c,o(u)}function o(u){if(u===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(u);return}return A(u)?(e.consume(u),e.exit("chunkText"),l):(e.consume(u),o)}}class $e{constructor(){this.index=new Map,this.map=[]}add(n,t,r){lt(this,n,t,r,!1)}addBefore(n,t,r){lt(this,n,t,r,!0)}consume(n){if(this.map.sort(function(l,o){return l[0]-o[0]}),this.map.length===0)return;let t=this.map.length;const r=[];for(;t>0;)t-=1,r.push(n.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),n.length=this.map[t][0];r.push(n.slice()),n.length=0;let i=r.pop();for(;i;){for(const l of i)n.push(l);i=r.pop()}this.map.length=0,this.index.clear()}}function lt(e,n,t,r,i){if(t===0&&r.length===0)return;const l=e.index.get(n);if(l){l[1]+=t,i?(r.push(...l[2]),l[2]=r):l[2].push(...r);return}const o=[n,t,r];e.map.push(o),e.index.set(n,o)}const Ri={tokenize:Mi},ot={tokenize:vi};function Mi(e){const n=this,t=[];let r=0,i,l,o;return u;function u(E){if(r<t.length){const N=t[r];return n.containerState=N[1],e.attempt(N[0].continuation,c,s)(E)}return s(E)}function c(E){if(r++,n.containerState._closeFlow){n.containerState._closeFlow=void 0,i&&L();const N=n.events.length;let _=N,k;for(;_--;)if(n.events[_][0]==="exit"&&n.events[_][1].type==="chunkFlow"){k=n.events[_][1].end;break}w(r);let F=N;for(;F<n.events.length;)n.events[F][1].end={...k},F++;const U=new $e;return U.add(_+1,0,n.events.slice(N)),U.add(N,F-N,[]),U.consume(n.events),s(E)}return u(E)}function s(E){if(r===t.length){if(!i)return d(E);if(i.currentConstruct&&i.currentConstruct.concrete)return y(E);n.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return n.containerState={},e.check(ot,a,f)(E)}function a(E){return i&&L(),w(r),d(E)}function f(E){return n.parser.lazy[n.now().line]=r!==t.length,o=n.now().offset,y(E)}function d(E){return n.containerState={},e.attempt(ot,p,y)(E)}function p(E){return r++,t.push([n.currentConstruct,n.containerState]),d(E)}function y(E){if(E===null){i&&L(),w(0),e.consume(E);return}return i=i||n.parser.flow(n.now()),e.enter("chunkFlow",{_tokenizer:i,contentType:"flow",previous:l}),x(E)}function x(E){if(E===null){I(e.exit("chunkFlow"),!0),w(0),e.consume(E);return}return A(E)?(e.consume(E),I(e.exit("chunkFlow")),r=0,n.interrupt=void 0,u):(e.consume(E),x)}function I(E,N){const _=n.sliceStream(E);if(N&&_.push(null),E.previous=l,l&&(l.next=E),l=E,i.defineSkip(E.start),i.write(_),n.parser.lazy[E.start.line]){let k=i.events.length;for(;k--;)if(i.events[k][1].start.offset<o&&(!i.events[k][1].end||i.events[k][1].end.offset>o))return;const F=n.events.length;let U=F,$,v;for(;U--;)if(n.events[U][0]==="exit"&&n.events[U][1].type==="chunkFlow"){if($){v=n.events[U][1].end;break}$=!0}for(w(r),k=F;k<n.events.length;)n.events[k][1].end={...v},k++;const C=new $e;C.add(U+1,0,n.events.slice(F)),C.add(F,k-F,[]),C.consume(n.events)}}function w(E){let N=t.length;for(;N-- >E;){const _=t[N];n.containerState=_[1],_[0].exit.call(n,e)}t.length=E}function L(){i.write([null]),l=void 0,i=void 0,n.containerState._closeFlow=void 0}}function vi(e,n,t){return H(e,e.attempt(this.parser.constructs.document,n,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function ut(e){if(e===null||Z(e)||Fi(e))return 1;if(Di(e))return 2}function Nn(e,n,t){const r=[];let i=-1;for(;++i<e.length;){const l=e[i].resolveAll;l&&!r.includes(l)&&(n=l(n,t),r.push(l))}return n}const bn={name:"attention",resolveAll:_i,tokenize:Bi};function _i(e,n){let t=-1,r;for(;++t<e.length;)if(e[t][0]==="enter"&&e[t][1].type==="attentionSequence"&&e[t][1]._close){let i=t;for(;i--;)if(e[i][0]==="exit"&&e[i][1].type==="attentionSequence"&&e[i][1]._open&&n.sliceSerialize(e[i][1]).charCodeAt(0)===n.sliceSerialize(e[t][1]).charCodeAt(0)){if((e[i][1]._close||e[t][1]._open)&&(e[t][1].end.offset-e[t][1].start.offset)%3&&!((e[i][1].end.offset-e[i][1].start.offset+e[t][1].end.offset-e[t][1].start.offset)%3))continue;const l=e[i][1].end.offset-e[i][1].start.offset>1&&e[t][1].end.offset-e[t][1].start.offset>1?2:1,o={...e[i][1].end},u={...e[t][1].start};at(o,-l),at(u,l);const c={type:l>1?"strongSequence":"emphasisSequence",start:o,end:{...e[i][1].end}},s={type:l>1?"strongSequence":"emphasisSequence",start:{...e[t][1].start},end:u},a={type:l>1?"strongText":"emphasisText",start:{...e[i][1].end},end:{...e[t][1].start}},f={type:l>1?"strong":"emphasis",start:{...c.start},end:{...s.end}};e[i][1].end={...c.start},e[t][1].start={...s.end},r=[],e[i][1].end.offset-e[i][1].start.offset&&(r=ie(r,[["enter",e[i][1],n],["exit",e[i][1],n]])),r=ie(r,[["enter",f,n],["enter",c,n],["exit",c,n],["enter",a,n]]),r=ie(r,Nn(n.parser.constructs.insideSpan.null,e.slice(i+1,t),n)),r=ie(r,[["exit",a,n],["enter",s,n],["exit",s,n],["exit",f,n]]);let d=0;e[t][1].end.offset-e[t][1].start.offset&&(d=2,r=ie(r,[["enter",e[t][1],n],["exit",e[t][1],n]])),ge(e,i-1,t-i+3,r),t=i+r.length-d-2;break}}for(t=-1;++t<e.length;)e[t][1].type==="attentionSequence"&&(e[t][1].type="data");return e}function Bi(e,n){const t=this.parser.constructs.attentionMarkers.null,r=this.previous,i=ut(r);let l;return o;function o(c){return l=c,e.enter("attentionSequence"),u(c)}function u(c){if(c===l)return e.consume(c),u;const s=e.exit("attentionSequence"),a=ut(c),f=!a||a===2&&i||t.includes(c)&&c!==42&&c!==95,d=!i||i===2&&a||t.includes(r)&&r!==42&&r!==95;return s._open=!!(l===42?f:f&&(i||!d)),s._close=!!(l===42?d:d&&(a||!f)),n(c)}}function at(e,n){e.column+=n,e.offset+=n,e._bufferIndex+=n}const ji={name:"autolink",tokenize:Ui};function Ui(e,n,t){let r=0;return i;function i(p){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),l}function l(p){return ce(p)?(e.consume(p),o):p===64?t(p):s(p)}function o(p){return p===43||p===45||p===46||re(p)?(r=1,u(p)):s(p)}function u(p){return p===58?(e.consume(p),r=0,c):(p===43||p===45||p===46||re(p))&&r++<32?(e.consume(p),u):(r=0,s(p))}function c(p){return p===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.exit("autolink"),n):p===null||p===32||p===60||xn(p)?t(p):(e.consume(p),c)}function s(p){return p===64?(e.consume(p),a):Pi(p)?(e.consume(p),s):t(p)}function a(p){return re(p)?f(p):t(p)}function f(p){return p===46?(e.consume(p),r=0,a):p===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.exit("autolink"),n):d(p)}function d(p){if((p===45||re(p))&&r++<63){const y=p===45?d:f;return e.consume(p),y}return t(p)}}const Qe={partial:!0,tokenize:Hi};function Hi(e,n,t){return r;function r(l){return R(l)?H(e,i,"linePrefix")(l):i(l)}function i(l){return l===null||A(l)?n(l):t(l)}}const Qt={continuation:{tokenize:qi},exit:$i,name:"blockQuote",tokenize:Vi};function Vi(e,n,t){const r=this;return i;function i(o){if(o===62){const u=r.containerState;return u.open||(e.enter("blockQuote",{_container:!0}),u.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(o),e.exit("blockQuoteMarker"),l}return t(o)}function l(o){return R(o)?(e.enter("blockQuotePrefixWhitespace"),e.consume(o),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),n):(e.exit("blockQuotePrefix"),n(o))}}function qi(e,n,t){const r=this;return i;function i(o){return R(o)?H(e,l,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):l(o)}function l(o){return e.attempt(Qt,n,t)(o)}}function $i(e){e.exit("blockQuote")}const Xt={name:"characterEscape",tokenize:Wi};function Wi(e,n,t){return r;function r(l){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(l),e.exit("escapeMarker"),i}function i(l){return Li(l)?(e.enter("characterEscapeValue"),e.consume(l),e.exit("characterEscapeValue"),e.exit("characterEscape"),n):t(l)}}const Kt={name:"characterReference",tokenize:Yi};function Yi(e,n,t){const r=this;let i=0,l,o;return u;function u(f){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(f),e.exit("characterReferenceMarker"),c}function c(f){return f===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(f),e.exit("characterReferenceMarkerNumeric"),s):(e.enter("characterReferenceValue"),l=31,o=re,a(f))}function s(f){return f===88||f===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(f),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),l=6,o=zi,a):(e.enter("characterReferenceValue"),l=7,o=kn,a(f))}function a(f){if(f===59&&i){const d=e.exit("characterReferenceValue");return o===re&&!Fn(r.sliceSerialize(d))?t(f):(e.enter("characterReferenceMarker"),e.consume(f),e.exit("characterReferenceMarker"),e.exit("characterReference"),n)}return o(f)&&i++<l?(e.consume(f),a):t(f)}}const wn={partial:!0,tokenize:Qi};function Qi(e,n,t){const r=this;return i;function i(o){return o===null?t(o):(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),l)}function l(o){return r.parser.lazy[r.now().line]?t(o):n(o)}}const st={concrete:!0,name:"codeFenced",tokenize:Xi};function Xi(e,n,t){const r=this,i={partial:!0,tokenize:_};let l=0,o=0,u;return c;function c(k){return s(k)}function s(k){const F=r.events[r.events.length-1];return l=F&&F[1].type==="linePrefix"?F[2].sliceSerialize(F[1],!0).length:0,u=k,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),a(k)}function a(k){return k===u?(o++,e.consume(k),a):o<3?t(k):(e.exit("codeFencedFenceSequence"),R(k)?H(e,f,"whitespace")(k):f(k))}function f(k){return k===null||A(k)?(e.exit("codeFencedFence"),r.interrupt?n(k):e.check(wn,x,N)(k)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),d(k))}function d(k){return k===null||A(k)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),f(k)):R(k)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),H(e,p,"whitespace")(k)):k===96&&k===u?t(k):(e.consume(k),d)}function p(k){return k===null||A(k)?f(k):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),y(k))}function y(k){return k===null||A(k)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),f(k)):k===96&&k===u?t(k):(e.consume(k),y)}function x(k){return e.attempt(i,N,I)(k)}function I(k){return e.enter("lineEnding"),e.consume(k),e.exit("lineEnding"),w}function w(k){return l>0&&R(k)?H(e,L,"linePrefix",l+1)(k):L(k)}function L(k){return k===null||A(k)?e.check(wn,x,N)(k):(e.enter("codeFlowValue"),E(k))}function E(k){return k===null||A(k)?(e.exit("codeFlowValue"),L(k)):(e.consume(k),E)}function N(k){return e.exit("codeFenced"),n(k)}function _(k,F,U){let $=0;return v;function v(O){return k.enter("lineEnding"),k.consume(O),k.exit("lineEnding"),C}function C(O){return k.enter("codeFencedFence"),R(O)?H(k,T,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(O):T(O)}function T(O){return O===u?(k.enter("codeFencedFenceSequence"),B(O)):U(O)}function B(O){return O===u?($++,k.consume(O),B):$>=o?(k.exit("codeFencedFenceSequence"),R(O)?H(k,V,"whitespace")(O):V(O)):U(O)}function V(O){return O===null||A(O)?(k.exit("codeFencedFence"),F(O)):U(O)}}}const tn={name:"codeIndented",tokenize:Ji},Ki={partial:!0,tokenize:Gi};function Ji(e,n,t){return r;function r(u){return e.enter("codeIndented"),Yt(e,i,t,"linePrefix",4,4)(u)}function i(u){return u===null?o(u):A(u)?e.attempt(Ki,i,o)(u):(e.enter("codeFlowValue"),l(u))}function l(u){return u===null||A(u)?(e.exit("codeFlowValue"),i(u)):(e.consume(u),l)}function o(u){return e.exit("codeIndented"),n(u)}}function Gi(e,n,t){const r=this;return i;function i(o){return r.parser.lazy[r.now().line]?t(o):A(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i):Yt(e,n,l,"linePrefix",4,4)(o)}function l(o){return A(o)?i(o):t(o)}}const Zi={name:"codeText",previous:nl,resolve:el,tokenize:tl};function el(e){let n=e.length-4,t=3,r,i;if((e[t][1].type==="lineEnding"||e[t][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(r=t;++r<n;)if(e[r][1].type==="codeTextData"){e[t][1].type="codeTextPadding",e[n][1].type="codeTextPadding",t+=2,n-=2;break}}for(r=t-1,n++;++r<=n;)i===void 0?r!==n&&e[r][1].type!=="lineEnding"&&(i=r):(r===n||e[r][1].type==="lineEnding")&&(e[i][1].type="codeTextData",r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),n-=r-i-2,r=i+2),i=void 0);return e}function nl(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function tl(e,n,t){let r=0,i,l;return o;function o(f){return e.enter("codeText"),e.enter("codeTextSequence"),u(f)}function u(f){return f===96?(e.consume(f),r++,u):(e.exit("codeTextSequence"),c(f))}function c(f){return f===null?t(f):f===32?(e.enter("space"),e.consume(f),e.exit("space"),c):f===96?(l=e.enter("codeTextSequence"),i=0,a(f)):A(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),c):(e.enter("codeTextData"),s(f))}function s(f){return f===null||f===32||f===96||A(f)?(e.exit("codeTextData"),c(f)):(e.consume(f),s)}function a(f){return f===96?(e.consume(f),i++,a):i===r?(e.exit("codeTextSequence"),e.exit("codeText"),n(f)):(l.type="codeTextData",s(f))}}class rl{constructor(n){this.left=n?[...n]:[],this.right=[]}get(n){if(n<0||n>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return n<this.left.length?this.left[n]:this.right[this.right.length-n+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(n,t){const r=t??Number.POSITIVE_INFINITY;return r<this.left.length?this.left.slice(n,r):n>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(n,t,r){const i=t||0;this.setCursor(Math.trunc(n));const l=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&Ne(this.left,r),l.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),Ne(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),Ne(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n<this.left.length){const t=this.left.splice(n,Number.POSITIVE_INFINITY);Ne(this.right,t.reverse())}else{const t=this.right.splice(this.left.length+this.right.length-n,Number.POSITIVE_INFINITY);Ne(this.left,t.reverse())}}}function Ne(e,n){let t=0;if(n.length<1e4)e.push(...n);else for(;t<n.length;)e.push(...n.slice(t,t+1e4)),t+=1e4}function Jt(e){const n={};let t=-1,r,i,l,o,u,c,s;const a=new rl(e);for(;++t<a.length;){for(;t in n;)t=n[t];if(r=a.get(t),t&&r[1].type==="chunkFlow"&&a.get(t-1)[1].type==="listItemPrefix"&&(c=r[1]._tokenizer.events,l=0,l<c.length&&c[l][1].type==="lineEndingBlank"&&(l+=2),l<c.length&&c[l][1].type==="content"))for(;++l<c.length&&c[l][1].type!=="content";)c[l][1].type==="chunkText"&&(c[l][1]._isInFirstContentOfListItem=!0,l++);if(r[0]==="enter")r[1].contentType&&(Object.assign(n,il(a,t)),t=n[t],s=!0);else if(r[1]._container){for(l=t,i=void 0;l--;)if(o=a.get(l),o[1].type==="lineEnding"||o[1].type==="lineEndingBlank")o[0]==="enter"&&(i&&(a.get(i)[1].type="lineEndingBlank"),o[1].type="lineEnding",i=l);else if(!(o[1].type==="linePrefix"||o[1].type==="listItemIndent"))break;i&&(r[1].end={...a.get(i)[1].start},u=a.slice(i,t),u.unshift(r),a.splice(i,t-i+1,u))}}return ge(e,0,Number.POSITIVE_INFINITY,a.slice(0)),!s}function il(e,n){const t=e.get(n)[1],r=e.get(n)[2];let i=n-1;const l=[];let o=t._tokenizer;o||(o=r.parser[t.contentType](t.start),t._contentTypeTextTrailing&&(o._contentTypeTextTrailing=!0));const u=o.events,c=[],s={};let a,f,d=-1,p=t,y=0,x=0;const I=[x];for(;p;){for(;e.get(++i)[1]!==p;);l.push(i),p._tokenizer||(a=r.sliceStream(p),p.next||a.push(null),f&&o.defineSkip(p.start),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(a),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),f=p,p=p.next}for(p=t;++d<u.length;)u[d][0]==="exit"&&u[d-1][0]==="enter"&&u[d][1].type===u[d-1][1].type&&u[d][1].start.line!==u[d][1].end.line&&(x=d+1,I.push(x),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(o.events=[],p?(p._tokenizer=void 0,p.previous=void 0):I.pop(),d=I.length;d--;){const w=u.slice(I[d],I[d+1]),L=l.pop();c.push([L,L+w.length-1]),e.splice(L,2,w)}for(c.reverse(),d=-1;++d<c.length;)s[y+c[d][0]]=y+c[d][1],y+=c[d][1]-c[d][0]-1;return s}const ll={resolve:ul,tokenize:al},ol={partial:!0,tokenize:sl};function ul(e){return Jt(e),e}function al(e,n){let t;return r;function r(u){return e.enter("content"),t=e.enter("chunkContent",{contentType:"content"}),i(u)}function i(u){return u===null?l(u):A(u)?e.check(ol,o,l)(u):(e.consume(u),i)}function l(u){return e.exit("chunkContent"),e.exit("content"),n(u)}function o(u){return e.consume(u),e.exit("chunkContent"),t.next=e.enter("chunkContent",{contentType:"content",previous:t}),t=t.next,i}}function sl(e,n,t){const r=this;return i;function i(o){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),H(e,l,"linePrefix")}function l(o){if(o===null||A(o))return t(o);const u=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&u&&u[1].type==="linePrefix"&&u[2].sliceSerialize(u[1],!0).length>=4?n(o):e.interrupt(r.parser.constructs.flow,t,n)(o)}}function Gt(e,n,t,r,i,l,o,u,c){const s=c||Number.POSITIVE_INFINITY;let a=0;return f;function f(w){return w===60?(e.enter(r),e.enter(i),e.enter(l),e.consume(w),e.exit(l),d):w===null||w===32||w===41||xn(w)?t(w):(e.enter(r),e.enter(o),e.enter(u),e.enter("chunkString",{contentType:"string"}),x(w))}function d(w){return w===62?(e.enter(l),e.consume(w),e.exit(l),e.exit(i),e.exit(r),n):(e.enter(u),e.enter("chunkString",{contentType:"string"}),p(w))}function p(w){return w===62?(e.exit("chunkString"),e.exit(u),d(w)):w===null||w===60||A(w)?t(w):(e.consume(w),w===92?y:p)}function y(w){return w===60||w===62||w===92?(e.consume(w),p):p(w)}function x(w){return!a&&(w===null||w===41||Z(w))?(e.exit("chunkString"),e.exit(u),e.exit(o),e.exit(r),n(w)):a<s&&w===40?(e.consume(w),a++,x):w===41?(e.consume(w),a--,x):w===null||w===32||w===40||xn(w)?t(w):(e.consume(w),w===92?I:x)}function I(w){return w===40||w===41||w===92?(e.consume(w),x):x(w)}}function Zt(e,n,t,r,i,l){const o=this;let u=0,c;return s;function s(p){return e.enter(r),e.enter(i),e.consume(p),e.exit(i),e.enter(l),a}function a(p){return u>999||p===null||p===91||p===93&&!c||p===94&&!u&&"_hiddenFootnoteSupport"in o.parser.constructs?t(p):p===93?(e.exit(l),e.enter(i),e.consume(p),e.exit(i),e.exit(r),n):A(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),a):(e.enter("chunkString",{contentType:"string"}),f(p))}function f(p){return p===null||p===91||p===93||A(p)||u++>999?(e.exit("chunkString"),a(p)):(e.consume(p),c||(c=!R(p)),p===92?d:f)}function d(p){return p===91||p===92||p===93?(e.consume(p),u++,f):f(p)}}function er(e,n,t,r,i,l){let o;return u;function u(d){return d===34||d===39||d===40?(e.enter(r),e.enter(i),e.consume(d),e.exit(i),o=d===40?41:d,c):t(d)}function c(d){return d===o?(e.enter(i),e.consume(d),e.exit(i),e.exit(r),n):(e.enter(l),s(d))}function s(d){return d===o?(e.exit(l),c(o)):d===null?t(d):A(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),H(e,s,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),a(d))}function a(d){return d===o||d===null||A(d)?(e.exit("chunkString"),s(d)):(e.consume(d),d===92?f:a)}function f(d){return d===o||d===92?(e.consume(d),a):a(d)}}function Me(e,n){let t;return r;function r(i){return A(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),t=!0,r):R(i)?H(e,r,t?"linePrefix":"lineSuffix")(i):n(i)}}const cl={name:"definition",tokenize:fl},pl={partial:!0,tokenize:hl};function fl(e,n,t){const r=this;let i;return l;function l(p){return e.enter("definition"),o(p)}function o(p){return Zt.call(r,e,u,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(p)}function u(p){return i=Ie(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),c):t(p)}function c(p){return Z(p)?Me(e,s)(p):s(p)}function s(p){return Gt(e,a,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(p)}function a(p){return e.attempt(pl,f,f)(p)}function f(p){return R(p)?H(e,d,"whitespace")(p):d(p)}function d(p){return p===null||A(p)?(e.exit("definition"),r.parser.defined.push(i),n(p)):t(p)}}function hl(e,n,t){return r;function r(u){return Z(u)?Me(e,i)(u):t(u)}function i(u){return er(e,l,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(u)}function l(u){return R(u)?H(e,o,"whitespace")(u):o(u)}function o(u){return u===null||A(u)?n(u):t(u)}}const ml={name:"hardBreakEscape",tokenize:dl};function dl(e,n,t){return r;function r(l){return e.enter("hardBreakEscape"),e.consume(l),i}function i(l){return A(l)?(e.exit("hardBreakEscape"),n(l)):t(l)}}const gl={name:"headingAtx",resolve:yl,tokenize:xl};function yl(e,n){let t=e.length-2,r=3;if(e[r][1].type==="whitespace"&&(r+=2),t-2>r&&e[t][1].type==="whitespace"&&(t-=2),e[t][1].type==="atxHeadingSequence"&&(r===t-1||t-4>r&&e[t-2][1].type==="whitespace")&&(t-=r+1===t?2:4),t>r){const i={type:"atxHeadingText",start:e[r][1].start,end:e[t][1].end},l={type:"chunkText",start:e[r][1].start,end:e[t][1].end,contentType:"text"};ge(e,r,t-r+1,[["enter",i,n],["enter",l,n],["exit",l,n],["exit",i,n]])}return e}function xl(e,n,t){let r=0;return i;function i(a){return e.enter("atxHeading"),l(a)}function l(a){return e.enter("atxHeadingSequence"),o(a)}function o(a){return a===35&&r++<6?(e.consume(a),o):a===null||Z(a)?(e.exit("atxHeadingSequence"),u(a)):t(a)}function u(a){return a===35?(e.enter("atxHeadingSequence"),c(a)):a===null||A(a)?(e.exit("atxHeading"),n(a)):R(a)?H(e,u,"whitespace")(a):(e.enter("atxHeadingText"),s(a))}function c(a){return a===35?(e.consume(a),c):(e.exit("atxHeadingSequence"),u(a))}function s(a){return a===null||a===35||Z(a)?(e.exit("atxHeadingText"),u(a)):(e.consume(a),s)}}const kl=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],ct=["pre","script","style","textarea"],bl={concrete:!0,name:"htmlFlow",resolveTo:Sl,tokenize:El},wl={partial:!0,tokenize:Cl};function Sl(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function El(e,n,t){const r=this;let i,l,o,u,c;return s;function s(m){return a(m)}function a(m){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(m),f}function f(m){return m===33?(e.consume(m),d):m===47?(e.consume(m),l=!0,x):m===63?(e.consume(m),i=3,r.interrupt?n:h):ce(m)?(e.consume(m),o=String.fromCharCode(m),I):t(m)}function d(m){return m===45?(e.consume(m),i=2,p):m===91?(e.consume(m),i=5,u=0,y):ce(m)?(e.consume(m),i=4,r.interrupt?n:h):t(m)}function p(m){return m===45?(e.consume(m),r.interrupt?n:h):t(m)}function y(m){const ue="CDATA[";return m===ue.charCodeAt(u++)?(e.consume(m),u===ue.length?r.interrupt?n:T:y):t(m)}function x(m){return ce(m)?(e.consume(m),o=String.fromCharCode(m),I):t(m)}function I(m){if(m===null||m===47||m===62||Z(m)){const ue=m===47,we=o.toLowerCase();return!ue&&!l&&ct.includes(we)?(i=1,r.interrupt?n(m):T(m)):kl.includes(o.toLowerCase())?(i=6,ue?(e.consume(m),w):r.interrupt?n(m):T(m)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?t(m):l?L(m):E(m))}return m===45||re(m)?(e.consume(m),o+=String.fromCharCode(m),I):t(m)}function w(m){return m===62?(e.consume(m),r.interrupt?n:T):t(m)}function L(m){return R(m)?(e.consume(m),L):v(m)}function E(m){return m===47?(e.consume(m),v):m===58||m===95||ce(m)?(e.consume(m),N):R(m)?(e.consume(m),E):v(m)}function N(m){return m===45||m===46||m===58||m===95||re(m)?(e.consume(m),N):_(m)}function _(m){return m===61?(e.consume(m),k):R(m)?(e.consume(m),_):E(m)}function k(m){return m===null||m===60||m===61||m===62||m===96?t(m):m===34||m===39?(e.consume(m),c=m,F):R(m)?(e.consume(m),k):U(m)}function F(m){return m===c?(e.consume(m),c=null,$):m===null||A(m)?t(m):(e.consume(m),F)}function U(m){return m===null||m===34||m===39||m===47||m===60||m===61||m===62||m===96||Z(m)?_(m):(e.consume(m),U)}function $(m){return m===47||m===62||R(m)?E(m):t(m)}function v(m){return m===62?(e.consume(m),C):t(m)}function C(m){return m===null||A(m)?T(m):R(m)?(e.consume(m),C):t(m)}function T(m){return m===45&&i===2?(e.consume(m),Q):m===60&&i===1?(e.consume(m),Y):m===62&&i===4?(e.consume(m),oe):m===63&&i===3?(e.consume(m),h):m===93&&i===5?(e.consume(m),pe):A(m)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(wl,fe,B)(m)):m===null||A(m)?(e.exit("htmlFlowData"),B(m)):(e.consume(m),T)}function B(m){return e.check(wn,V,fe)(m)}function V(m){return e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),O}function O(m){return m===null||A(m)?B(m):(e.enter("htmlFlowData"),T(m))}function Q(m){return m===45?(e.consume(m),h):T(m)}function Y(m){return m===47?(e.consume(m),o="",le):T(m)}function le(m){if(m===62){const ue=o.toLowerCase();return ct.includes(ue)?(e.consume(m),oe):T(m)}return ce(m)&&o.length<8?(e.consume(m),o+=String.fromCharCode(m),le):T(m)}function pe(m){return m===93?(e.consume(m),h):T(m)}function h(m){return m===62?(e.consume(m),oe):m===45&&i===2?(e.consume(m),h):T(m)}function oe(m){return m===null||A(m)?(e.exit("htmlFlowData"),fe(m)):(e.consume(m),oe)}function fe(m){return e.exit("htmlFlow"),n(m)}}function Cl(e,n,t){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Qe,n,t)}}const Il={name:"htmlText",tokenize:Tl};function Tl(e,n,t){const r=this;let i,l,o;return u;function u(h){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(h),c}function c(h){return h===33?(e.consume(h),s):h===47?(e.consume(h),_):h===63?(e.consume(h),E):ce(h)?(e.consume(h),U):t(h)}function s(h){return h===45?(e.consume(h),a):h===91?(e.consume(h),l=0,y):ce(h)?(e.consume(h),L):t(h)}function a(h){return h===45?(e.consume(h),p):t(h)}function f(h){return h===null?t(h):h===45?(e.consume(h),d):A(h)?(o=f,Y(h)):(e.consume(h),f)}function d(h){return h===45?(e.consume(h),p):f(h)}function p(h){return h===62?Q(h):h===45?d(h):f(h)}function y(h){const oe="CDATA[";return h===oe.charCodeAt(l++)?(e.consume(h),l===oe.length?x:y):t(h)}function x(h){return h===null?t(h):h===93?(e.consume(h),I):A(h)?(o=x,Y(h)):(e.consume(h),x)}function I(h){return h===93?(e.consume(h),w):x(h)}function w(h){return h===62?Q(h):h===93?(e.consume(h),w):x(h)}function L(h){return h===null||h===62?Q(h):A(h)?(o=L,Y(h)):(e.consume(h),L)}function E(h){return h===null?t(h):h===63?(e.consume(h),N):A(h)?(o=E,Y(h)):(e.consume(h),E)}function N(h){return h===62?Q(h):E(h)}function _(h){return ce(h)?(e.consume(h),k):t(h)}function k(h){return h===45||re(h)?(e.consume(h),k):F(h)}function F(h){return A(h)?(o=F,Y(h)):R(h)?(e.consume(h),F):Q(h)}function U(h){return h===45||re(h)?(e.consume(h),U):h===47||h===62||Z(h)?$(h):t(h)}function $(h){return h===47?(e.consume(h),Q):h===58||h===95||ce(h)?(e.consume(h),v):A(h)?(o=$,Y(h)):R(h)?(e.consume(h),$):Q(h)}function v(h){return h===45||h===46||h===58||h===95||re(h)?(e.consume(h),v):C(h)}function C(h){return h===61?(e.consume(h),T):A(h)?(o=C,Y(h)):R(h)?(e.consume(h),C):$(h)}function T(h){return h===null||h===60||h===61||h===62||h===96?t(h):h===34||h===39?(e.consume(h),i=h,B):A(h)?(o=T,Y(h)):R(h)?(e.consume(h),T):(e.consume(h),V)}function B(h){return h===i?(e.consume(h),i=void 0,O):h===null?t(h):A(h)?(o=B,Y(h)):(e.consume(h),B)}function V(h){return h===null||h===34||h===39||h===60||h===61||h===96?t(h):h===47||h===62||Z(h)?$(h):(e.consume(h),V)}function O(h){return h===47||h===62||Z(h)?$(h):t(h)}function Q(h){return h===62?(e.consume(h),e.exit("htmlTextData"),e.exit("htmlText"),n):t(h)}function Y(h){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),le}function le(h){return R(h)?H(e,pe,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(h):pe(h)}function pe(h){return e.enter("htmlTextData"),o(h)}}const On={name:"labelEnd",resolveAll:Ll,resolveTo:Dl,tokenize:Fl},Al={tokenize:Nl},Pl={tokenize:Ol},zl={tokenize:Rl};function Ll(e){let n=-1;const t=[];for(;++n<e.length;){const r=e[n][1];if(t.push(e[n]),r.type==="labelImage"||r.type==="labelLink"||r.type==="labelEnd"){const i=r.type==="labelImage"?4:2;r.type="data",n+=i}}return e.length!==t.length&&ge(e,0,e.length,t),e}function Dl(e,n){let t=e.length,r=0,i,l,o;for(;t--;){const a=e[t][1];if(i){if(a.type==="link"||a.type==="labelLink"&&a._inactive)break;e[t][0]==="enter"&&a.type==="labelLink"&&(a._inactive=!0)}else if(l){if(e[t][0]==="enter"&&(a.type==="labelImage"||a.type==="labelLink")&&!a._balanced&&(i=t,a.type!=="labelLink")){r=2;break}}else a.type==="labelEnd"&&(l=t)}const u={type:e[i][1].type==="labelLink"?"link":"image",start:{...e[i][1].start},end:{...e[e.length-1][1].end}},c={type:"label",start:{...e[i][1].start},end:{...e[l][1].end}},s={type:"labelText",start:{...e[i+r+2][1].end},end:{...e[l-2][1].start}};return o=[["enter",u,n],["enter",c,n]],o=ie(o,e.slice(i+1,i+r+3)),o=ie(o,[["enter",s,n]]),o=ie(o,Nn(n.parser.constructs.insideSpan.null,e.slice(i+r+4,l-3),n)),o=ie(o,[["exit",s,n],e[l-2],e[l-1],["exit",c,n]]),o=ie(o,e.slice(l+1)),o=ie(o,[["exit",u,n]]),ge(e,i,e.length,o),e}function Fl(e,n,t){const r=this,i=r._labelStarts;let l,o;if(i){for(;i.length>0&&i[i.length-1]._balanced;)i.pop();l=i[i.length-1]}return u;function u(d){return l?l._inactive?f(d):(o=r.parser.defined.includes(Ie(r.sliceSerialize({start:l.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(d),e.exit("labelMarker"),e.exit("labelEnd"),c):t(d)}function c(d){return d===40?e.attempt(Al,a,o?a:f)(d):d===91?e.attempt(Pl,a,o?s:f)(d):o?a(d):f(d)}function s(d){return e.attempt(zl,a,f)(d)}function a(d){return i.pop(),n(d)}function f(d){return l._balanced=!0,t(d)}}function Nl(e,n,t){return r;function r(f){return e.enter("resource"),e.enter("resourceMarker"),e.consume(f),e.exit("resourceMarker"),i}function i(f){return Z(f)?Me(e,l)(f):l(f)}function l(f){return f===41?a(f):Gt(e,o,u,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(f)}function o(f){return Z(f)?Me(e,c)(f):a(f)}function u(f){return t(f)}function c(f){return f===34||f===39||f===40?er(e,s,t,"resourceTitle","resourceTitleMarker","resourceTitleString")(f):a(f)}function s(f){return Z(f)?Me(e,a)(f):a(f)}function a(f){return f===41?(e.enter("resourceMarker"),e.consume(f),e.exit("resourceMarker"),e.exit("resource"),n):t(f)}}function Ol(e,n,t){const r=this;return i;function i(u){return Zt.call(r,e,l,o,"reference","referenceMarker","referenceString")(u)}function l(u){return r.parser.defined.includes(Ie(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?n(u):t(u)}function o(u){return t(u)}}function Rl(e,n,t){return r;function r(l){return e.enter("reference"),e.enter("referenceMarker"),e.consume(l),e.exit("referenceMarker"),i}function i(l){return l===93?(e.enter("referenceMarker"),e.consume(l),e.exit("referenceMarker"),e.exit("reference"),n):t(l)}}const Ml={name:"labelStartImage",resolveAll:On.resolveAll,tokenize:vl};function vl(e,n,t){const r=this;let i;return l;function l(c){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(c),e.exit("labelImageMarker"),o}function o(c){return c===91?(e.enter("labelMarker"),e.consume(c),e.exit("labelMarker"),i=e.exit("labelImage"),u):t(c)}function u(c){return c===94&&"_hiddenFootnoteSupport"in r.parser.constructs?t(c):(r._labelStarts=r._labelStarts||[],r._labelStarts.push(i),n(c))}}const _l={name:"labelStartLink",resolveAll:On.resolveAll,tokenize:Bl};function Bl(e,n,t){const r=this;let i;return l;function l(u){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(u),e.exit("labelMarker"),i=e.exit("labelLink"),o}function o(u){return u===94&&"_hiddenFootnoteSupport"in r.parser.constructs?t(u):(r._labelStarts=r._labelStarts||[],r._labelStarts.push(i),n(u))}}const rn={name:"lineEnding",tokenize:jl};function jl(e,n){return t;function t(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),H(e,n,"linePrefix")}}const qe={name:"thematicBreak",tokenize:Ul};function Ul(e,n,t){let r=0,i;return l;function l(s){return e.enter("thematicBreak"),o(s)}function o(s){return i=s,u(s)}function u(s){return s===i?(e.enter("thematicBreakSequence"),c(s)):r>=3&&(s===null||A(s))?(e.exit("thematicBreak"),n(s)):t(s)}function c(s){return s===i?(e.consume(s),r++,c):(e.exit("thematicBreakSequence"),R(s)?H(e,u,"whitespace")(s):u(s))}}const G={continuation:{tokenize:$l},exit:Yl,name:"list",tokenize:ql},Hl={partial:!0,tokenize:Ql},Vl={partial:!0,tokenize:Wl};function ql(e,n,t){const r=this,i=r.events[r.events.length-1];let l=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,o=0;return u;function u(p){const y=r.containerState.type||(p===42||p===43||p===45?"listUnordered":"listOrdered");if(y==="listUnordered"?!r.containerState.marker||p===r.containerState.marker:kn(p)){if(r.containerState.type||(r.containerState.type=y,e.enter(y,{_container:!0})),y==="listUnordered")return e.enter("listItemPrefix"),p===42||p===45?e.check(qe,t,s)(p):s(p);if(!r.interrupt||p===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),c(p)}return t(p)}function c(p){return kn(p)&&++o<10?(e.consume(p),c):(!r.interrupt||o<2)&&(r.containerState.marker?p===r.containerState.marker:p===41||p===46)?(e.exit("listItemValue"),s(p)):t(p)}function s(p){return e.enter("listItemMarker"),e.consume(p),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||p,e.check(Qe,r.interrupt?t:a,e.attempt(Hl,d,f))}function a(p){return r.containerState.initialBlankLine=!0,l++,d(p)}function f(p){return R(p)?(e.enter("listItemPrefixWhitespace"),e.consume(p),e.exit("listItemPrefixWhitespace"),d):t(p)}function d(p){return r.containerState.size=l+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(p)}}function $l(e,n,t){const r=this;return r.containerState._closeFlow=void 0,e.check(Qe,i,l);function i(u){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,H(e,n,"listItemIndent",r.containerState.size+1)(u)}function l(u){return r.containerState.furtherBlankLines||!R(u)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(u)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Vl,n,o)(u))}function o(u){return r.containerState._closeFlow=!0,r.interrupt=void 0,H(e,e.attempt(G,n,t),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(u)}}function Wl(e,n,t){const r=this;return H(e,i,"listItemIndent",r.containerState.size+1);function i(l){const o=r.events[r.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===r.containerState.size?n(l):t(l)}}function Yl(e){e.exit(this.containerState.type)}function Ql(e,n,t){const r=this;return H(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(l){const o=r.events[r.events.length-1];return!R(l)&&o&&o[1].type==="listItemPrefixWhitespace"?n(l):t(l)}}const pt={name:"setextUnderline",resolveTo:Xl,tokenize:Kl};function Xl(e,n){const t=new $e;let r=e.length,i,l,o;for(;r--;)if(e[r][0]==="enter"){if(e[r][1].type==="content"){i=r;break}e[r][1].type==="paragraph"&&(l=r)}else e[r][1].type==="content"&&t.add(r,1,[]),!o&&e[r][1].type==="definition"&&(o=r);const u={type:"setextHeading",start:{...e[i][1].start},end:{...e[e.length-1][1].end}};return e[l][1].type="setextHeadingText",o?(t.add(l,0,[["enter",u,n]]),t.add(o+1,0,[["exit",e[i][1],n]]),e[i][1].end={...e[o][1].end}):e[i][1]=u,t.add(e.length,0,[["exit",u,n]]),t.consume(e),e}function Kl(e,n,t){const r=this;let i;return l;function l(s){let a=r.events.length,f;for(;a--;)if(r.events[a][1].type!=="lineEnding"&&r.events[a][1].type!=="linePrefix"&&r.events[a][1].type!=="content"){f=r.events[a][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||f)?(e.enter("setextHeadingLine"),i=s,o(s)):t(s)}function o(s){return e.enter("setextHeadingLineSequence"),u(s)}function u(s){return s===i?(e.consume(s),u):(e.exit("setextHeadingLineSequence"),R(s)?H(e,c,"lineSuffix")(s):c(s))}function c(s){return s===null||A(s)?(e.exit("setextHeadingLine"),n(s)):t(s)}}const Jl={tokenize:Gl};function Gl(e){const n=this,t=e.attempt(Qe,r,e.attempt(this.parser.constructs.flowInitial,i,H(e,e.attempt(this.parser.constructs.flow,i,e.attempt(ll,i)),"linePrefix")));return t;function r(l){if(l===null){e.consume(l);return}return e.enter("lineEndingBlank"),e.consume(l),e.exit("lineEndingBlank"),n.currentConstruct=void 0,t}function i(l){if(l===null){e.consume(l);return}return e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),n.currentConstruct=void 0,t}}const Zl={resolveAll:tr()},eo=nr("string"),no=nr("text");function nr(e){return{resolveAll:tr(e==="text"?to:void 0),tokenize:n};function n(t){const r=this,i=this.parser.constructs[e],l=t.attempt(i,o,u);return o;function o(a){return s(a)?l(a):u(a)}function u(a){if(a===null){t.consume(a);return}return t.enter("data"),t.consume(a),c}function c(a){return s(a)?(t.exit("data"),l(a)):(t.consume(a),c)}function s(a){if(a===null)return!0;const f=i[a];let d=-1;if(f)for(;++d<f.length;){const p=f[d];if(!p.previous||p.previous.call(r,r.previous))return!0}return!1}}}function tr(e){return n;function n(t,r){let i=-1,l;for(;++i<=t.length;)l===void 0?t[i]&&t[i][1].type==="data"&&(l=i,i++):(!t[i]||t[i][1].type!=="data")&&(i!==l+2&&(t[l][1].end=t[i-1][1].end,t.splice(l+2,i-l-2),i=l+2),l=void 0);return e?e(t,r):t}}function to(e,n){const t=new $e;let r=0;for(;++r<=e.length;)if((r===e.length||e[r][1].type==="lineEnding")&&e[r-1][1].type==="data"){const i=e[r-1][1],l=n.sliceStream(i);let o=l.length,u=-1,c=0,s;for(;o--;){const a=l[o];if(typeof a=="string"){for(u=a.length;a.charCodeAt(u-1)===32;)c++,u--;if(u)break;u=-1}else if(a===-2)s=!0,c++;else if(a!==-1){o++;break}}if(n._contentTypeTextTrailing&&r===e.length&&(c=0),c){const a={type:r===e.length||s||c<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:o?u:i.start._bufferIndex+u,_index:i.start._index+o,line:i.end.line,column:i.end.column-c,offset:i.end.offset-c},end:{...i.end}};i.end={...a.start},i.start.offset===i.end.offset?Object.assign(i,a):t.add(r,0,[["enter",a,n],["exit",a,n]])}r++}return t.consume(e),e}const ro={42:G,43:G,45:G,48:G,49:G,50:G,51:G,52:G,53:G,54:G,55:G,56:G,57:G,62:Qt},io={91:cl},lo={[-2]:tn,[-1]:tn,32:tn},oo={35:gl,42:qe,45:[pt,qe],60:bl,61:pt,95:qe,96:st,126:st},uo={38:Kt,92:Xt},ao={[-5]:rn,[-4]:rn,[-3]:rn,33:Ml,38:Kt,42:bn,60:[ji,Il],91:_l,92:[ml,Xt],93:On,95:bn,96:Zi},so={null:[bn,Zl]},co={null:[42,95]},po={null:[]},fo=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:co,contentInitial:io,disable:po,document:ro,flow:oo,flowInitial:lo,insideSpan:so,string:uo,text:ao},Symbol.toStringTag,{value:"Module"}));function ho(e,n,t){let r={_bufferIndex:-1,_index:0,line:t&&t.line||1,column:t&&t.column||1,offset:t&&t.offset||0};const i={},l=[];let o=[],u=[];const c={attempt:F(_),check:F(k),consume:L,enter:E,exit:N,interrupt:F(k,{interrupt:!0})},s={code:null,containerState:{},defineSkip:x,events:[],now:y,parser:e,previous:null,sliceSerialize:d,sliceStream:p,write:f};let a=n.tokenize.call(s,c);return n.resolveAll&&l.push(n),s;function f(C){return o=ie(o,C),I(),o[o.length-1]!==null?[]:(U(n,0),s.events=Nn(l,s.events,s),s.events)}function d(C,T){return go(p(C),T)}function p(C){return mo(o,C)}function y(){const{_bufferIndex:C,_index:T,line:B,column:V,offset:O}=r;return{_bufferIndex:C,_index:T,line:B,column:V,offset:O}}function x(C){i[C.line]=C.column,v()}function I(){for(;r._index<o.length;){const C=o[r._index];if(typeof C=="string"){const T=r._index;for(r._bufferIndex<0&&(r._bufferIndex=0);r._index===T&&r._bufferIndex<C.length;)w(C.charCodeAt(r._bufferIndex))}else w(C)}}function w(C){a=a(C)}function L(C){A(C)?(r.line++,r.column=1,r.offset+=C===-3?2:1,v()):C!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++)),s.previous=C}function E(C,T){const B=T||{};return B.type=C,B.start=y(),s.events.push(["enter",B,s]),u.push(B),B}function N(C){const T=u.pop();return T.end=y(),s.events.push(["exit",T,s]),T}function _(C,T){U(C,T.from)}function k(C,T){T.restore()}function F(C,T){return B;function B(V,O,Q){let Y,le,pe,h;return Array.isArray(V)?fe(V):"tokenize"in V?fe([V]):oe(V);function oe(W){return Pe;function Pe(me){const Se=me!==null&&W[me],Ee=me!==null&&W.null,Je=[...Array.isArray(Se)?Se:Se?[Se]:[],...Array.isArray(Ee)?Ee:Ee?[Ee]:[]];return fe(Je)(me)}}function fe(W){return Y=W,le=0,W.length===0?Q:m(W[le])}function m(W){return Pe;function Pe(me){return h=$(),pe=W,W.partial||(s.currentConstruct=W),W.name&&s.parser.constructs.disable.null.includes(W.name)?we():W.tokenize.call(T?Object.assign(Object.create(s),T):s,c,ue,we)(me)}}function ue(W){return C(pe,h),O}function we(W){return h.restore(),++le<Y.length?m(Y[le]):Q}}}function U(C,T){C.resolveAll&&!l.includes(C)&&l.push(C),C.resolve&&ge(s.events,T,s.events.length-T,C.resolve(s.events.slice(T),s)),C.resolveTo&&(s.events=C.resolveTo(s.events,s))}function $(){const C=y(),T=s.previous,B=s.currentConstruct,V=s.events.length,O=Array.from(u);return{from:V,restore:Q};function Q(){r=C,s.previous=T,s.currentConstruct=B,s.events.length=V,u=O,v()}}function v(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function mo(e,n){const t=n.start._index,r=n.start._bufferIndex,i=n.end._index,l=n.end._bufferIndex;let o;if(t===i)o=[e[t].slice(r,l)];else{if(o=e.slice(t,i),r>-1){const u=o[0];typeof u=="string"?o[0]=u.slice(r):o.shift()}l>0&&o.push(e[i].slice(0,l))}return o}function go(e,n){let t=-1;const r=[];let i;for(;++t<e.length;){const l=e[t];let o;if(typeof l=="string")o=l;else switch(l){case-5:{o="\r";break}case-4:{o=`
|
|
3
|
+
`;break}case-3:{o=`\r
|
|
4
|
+
`;break}case-2:{o=n?" ":" ";break}case-1:{if(!n&&i)continue;o=" ";break}default:o=String.fromCharCode(l)}i=l===-2,r.push(o)}return r.join("")}function yo(e){const r={constructs:Ii([fo,...(e||{}).extensions||[]]),content:i(Ni),defined:[],document:i(Ri),flow:i(Jl),lazy:{},string:i(eo),text:i(no)};return r;function i(l){return o;function o(u){return ho(r,l,u)}}}function xo(e){for(;!Jt(e););return e}const ft=/[\0\t\n\r]/g;function ko(){let e=1,n="",t=!0,r;return i;function i(l,o,u){l=n+(typeof l=="string"?l.toString():new TextDecoder(o||void 0).decode(l));const c=[];let s=0;for(n="",t&&(l.charCodeAt(0)===65279&&s++,t=void 0);s<l.length;){ft.lastIndex=s;const a=ft.exec(l),f=a&&a.index!==void 0?a.index:l.length,d=l.charCodeAt(f);if(!a){n=l.slice(s);break}if(d===10&&s===f&&r)c.push(-3),r=void 0;else switch(r&&(c.push(-5),r=void 0),s<f&&(c.push(l.slice(s,f)),e+=f-s),d){case 0:{c.push(65533),e++;break}case 9:{const p=Math.ceil(e/4)*4;for(c.push(-2);e++<p;)c.push(-1);break}case 10:{c.push(-4),e=1;break}default:r=!0,e=1}s=f+1}return u&&(r&&c.push(-5),n&&c.push(n),c.push(null)),c}}const bo=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function wo(e){return e.replace(bo,So)}function So(e,n,t){if(n)return n;if(t.charCodeAt(0)===35){const i=t.charCodeAt(1),l=i===120||i===88;return Wt(t.slice(l?2:1),l?16:10)}return Fn(t)||e}const rr={}.hasOwnProperty;function Eo(e,n,t){return n&&typeof n=="object"&&(t=n,n=void 0),Co(t)(xo(yo(t).document().write(ko()(e,n,!0))))}function Co(e){const n={afterExit:[],beforeEnter:[],transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:o(qn),autolinkProtocol:v,autolinkEmail:v,atxHeading:o(Un),blockQuote:o(Je),characterEscape:v,characterReference:v,codeFenced:o(jn),codeFencedFenceInfo:u,codeFencedFenceMeta:u,codeIndented:o(jn,u),codeText:o(dr,u),codeTextData:v,data:v,codeFlowValue:v,definition:o(gr),definitionDestinationString:u,definitionLabelString:u,definitionTitleString:u,emphasis:o(yr),hardBreakEscape:o(Hn),hardBreakTrailing:o(Hn),htmlFlow:o(Vn,u),htmlFlowData:v,htmlText:o(Vn,u),htmlTextData:v,image:o(xr),label:u,link:o(qn),listItem:o(kr),listItemValue:p,listOrdered:o($n,d),listUnordered:o($n),paragraph:o(br),reference:ue,referenceString:u,resourceDestinationString:u,resourceTitleString:u,setextHeading:o(Un),strong:o(wr),thematicBreak:o(Er)},exit:{atxHeading:s(),atxHeadingSequence:k,autolink:s(),autolinkEmail:Ee,autolinkProtocol:Se,blockQuote:s(),characterEscapeValue:C,characterReferenceMarkerHexadecimal:W,characterReferenceMarkerNumeric:W,characterReferenceValue:Pe,characterReference:me,codeFenced:s(w),codeFencedFence:I,codeFencedFenceInfo:y,codeFencedFenceMeta:x,codeFlowValue:C,codeIndented:s(L),codeText:s(Q),codeTextData:C,data:C,definition:s(),definitionDestinationString:_,definitionLabelString:E,definitionTitleString:N,emphasis:s(),hardBreakEscape:s(B),hardBreakTrailing:s(B),htmlFlow:s(V),htmlFlowData:C,htmlText:s(O),htmlTextData:C,image:s(le),label:h,labelText:pe,lineEnding:T,link:s(Y),listItem:s(),listOrdered:s(),listUnordered:s(),paragraph:s(),referenceString:we,resourceDestinationString:oe,resourceTitleString:fe,resource:m,setextHeading:s($),setextHeadingLineSequence:U,setextHeadingText:F,strong:s(),thematicBreak:s()}};ir(n,(e||{}).mdastExtensions||[]);const t={};return r;function r(g){let S={type:"root",children:[],position:void 0};const z={stack:[S],tokenStack:[],config:n,enter:c,exit:a,buffer:u,resume:f,data:t},D=[],K=[];let j=-1;for(;++j<g.length;)if(K.push(g[j]),g[j][1].type==="listOrdered"||g[j][1].type==="listUnordered")if(g[j][0]==="enter")D.push(K.length-1);else{const J=D.pop();l(K,J)}for(g=K,j=-1;++j<g.length;){const J=n[g[j][0]];g[j][0]==="enter"&&n.beforeEnter.length>0&&i(n.beforeEnter,{...z,sliceSerialize:g[j][2].sliceSerialize},g[j][1]),rr.call(J,g[j][1].type)&&J[g[j][1].type].call({...z,sliceSerialize:g[j][2].sliceSerialize},g[j][1]),g[j][0]==="exit"&&n.afterExit.length>0&&i(n.afterExit,{...z,sliceSerialize:g[j][2].sliceSerialize},g[j][1])}if(z.tokenStack.length>0){const J=z.tokenStack[z.tokenStack.length-1];(J[1]||ht).call(z,void 0,J[0])}for(S.position={start:de(g.length>0?g[0][1].start:{line:1,column:1,offset:0}),end:de(g.length>0?g[g.length-2][1].end:{line:1,column:1,offset:0})},j=-1;++j<n.transforms.length;)S=n.transforms[j](S)||S;return S}function i(g,S,z){let D=-1;for(;++D<g.length;)g[D].call(S,z)}function l(g,S){const z=g.length-1;let D=S-1,K=-1,j=!1,J,ae,ze,Le;const De=[];for(;++D<=z;){const ne=g[D];switch(ne[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{ne[0]==="enter"?K++:K--,Le=void 0;break}case"lineEndingBlank":{ne[0]==="enter"&&(J&&!Le&&!K&&!ze&&(ze=D),Le=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:Le=void 0}if(!K&&ne[0]==="enter"&&ne[1].type==="listItemPrefix"||K===-1&&ne[0]==="exit"&&(ne[1].type==="listUnordered"||ne[1].type==="listOrdered")){if(J){let Ce=D;for(ae=void 0;Ce--;){const he=g[Ce];if(he[1].type==="lineEnding"||he[1].type==="lineEndingBlank"){if(he[0]==="exit")continue;ae&&(g[ae][1].type="lineEndingBlank",j=!0),he[1].type="lineEnding",ae=Ce}else if(!(he[1].type==="linePrefix"||he[1].type==="blockQuotePrefix"||he[1].type==="blockQuotePrefixWhitespace"||he[1].type==="blockQuoteMarker"||he[1].type==="listItemIndent"))break}ze&&(!ae||ze<ae)&&(J._spread=!0),J.end=Object.assign({},ae?g[ae][1].start:ne[1].end),De.push({at:ae||D,event:["exit",J,ne[2]]})}if(ne[1].type==="listItemPrefix"){const Ce={type:"listItem",_spread:!1,start:Object.assign({},ne[1].start),end:void 0};J=Ce,De.push({at:D,event:["enter",Ce,ne[2]]}),ze=void 0,Le=!0}}}const Wn=g.splice(S);let Ge=0;for(D=-1;++D<Wn.length;){for(;Ge<De.length&&De[Ge].at===S+D;)g.push(De[Ge++].event);g.push(Wn[D])}g[S][1]._spread=j}function o(g,S){return z;function z(D){c.call(this,g(D),D),S&&S.call(this,D)}}function u(){this.stack.push({type:"fragment",children:[]})}function c(g,S,z){this.stack[this.stack.length-1].children.push(g),this.stack.push(g),this.tokenStack.push([S,z||void 0]),g.position={start:de(S.start),end:void 0}}function s(g){return S;function S(z){g&&g.call(this,z),a.call(this,z)}}function a(g,S){const z=this.stack.pop(),D=this.tokenStack.pop();if(!D)throw new Error("Cannot close `"+g.type+"` ("+Re({start:g.start,end:g.end})+"): itโs not open");D[0].type!==g.type&&(S?S.call(this,g,D[0]):(D[1]||ht).call(this,g,D[0])),z.position.end=de(g.end)}function f(){return Ei(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function p(g){if(this.data.expectingFirstListItemValue){const S=this.stack[this.stack.length-2];S.start=Number.parseInt(this.sliceSerialize(g),10),this.data.expectingFirstListItemValue=void 0}}function y(){const g=this.resume(),S=this.stack[this.stack.length-1];S.lang=g}function x(){const g=this.resume(),S=this.stack[this.stack.length-1];S.meta=g}function I(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function w(){const g=this.resume(),S=this.stack[this.stack.length-1];S.value=g.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function L(){const g=this.resume(),S=this.stack[this.stack.length-1];S.value=g.replace(/(\r?\n|\r)$/g,"")}function E(g){const S=this.resume(),z=this.stack[this.stack.length-1];z.label=S,z.identifier=Ie(this.sliceSerialize(g)).toLowerCase()}function N(){const g=this.resume(),S=this.stack[this.stack.length-1];S.title=g}function _(){const g=this.resume(),S=this.stack[this.stack.length-1];S.url=g}function k(g){const S=this.stack[this.stack.length-1];if(!S.depth){const z=this.sliceSerialize(g).length;S.depth=z}}function F(){this.data.setextHeadingSlurpLineEnding=!0}function U(g){const S=this.stack[this.stack.length-1];S.depth=this.sliceSerialize(g).codePointAt(0)===61?1:2}function $(){this.data.setextHeadingSlurpLineEnding=void 0}function v(g){const z=this.stack[this.stack.length-1].children;let D=z[z.length-1];(!D||D.type!=="text")&&(D=Sr(),D.position={start:de(g.start),end:void 0},z.push(D)),this.stack.push(D)}function C(g){const S=this.stack.pop();S.value+=this.sliceSerialize(g),S.position.end=de(g.end)}function T(g){const S=this.stack[this.stack.length-1];if(this.data.atHardBreak){const z=S.children[S.children.length-1];z.position.end=de(g.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&n.canContainEols.includes(S.type)&&(v.call(this,g),C.call(this,g))}function B(){this.data.atHardBreak=!0}function V(){const g=this.resume(),S=this.stack[this.stack.length-1];S.value=g}function O(){const g=this.resume(),S=this.stack[this.stack.length-1];S.value=g}function Q(){const g=this.resume(),S=this.stack[this.stack.length-1];S.value=g}function Y(){const g=this.stack[this.stack.length-1];if(this.data.inReference){const S=this.data.referenceType||"shortcut";g.type+="Reference",g.referenceType=S,delete g.url,delete g.title}else delete g.identifier,delete g.label;this.data.referenceType=void 0}function le(){const g=this.stack[this.stack.length-1];if(this.data.inReference){const S=this.data.referenceType||"shortcut";g.type+="Reference",g.referenceType=S,delete g.url,delete g.title}else delete g.identifier,delete g.label;this.data.referenceType=void 0}function pe(g){const S=this.sliceSerialize(g),z=this.stack[this.stack.length-2];z.label=wo(S),z.identifier=Ie(S).toLowerCase()}function h(){const g=this.stack[this.stack.length-1],S=this.resume(),z=this.stack[this.stack.length-1];if(this.data.inReference=!0,z.type==="link"){const D=g.children;z.children=D}else z.alt=S}function oe(){const g=this.resume(),S=this.stack[this.stack.length-1];S.url=g}function fe(){const g=this.resume(),S=this.stack[this.stack.length-1];S.title=g}function m(){this.data.inReference=void 0}function ue(){this.data.referenceType="collapsed"}function we(g){const S=this.resume(),z=this.stack[this.stack.length-1];z.label=S,z.identifier=Ie(this.sliceSerialize(g)).toLowerCase(),this.data.referenceType="full"}function W(g){this.data.characterReferenceType=g.type}function Pe(g){const S=this.sliceSerialize(g),z=this.data.characterReferenceType;let D;z?(D=Wt(S,z==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):D=Fn(S);const K=this.stack[this.stack.length-1];K.value+=D}function me(g){const S=this.stack.pop();S.position.end=de(g.end)}function Se(g){C.call(this,g);const S=this.stack[this.stack.length-1];S.url=this.sliceSerialize(g)}function Ee(g){C.call(this,g);const S=this.stack[this.stack.length-1];S.url="mailto:"+this.sliceSerialize(g)}function Je(){return{type:"blockquote",children:[],position:void 0}}function jn(){return{type:"code",lang:null,meta:null,value:"",position:void 0}}function dr(){return{type:"inlineCode",value:"",position:void 0}}function gr(){return{type:"definition",identifier:"",label:null,title:null,url:"",position:void 0}}function yr(){return{type:"emphasis",children:[],position:void 0}}function Un(){return{type:"heading",depth:0,children:[],position:void 0}}function Hn(){return{type:"break",position:void 0}}function Vn(){return{type:"html",value:"",position:void 0}}function xr(){return{type:"image",title:null,url:"",alt:null,position:void 0}}function qn(){return{type:"link",title:null,url:"",children:[],position:void 0}}function $n(g){return{type:"list",ordered:g.type==="listOrdered",start:null,spread:g._spread,children:[],position:void 0}}function kr(g){return{type:"listItem",spread:g._spread,checked:null,children:[],position:void 0}}function br(){return{type:"paragraph",children:[],position:void 0}}function wr(){return{type:"strong",children:[],position:void 0}}function Sr(){return{type:"text",value:"",position:void 0}}function Er(){return{type:"thematicBreak",position:void 0}}}function de(e){return{line:e.line,column:e.column,offset:e.offset}}function ir(e,n){let t=-1;for(;++t<n.length;){const r=n[t];Array.isArray(r)?ir(e,r):Io(e,r)}}function Io(e,n){let t;for(t in n)if(rr.call(n,t))switch(t){case"canContainEols":{const r=n[t];r&&e[t].push(...r);break}case"transforms":{const r=n[t];r&&e[t].push(...r);break}case"afterExit":case"beforeEnter":{const r=n[t];r&&e[t].push(r);break}case"enter":case"exit":{const r=n[t];r&&Object.assign(e[t],r);break}}}function ht(e,n){throw e?new Error("Cannot close `"+e.type+"` ("+Re({start:e.start,end:e.end})+"): a different token (`"+n.type+"`, "+Re({start:n.start,end:n.end})+") is open"):new Error("Cannot close document, a token (`"+n.type+"`, "+Re({start:n.start,end:n.end})+") is still open")}function To(e){const n=this;n.parser=t;function t(r){return Eo(r,{...n.data("settings"),...e,extensions:n.data("micromarkExtensions")||[],mdastExtensions:n.data("fromMarkdownExtensions")||[]})}}function Ao(e,n){const t={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(n),!0)};return e.patch(n,t),e.applyData(n,t)}function Po(e,n){const t={type:"element",tagName:"br",properties:{},children:[]};return e.patch(n,t),[e.applyData(n,t),{type:"text",value:`
|
|
5
|
+
`}]}function zo(e,n){const t=n.value?n.value+`
|
|
6
|
+
`:"",r={},i=n.lang?n.lang.split(/\s+/):[];i.length>0&&(r.className=["language-"+i[0]]);let l={type:"element",tagName:"code",properties:r,children:[{type:"text",value:t}]};return n.meta&&(l.data={meta:n.meta}),e.patch(n,l),l=e.applyData(n,l),l={type:"element",tagName:"pre",properties:{},children:[l]},e.patch(n,l),l}function Lo(e,n){const t={type:"element",tagName:"del",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function Do(e,n){const t={type:"element",tagName:"em",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function Fo(e,n){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(n.identifier).toUpperCase(),i=Ae(r.toLowerCase()),l=e.footnoteOrder.indexOf(r);let o,u=e.footnoteCounts.get(r);u===void 0?(u=0,e.footnoteOrder.push(r),o=e.footnoteOrder.length):o=l+1,u+=1,e.footnoteCounts.set(r,u);const c={type:"element",tagName:"a",properties:{href:"#"+t+"fn-"+i,id:t+"fnref-"+i+(u>1?"-"+u:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(o)}]};e.patch(n,c);const s={type:"element",tagName:"sup",properties:{},children:[c]};return e.patch(n,s),e.applyData(n,s)}function No(e,n){const t={type:"element",tagName:"h"+n.depth,properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function Oo(e,n){if(e.options.allowDangerousHtml){const t={type:"raw",value:n.value};return e.patch(n,t),e.applyData(n,t)}}function lr(e,n){const t=n.referenceType;let r="]";if(t==="collapsed"?r+="[]":t==="full"&&(r+="["+(n.label||n.identifier)+"]"),n.type==="imageReference")return[{type:"text",value:"!["+n.alt+r}];const i=e.all(n),l=i[0];l&&l.type==="text"?l.value="["+l.value:i.unshift({type:"text",value:"["});const o=i[i.length-1];return o&&o.type==="text"?o.value+=r:i.push({type:"text",value:r}),i}function Ro(e,n){const t=String(n.identifier).toUpperCase(),r=e.definitionById.get(t);if(!r)return lr(e,n);const i={src:Ae(r.url||""),alt:n.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);const l={type:"element",tagName:"img",properties:i,children:[]};return e.patch(n,l),e.applyData(n,l)}function Mo(e,n){const t={src:Ae(n.url)};n.alt!==null&&n.alt!==void 0&&(t.alt=n.alt),n.title!==null&&n.title!==void 0&&(t.title=n.title);const r={type:"element",tagName:"img",properties:t,children:[]};return e.patch(n,r),e.applyData(n,r)}function vo(e,n){const t={type:"text",value:n.value.replace(/\r?\n|\r/g," ")};e.patch(n,t);const r={type:"element",tagName:"code",properties:{},children:[t]};return e.patch(n,r),e.applyData(n,r)}function _o(e,n){const t=String(n.identifier).toUpperCase(),r=e.definitionById.get(t);if(!r)return lr(e,n);const i={href:Ae(r.url||"")};r.title!==null&&r.title!==void 0&&(i.title=r.title);const l={type:"element",tagName:"a",properties:i,children:e.all(n)};return e.patch(n,l),e.applyData(n,l)}function Bo(e,n){const t={href:Ae(n.url)};n.title!==null&&n.title!==void 0&&(t.title=n.title);const r={type:"element",tagName:"a",properties:t,children:e.all(n)};return e.patch(n,r),e.applyData(n,r)}function jo(e,n,t){const r=e.all(n),i=t?Uo(t):or(n),l={},o=[];if(typeof n.checked=="boolean"){const a=r[0];let f;a&&a.type==="element"&&a.tagName==="p"?f=a:(f={type:"element",tagName:"p",properties:{},children:[]},r.unshift(f)),f.children.length>0&&f.children.unshift({type:"text",value:" "}),f.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:n.checked,disabled:!0},children:[]}),l.className=["task-list-item"]}let u=-1;for(;++u<r.length;){const a=r[u];(i||u!==0||a.type!=="element"||a.tagName!=="p")&&o.push({type:"text",value:`
|
|
7
|
+
`}),a.type==="element"&&a.tagName==="p"&&!i?o.push(...a.children):o.push(a)}const c=r[r.length-1];c&&(i||c.type!=="element"||c.tagName!=="p")&&o.push({type:"text",value:`
|
|
8
|
+
`});const s={type:"element",tagName:"li",properties:l,children:o};return e.patch(n,s),e.applyData(n,s)}function Uo(e){let n=!1;if(e.type==="list"){n=e.spread||!1;const t=e.children;let r=-1;for(;!n&&++r<t.length;)n=or(t[r])}return n}function or(e){const n=e.spread;return n??e.children.length>1}function Ho(e,n){const t={},r=e.all(n);let i=-1;for(typeof n.start=="number"&&n.start!==1&&(t.start=n.start);++i<r.length;){const o=r[i];if(o.type==="element"&&o.tagName==="li"&&o.properties&&Array.isArray(o.properties.className)&&o.properties.className.includes("task-list-item")){t.className=["contains-task-list"];break}}const l={type:"element",tagName:n.ordered?"ol":"ul",properties:t,children:e.wrap(r,!0)};return e.patch(n,l),e.applyData(n,l)}function Vo(e,n){const t={type:"element",tagName:"p",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function qo(e,n){const t={type:"root",children:e.wrap(e.all(n))};return e.patch(n,t),e.applyData(n,t)}function $o(e,n){const t={type:"element",tagName:"strong",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}function Wo(e,n){const t=e.all(n),r=t.shift(),i=[];if(r){const o={type:"element",tagName:"thead",properties:{},children:e.wrap([r],!0)};e.patch(n.children[0],o),i.push(o)}if(t.length>0){const o={type:"element",tagName:"tbody",properties:{},children:e.wrap(t,!0)},u=Pn(n.children[1]),c=Bt(n.children[n.children.length-1]);u&&c&&(o.position={start:u,end:c}),i.push(o)}const l={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(n,l),e.applyData(n,l)}function Yo(e,n,t){const r=t?t.children:void 0,l=(r?r.indexOf(n):1)===0?"th":"td",o=t&&t.type==="table"?t.align:void 0,u=o?o.length:n.children.length;let c=-1;const s=[];for(;++c<u;){const f=n.children[c],d={},p=o?o[c]:void 0;p&&(d.align=p);let y={type:"element",tagName:l,properties:d,children:[]};f&&(y.children=e.all(f),e.patch(f,y),y=e.applyData(f,y)),s.push(y)}const a={type:"element",tagName:"tr",properties:{},children:e.wrap(s,!0)};return e.patch(n,a),e.applyData(n,a)}function Qo(e,n){const t={type:"element",tagName:"td",properties:{},children:e.all(n)};return e.patch(n,t),e.applyData(n,t)}const mt=9,dt=32;function Xo(e){const n=String(e),t=/\r?\n|\r/g;let r=t.exec(n),i=0;const l=[];for(;r;)l.push(gt(n.slice(i,r.index),i>0,!0),r[0]),i=r.index+r[0].length,r=t.exec(n);return l.push(gt(n.slice(i),i>0,!1)),l.join("")}function gt(e,n,t){let r=0,i=e.length;if(n){let l=e.codePointAt(r);for(;l===mt||l===dt;)r++,l=e.codePointAt(r)}if(t){let l=e.codePointAt(i-1);for(;l===mt||l===dt;)i--,l=e.codePointAt(i-1)}return i>r?e.slice(r,i):""}function Ko(e,n){const t={type:"text",value:Xo(String(n.value))};return e.patch(n,t),e.applyData(n,t)}function Jo(e,n){const t={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(n,t),e.applyData(n,t)}const Go={blockquote:Ao,break:Po,code:zo,delete:Lo,emphasis:Do,footnoteReference:Fo,heading:No,html:Oo,imageReference:Ro,image:Mo,inlineCode:vo,linkReference:_o,link:Bo,listItem:jo,list:Ho,paragraph:Vo,root:qo,strong:$o,table:Wo,tableCell:Qo,tableRow:Yo,text:Ko,thematicBreak:Jo,toml:Ue,yaml:Ue,definition:Ue,footnoteDefinition:Ue};function Ue(){}const ur=-1,Xe=0,ve=1,We=2,Rn=3,Mn=4,vn=5,_n=6,ar=7,sr=8,{defineProperty:Zo}=Object,cr=typeof self=="object"?self:globalThis,yt=(e,n)=>{switch(e){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw new TypeError("unable to deserialize "+e)}return new cr[e](n)},eu=(e,n)=>{const t=(i,l)=>(e.set(l,i),i),r=i=>{if(e.has(i))return e.get(i);const[l,o]=n[i];switch(l){case Xe:case ur:return t(o,i);case ve:{const u=t([],i);for(const c of o)u.push(r(c));return u}case We:{const u=t({},i);for(const[c,s]of o){const a=r(c),f=r(s);a==="__proto__"?Zo(u,a,{value:f,configurable:!0,enumerable:!0,writable:!0}):u[a]=f}return u}case Rn:return t(new Date(o),i);case Mn:{const{source:u,flags:c}=o;return t(new RegExp(u,c),i)}case vn:{const u=t(new Map,i);for(const[c,s]of o)u.set(r(c),r(s));return u}case _n:{const u=t(new Set,i);for(const c of o)u.add(r(c));return u}case ar:{const{name:u,message:c}=o;return t(typeof cr[u]=="function"?yt(u,c):new Error(c),i)}case sr:return t(BigInt(o),i);case"BigInt":return t(Object(BigInt(o)),i);case"ArrayBuffer":return t(new Uint8Array(o).buffer,o);case"DataView":{const{buffer:u}=new Uint8Array(o);return t(new DataView(u),o)}case"-0":return-0}return t(yt(l,o),i)};return r},xt=e=>eu(new Map,e)(0),xe="",{toString:nu}={},{keys:tu,is:ru}=Object,Oe=e=>{const n=typeof e;if(n!=="object"||!e)return[Xe,n];const t=nu.call(e).slice(8,-1);switch(t){case"Array":return[ve,xe];case"Object":return[We,xe];case"Date":return[Rn,xe];case"RegExp":return[Mn,xe];case"Map":return[vn,xe];case"Set":return[_n,xe];case"DataView":return[ve,t]}return t.includes("Array")?[ve,t]:e instanceof Error?[ar,e.name||"Error"]:[We,t]},He=([e,n])=>e===Xe&&(n==="function"||n==="symbol"),iu=(e,n,t,r)=>{const i=(o,u)=>{const c=r.push(o)-1;return t.set(u,c),c},l=o=>{if(t.has(o))return t.get(o);let[u,c]=Oe(o);switch(u){case Xe:{let a=o;switch(c){case"bigint":u=sr,a=o.toString();break;case"number":if(!o&&ru(o,-0))return r.push(["-0"])-1;break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+c);a=null;break;case"undefined":return i([ur],o)}return i([u,a],o)}case ve:{if(c){let d=o;return c==="DataView"?d=new Uint8Array(o.buffer):c==="ArrayBuffer"&&(d=new Uint8Array(o)),i([c,[...d]],o)}const a=[],f=i([u,a],o);for(const d of o)a.push(l(d));return f}case We:{if(c)switch(c){case"BigInt":return i([c,o.toString()],o);case"Boolean":case"Number":case"String":return i([c,o.valueOf()],o)}if(n&&"toJSON"in o)return l(o.toJSON());const a=[],f=i([u,a],o);for(const d of tu(o))(e||!He(Oe(o[d])))&&a.push([l(d),l(o[d])]);return f}case Rn:return i([u,isNaN(o.getTime())?xe:o.toISOString()],o);case Mn:{const{source:a,flags:f}=o;return i([u,{source:a,flags:f}],o)}case vn:{const a=[],f=i([u,a],o);for(const[d,p]of o)(e||!(He(Oe(d))||He(Oe(p))))&&a.push([l(d),l(p)]);return f}case _n:{const a=[],f=i([u,a],o);for(const d of o)(e||!He(Oe(d)))&&a.push(l(d));return f}}const{message:s}=o;return i([u,{name:c,message:s}],o)};return l},kt=(e,{json:n,lossy:t}={})=>{const r=[];return iu(!(n||t),!!n,new Map,r)(e),r},Ye=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?xt(kt(e,n)):structuredClone(e):(e,n)=>xt(kt(e,n));function lu(e,n){const t=[{type:"text",value:"โฉ"}];return n>1&&t.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(n)}]}),t}function ou(e,n){return"Back to reference "+(e+1)+(n>1?"-"+n:"")}function uu(e){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",t=e.options.footnoteBackContent||lu,r=e.options.footnoteBackLabel||ou,i=e.options.footnoteLabel||"Footnotes",l=e.options.footnoteLabelTagName||"h2",o=e.options.footnoteLabelProperties||{className:["sr-only"]},u=[];let c=-1;for(;++c<e.footnoteOrder.length;){const s=e.footnoteById.get(e.footnoteOrder[c]);if(!s)continue;const a=e.all(s),f=String(s.identifier).toUpperCase(),d=Ae(f.toLowerCase());let p=0;const y=[],x=e.footnoteCounts.get(f);for(;x!==void 0&&++p<=x;){y.length>0&&y.push({type:"text",value:" "});let L=typeof t=="string"?t:t(c,p);typeof L=="string"&&(L={type:"text",value:L}),y.push({type:"element",tagName:"a",properties:{href:"#"+n+"fnref-"+d+(p>1?"-"+p:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(c,p),className:["data-footnote-backref"]},children:Array.isArray(L)?L:[L]})}const I=a[a.length-1];if(I&&I.type==="element"&&I.tagName==="p"){const L=I.children[I.children.length-1];L&&L.type==="text"?L.value+=" ":I.children.push({type:"text",value:" "}),I.children.push(...y)}else a.push(...y);const w={type:"element",tagName:"li",properties:{id:n+"fn-"+d},children:e.wrap(a,!0)};e.patch(s,w),u.push(w)}if(u.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:l,properties:{...Ye(o),id:"footnote-label"},children:[{type:"text",value:i}]},{type:"text",value:`
|
|
9
|
+
`},{type:"element",tagName:"ol",properties:{},children:e.wrap(u,!0)},{type:"text",value:`
|
|
10
|
+
`}]}}const pr=(function(e){if(e==null)return pu;if(typeof e=="function")return Ke(e);if(typeof e=="object")return Array.isArray(e)?au(e):su(e);if(typeof e=="string")return cu(e);throw new Error("Expected function, string, or object as test")});function au(e){const n=[];let t=-1;for(;++t<e.length;)n[t]=pr(e[t]);return Ke(r);function r(...i){let l=-1;for(;++l<n.length;)if(n[l].apply(this,i))return!0;return!1}}function su(e){const n=e;return Ke(t);function t(r){const i=r;let l;for(l in e)if(i[l]!==n[l])return!1;return!0}}function cu(e){return Ke(n);function n(t){return t&&t.type===e}}function Ke(e){return n;function n(t,r,i){return!!(fu(t)&&e.call(this,t,typeof r=="number"?r:void 0,i||void 0))}}function pu(){return!0}function fu(e){return e!==null&&typeof e=="object"&&"type"in e}const fr=[],hu=!0,ln=!1,bt="skip";function wt(e,n,t,r){if(!e||typeof e!="object")throw new Error("Unexpected value `"+e+"` for `tree`, expected node");let i=!0,l,o,u,c;if(typeof t=="function"||t&&typeof t=="object"?(l=n,o=t,r&&(i=!1)):(o=n,t&&(i=!1)),typeof o=="function")u=o;else if(o&&typeof o=="object"){if(!(o.enter===null||o.enter===void 0))if(typeof o.enter=="function")u=o.enter;else throw new Error("Unexpected value `"+o.enter+"` for `visitors.enter`, expected optional visitor");if(typeof o.exit=="function")c=o.exit;else throw new Error("Unexpected value `"+o.exit+"` for `visitors.exit`, expected visitor (pass a visitor directly if you only want an enter visitor)")}else throw new Error("Unexpected value `"+o+"` for `enter` or `visitors`, expected visitor or object with visitors");const s=pr(l),a=i?1:-1;f(e,void 0,[])();function f(d,p,y){const x=d&&typeof d=="object"?d:{};if(typeof x.type=="string"){const w=typeof x.tagName=="string"?x.tagName:typeof x.name=="string"?x.name:void 0;Object.defineProperty(I,"name",{value:"node ("+(d.type+(w?"<"+w+">":""))+")"})}return I;function I(){const w=!l||s(d,p,y[y.length-1]||void 0);let L=fr;if(u&&w&&(L=St(u(d,y,p)),L[0]===ln))return L;if("children"in d&&d.children){const E=d;if(E.children&&L[0]!==bt){let N=(i?-1:E.children.length)+a;const _=[...y,E];for(;N>-1&&N<E.children.length;){const k=E.children[N],F=f(k,N,_)();if(F[0]===ln)return F;N=typeof F[1]=="number"?F[1]:N+a}}}if(c&&w){const E=St(c(d,y,p));if(E[0]===bt)throw new Error("Unexpected value `"+E[0]+"` from `exit`, expected `CONTINUE`, `EXIT`, index, or nothing");if(E[0]===ln||typeof E[1]=="number")return E}return L}}}function St(e){return Array.isArray(e)?e:typeof e=="number"?[hu,e]:e==null?fr:[e]}function hr(e,n,t,r){let i,l,o;l=n,o=t,typeof l=="function"?wt(e,i,Sn(l),o):wt(e,i,mu(l),o)}function mu(e){return!e||typeof e!="object"?e:{enter:typeof e.enter=="function"?Sn(e.enter):e.enter,exit:typeof e.exit=="function"?Sn(e.exit):e.exit}}function Sn(e){return n;function n(t,r,i){return e(t,i,r[r.length-1])}}const En={}.hasOwnProperty,du={};function gu(e,n){const t=n||du,r=new Map,i=new Map,l=new Map,o={...Go,...t.handlers},u={all:s,applyData:xu,definitionById:r,footnoteById:i,footnoteCounts:l,footnoteOrder:[],handlers:o,one:c,options:t,patch:yu,wrap:bu};return hr(e,function(a){if(a.type==="definition"||a.type==="footnoteDefinition"){const f=a.type==="definition"?r:i,d=String(a.identifier).toUpperCase();f.has(d)||f.set(d,a)}}),u;function c(a,f){const d=a.type,p=u.handlers[d];if(En.call(u.handlers,d)&&p)return p(u,a,f);if(u.options.passThrough&&u.options.passThrough.includes(d)){if("children"in a){const{children:x,...I}=a,w=Ye(I);return w.children=u.all(a),w}return Ye(a)}return(u.options.unknownHandler||ku)(u,a,f)}function s(a){const f=[];if("children"in a){const d=a.children;let p=-1;for(;++p<d.length;){const y=u.one(d[p],a);if(y){if(p&&d[p-1].type==="break"&&(!Array.isArray(y)&&y.type==="text"&&(y.value=Et(y.value)),!Array.isArray(y)&&y.type==="element")){const x=y.children[0];x&&x.type==="text"&&(x.value=Et(x.value))}Array.isArray(y)?f.push(...y):f.push(y)}}}return f}}function yu(e,n){e.position&&(n.position=Zr(e))}function xu(e,n){let t=n;if(e&&e.data){const r=e.data.hName,i=e.data.hChildren,l=e.data.hProperties;if(typeof r=="string")if(t.type==="element")t.tagName=r;else{const o="children"in t?t.children:[t];t={type:"element",tagName:r,properties:{},children:o}}t.type==="element"&&l&&Object.assign(t.properties,Ye(l)),"children"in t&&t.children&&i!==null&&i!==void 0&&(t.children=i)}return t}function ku(e,n){const t=n.data||{},r="value"in n&&!(En.call(t,"hProperties")||En.call(t,"hChildren"))?{type:"text",value:n.value}:{type:"element",tagName:"div",properties:{},children:e.all(n)};return e.patch(n,r),e.applyData(n,r)}function bu(e,n){const t=[];let r=-1;for(n&&t.push({type:"text",value:`
|
|
11
|
+
`});++r<e.length;)r&&t.push({type:"text",value:`
|
|
12
|
+
`}),t.push(e[r]);return n&&e.length>0&&t.push({type:"text",value:`
|
|
13
|
+
`}),t}function Et(e){let n=0,t=e.charCodeAt(n);for(;t===9||t===32;)n++,t=e.charCodeAt(n);return e.slice(n)}function Ct(e,n){const t=gu(e,n),r=t.one(e,void 0),i=uu(t),l=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return i&&l.children.push({type:"text",value:`
|
|
14
|
+
`},i),l}function wu(e,n){return e&&"run"in e?async function(t,r){const i=Ct(t,{file:r,...n});await e.run(i,r)}:function(t,r){return Ct(t,{file:r,...e||n})}}function It(e){if(e)throw e}var on,Tt;function Su(){if(Tt)return on;Tt=1;var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=function(s){return typeof Array.isArray=="function"?Array.isArray(s):n.call(s)==="[object Array]"},l=function(s){if(!s||n.call(s)!=="[object Object]")return!1;var a=e.call(s,"constructor"),f=s.constructor&&s.constructor.prototype&&e.call(s.constructor.prototype,"isPrototypeOf");if(s.constructor&&!a&&!f)return!1;var d;for(d in s);return typeof d>"u"||e.call(s,d)},o=function(s,a){t&&a.name==="__proto__"?t(s,a.name,{enumerable:!0,configurable:!0,value:a.newValue,writable:!0}):s[a.name]=a.newValue},u=function(s,a){if(a==="__proto__")if(e.call(s,a)){if(r)return r(s,a).value}else return;return s[a]};return on=function c(){var s,a,f,d,p,y,x=arguments[0],I=1,w=arguments.length,L=!1;for(typeof x=="boolean"&&(L=x,x=arguments[1]||{},I=2),(x==null||typeof x!="object"&&typeof x!="function")&&(x={});I<w;++I)if(s=arguments[I],s!=null)for(a in s)f=u(x,a),d=u(s,a),x!==d&&(L&&d&&(l(d)||(p=i(d)))?(p?(p=!1,y=f&&i(f)?f:[]):y=f&&l(f)?f:{},o(x,{name:a,newValue:c(L,y,d)})):typeof d<"u"&&o(x,{name:a,newValue:d}));return x},on}var Eu=Su();const un=Cr(Eu);function Cn(e){if(typeof e!="object"||e===null)return!1;const n=Object.getPrototypeOf(e);return(n===null||n===Object.prototype||Object.getPrototypeOf(n)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function Cu(){const e=[],n={run:t,use:r};return n;function t(...i){let l=-1;const o=i.pop();if(typeof o!="function")throw new TypeError("Expected function as last argument, not "+o);u(null,...i);function u(c,...s){const a=e[++l];let f=-1;if(c){o(c);return}for(;++f<i.length;)(s[f]===null||s[f]===void 0)&&(s[f]=i[f]);i=s,a?Iu(a,u)(...s):o(null,...s)}}function r(i){if(typeof i!="function")throw new TypeError("Expected `middelware` to be a function, not "+i);return e.push(i),n}}function Iu(e,n){let t;return r;function r(...o){const u=e.length>o.length;let c;u&&o.push(i);try{c=e.apply(this,o)}catch(s){const a=s;if(u&&t)throw a;return i(a)}u||(c&&c.then&&typeof c.then=="function"?c.then(l,i):c instanceof Error?i(c):l(c))}function i(o,...u){t||(t=!0,n(o,...u))}function l(o){i(null,o)}}const se={basename:Tu,dirname:Au,extname:Pu,join:zu,sep:"/"};function Tu(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');je(e);let t=0,r=-1,i=e.length,l;if(n===void 0||n.length===0||n.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(l){t=i+1;break}}else r<0&&(l=!0,r=i+1);return r<0?"":e.slice(t,r)}if(n===e)return"";let o=-1,u=n.length-1;for(;i--;)if(e.codePointAt(i)===47){if(l){t=i+1;break}}else o<0&&(l=!0,o=i+1),u>-1&&(e.codePointAt(i)===n.codePointAt(u--)?u<0&&(r=i):(u=-1,r=o));return t===r?r=o:r<0&&(r=e.length),e.slice(t,r)}function Au(e){if(je(e),e.length===0)return".";let n=-1,t=e.length,r;for(;--t;)if(e.codePointAt(t)===47){if(r){n=t;break}}else r||(r=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function Pu(e){je(e);let n=e.length,t=-1,r=0,i=-1,l=0,o;for(;n--;){const u=e.codePointAt(n);if(u===47){if(o){r=n+1;break}continue}t<0&&(o=!0,t=n+1),u===46?i<0?i=n:l!==1&&(l=1):i>-1&&(l=-1)}return i<0||t<0||l===0||l===1&&i===t-1&&i===r+1?"":e.slice(i,t)}function zu(...e){let n=-1,t;for(;++n<e.length;)je(e[n]),e[n]&&(t=t===void 0?e[n]:t+"/"+e[n]);return t===void 0?".":Lu(t)}function Lu(e){je(e);const n=e.codePointAt(0)===47;let t=Du(e,!n);return t.length===0&&!n&&(t="."),t.length>0&&e.codePointAt(e.length-1)===47&&(t+="/"),n?"/"+t:t}function Du(e,n){let t="",r=0,i=-1,l=0,o=-1,u,c;for(;++o<=e.length;){if(o<e.length)u=e.codePointAt(o);else{if(u===47)break;u=47}if(u===47){if(!(i===o-1||l===1))if(i!==o-1&&l===2){if(t.length<2||r!==2||t.codePointAt(t.length-1)!==46||t.codePointAt(t.length-2)!==46){if(t.length>2){if(c=t.lastIndexOf("/"),c!==t.length-1){c<0?(t="",r=0):(t=t.slice(0,c),r=t.length-1-t.lastIndexOf("/")),i=o,l=0;continue}}else if(t.length>0){t="",r=0,i=o,l=0;continue}}n&&(t=t.length>0?t+"/..":"..",r=2)}else t.length>0?t+="/"+e.slice(i+1,o):t=e.slice(i+1,o),r=o-i-1;i=o,l=0}else u===46&&l>-1?l++:l=-1}return t}function je(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const Fu={cwd:Nu};function Nu(){return"/"}function In(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function Ou(e){if(typeof e=="string")e=new URL(e);else if(!In(e)){const n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){const n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return Ru(e)}function Ru(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const n=e.pathname;let t=-1;for(;++t<n.length;)if(n.codePointAt(t)===37&&n.codePointAt(t+1)===50){const r=n.codePointAt(t+2);if(r===70||r===102){const i=new TypeError("File URL path must not include encoded / characters");throw i.code="ERR_INVALID_FILE_URL_PATH",i}}return decodeURIComponent(n)}const an=["history","path","basename","stem","extname","dirname"];class mr{constructor(n){let t;n?In(n)?t={path:n}:typeof n=="string"||Mu(n)?t={value:n}:t=n:t={},this.cwd="cwd"in t?"":Fu.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r=-1;for(;++r<an.length;){const l=an[r];l in t&&t[l]!==void 0&&t[l]!==null&&(this[l]=l==="history"?[...t[l]]:t[l])}let i;for(i in t)an.includes(i)||(this[i]=t[i])}get basename(){return typeof this.path=="string"?se.basename(this.path):void 0}set basename(n){cn(n,"basename"),sn(n,"basename"),this.path=se.join(this.dirname||"",n)}get dirname(){return typeof this.path=="string"?se.dirname(this.path):void 0}set dirname(n){At(this.basename,"dirname"),this.path=se.join(n||"",this.basename)}get extname(){return typeof this.path=="string"?se.extname(this.path):void 0}set extname(n){if(sn(n,"extname"),At(this.dirname,"extname"),n){if(n.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(n.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=se.join(this.dirname,this.stem+(n||""))}get path(){return this.history[this.history.length-1]}set path(n){In(n)&&(n=Ou(n)),cn(n,"path"),this.path!==n&&this.history.push(n)}get stem(){return typeof this.path=="string"?se.basename(this.path,this.extname):void 0}set stem(n){cn(n,"stem"),sn(n,"stem"),this.path=se.join(this.dirname||"",n+(this.extname||""))}fail(n,t,r){const i=this.message(n,t,r);throw i.fatal=!0,i}info(n,t,r){const i=this.message(n,t,r);return i.fatal=void 0,i}message(n,t,r){const i=new X(n,t,r);return this.path&&(i.name=this.path+":"+i.name,i.file=this.path),i.fatal=!1,this.messages.push(i),i}toString(n){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(n||void 0).decode(this.value)}}function sn(e,n){if(e&&e.includes(se.sep))throw new Error("`"+n+"` cannot be a path: did not expect `"+se.sep+"`")}function cn(e,n){if(!e)throw new Error("`"+n+"` cannot be empty")}function At(e,n){if(!e)throw new Error("Setting `"+n+"` requires `path` to be set too")}function Mu(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const vu=(function(e){const r=this.constructor.prototype,i=r[e],l=function(){return i.apply(l,arguments)};return Object.setPrototypeOf(l,r),l}),_u={}.hasOwnProperty;class Bn extends vu{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=Cu()}copy(){const n=new Bn;let t=-1;for(;++t<this.attachers.length;){const r=this.attachers[t];n.use(...r)}return n.data(un(!0,{},this.namespace)),n}data(n,t){return typeof n=="string"?arguments.length===2?(hn("data",this.frozen),this.namespace[n]=t,this):_u.call(this.namespace,n)&&this.namespace[n]||void 0:n?(hn("data",this.frozen),this.namespace=n,this):this.namespace}freeze(){if(this.frozen)return this;const n=this;for(;++this.freezeIndex<this.attachers.length;){const[t,...r]=this.attachers[this.freezeIndex];if(r[0]===!1)continue;r[0]===!0&&(r[0]=void 0);const i=t.call(n,...r);typeof i=="function"&&this.transformers.use(i)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(n){this.freeze();const t=Ve(n),r=this.parser||this.Parser;return pn("parse",r),r(String(t),t)}process(n,t){const r=this;return this.freeze(),pn("process",this.parser||this.Parser),fn("process",this.compiler||this.Compiler),t?i(void 0,t):new Promise(i);function i(l,o){const u=Ve(n),c=r.parse(u);r.run(c,u,function(a,f,d){if(a||!f||!d)return s(a);const p=f,y=r.stringify(p,d);Uu(y)?d.value=y:d.result=y,s(a,d)});function s(a,f){a||!f?o(a):l?l(f):t(void 0,f)}}}processSync(n){let t=!1,r;return this.freeze(),pn("processSync",this.parser||this.Parser),fn("processSync",this.compiler||this.Compiler),this.process(n,i),zt("processSync","process",t),r;function i(l,o){t=!0,It(l),r=o}}run(n,t,r){Pt(n),this.freeze();const i=this.transformers;return!r&&typeof t=="function"&&(r=t,t=void 0),r?l(void 0,r):new Promise(l);function l(o,u){const c=Ve(t);i.run(n,c,s);function s(a,f,d){const p=f||n;a?u(a):o?o(p):r(void 0,p,d)}}}runSync(n,t){let r=!1,i;return this.run(n,t,l),zt("runSync","run",r),i;function l(o,u){It(o),i=u,r=!0}}stringify(n,t){this.freeze();const r=Ve(t),i=this.compiler||this.Compiler;return fn("stringify",i),Pt(n),i(n,r)}use(n,...t){const r=this.attachers,i=this.namespace;if(hn("use",this.frozen),n!=null)if(typeof n=="function")c(n,t);else if(typeof n=="object")Array.isArray(n)?u(n):o(n);else throw new TypeError("Expected usable value, not `"+n+"`");return this;function l(s){if(typeof s=="function")c(s,[]);else if(typeof s=="object")if(Array.isArray(s)){const[a,...f]=s;c(a,f)}else o(s);else throw new TypeError("Expected usable value, not `"+s+"`")}function o(s){if(!("plugins"in s)&&!("settings"in s))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");u(s.plugins),s.settings&&(i.settings=un(!0,i.settings,s.settings))}function u(s){let a=-1;if(s!=null)if(Array.isArray(s))for(;++a<s.length;){const f=s[a];l(f)}else throw new TypeError("Expected a list of plugins, not `"+s+"`")}function c(s,a){let f=-1,d=-1;for(;++f<r.length;)if(r[f][0]===s){d=f;break}if(d===-1)r.push([s,...a]);else if(a.length>0){let[p,...y]=a;const x=r[d][1];Cn(x)&&Cn(p)&&(p=un(!0,x,p)),r[d]=[s,p,...y]}}}}const Bu=new Bn().freeze();function pn(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function fn(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function hn(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Pt(e){if(!Cn(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function zt(e,n,t){if(!t)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function Ve(e){return ju(e)?e:new mr(e)}function ju(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function Uu(e){return typeof e=="string"||Hu(e)}function Hu(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const Vu="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",Lt=[],Dt={allowDangerousHtml:!0},qu=/^(https?|ircs?|mailto|xmpp)$/i,$u=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function Ju(e){const n=Wu(e),t=Yu(e);return Qu(n.runSync(n.parse(t),t),e)}function Wu(e){const n=e.rehypePlugins||Lt,t=e.remarkPlugins||Lt,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...Dt}:Dt;return Bu().use(To).use(t).use(wu,r).use(n)}function Yu(e){const n=e.children||"",t=new mr;return typeof n=="string"&&(t.value=n),t}function Qu(e,n){const t=n.allowedElements,r=n.allowElement,i=n.components,l=n.disallowedElements,o=n.skipHtml,u=n.unwrapDisallowed,c=n.urlTransform||Xu;for(const a of $u)Object.hasOwn(n,a.from)&&(""+a.from+(a.to?"use `"+a.to+"` instead":"remove it")+Vu+a.id,void 0);return hr(e,s),li(e,{Fragment:Ze.Fragment,components:i,ignoreInvalidStyle:!0,jsx:Ze.jsx,jsxs:Ze.jsxs,passKeys:!0,passNode:!0});function s(a,f,d){if(a.type==="raw"&&d&&typeof f=="number")return o?d.children.splice(f,1):d.children[f]={type:"text",value:a.value},f;if(a.type==="element"){let p;for(p in nn)if(Object.hasOwn(nn,p)&&Object.hasOwn(a.properties,p)){const y=a.properties[p],x=nn[p];(x===null||x.includes(a.tagName))&&(a.properties[p]=c(String(y||""),p,a))}}if(a.type==="element"){let p=t?!t.includes(a.tagName):l?l.includes(a.tagName):!1;if(!p&&r&&typeof f=="number"&&(p=!r(a,f,d)),p&&d&&typeof f=="number")return u&&a.children?d.children.splice(f,1,...a.children):d.children.splice(f,1),f}}}function Xu(e){const n=e.indexOf(":"),t=e.indexOf("?"),r=e.indexOf("#"),i=e.indexOf("/");return n===-1||i!==-1&&n>i||t!==-1&&n>t||r!==-1&&n>r||qu.test(e.slice(0,n))?e:""}export{Ju as M};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><rect width="40" height="40" rx="12" fill="#8b6aee"/><g stroke="white" stroke-width="2"><path d="m12 13 16 6-12 10z" fill="none"/><circle cx="12" cy="13" r="3" fill="white"/><circle cx="28" cy="19" r="3" fill="white"/><circle cx="16" cy="29" r="3" fill="white"/></g></svg>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<meta name="theme-color" content="#0b0d13" />
|
|
7
|
+
<meta name="description" content="CodeGraphy Lite โ Standalone Open-Source Visual Architecture Graph & MCP Server" />
|
|
8
|
+
<title>CodeGraphy Lite</title>
|
|
9
|
+
<link rel="icon" type="image/png" href="./favicon.png" />
|
|
10
|
+
<link rel="shortcut icon" href="./favicon.ico" />
|
|
11
|
+
<script type="module" crossorigin src="./assets/index-BPD6wClD.js"></script>
|
|
12
|
+
<link rel="modulepreload" crossorigin href="./assets/graph-D7gaURIl.js">
|
|
13
|
+
<link rel="modulepreload" crossorigin href="./assets/icons-CvV5lYnA.js">
|
|
14
|
+
<link rel="modulepreload" crossorigin href="./assets/markdown-Bj3RCaMp.js">
|
|
15
|
+
<link rel="stylesheet" crossorigin href="./assets/index-BH1KbUBa.css">
|
|
16
|
+
<link rel="stylesheet" href="./assets/codegraphy-lite-ui.css?v=4">
|
|
17
|
+
<script type="module" src="./assets/codegraphy-lite-ui.js?v=4"></script>
|
|
18
|
+
</head>
|
|
19
|
+
<body>
|
|
20
|
+
<div id="root"></div>
|
|
21
|
+
</body>
|
|
22
|
+
</html>
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: codegraphy-lite
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Standalone open-source visual architecture graph and MCP server for Python and modern codebases
|
|
5
|
+
Author-email: CodeGraphy Contributors <oss@codegraphy.dev>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/codegraphy-dev/codegraphy-lite
|
|
8
|
+
Project-URL: Documentation, https://github.com/codegraphy-dev/codegraphy-lite#readme
|
|
9
|
+
Project-URL: Repository, https://github.com/codegraphy-dev/codegraphy-lite.git
|
|
10
|
+
Keywords: architecture,visualization,graph,ast,mcp,model-context-protocol,claude,cursor,devtools
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
21
|
+
Classifier: Topic :: Software Development :: User Interfaces
|
|
22
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
23
|
+
Requires-Python: >=3.9
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
License-File: LICENSE
|
|
26
|
+
Requires-Dist: fastapi>=0.100.0
|
|
27
|
+
Requires-Dist: uvicorn>=0.20.0
|
|
28
|
+
Requires-Dist: pydantic>=2.0.0
|
|
29
|
+
Requires-Dist: starlette>=0.27.0
|
|
30
|
+
Provides-Extra: test
|
|
31
|
+
Requires-Dist: pytest>=7.0.0; extra == "test"
|
|
32
|
+
Requires-Dist: httpx>=0.24.0; extra == "test"
|
|
33
|
+
Dynamic: license-file
|
|
34
|
+
|
|
35
|
+
# CodeGraphy Lite ๐
|
|
36
|
+
|
|
37
|
+
[](https://pypi.org/project/codegraphy-lite/)
|
|
38
|
+
[](https://opensource.org/licenses/MIT)
|
|
39
|
+
[](https://www.python.org/downloads/)
|
|
40
|
+
[](https://modelcontextprotocol.io/)
|
|
41
|
+
|
|
42
|
+
**CodeGraphy Lite** is the standalone open-source distribution of CodeGraphy. It provides an interactive visual architecture canvas, living dependency graphs, and Model Context Protocol (MCP) server for Python and modern software codebases.
|
|
43
|
+
|
|
44
|
+
Built for developers and AI agents (Claude Code, Cursor, Windsurf, Cline), CodeGraphy Lite turns messy codebases into an intuitive, navigable 2D architectural map.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## โจ Features (1:1 Visual Parity)
|
|
49
|
+
|
|
50
|
+
- ๐บ๏ธ **Unified Architecture Graph**: Interactive React Flow graph displaying modules, services, and dependency edges with real-time drag-and-drop layout.
|
|
51
|
+
- ๐๏ธ **Split Layers & Lanes**: Group architectural topics by workflow stage (`Planning`, `Development`, `Testing`, `Done`).
|
|
52
|
+
- ๐ **Semantic Zoom**: Multi-level zoom with automatic Level-of-Detail (LOD)โzoom in to inspect function signatures and attached files, zoom out for high-level module topology.
|
|
53
|
+
- ๐ **Portable `.cg.md` Workspaces**: Human-readable Markdown workspace specification format with two-way import/export.
|
|
54
|
+
- โก **Lightweight AST Scanner**: Fast project scanner using Python's standard library `ast.parse()` and regex import matching (scans up to 35 files).
|
|
55
|
+
- ๐ค **STDIO MCP Server (`codegraphy-mcp`)**: Exposes 3 essential architectural intelligence tools to AI assistants via JSON-RPC 2.0.
|
|
56
|
+
- ๐ **100% Local-First & Private**: No cloud telemetry, no code uploads. Your codebase never leaves your machine.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## โ๏ธ Lite vs Pro Comparison
|
|
61
|
+
|
|
62
|
+
CodeGraphy Lite is fully open-source (MIT). For enterprise repositories, multi-language AST pruning, and deep impact analysis, check out **CodeGraphy Pro**:
|
|
63
|
+
|
|
64
|
+
| Capability | CodeGraphy Lite (Open Source) | CodeGraphy Pro (Commercial) |
|
|
65
|
+
| :--- | :---: | :---: |
|
|
66
|
+
| **License** | **MIT (Open Source)** | Commercial / Enterprise |
|
|
67
|
+
| **Visual Architecture Canvas** | โ
Full Visual UI | โ
Full Visual UI |
|
|
68
|
+
| **Split Layers & Semantic Zoom** | โ
Yes | โ
Yes |
|
|
69
|
+
| **`.cg.md` Workspace Import/Export** | โ
Yes | โ
Yes |
|
|
70
|
+
| **Max Scanned Files** | **35 files** | **Unlimited** (Multi-repo) |
|
|
71
|
+
| **AST Parser** | Python stdlib `ast.parse()` | Proprietary Polyglot AST Engine (PY/TS/GO/RS/C#/JAVA) |
|
|
72
|
+
| **Token Optimization** | Standard AST Signatures | **AST Smart Context (-85% Token Reduction)** |
|
|
73
|
+
| **Context Inspector** | Basic Preview | **Hybrid Context Inspector (Full / AST / Exclude)** |
|
|
74
|
+
| **Blast Radius Analysis** | โ *(PRO Badge)* | โ
Reverse Call Graph Impact Scoring |
|
|
75
|
+
| **Test Impact Engine** | โ *(PRO Badge)* | โ
Selective Test Discovery & Safe Runner |
|
|
76
|
+
| **Git Architecture Diff** | โ *(PRO Badge)* | โ
Branch/PR Visual Architecture Diff Overlay |
|
|
77
|
+
| **MCP Tools** | **3 Core Tools** | **Full 11-Tool Suite** |
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## ๐ Quickstart
|
|
82
|
+
|
|
83
|
+
### 1. Installation
|
|
84
|
+
|
|
85
|
+
Install via pip:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
pip install codegraphy-lite
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Or install from source for development:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
git clone https://github.com/codegraphy-dev/codegraphy-lite.git
|
|
95
|
+
cd codegraphy-lite
|
|
96
|
+
pip install -e .
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### 2. Launch the Web UI
|
|
100
|
+
|
|
101
|
+
Run `codegraphy-lite` pointing to any project directory:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Scan and visualize the current directory
|
|
105
|
+
codegraphy-lite
|
|
106
|
+
|
|
107
|
+
# Or specify a directory and custom port
|
|
108
|
+
codegraphy-lite /path/to/my-project --port 8000
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
The server automatically scans the project (up to 35 files) and opens `http://127.0.0.1:8000` in your default web browser.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## ๐ค Model Context Protocol (MCP) Setup
|
|
116
|
+
|
|
117
|
+
CodeGraphy Lite includes a built-in MCP server that communicates over STDIO using the `codegraphy-mcp` CLI.
|
|
118
|
+
|
|
119
|
+
### Available MCP Tools
|
|
120
|
+
|
|
121
|
+
1. `list_workspace_topics`: Lists all architectural topics, status, lane, files count, and descriptions.
|
|
122
|
+
2. `get_topic_context`: Fetches topic details, 1-hop connected dependencies, and AST-extracted class/function signatures.
|
|
123
|
+
3. `get_architecture_summary`: Returns project architecture metrics, dependency statistics, and status distribution.
|
|
124
|
+
|
|
125
|
+
### Configuration for Claude Code
|
|
126
|
+
|
|
127
|
+
Add the following to your Claude Code configuration (`~/.claude.json` or project `.mcp.json`):
|
|
128
|
+
|
|
129
|
+
```json
|
|
130
|
+
{
|
|
131
|
+
"mcpServers": {
|
|
132
|
+
"codegraphy": {
|
|
133
|
+
"command": "codegraphy-mcp",
|
|
134
|
+
"env": {
|
|
135
|
+
"CODEGRAPHY_ROOT": "/absolute/path/to/your/project"
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Configuration for Cursor
|
|
143
|
+
|
|
144
|
+
In Cursor settings (`Cursor Settings -> Features -> MCP -> Add new MCP server`):
|
|
145
|
+
|
|
146
|
+
- **Name**: `codegraphy`
|
|
147
|
+
- **Type**: `command`
|
|
148
|
+
- **Command**: `codegraphy-mcp`
|
|
149
|
+
|
|
150
|
+
Or add to your Cursor configuration file:
|
|
151
|
+
|
|
152
|
+
```json
|
|
153
|
+
{
|
|
154
|
+
"mcpServers": {
|
|
155
|
+
"codegraphy": {
|
|
156
|
+
"command": "codegraphy-mcp"
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## ๐ ๏ธ CLI Reference
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
usage: codegraphy-lite [-h] [--port PORT] [--host HOST] [--no-browser] [--scan] [-v] [path]
|
|
168
|
+
|
|
169
|
+
CodeGraphy Lite โ Standalone Open-Source Visual Architecture Graph & MCP Server
|
|
170
|
+
|
|
171
|
+
positional arguments:
|
|
172
|
+
path Target project directory to visualize (default: current directory)
|
|
173
|
+
|
|
174
|
+
options:
|
|
175
|
+
-h, --help Show this help message and exit
|
|
176
|
+
--port PORT HTTP server port (default: 8000)
|
|
177
|
+
--host HOST HTTP server bind host (default: 127.0.0.1)
|
|
178
|
+
--no-browser Do not automatically launch the browser
|
|
179
|
+
--scan Force automatic project directory scan on startup (up to 35 files)
|
|
180
|
+
-v, --version Show program's version number and exit
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## ๐ Repository Structure
|
|
186
|
+
|
|
187
|
+
```
|
|
188
|
+
codegraphy-lite/
|
|
189
|
+
โโโ LICENSE # MIT License
|
|
190
|
+
โโโ README.md # Documentation
|
|
191
|
+
โโโ pyproject.toml # PEP 517/621 package metadata & entrypoints
|
|
192
|
+
โโโ MANIFEST.in # Manifest for sdist packaging
|
|
193
|
+
โโโ .gitignore # Git ignore rules
|
|
194
|
+
โโโ codegraphy_lite/ # Core Python package
|
|
195
|
+
โ โโโ __init__.py # Version definition (1.0.0)
|
|
196
|
+
โ โโโ cli.py # `codegraphy-lite` CLI entrypoint
|
|
197
|
+
โ โโโ mcp.py # `codegraphy-mcp` STDIO JSON-RPC 2.0 server
|
|
198
|
+
โ โโโ models.py # Pydantic models for graph & workspace
|
|
199
|
+
โ โโโ scanner.py # Safe stdlib AST scanner (max 35 files)
|
|
200
|
+
โ โโโ server.py # FastAPI REST & WebSocket server
|
|
201
|
+
โ โโโ storage.py # Local persistence & .cg.md codec
|
|
202
|
+
โ โโโ web/ # Bundled visual UI assets
|
|
203
|
+
โ โโโ index.html
|
|
204
|
+
โ โโโ assets/
|
|
205
|
+
โ โ โโโ codegraphy-lite-ui.js # Pro features & modal controller
|
|
206
|
+
โ โ โโโ codegraphy-lite-ui.css # Pro badges & modal styling
|
|
207
|
+
โ โ โโโ ... # Built React Flow assets
|
|
208
|
+
โโโ tests/ # Unit test suite
|
|
209
|
+
โโโ test_scanner.py
|
|
210
|
+
โโโ test_mcp.py
|
|
211
|
+
โโโ test_server.py
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## ๐งช Running Tests
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
pip install -e ".[test]"
|
|
220
|
+
pytest tests/ -v
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## ๐ License
|
|
226
|
+
|
|
227
|
+
CodeGraphy Lite is licensed under the [MIT License](LICENSE).
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
codegraphy_lite/__init__.py,sha256=-k4hmSJbJVuMu16cP1uH7IXENFaMGUx5n_L58VW-lO4,245
|
|
2
|
+
codegraphy_lite/cli.py,sha256=cLV-Zfiq2gfvsTsvpwz5IxvfvEB6RKRl4sMOwJ9j_M8,3533
|
|
3
|
+
codegraphy_lite/mcp.py,sha256=Mb2y3bZfWQPkO6AmGJ6yUG5QyRPxcLHpUtKiZjR5Cwk,12078
|
|
4
|
+
codegraphy_lite/models.py,sha256=Na_C2oapoQzBA-eE3Au4HdE1VK823KSaFfEJx4FoTzw,6285
|
|
5
|
+
codegraphy_lite/scanner.py,sha256=RB0rG5NuLxXUbIkmGC3eJ8zymOoMhy92VJ-TVytXgfc,11860
|
|
6
|
+
codegraphy_lite/server.py,sha256=yL-d95YPGQ4DbNw6DWOPgOJL4qWmWNgtss7OP37q3Qo,12874
|
|
7
|
+
codegraphy_lite/storage.py,sha256=Jmhs9uJw4G1pZvacQ6rgU170LF0sa81Me0ps7Sj-IoM,6418
|
|
8
|
+
codegraphy_lite/web/favicon.ico,sha256=YfgUzO48ciXMOq2T-cP8P3MbNrLYMwMgWnOCyOP71QM,35641
|
|
9
|
+
codegraphy_lite/web/favicon.png,sha256=5YbEnGlv8HorQgQ64r-UmZ7kvMqfd9vMYQL_wKo888o,35739
|
|
10
|
+
codegraphy_lite/web/favicon.svg,sha256=xqsFyMubh6L2ujDWAS0M2zI0nNA8g_gvlwx6u2lDIhI,333
|
|
11
|
+
codegraphy_lite/web/index.html,sha256=v5Zl8o7swdfrbexD16cP3fnY384zU8TNDytWVe3IVWk,1074
|
|
12
|
+
codegraphy_lite/web/assets/codegraphy-lite-ui.css,sha256=k1Q_stZt55dtKht6mdCL3j96-s4DRgscnVJXVn-9Wwo,8640
|
|
13
|
+
codegraphy_lite/web/assets/codegraphy-lite-ui.js,sha256=Og6YCWU61G1zapAc2bVbBgzHPP3RLm9AKJ5kVHcF_EA,12969
|
|
14
|
+
codegraphy_lite/web/assets/graph-D7gaURIl.js,sha256=eFhskmzFWNBBlckYh1wYQI2GAXGKnZUmBp-INjOU-OU,201122
|
|
15
|
+
codegraphy_lite/web/assets/icons-CvV5lYnA.js,sha256=W6PcmT24OYyjDfRKw086_zx7aV842DFquHQL1h32BzA,11138
|
|
16
|
+
codegraphy_lite/web/assets/index-BH1KbUBa.css,sha256=za_EfNyRz2QNUzkMDJDSHKuQ6105gz4__lityyb6YdY,115012
|
|
17
|
+
codegraphy_lite/web/assets/index-BPD6wClD.js,sha256=qnLywUeEU-8KVbL3ijRH0x8S_QnsTDmenWyKbfeBbrc,837921
|
|
18
|
+
codegraphy_lite/web/assets/markdown-Bj3RCaMp.js,sha256=BcKEe41FP6K_c8atsR6xnqlTGxnchiFjWL2wf8lDzwQ,119796
|
|
19
|
+
codegraphy_lite-1.0.0.dist-info/licenses/LICENSE,sha256=LRdWTgmNho-erJpMF_Dx0CvHkOBbLNIWiw_3NACDcyM,1080
|
|
20
|
+
codegraphy_lite-1.0.0.dist-info/METADATA,sha256=m37whpNMP0MUtWGpnwSfpMMegiBy5j4_TXkl1cdVfyg,9092
|
|
21
|
+
codegraphy_lite-1.0.0.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
|
|
22
|
+
codegraphy_lite-1.0.0.dist-info/entry_points.txt,sha256=AIoLw4_NZnGpj4EWahxUgBwwqMJnFoNmFgOKPgBGQN0,103
|
|
23
|
+
codegraphy_lite-1.0.0.dist-info/top_level.txt,sha256=WcWSqgVgSA9HfX01B6GR9Xcmhw-Q2BRNNDCu4K0WYE0,16
|
|
24
|
+
codegraphy_lite-1.0.0.dist-info/RECORD,,
|