diff --git a/assets/index-0fad811a.css b/assets/index-0fad811a.css new file mode 100644 index 0000000..56bb9f7 --- /dev/null +++ b/assets/index-0fad811a.css @@ -0,0 +1 @@ +.hljs{display:block;overflow-x:auto;padding:.5em;background:#F0F0F0}.hljs,.hljs-subst{color:#444}.hljs-comment{color:#888}.hljs-keyword,.hljs-attribute,.hljs-selector-tag,.hljs-meta-keyword,.hljs-doctag,.hljs-name{font-weight:700}.hljs-type,.hljs-string,.hljs-number,.hljs-selector-id,.hljs-selector-class,.hljs-quote,.hljs-template-tag,.hljs-deletion{color:#800}.hljs-title,.hljs-section{color:#800;font-weight:700}.hljs-regexp,.hljs-symbol,.hljs-variable,.hljs-template-variable,.hljs-link,.hljs-selector-attr,.hljs-selector-pseudo{color:#bc6060}.hljs-literal{color:#78a960}.hljs-built_in,.hljs-bullet,.hljs-code,.hljs-addition{color:#397300}.hljs-meta{color:#1f7199}.hljs-meta-string{color:#4d99bf}.mx-16{margin-left:4rem;margin-right:4rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mb-8{margin-bottom:2rem}.mr-5{margin-right:1.25rem}.mt-8{margin-top:2rem}.h-full{height:100%}.w-60{width:15rem}.flex-grow,.grow{flex-grow:1}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}.p-8{padding:2rem}.px-12{padding-left:3rem;padding-right:3rem}.py-0{padding-top:0;padding-bottom:0}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.pb-96{padding-bottom:24rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}@media (prefers-color-scheme: dark){.dark\:border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}.dark\:border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.dark\:border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.dark\:bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.dark\:bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\:text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}.dark\:text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.dark\:text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.dark\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\:ring-offset-gray-800{--tw-ring-offset-color: #1f2937}.dark\:hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\:focus\:ring-blue-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(37 99 235 / var(--tw-ring-opacity))}}@media (min-width: 1024px){.lg\:w-1\/5{width:20%}.lg\:w-4\/5{width:80%}.lg\:flex-row{flex-direction:row}.lg\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.hljs{display:block;overflow-x:auto;padding:.5em;background:#2E3440}.hljs,.hljs-subst{color:#d8dee9}.hljs-selector-tag{color:#81a1c1}.hljs-selector-id{color:#8fbcbb;font-weight:700}.hljs-selector-class,.hljs-selector-attr{color:#8fbcbb}.hljs-selector-pseudo{color:#88c0d0}.hljs-addition{background-color:#a3be8c80}.hljs-deletion{background-color:#bf616a80}.hljs-built_in,.hljs-type,.hljs-class{color:#8fbcbb}.hljs-function{color:#88c0d0}.hljs-function>.hljs-title{color:#88c0d0}.hljs-keyword,.hljs-literal,.hljs-symbol{color:#81a1c1}.hljs-number{color:#b48ead}.hljs-regexp{color:#ebcb8b}.hljs-string{color:#a3be8c}.hljs-title{color:#8fbcbb}.hljs-params{color:#d8dee9}.hljs-bullet{color:#81a1c1}.hljs-code{color:#8fbcbb}.hljs-emphasis{font-style:italic}.hljs-formula{color:#8fbcbb}.hljs-strong{font-weight:700}.hljs-link:hover{text-decoration:underline}.hljs-quote,.hljs-comment{color:#4c566a}.hljs-doctag{color:#8fbcbb}.hljs-meta,.hljs-meta-keyword{color:#5e81ac}.hljs-meta-string{color:#a3be8c}.hljs-attr{color:#8fbcbb}.hljs-attribute{color:#d8dee9}.hljs-builtin-name,.hljs-name{color:#81a1c1}.hljs-section{color:#88c0d0}.hljs-tag{color:#81a1c1}.hljs-variable,.hljs-template-variable{color:#d8dee9}.hljs-template-tag{color:#5e81ac}.abnf .hljs-attribute{color:#88c0d0}.abnf .hljs-symbol{color:#ebcb8b}.apache .hljs-attribute{color:#88c0d0}.apache .hljs-section{color:#81a1c1}.arduino .hljs-built_in{color:#88c0d0}.aspectj .hljs-meta{color:#d08770}.aspectj>.hljs-title{color:#88c0d0}.bnf .hljs-attribute{color:#8fbcbb}.clojure .hljs-name{color:#88c0d0}.clojure .hljs-symbol{color:#ebcb8b}.coq .hljs-built_in{color:#88c0d0}.cpp .hljs-meta-string{color:#8fbcbb}.css .hljs-built_in{color:#88c0d0}.css .hljs-keyword{color:#d08770}.diff .hljs-meta,.ebnf .hljs-attribute{color:#8fbcbb}.glsl .hljs-built_in{color:#88c0d0}.groovy .hljs-meta:not(:first-child){color:#d08770}.haxe .hljs-meta,.java .hljs-meta{color:#d08770}.ldif .hljs-attribute{color:#8fbcbb}.lisp .hljs-name,.lua .hljs-built_in,.moonscript .hljs-built_in,.nginx .hljs-attribute{color:#88c0d0}.nginx .hljs-section{color:#5e81ac}.pf .hljs-built_in,.processing .hljs-built_in{color:#88c0d0}.scss .hljs-keyword,.stylus .hljs-keyword{color:#81a1c1}.swift .hljs-meta{color:#d08770}.vim .hljs-built_in{color:#88c0d0;font-style:italic}.yaml .hljs-meta{color:#d08770}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-2\.5{bottom:.625rem}.left-0{left:0}.right-0{right:0}.right-2{right:.5rem}.right-2\.5{right:.625rem}.top-0{top:0}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-48{margin-left:12rem;margin-right:12rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-48{margin-top:12rem;margin-bottom:12rem}.mb-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-12{margin-left:3rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.mr-2{margin-right:.5rem}.mt-12{margin-top:3rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-2{height:.5rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-fit{height:-moz-fit-content;height:fit-content}.h-screen{height:100vh}.max-h-fit{max-height:-moz-fit-content;max-height:fit-content}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-2\/5{width:40%}.w-3\/5{width:60%}.w-4{width:1rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.max-w-sm{max-width:24rem}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.border-spacing-y-4{--tw-border-spacing-y: 1rem;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.items-center{align-items:center}.justify-center{justify-content:center}.space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.whitespace-pre{white-space:pre}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.border-neutral-500{--tw-border-opacity: 1;border-color:rgb(115 115 115 / var(--tw-border-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.bg-neutral-600{--tw-bg-opacity: 1;background-color:rgb(82 82 82 / var(--tw-bg-opacity))}.bg-neutral-800{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.bg-neutral-900{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity))}.bg-orange-300{--tw-bg-opacity: 1;background-color:rgb(253 186 116 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-opacity-50{--tw-bg-opacity: .5}.fill-orange-300{fill:#fdba74}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-16{padding-left:4rem;padding-right:4rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-32{padding-bottom:8rem}.pb-4{padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pr-2{padding-right:.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-normal{line-height:1.5}.tracking-tight{letter-spacing:-.025em}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-neutral-200{--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity))}.text-orange-300{--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0px}.ring-offset-gray-800{--tw-ring-offset-color: #1f2937}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.hover\:bg-neutral-800:hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity))}.focus\:ring-blue-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(37 99 235 / var(--tw-ring-opacity))}:is([dir=rtl] .rtl\:border-l){border-left-width:1px}:is([dir=rtl] .rtl\:border-r-0){border-right-width:0px}@media (prefers-reduced-motion: no-preference){@keyframes pulse{50%{opacity:.5}}.motion-safe\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}}@media (prefers-color-scheme: dark){.dark\:border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}.dark\:border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.dark\:border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.dark\:border-neutral-700{--tw-border-opacity: 1;border-color:rgb(64 64 64 / var(--tw-border-opacity))}.dark\:bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.dark\:bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}.dark\:text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.dark\:text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.dark\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\:ring-offset-gray-800{--tw-ring-offset-color: #1f2937}.dark\:focus\:ring-blue-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(37 99 235 / var(--tw-ring-opacity))}}@media (min-width: 640px){.sm\:my-1{margin-top:.25rem;margin-bottom:.25rem}.sm\:hidden{display:none}.sm\:pb-2{padding-bottom:.5rem}.sm\:pt-2{padding-top:.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width: 1024px){.lg\:mx-16{margin-left:4rem;margin-right:4rem}.lg\:mx-4{margin-left:1rem;margin-right:1rem}.lg\:mx-8{margin-left:2rem;margin-right:2rem}.lg\:my-4{margin-top:1rem;margin-bottom:1rem}.lg\:my-8{margin-top:2rem;margin-bottom:2rem}.lg\:mb-8{margin-bottom:2rem}.lg\:ml-4{margin-left:1rem}.lg\:block{display:block}.lg\:w-1\/5{width:20%}.lg\:w-4\/5{width:80%}.lg\:flex-row{flex-direction:row}.lg\:flex-col{flex-direction:column}.lg\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.lg\:p-6{padding:1.5rem}.lg\:p-8{padding:2rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:px-2{padding-left:.5rem;padding-right:.5rem}.lg\:py-1{padding-top:.25rem;padding-bottom:.25rem}.lg\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.lg\:py-12{padding-top:3rem;padding-bottom:3rem}.lg\:pl-4{padding-left:1rem}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1280px){.xl\:block{display:block}.xl\:hidden{display:none}}@media (orientation: portrait){.portrait\:flex-col{flex-direction:column}.portrait\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}}@media (orientation: landscape){.landscape\:flex-row{flex-direction:row}.landscape\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.landscape\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}}@media (min-width: 640px){@media (orientation: landscape){.sm\:landscape\:hidden{display:none}}} diff --git a/assets/index-e2b8d2c7.js b/assets/index-2abfded6.js similarity index 98% rename from assets/index-e2b8d2c7.js rename to assets/index-2abfded6.js index 2ca2b83..ca9e2ae 100644 --- a/assets/index-e2b8d2c7.js +++ b/assets/index-2abfded6.js @@ -1,14 +1,14 @@ var EA=Object.defineProperty;var bA=(n,e,t)=>e in n?EA(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var R=(n,e,t)=>(bA(n,typeof e!="symbol"?e+"":e,t),t),ic=(n,e,t)=>{if(!e.has(n))throw TypeError("Cannot "+t)};var Q=(n,e,t)=>(ic(n,e,"read from private field"),t?t.call(n):e.get(n)),tt=(n,e,t)=>{if(e.has(n))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(n):e.set(n,t)},Qe=(n,e,t,r)=>(ic(n,e,"write to private field"),r?r.call(n,t):e.set(n,t),t);var io=(n,e,t,r)=>({set _(i){Qe(n,e,i,t)},get _(){return Q(n,e,r)}}),Ue=(n,e,t)=>(ic(n,e,"access private method"),t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function t(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function r(i){if(i.ep)return;i.ep=!0;const a=t(i);fetch(i.href,a)}})();const jm=n=>{n=1831565813+(n|=0)|0;let e=Math.imul(n^n>>>15,1|n);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296};class TA{constructor(e){this.dictionaries=void 0,this.length=void 0,this.separator=void 0,this.style=void 0,this.seed=void 0;const{length:t,separator:r,dictionaries:i,style:a,seed:s}=e;this.dictionaries=i,this.separator=r,this.length=t,this.style=a,this.seed=s}generate(){if(!this.dictionaries)throw new Error('Cannot find any dictionary. Please provide at least one, or leave the "dictionary" field empty in the config object');if(this.length<=0)throw new Error("Invalid length provided");if(this.length>this.dictionaries.length)throw new Error(`The length cannot be bigger than the number of dictionaries. -Length provided: ${this.length}. Number of dictionaries provided: ${this.dictionaries.length}`);let e=this.seed;return this.dictionaries.slice(0,this.length).reduce((t,r)=>{let i;e?(i=(s=>{if(typeof s=="string"){const o=s.split("").map(u=>u.charCodeAt(0)).reduce((u,d)=>u+d,1),l=Math.floor(Number(o));return jm(l)}return jm(s)})(e),e=4294967296*i):i=Math.random();let a=r[Math.floor(i*r.length)]||"";if(this.style==="lowerCase")a=a.toLowerCase();else if(this.style==="capital"){const[s,...o]=a.split("");a=s.toUpperCase()+o.join("")}else this.style==="upperCase"&&(a=a.toUpperCase());return t?`${t}${this.separator}${a}`:`${a}`},"")}}const Jm={separator:"_",dictionaries:[]},CA=n=>{const e=[...n&&n.dictionaries||Jm.dictionaries],t={...Jm,...n,length:n&&n.length||e.length,dictionaries:e};if(!n||!n.dictionaries||!n.dictionaries.length)throw new Error('A "dictionaries" array must be provided. This is a breaking change introduced starting from Unique Name Generator v4. Read more about the breaking change here: https://github.com/andreasonny83/unique-names-generator#migration-guide');return new TA(t).generate()};var vA=["able","above","absent","absolute","abstract","abundant","academic","acceptable","accepted","accessible","accurate","accused","active","actual","acute","added","additional","adequate","adjacent","administrative","adorable","advanced","adverse","advisory","aesthetic","afraid","aggregate","aggressive","agreeable","agreed","agricultural","alert","alive","alleged","allied","alone","alright","alternative","amateur","amazing","ambitious","amused","ancient","angry","annoyed","annual","anonymous","anxious","appalling","apparent","applicable","appropriate","arbitrary","architectural","armed","arrogant","artificial","artistic","ashamed","asleep","assistant","associated","atomic","attractive","automatic","autonomous","available","average","awake","aware","awful","awkward","back","bad","balanced","bare","basic","beautiful","beneficial","better","bewildered","big","binding","biological","bitter","bizarre","blank","blind","blonde","bloody","blushing","boiling","bold","bored","boring","bottom","brainy","brave","breakable","breezy","brief","bright","brilliant","broad","broken","bumpy","burning","busy","calm","capable","capitalist","careful","casual","causal","cautious","central","certain","changing","characteristic","charming","cheap","cheerful","chemical","chief","chilly","chosen","christian","chronic","chubby","circular","civic","civil","civilian","classic","classical","clean","clear","clever","clinical","close","closed","cloudy","clumsy","coastal","cognitive","coherent","cold","collective","colonial","colorful","colossal","coloured","colourful","combative","combined","comfortable","coming","commercial","common","communist","compact","comparable","comparative","compatible","competent","competitive","complete","complex","complicated","comprehensive","compulsory","conceptual","concerned","concrete","condemned","confident","confidential","confused","conscious","conservation","conservative","considerable","consistent","constant","constitutional","contemporary","content","continental","continued","continuing","continuous","controlled","controversial","convenient","conventional","convinced","convincing","cooing","cool","cooperative","corporate","correct","corresponding","costly","courageous","crazy","creative","creepy","criminal","critical","crooked","crowded","crucial","crude","cruel","cuddly","cultural","curious","curly","current","curved","cute","daily","damaged","damp","dangerous","dark","dead","deaf","deafening","dear","decent","decisive","deep","defeated","defensive","defiant","definite","deliberate","delicate","delicious","delighted","delightful","democratic","dependent","depressed","desirable","desperate","detailed","determined","developed","developing","devoted","different","difficult","digital","diplomatic","direct","dirty","disabled","disappointed","disastrous","disciplinary","disgusted","distant","distinct","distinctive","distinguished","disturbed","disturbing","diverse","divine","dizzy","domestic","dominant","double","doubtful","drab","dramatic","dreadful","driving","drunk","dry","dual","due","dull","dusty","dutch","dying","dynamic","eager","early","eastern","easy","economic","educational","eerie","effective","efficient","elaborate","elated","elderly","eldest","electoral","electric","electrical","electronic","elegant","eligible","embarrassed","embarrassing","emotional","empirical","empty","enchanting","encouraging","endless","energetic","enormous","enthusiastic","entire","entitled","envious","environmental","equal","equivalent","essential","established","estimated","ethical","ethnic","eventual","everyday","evident","evil","evolutionary","exact","excellent","exceptional","excess","excessive","excited","exciting","exclusive","existing","exotic","expected","expensive","experienced","experimental","explicit","extended","extensive","external","extra","extraordinary","extreme","exuberant","faint","fair","faithful","familiar","famous","fancy","fantastic","far","fascinating","fashionable","fast","fat","fatal","favourable","favourite","federal","fellow","female","feminist","few","fierce","filthy","final","financial","fine","firm","fiscal","fit","fixed","flaky","flat","flexible","fluffy","fluttering","flying","following","fond","foolish","foreign","formal","formidable","forthcoming","fortunate","forward","fragile","frail","frantic","free","frequent","fresh","friendly","frightened","front","frozen","full","fun","functional","fundamental","funny","furious","future","fuzzy","gastric","gay","general","generous","genetic","gentle","genuine","geographical","giant","gigantic","given","glad","glamorous","gleaming","global","glorious","golden","good","gorgeous","gothic","governing","graceful","gradual","grand","grateful","greasy","great","grieving","grim","gross","grotesque","growing","grubby","grumpy","guilty","handicapped","handsome","happy","hard","harsh","head","healthy","heavy","helpful","helpless","hidden","high","hilarious","hissing","historic","historical","hollow","holy","homeless","homely","hon","honest","horizontal","horrible","hostile","hot","huge","human","hungry","hurt","hushed","husky","icy","ideal","identical","ideological","ill","illegal","imaginative","immediate","immense","imperial","implicit","important","impossible","impressed","impressive","improved","inadequate","inappropriate","inc","inclined","increased","increasing","incredible","independent","indirect","individual","industrial","inevitable","influential","informal","inherent","initial","injured","inland","inner","innocent","innovative","inquisitive","instant","institutional","insufficient","intact","integral","integrated","intellectual","intelligent","intense","intensive","interested","interesting","interim","interior","intermediate","internal","international","intimate","invisible","involved","irrelevant","isolated","itchy","jealous","jittery","joint","jolly","joyous","judicial","juicy","junior","just","keen","key","kind","known","labour","large","late","latin","lazy","leading","left","legal","legislative","legitimate","lengthy","lesser","level","lexical","liable","liberal","light","like","likely","limited","linear","linguistic","liquid","literary","little","live","lively","living","local","logical","lonely","long","loose","lost","loud","lovely","low","loyal","ltd","lucky","mad","magic","magnetic","magnificent","main","major","male","mammoth","managerial","managing","manual","many","marginal","marine","marked","married","marvellous","marxist","mass","massive","mathematical","mature","maximum","mean","meaningful","mechanical","medical","medieval","melodic","melted","mental","mere","metropolitan","mid","middle","mighty","mild","military","miniature","minimal","minimum","ministerial","minor","miserable","misleading","missing","misty","mixed","moaning","mobile","moderate","modern","modest","molecular","monetary","monthly","moral","motionless","muddy","multiple","mushy","musical","mute","mutual","mysterious","naked","narrow","nasty","national","native","natural","naughty","naval","near","nearby","neat","necessary","negative","neighbouring","nervous","net","neutral","new","nice","noble","noisy","normal","northern","nosy","notable","novel","nuclear","numerous","nursing","nutritious","nutty","obedient","objective","obliged","obnoxious","obvious","occasional","occupational","odd","official","ok","okay","old","olympic","only","open","operational","opposite","optimistic","oral","ordinary","organic","organisational","original","orthodox","other","outdoor","outer","outrageous","outside","outstanding","overall","overseas","overwhelming","painful","pale","panicky","parallel","parental","parliamentary","partial","particular","passing","passive","past","patient","payable","peaceful","peculiar","perfect","permanent","persistent","personal","petite","philosophical","physical","plain","planned","plastic","pleasant","pleased","poised","polite","political","poor","popular","positive","possible","potential","powerful","practical","precious","precise","preferred","pregnant","preliminary","premier","prepared","present","presidential","pretty","previous","prickly","primary","prime","primitive","principal","printed","prior","private","probable","productive","professional","profitable","profound","progressive","prominent","promising","proper","proposed","prospective","protective","protestant","proud","provincial","psychiatric","psychological","public","puny","pure","purring","puzzled","quaint","qualified","quarrelsome","querulous","quick","quickest","quiet","quintessential","quixotic","racial","radical","rainy","random","rapid","rare","raspy","rational","ratty","raw","ready","real","realistic","rear","reasonable","recent","reduced","redundant","regional","registered","regular","regulatory","related","relative","relaxed","relevant","reliable","relieved","religious","reluctant","remaining","remarkable","remote","renewed","representative","repulsive","required","resident","residential","resonant","respectable","respective","responsible","resulting","retail","retired","revolutionary","rich","ridiculous","right","rigid","ripe","rising","rival","roasted","robust","rolling","romantic","rotten","rough","round","royal","rubber","rude","ruling","running","rural","sacred","sad","safe","salty","satisfactory","satisfied","scared","scary","scattered","scientific","scornful","scrawny","screeching","secondary","secret","secure","select","selected","selective","selfish","semantic","senior","sensible","sensitive","separate","serious","severe","sexual","shaggy","shaky","shallow","shared","sharp","sheer","shiny","shivering","shocked","short","shrill","shy","sick","significant","silent","silky","silly","similar","simple","single","skilled","skinny","sleepy","slight","slim","slimy","slippery","slow","small","smart","smiling","smoggy","smooth","social","socialist","soft","solar","sole","solid","sophisticated","sore","sorry","sound","sour","southern","soviet","spare","sparkling","spatial","special","specific","specified","spectacular","spicy","spiritual","splendid","spontaneous","sporting","spotless","spotty","square","squealing","stable","stale","standard","static","statistical","statutory","steady","steep","sticky","stiff","still","stingy","stormy","straight","straightforward","strange","strategic","strict","striking","striped","strong","structural","stuck","stupid","subjective","subsequent","substantial","subtle","successful","successive","sudden","sufficient","suitable","sunny","super","superb","superior","supporting","supposed","supreme","sure","surprised","surprising","surrounding","surviving","suspicious","sweet","swift","symbolic","sympathetic","systematic","tall","tame","tart","tasteless","tasty","technical","technological","teenage","temporary","tender","tense","terrible","territorial","testy","then","theoretical","thick","thin","thirsty","thorough","thoughtful","thoughtless","thundering","tight","tiny","tired","top","tory","total","tough","toxic","traditional","tragic","tremendous","tricky","tropical","troubled","typical","ugliest","ugly","ultimate","unable","unacceptable","unaware","uncertain","unchanged","uncomfortable","unconscious","underground","underlying","unemployed","uneven","unexpected","unfair","unfortunate","unhappy","uniform","uninterested","unique","united","universal","unknown","unlikely","unnecessary","unpleasant","unsightly","unusual","unwilling","upper","upset","uptight","urban","urgent","used","useful","useless","usual","vague","valid","valuable","variable","varied","various","varying","vast","verbal","vertical","very","vicarious","vicious","victorious","violent","visible","visiting","visual","vital","vitreous","vivacious","vivid","vocal","vocational","voiceless","voluminous","voluntary","vulnerable","wandering","warm","wasteful","watery","weak","wealthy","weary","wee","weekly","weird","welcome","well","western","wet","whispering","whole","wicked","wide","widespread","wild","wilful","willing","willowy","wily","wise","wispy","wittering","witty","wonderful","wooden","working","worldwide","worried","worrying","worthwhile","worthy","written","wrong","xenacious","xenial","xenogeneic","xenophobic","xeric","xerothermic","yabbering","yammering","yappiest","yappy","yawning","yearling","yearning","yeasty","yelling","yelping","yielding","yodelling","young","youngest","youthful","ytterbic","yucky","yummy","zany","zealous","zeroth","zestful","zesty","zippy","zonal","zoophagous","zygomorphic","zygotic"],yA=["aardvark","aardwolf","albatross","alligator","alpaca","amphibian","anaconda","angelfish","anglerfish","ant","anteater","antelope","antlion","ape","aphid","armadillo","asp","baboon","badger","bandicoot","barnacle","barracuda","basilisk","bass","bat","bear","beaver","bedbug","bee","beetle","bird","bison","blackbird","boa","boar","bobcat","bobolink","bonobo","booby","bovid","bug","butterfly","buzzard","camel","canid","canidae","capybara","cardinal","caribou","carp","cat","caterpillar","catfish","catshark","cattle","centipede","cephalopod","chameleon","cheetah","chickadee","chicken","chimpanzee","chinchilla","chipmunk","cicada","clam","clownfish","cobra","cockroach","cod","condor","constrictor","coral","cougar","cow","coyote","crab","crane","crawdad","crayfish","cricket","crocodile","crow","cuckoo","damselfly","deer","dingo","dinosaur","dog","dolphin","donkey","dormouse","dove","dragon","dragonfly","duck","eagle","earthworm","earwig","echidna","eel","egret","elephant","elk","emu","ermine","falcon","felidae","ferret","finch","firefly","fish","flamingo","flea","fly","flyingfish","fowl","fox","frog","galliform","gamefowl","gayal","gazelle","gecko","gerbil","gibbon","giraffe","goat","goldfish","goose","gopher","gorilla","grasshopper","grouse","guan","guanaco","guineafowl","gull","guppy","haddock","halibut","hamster","hare","harrier","hawk","hedgehog","heron","herring","hippopotamus","hookworm","hornet","horse","hoverfly","hummingbird","hyena","iguana","impala","jackal","jaguar","jay","jellyfish","junglefowl","kangaroo","kingfisher","kite","kiwi","koala","koi","krill","ladybug","lamprey","landfowl","lark","leech","lemming","lemur","leopard","leopon","limpet","lion","lizard","llama","lobster","locust","loon","louse","lungfish","lynx","macaw","mackerel","magpie","mammal","manatee","mandrill","marlin","marmoset","marmot","marsupial","marten","mastodon","meadowlark","meerkat","mink","minnow","mite","mockingbird","mole","mollusk","mongoose","monkey","moose","mosquito","moth","mouse","mule","muskox","narwhal","newt","nightingale","ocelot","octopus","opossum","orangutan","orca","ostrich","otter","owl","ox","panda","panther","parakeet","parrot","parrotfish","partridge","peacock","peafowl","pelican","penguin","perch","pheasant","pig","pigeon","pike","pinniped","piranha","planarian","platypus","pony","porcupine","porpoise","possum","prawn","primate","ptarmigan","puffin","puma","python","quail","quelea","quokka","rabbit","raccoon","rat","rattlesnake","raven","reindeer","reptile","rhinoceros","roadrunner","rodent","rook","rooster","roundworm","sailfish","salamander","salmon","sawfish","scallop","scorpion","seahorse","shark","sheep","shrew","shrimp","silkworm","silverfish","skink","skunk","sloth","slug","smelt","snail","snake","snipe","sole","sparrow","spider","spoonbill","squid","squirrel","starfish","stingray","stoat","stork","sturgeon","swallow","swan","swift","swordfish","swordtail","tahr","takin","tapir","tarantula","tarsier","termite","tern","thrush","tick","tiger","tiglon","toad","tortoise","toucan","trout","tuna","turkey","turtle","tyrannosaurus","unicorn","urial","vicuna","viper","vole","vulture","wallaby","walrus","warbler","wasp","weasel","whale","whippet","whitefish","wildcat","wildebeest","wildfowl","wolf","wolverine","wombat","woodpecker","worm","wren","xerinae","yak","zebra"],AA=["amaranth","amber","amethyst","apricot","aqua","aquamarine","azure","beige","black","blue","blush","bronze","brown","chocolate","coffee","copper","coral","crimson","cyan","emerald","fuchsia","gold","gray","green","harlequin","indigo","ivory","jade","lavender","lime","magenta","maroon","moccasin","olive","orange","peach","pink","plum","purple","red","rose","salmon","sapphire","scarlet","silver","tan","teal","tomato","turquoise","violet","white","yellow"];class _t{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,r){let i=[];return this.decompose(0,e,i,2),r.length&&r.decompose(0,r.length,i,3),this.decompose(t,this.length,i,1),kn.from(i,this.length-(t-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){let r=[];return this.decompose(e,t,r,0),kn.from(r,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),r=this.length-this.scanIdentical(e,-1),i=new hs(this),a=new hs(e);for(let s=t,o=t;;){if(i.next(s),a.next(s),s=0,i.lineBreak!=a.lineBreak||i.done!=a.done||i.value!=a.value)return!1;if(o+=i.value.length,i.done||o>=r)return!0}}iter(e=1){return new hs(this,e)}iterRange(e,t=this.length){return new wT(this,e,t)}iterLines(e,t){let r;if(e==null)r=this.iter();else{t==null&&(t=this.lines+1);let i=this.line(e).from;r=this.iterRange(i,Math.max(i,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new xT(r)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?_t.empty:e.length<=32?new Ht(e):kn.from(Ht.split(e,[]))}}class Ht extends _t{constructor(e,t=RA(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,r,i){for(let a=0;;a++){let s=this.text[a],o=i+s.length;if((t?r:o)>=e)return new IA(i,o,r,s);i=o+1,r++}}decompose(e,t,r,i){let a=e<=0&&t>=this.length?this:new Ht(e_(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(i&1){let s=r.pop(),o=Do(a.text,s.text.slice(),0,a.length);if(o.length<=32)r.push(new Ht(o,s.length+a.length));else{let l=o.length>>1;r.push(new Ht(o.slice(0,l)),new Ht(o.slice(l)))}}else r.push(a)}replace(e,t,r){if(!(r instanceof Ht))return super.replace(e,t,r);let i=Do(this.text,Do(r.text,e_(this.text,0,e)),t),a=this.length+r.length-(t-e);return i.length<=32?new Ht(i,a):kn.from(Ht.split(i,[]),a)}sliceString(e,t=this.length,r=` -`){let i="";for(let a=0,s=0;a<=t&&se&&s&&(i+=r),ea&&(i+=o.slice(Math.max(0,e-a),t-a)),a=l+1}return i}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let r=[],i=-1;for(let a of e)r.push(a),i+=a.length+1,r.length==32&&(t.push(new Ht(r,i)),r=[],i=-1);return i>-1&&t.push(new Ht(r,i)),t}}class kn extends _t{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,t,r,i){for(let a=0;;a++){let s=this.children[a],o=i+s.length,l=r+s.lines-1;if((t?l:o)>=e)return s.lineInner(e,t,r,i);i=o+1,r=l+1}}decompose(e,t,r,i){for(let a=0,s=0;s<=t&&a=s){let u=i&((s<=e?1:0)|(l>=t?2:0));s>=e&&l<=t&&!u?r.push(o):o.decompose(e-s,t-s,r,u)}s=l+1}}replace(e,t,r){if(r.lines=a&&t<=o){let l=s.replace(e-a,t-a,r),u=this.lines-s.lines+l.lines;if(l.lines>5-1&&l.lines>u>>5+1){let d=this.children.slice();return d[i]=l,new kn(d,this.length-(t-e)+r.length)}return super.replace(a,o,l)}a=o+1}return super.replace(e,t,r)}sliceString(e,t=this.length,r=` -`){let i="";for(let a=0,s=0;ae&&a&&(i+=r),es&&(i+=o.sliceString(e-s,t-s,r)),s=l+1}return i}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof kn))return 0;let r=0,[i,a,s,o]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;i+=t,a+=t){if(i==s||a==o)return r;let l=this.children[i],u=e.children[a];if(l!=u)return r+l.scanIdentical(u,t);r+=l.length+1}}static from(e,t=e.reduce((r,i)=>r+i.length+1,-1)){let r=0;for(let g of e)r+=g.lines;if(r<32){let g=[];for(let b of e)b.flatten(g);return new Ht(g,t)}let i=Math.max(32,r>>5),a=i<<1,s=i>>1,o=[],l=0,u=-1,d=[];function f(g){let b;if(g.lines>a&&g instanceof kn)for(let v of g.children)f(v);else g.lines>s&&(l>s||!l)?(m(),o.push(g)):g instanceof Ht&&l&&(b=d[d.length-1])instanceof Ht&&g.lines+b.lines<=32?(l+=g.lines,u+=g.length+1,d[d.length-1]=new Ht(b.text.concat(g.text),b.length+1+g.length)):(l+g.lines>i&&m(),l+=g.lines,u+=g.length+1,d.push(g))}function m(){l!=0&&(o.push(d.length==1?d[0]:kn.from(d,u)),u=-1,l=d.length=0)}for(let g of e)f(g);return m(),o.length==1?o[0]:new kn(o,t)}}_t.empty=new Ht([""],0);function RA(n){let e=-1;for(let t of n)e+=t.length+1;return e}function Do(n,e,t=0,r=1e9){for(let i=0,a=0,s=!0;a=t&&(l>r&&(o=o.slice(0,r-i)),i0?1:(e instanceof Ht?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,i=this.nodes[r],a=this.offsets[r],s=a>>1,o=i instanceof Ht?i.text.length:i.children.length;if(s==(t>0?o:0)){if(r==0)return this.done=!0,this.value="",this;t>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((a&1)==(t>0?0:1)){if(this.offsets[r]+=t,e==0)return this.lineBreak=!0,this.value=` -`,this;e--}else if(i instanceof Ht){let l=i.text[s+(t<0?-1:0)];if(this.offsets[r]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=i.children[s+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[r]+=t):(t<0&&this.offsets[r]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ht?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class wT{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new hs(e,t>r?-1:1),this.pos=t>r?e.length:0,this.from=Math.min(t,r),this.to=Math.max(t,r)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let r=t<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:i}=this.cursor.next(e);return this.pos+=(i.length+e)*t,this.value=i.length<=r?i:t<0?i.slice(i.length-r):i.slice(0,r),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class xT{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:r,value:i}=this.inner.next(e);return t?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(_t.prototype[Symbol.iterator]=function(){return this.iter()},hs.prototype[Symbol.iterator]=wT.prototype[Symbol.iterator]=xT.prototype[Symbol.iterator]=function(){return this});let IA=class{constructor(e,t,r,i){this.from=e,this.to=t,this.number=r,this.text=i}get length(){return this.to-this.from}},ga="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(n=>n?parseInt(n,36):1);for(let n=1;nn)return ga[e-1]<=n;return!1}function t_(n){return n>=127462&&n<=127487}const r_=8205;function Er(n,e,t=!0,r=!0){return(t?LT:DA)(n,e,r)}function LT(n,e,t){if(e==n.length)return e;e&&kT(n.charCodeAt(e))&&MT(n.charCodeAt(e-1))&&e--;let r=pr(n,e);for(e+=an(r);e=0&&t_(pr(n,s));)a++,s-=2;if(a%2==0)break;e+=2}else break}return e}function DA(n,e,t){for(;e>0;){let r=LT(n,e-2,t);if(r=56320&&n<57344}function MT(n){return n>=55296&&n<56320}function pr(n,e){let t=n.charCodeAt(e);if(!MT(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return kT(r)?(t-55296<<10)+(r-56320)+65536:t}function Bh(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function an(n){return n<65536?1:2}const Af=/\r\n?|\n/;var er=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(er||(er={}));class Fn{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return a+(e-i);a+=o}else{if(r!=er.Simple&&u>=e&&(r==er.TrackDel&&ie||r==er.TrackBefore&&ie))return null;if(u>e||u==e&&t<0&&!o)return e==i||t<0?a:a+l;a+=l}i=u}if(e>i)throw new RangeError(`Position ${e} is out of range for changeset of length ${i}`);return a}touchesRange(e,t=e){for(let r=0,i=0;r=0&&i<=t&&o>=e)return it?"cover":!0;i=o}return!1}toString(){let e="";for(let t=0;t=0?":"+i:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Fn(e)}static create(e){return new Fn(e)}}class Jt extends Fn{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Rf(this,(t,r,i,a,s)=>e=e.replace(i,i+(r-t),s),!1),e}mapDesc(e,t=!1){return If(this,e,t,!0)}invert(e){let t=this.sections.slice(),r=[];for(let i=0,a=0;i=0){t[i]=o,t[i+1]=s;let l=i>>1;for(;r.length0&&_i(r,t,a.text),a.forward(d),o+=d}let u=e[s++];for(;o>1].toJSON()))}return e}static of(e,t,r){let i=[],a=[],s=0,o=null;function l(d=!1){if(!d&&!i.length)return;sm||f<0||m>t)throw new RangeError(`Invalid change range ${f} to ${m} (in doc of length ${t})`);let b=g?typeof g=="string"?_t.of(g.split(r||Af)):g:_t.empty,v=b.length;if(f==m&&v==0)return;fs&&Or(i,f-s,-1),Or(i,m-f,v),_i(a,i,b),s=m}}return u(e),l(!o),o}static empty(e){return new Jt(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],r=[];for(let i=0;io&&typeof s!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(a.length==1)t.push(a[0],0);else{for(;r.length=0&&t<=0&&t==n[i+1]?n[i]+=e:e==0&&n[i]==0?n[i+1]+=t:r?(n[i]+=e,n[i+1]+=t):n.push(e,t)}function _i(n,e,t){if(t.length==0)return;let r=e.length-2>>1;if(r>1])),!(t||s==n.sections.length||n.sections[s+1]<0);)o=n.sections[s++],l=n.sections[s++];e(i,u,a,d,f),i=u,a=d}}}function If(n,e,t,r=!1){let i=[],a=r?[]:null,s=new Os(n),o=new Os(e);for(let l=-1;;)if(s.ins==-1&&o.ins==-1){let u=Math.min(s.len,o.len);Or(i,u,-1),s.forward(u),o.forward(u)}else if(o.ins>=0&&(s.ins<0||l==s.i||s.off==0&&(o.len=0&&l=0){let u=0,d=s.len;for(;d;)if(o.ins==-1){let f=Math.min(d,o.len);u+=f,d-=f,o.forward(f)}else if(o.ins==0&&o.lenl||s.ins>=0&&s.len>l)&&(o||r.length>u),a.forward2(l),s.forward(l)}}}}class Os{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?_t.empty:e[t]}textBit(e){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length&&!e?_t.empty:t[r].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Bi{constructor(e,t,r){this.from=e,this.to=t,this.flags=r}get anchor(){return this.flags&16?this.to:this.from}get head(){return this.flags&16?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&4?-1:this.flags&8?1:0}get bidiLevel(){let e=this.flags&3;return e==3?null:e}get goalColumn(){let e=this.flags>>5;return e==33554431?void 0:e}map(e,t=-1){let r,i;return this.empty?r=i=e.mapPos(this.from,t):(r=e.mapPos(this.from,1),i=e.mapPos(this.to,-1)),r==this.from&&i==this.to?this:new Bi(r,i,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return de.range(e,t);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return de.range(this.anchor,r)}eq(e){return this.anchor==e.anchor&&this.head==e.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return de.range(e.anchor,e.head)}static create(e,t,r){return new Bi(e,t,r)}}class de{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:de.create(this.ranges.map(r=>r.map(e,t)),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let t=0;te.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new de(e.ranges.map(t=>Bi.fromJSON(t)),e.main)}static single(e,t=e){return new de([de.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let r=0,i=0;ie?4:0)|a)}static normalized(e,t=0){let r=e[t];e.sort((i,a)=>i.from-a.from),t=e.indexOf(r);for(let i=1;ia.head?de.range(l,o):de.range(o,l))}}return new de(e,t)}}function BT(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let Uh=0;class De{constructor(e,t,r,i,a){this.combine=e,this.compareInput=t,this.compare=r,this.isStatic=i,this.id=Uh++,this.default=e([]),this.extensions=typeof a=="function"?a(this):a}static define(e={}){return new De(e.combine||(t=>t),e.compareInput||((t,r)=>t===r),e.compare||(e.combine?(t,r)=>t===r:Fh),!!e.static,e.enables)}of(e){return new wo([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new wo(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new wo(e,this,2,t)}from(e,t){return t||(t=r=>r),this.compute([e],r=>t(r.field(e)))}}function Fh(n,e){return n==e||n.length==e.length&&n.every((t,r)=>t===e[r])}class wo{constructor(e,t,r,i){this.dependencies=e,this.facet=t,this.type=r,this.value=i,this.id=Uh++}dynamicSlot(e){var t;let r=this.value,i=this.facet.compareInput,a=this.id,s=e[a]>>1,o=this.type==2,l=!1,u=!1,d=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?u=!0:((t=e[f.id])!==null&&t!==void 0?t:1)&1||d.push(e[f.id]);return{create(f){return f.values[s]=r(f),1},update(f,m){if(l&&m.docChanged||u&&(m.docChanged||m.selection)||Nf(f,d)){let g=r(f);if(o?!n_(g,f.values[s],i):!i(g,f.values[s]))return f.values[s]=g,1}return 0},reconfigure:(f,m)=>{let g,b=m.config.address[a];if(b!=null){let v=Zo(m,b);if(this.dependencies.every(y=>y instanceof De?m.facet(y)===f.facet(y):y instanceof hr?m.field(y,!1)==f.field(y,!1):!0)||(o?n_(g=r(f),v,i):i(g=r(f),v)))return f.values[s]=v,0}else g=r(f);return f.values[s]=g,1}}}}function n_(n,e,t){if(n.length!=e.length)return!1;for(let r=0;rn[l.id]),i=t.map(l=>l.type),a=r.filter(l=>!(l&1)),s=n[e.id]>>1;function o(l){let u=[];for(let d=0;dr===i),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(i_).find(r=>r.field==this);return((t==null?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:r=>(r.values[t]=this.create(r),1),update:(r,i)=>{let a=r.values[t],s=this.updateF(a,i);return this.compareF(a,s)?0:(r.values[t]=s,1)},reconfigure:(r,i)=>i.config.address[this.id]!=null?(r.values[t]=i.field(this),0):(r.values[t]=this.create(r),1)}}init(e){return[this,i_.of({field:this,create:e})]}get extension(){return this}}const ki={lowest:4,low:3,default:2,high:1,highest:0};function Za(n){return e=>new UT(e,n)}const Jn={highest:Za(ki.highest),high:Za(ki.high),default:Za(ki.default),low:Za(ki.low),lowest:Za(ki.lowest)};class UT{constructor(e,t){this.inner=e,this.prec=t}}class Xn{of(e){return new Df(this,e)}reconfigure(e){return Xn.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class Df{constructor(e,t){this.compartment=e,this.inner=t}}class Xo{constructor(e,t,r,i,a,s){for(this.base=e,this.compartments=t,this.dynamicSlots=r,this.address=i,this.staticValues=a,this.facets=s,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,r){let i=[],a=Object.create(null),s=new Map;for(let m of xA(e,t,s))m instanceof hr?i.push(m):(a[m.facet.id]||(a[m.facet.id]=[])).push(m);let o=Object.create(null),l=[],u=[];for(let m of i)o[m.id]=u.length<<1,u.push(g=>m.slot(g));let d=r==null?void 0:r.config.facets;for(let m in a){let g=a[m],b=g[0].facet,v=d&&d[m]||[];if(g.every(y=>y.type==0))if(o[b.id]=l.length<<1|1,Fh(v,g))l.push(r.facet(b));else{let y=b.combine(g.map(N=>N.value));l.push(r&&b.compare(y,r.facet(b))?r.facet(b):y)}else{for(let y of g)y.type==0?(o[y.id]=l.length<<1|1,l.push(y.value)):(o[y.id]=u.length<<1,u.push(N=>y.dynamicSlot(N)));o[b.id]=u.length<<1,u.push(y=>wA(y,b,g))}}let f=u.map(m=>m(o));return new Xo(e,s,f,o,l,a)}}function xA(n,e,t){let r=[[],[],[],[],[]],i=new Map;function a(s,o){let l=i.get(s);if(l!=null){if(l<=o)return;let u=r[l].indexOf(s);u>-1&&r[l].splice(u,1),s instanceof Df&&t.delete(s.compartment)}if(i.set(s,o),Array.isArray(s))for(let u of s)a(u,o);else if(s instanceof Df){if(t.has(s.compartment))throw new RangeError("Duplicate use of compartment in extensions");let u=e.get(s.compartment)||s.inner;t.set(s.compartment,u),a(u,o)}else if(s instanceof UT)a(s.inner,s.prec);else if(s instanceof hr)r[o].push(s),s.provides&&a(s.provides,o);else if(s instanceof wo)r[o].push(s),s.facet.extensions&&a(s.facet.extensions,ki.default);else{let u=s.extension;if(!u)throw new Error(`Unrecognized extension value in extension set (${s}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);a(u,o)}}return a(n,ki.default),r.reduce((s,o)=>s.concat(o))}function ms(n,e){if(e&1)return 2;let t=e>>1,r=n.status[t];if(r==4)throw new Error("Cyclic dependency between fields and/or facets");if(r&2)return r;n.status[t]=4;let i=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|i}function Zo(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const FT=De.define(),YT=De.define({combine:n=>n.some(e=>e),static:!0}),GT=De.define({combine:n=>n.length?n[0]:void 0,static:!0}),QT=De.define(),$T=De.define(),qT=De.define(),VT=De.define({combine:n=>n.length?n[0]:!1});class ei{constructor(e,t){this.type=e,this.value=t}static define(){return new LA}}class LA{of(e){return new ei(this,e)}}class kA{constructor(e){this.map=e}of(e){return new it(this,e)}}class it{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new it(this.type,t)}is(e){return this.type==e}static define(e={}){return new kA(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let r=[];for(let i of e){let a=i.map(t);a&&r.push(a)}return r}}it.reconfigure=it.define();it.appendConfig=it.define();class tr{constructor(e,t,r,i,a,s){this.startState=e,this.changes=t,this.selection=r,this.effects=i,this.annotations=a,this.scrollIntoView=s,this._doc=null,this._state=null,r&&BT(r,t.newLength),a.some(o=>o.type==tr.time)||(this.annotations=a.concat(tr.time.of(Date.now())))}static create(e,t,r,i,a,s){return new tr(e,t,r,i,a,s)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(tr.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}tr.time=ei.define();tr.userEvent=ei.define();tr.addToHistory=ei.define();tr.remote=ei.define();function MA(n,e){let t=[];for(let r=0,i=0;;){let a,s;if(r=n[r]))a=n[r++],s=n[r++];else if(i=0;i--){let a=r[i](n);a instanceof tr?n=a:Array.isArray(a)&&a.length==1&&a[0]instanceof tr?n=a[0]:n=zT(e,Sa(a),!1)}return n}function BA(n){let e=n.startState,t=e.facet(qT),r=n;for(let i=t.length-1;i>=0;i--){let a=t[i](n);a&&Object.keys(a).length&&(r=HT(r,wf(e,a,n.changes.newLength),!0))}return r==n?n:tr.create(e,n.changes,n.selection,r.effects,r.annotations,r.scrollIntoView)}const UA=[];function Sa(n){return n==null?UA:Array.isArray(n)?n:[n]}var Pt=function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n}(Pt||(Pt={}));const FA=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let xf;try{xf=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function YA(n){if(xf)return xf.test(n);for(let e=0;e"€"&&(t.toUpperCase()!=t.toLowerCase()||FA.test(t)))return!0}return!1}function GA(n){return e=>{if(!/\S/.test(e))return Pt.Space;if(YA(e))return Pt.Word;for(let t=0;t-1)return Pt.Word;return Pt.Other}}class ut{constructor(e,t,r,i,a,s){this.config=e,this.doc=t,this.selection=r,this.values=i,this.status=e.statusTemplate.slice(),this.computeSlot=a,s&&(s._state=this);for(let o=0;oi.set(l,o)),t=null),i.set(s.value.compartment,s.value.extension)):s.is(it.reconfigure)?(t=null,r=s.value):s.is(it.appendConfig)&&(t=null,r=Sa(r).concat(s.value));let a;t?a=e.startState.values.slice():(t=Xo.resolve(r,i,this),a=new ut(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(o,l)=>l.reconfigure(o,this),null).values),new ut(t,e.newDoc,e.newSelection,a,(s,o)=>o.update(s,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:de.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,r=e(t.ranges[0]),i=this.changes(r.changes),a=[r.range],s=Sa(r.effects);for(let o=1;os.spec.fromJSON(o,l)))}}return ut.create({doc:e.doc,selection:de.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(e={}){let t=Xo.resolve(e.extensions||[],new Map),r=e.doc instanceof _t?e.doc:_t.of((e.doc||"").split(t.staticFacet(ut.lineSeparator)||Af)),i=e.selection?e.selection instanceof de?e.selection:de.single(e.selection.anchor,e.selection.head):de.single(0);return BT(i,r.length),t.staticFacet(YT)||(i=i.asSingle()),new ut(t,r,i,t.dynamicSlots.map(()=>null),(a,s)=>s.create(a),null)}get tabSize(){return this.facet(ut.tabSize)}get lineBreak(){return this.facet(ut.lineSeparator)||` +Length provided: ${this.length}. Number of dictionaries provided: ${this.dictionaries.length}`);let e=this.seed;return this.dictionaries.slice(0,this.length).reduce((t,r)=>{let i;e?(i=(s=>{if(typeof s=="string"){const o=s.split("").map(u=>u.charCodeAt(0)).reduce((u,d)=>u+d,1),l=Math.floor(Number(o));return jm(l)}return jm(s)})(e),e=4294967296*i):i=Math.random();let a=r[Math.floor(i*r.length)]||"";if(this.style==="lowerCase")a=a.toLowerCase();else if(this.style==="capital"){const[s,...o]=a.split("");a=s.toUpperCase()+o.join("")}else this.style==="upperCase"&&(a=a.toUpperCase());return t?`${t}${this.separator}${a}`:`${a}`},"")}}const Jm={separator:"_",dictionaries:[]},CA=n=>{const e=[...n&&n.dictionaries||Jm.dictionaries],t={...Jm,...n,length:n&&n.length||e.length,dictionaries:e};if(!n||!n.dictionaries||!n.dictionaries.length)throw new Error('A "dictionaries" array must be provided. This is a breaking change introduced starting from Unique Name Generator v4. Read more about the breaking change here: https://github.com/andreasonny83/unique-names-generator#migration-guide');return new TA(t).generate()};var vA=["able","above","absent","absolute","abstract","abundant","academic","acceptable","accepted","accessible","accurate","accused","active","actual","acute","added","additional","adequate","adjacent","administrative","adorable","advanced","adverse","advisory","aesthetic","afraid","aggregate","aggressive","agreeable","agreed","agricultural","alert","alive","alleged","allied","alone","alright","alternative","amateur","amazing","ambitious","amused","ancient","angry","annoyed","annual","anonymous","anxious","appalling","apparent","applicable","appropriate","arbitrary","architectural","armed","arrogant","artificial","artistic","ashamed","asleep","assistant","associated","atomic","attractive","automatic","autonomous","available","average","awake","aware","awful","awkward","back","bad","balanced","bare","basic","beautiful","beneficial","better","bewildered","big","binding","biological","bitter","bizarre","blank","blind","blonde","bloody","blushing","boiling","bold","bored","boring","bottom","brainy","brave","breakable","breezy","brief","bright","brilliant","broad","broken","bumpy","burning","busy","calm","capable","capitalist","careful","casual","causal","cautious","central","certain","changing","characteristic","charming","cheap","cheerful","chemical","chief","chilly","chosen","christian","chronic","chubby","circular","civic","civil","civilian","classic","classical","clean","clear","clever","clinical","close","closed","cloudy","clumsy","coastal","cognitive","coherent","cold","collective","colonial","colorful","colossal","coloured","colourful","combative","combined","comfortable","coming","commercial","common","communist","compact","comparable","comparative","compatible","competent","competitive","complete","complex","complicated","comprehensive","compulsory","conceptual","concerned","concrete","condemned","confident","confidential","confused","conscious","conservation","conservative","considerable","consistent","constant","constitutional","contemporary","content","continental","continued","continuing","continuous","controlled","controversial","convenient","conventional","convinced","convincing","cooing","cool","cooperative","corporate","correct","corresponding","costly","courageous","crazy","creative","creepy","criminal","critical","crooked","crowded","crucial","crude","cruel","cuddly","cultural","curious","curly","current","curved","cute","daily","damaged","damp","dangerous","dark","dead","deaf","deafening","dear","decent","decisive","deep","defeated","defensive","defiant","definite","deliberate","delicate","delicious","delighted","delightful","democratic","dependent","depressed","desirable","desperate","detailed","determined","developed","developing","devoted","different","difficult","digital","diplomatic","direct","dirty","disabled","disappointed","disastrous","disciplinary","disgusted","distant","distinct","distinctive","distinguished","disturbed","disturbing","diverse","divine","dizzy","domestic","dominant","double","doubtful","drab","dramatic","dreadful","driving","drunk","dry","dual","due","dull","dusty","dutch","dying","dynamic","eager","early","eastern","easy","economic","educational","eerie","effective","efficient","elaborate","elated","elderly","eldest","electoral","electric","electrical","electronic","elegant","eligible","embarrassed","embarrassing","emotional","empirical","empty","enchanting","encouraging","endless","energetic","enormous","enthusiastic","entire","entitled","envious","environmental","equal","equivalent","essential","established","estimated","ethical","ethnic","eventual","everyday","evident","evil","evolutionary","exact","excellent","exceptional","excess","excessive","excited","exciting","exclusive","existing","exotic","expected","expensive","experienced","experimental","explicit","extended","extensive","external","extra","extraordinary","extreme","exuberant","faint","fair","faithful","familiar","famous","fancy","fantastic","far","fascinating","fashionable","fast","fat","fatal","favourable","favourite","federal","fellow","female","feminist","few","fierce","filthy","final","financial","fine","firm","fiscal","fit","fixed","flaky","flat","flexible","fluffy","fluttering","flying","following","fond","foolish","foreign","formal","formidable","forthcoming","fortunate","forward","fragile","frail","frantic","free","frequent","fresh","friendly","frightened","front","frozen","full","fun","functional","fundamental","funny","furious","future","fuzzy","gastric","gay","general","generous","genetic","gentle","genuine","geographical","giant","gigantic","given","glad","glamorous","gleaming","global","glorious","golden","good","gorgeous","gothic","governing","graceful","gradual","grand","grateful","greasy","great","grieving","grim","gross","grotesque","growing","grubby","grumpy","guilty","handicapped","handsome","happy","hard","harsh","head","healthy","heavy","helpful","helpless","hidden","high","hilarious","hissing","historic","historical","hollow","holy","homeless","homely","hon","honest","horizontal","horrible","hostile","hot","huge","human","hungry","hurt","hushed","husky","icy","ideal","identical","ideological","ill","illegal","imaginative","immediate","immense","imperial","implicit","important","impossible","impressed","impressive","improved","inadequate","inappropriate","inc","inclined","increased","increasing","incredible","independent","indirect","individual","industrial","inevitable","influential","informal","inherent","initial","injured","inland","inner","innocent","innovative","inquisitive","instant","institutional","insufficient","intact","integral","integrated","intellectual","intelligent","intense","intensive","interested","interesting","interim","interior","intermediate","internal","international","intimate","invisible","involved","irrelevant","isolated","itchy","jealous","jittery","joint","jolly","joyous","judicial","juicy","junior","just","keen","key","kind","known","labour","large","late","latin","lazy","leading","left","legal","legislative","legitimate","lengthy","lesser","level","lexical","liable","liberal","light","like","likely","limited","linear","linguistic","liquid","literary","little","live","lively","living","local","logical","lonely","long","loose","lost","loud","lovely","low","loyal","ltd","lucky","mad","magic","magnetic","magnificent","main","major","male","mammoth","managerial","managing","manual","many","marginal","marine","marked","married","marvellous","marxist","mass","massive","mathematical","mature","maximum","mean","meaningful","mechanical","medical","medieval","melodic","melted","mental","mere","metropolitan","mid","middle","mighty","mild","military","miniature","minimal","minimum","ministerial","minor","miserable","misleading","missing","misty","mixed","moaning","mobile","moderate","modern","modest","molecular","monetary","monthly","moral","motionless","muddy","multiple","mushy","musical","mute","mutual","mysterious","naked","narrow","nasty","national","native","natural","naughty","naval","near","nearby","neat","necessary","negative","neighbouring","nervous","net","neutral","new","nice","noble","noisy","normal","northern","nosy","notable","novel","nuclear","numerous","nursing","nutritious","nutty","obedient","objective","obliged","obnoxious","obvious","occasional","occupational","odd","official","ok","okay","old","olympic","only","open","operational","opposite","optimistic","oral","ordinary","organic","organisational","original","orthodox","other","outdoor","outer","outrageous","outside","outstanding","overall","overseas","overwhelming","painful","pale","panicky","parallel","parental","parliamentary","partial","particular","passing","passive","past","patient","payable","peaceful","peculiar","perfect","permanent","persistent","personal","petite","philosophical","physical","plain","planned","plastic","pleasant","pleased","poised","polite","political","poor","popular","positive","possible","potential","powerful","practical","precious","precise","preferred","pregnant","preliminary","premier","prepared","present","presidential","pretty","previous","prickly","primary","prime","primitive","principal","printed","prior","private","probable","productive","professional","profitable","profound","progressive","prominent","promising","proper","proposed","prospective","protective","protestant","proud","provincial","psychiatric","psychological","public","puny","pure","purring","puzzled","quaint","qualified","quarrelsome","querulous","quick","quickest","quiet","quintessential","quixotic","racial","radical","rainy","random","rapid","rare","raspy","rational","ratty","raw","ready","real","realistic","rear","reasonable","recent","reduced","redundant","regional","registered","regular","regulatory","related","relative","relaxed","relevant","reliable","relieved","religious","reluctant","remaining","remarkable","remote","renewed","representative","repulsive","required","resident","residential","resonant","respectable","respective","responsible","resulting","retail","retired","revolutionary","rich","ridiculous","right","rigid","ripe","rising","rival","roasted","robust","rolling","romantic","rotten","rough","round","royal","rubber","rude","ruling","running","rural","sacred","sad","safe","salty","satisfactory","satisfied","scared","scary","scattered","scientific","scornful","scrawny","screeching","secondary","secret","secure","select","selected","selective","selfish","semantic","senior","sensible","sensitive","separate","serious","severe","sexual","shaggy","shaky","shallow","shared","sharp","sheer","shiny","shivering","shocked","short","shrill","shy","sick","significant","silent","silky","silly","similar","simple","single","skilled","skinny","sleepy","slight","slim","slimy","slippery","slow","small","smart","smiling","smoggy","smooth","social","socialist","soft","solar","sole","solid","sophisticated","sore","sorry","sound","sour","southern","soviet","spare","sparkling","spatial","special","specific","specified","spectacular","spicy","spiritual","splendid","spontaneous","sporting","spotless","spotty","square","squealing","stable","stale","standard","static","statistical","statutory","steady","steep","sticky","stiff","still","stingy","stormy","straight","straightforward","strange","strategic","strict","striking","striped","strong","structural","stuck","stupid","subjective","subsequent","substantial","subtle","successful","successive","sudden","sufficient","suitable","sunny","super","superb","superior","supporting","supposed","supreme","sure","surprised","surprising","surrounding","surviving","suspicious","sweet","swift","symbolic","sympathetic","systematic","tall","tame","tart","tasteless","tasty","technical","technological","teenage","temporary","tender","tense","terrible","territorial","testy","then","theoretical","thick","thin","thirsty","thorough","thoughtful","thoughtless","thundering","tight","tiny","tired","top","tory","total","tough","toxic","traditional","tragic","tremendous","tricky","tropical","troubled","typical","ugliest","ugly","ultimate","unable","unacceptable","unaware","uncertain","unchanged","uncomfortable","unconscious","underground","underlying","unemployed","uneven","unexpected","unfair","unfortunate","unhappy","uniform","uninterested","unique","united","universal","unknown","unlikely","unnecessary","unpleasant","unsightly","unusual","unwilling","upper","upset","uptight","urban","urgent","used","useful","useless","usual","vague","valid","valuable","variable","varied","various","varying","vast","verbal","vertical","very","vicarious","vicious","victorious","violent","visible","visiting","visual","vital","vitreous","vivacious","vivid","vocal","vocational","voiceless","voluminous","voluntary","vulnerable","wandering","warm","wasteful","watery","weak","wealthy","weary","wee","weekly","weird","welcome","well","western","wet","whispering","whole","wicked","wide","widespread","wild","wilful","willing","willowy","wily","wise","wispy","wittering","witty","wonderful","wooden","working","worldwide","worried","worrying","worthwhile","worthy","written","wrong","xenacious","xenial","xenogeneic","xenophobic","xeric","xerothermic","yabbering","yammering","yappiest","yappy","yawning","yearling","yearning","yeasty","yelling","yelping","yielding","yodelling","young","youngest","youthful","ytterbic","yucky","yummy","zany","zealous","zeroth","zestful","zesty","zippy","zonal","zoophagous","zygomorphic","zygotic"],yA=["aardvark","aardwolf","albatross","alligator","alpaca","amphibian","anaconda","angelfish","anglerfish","ant","anteater","antelope","antlion","ape","aphid","armadillo","asp","baboon","badger","bandicoot","barnacle","barracuda","basilisk","bass","bat","bear","beaver","bedbug","bee","beetle","bird","bison","blackbird","boa","boar","bobcat","bobolink","bonobo","booby","bovid","bug","butterfly","buzzard","camel","canid","canidae","capybara","cardinal","caribou","carp","cat","caterpillar","catfish","catshark","cattle","centipede","cephalopod","chameleon","cheetah","chickadee","chicken","chimpanzee","chinchilla","chipmunk","cicada","clam","clownfish","cobra","cockroach","cod","condor","constrictor","coral","cougar","cow","coyote","crab","crane","crawdad","crayfish","cricket","crocodile","crow","cuckoo","damselfly","deer","dingo","dinosaur","dog","dolphin","donkey","dormouse","dove","dragon","dragonfly","duck","eagle","earthworm","earwig","echidna","eel","egret","elephant","elk","emu","ermine","falcon","felidae","ferret","finch","firefly","fish","flamingo","flea","fly","flyingfish","fowl","fox","frog","galliform","gamefowl","gayal","gazelle","gecko","gerbil","gibbon","giraffe","goat","goldfish","goose","gopher","gorilla","grasshopper","grouse","guan","guanaco","guineafowl","gull","guppy","haddock","halibut","hamster","hare","harrier","hawk","hedgehog","heron","herring","hippopotamus","hookworm","hornet","horse","hoverfly","hummingbird","hyena","iguana","impala","jackal","jaguar","jay","jellyfish","junglefowl","kangaroo","kingfisher","kite","kiwi","koala","koi","krill","ladybug","lamprey","landfowl","lark","leech","lemming","lemur","leopard","leopon","limpet","lion","lizard","llama","lobster","locust","loon","louse","lungfish","lynx","macaw","mackerel","magpie","mammal","manatee","mandrill","marlin","marmoset","marmot","marsupial","marten","mastodon","meadowlark","meerkat","mink","minnow","mite","mockingbird","mole","mollusk","mongoose","monkey","moose","mosquito","moth","mouse","mule","muskox","narwhal","newt","nightingale","ocelot","octopus","opossum","orangutan","orca","ostrich","otter","owl","ox","panda","panther","parakeet","parrot","parrotfish","partridge","peacock","peafowl","pelican","penguin","perch","pheasant","pig","pigeon","pike","pinniped","piranha","planarian","platypus","pony","porcupine","porpoise","possum","prawn","primate","ptarmigan","puffin","puma","python","quail","quelea","quokka","rabbit","raccoon","rat","rattlesnake","raven","reindeer","reptile","rhinoceros","roadrunner","rodent","rook","rooster","roundworm","sailfish","salamander","salmon","sawfish","scallop","scorpion","seahorse","shark","sheep","shrew","shrimp","silkworm","silverfish","skink","skunk","sloth","slug","smelt","snail","snake","snipe","sole","sparrow","spider","spoonbill","squid","squirrel","starfish","stingray","stoat","stork","sturgeon","swallow","swan","swift","swordfish","swordtail","tahr","takin","tapir","tarantula","tarsier","termite","tern","thrush","tick","tiger","tiglon","toad","tortoise","toucan","trout","tuna","turkey","turtle","tyrannosaurus","unicorn","urial","vicuna","viper","vole","vulture","wallaby","walrus","warbler","wasp","weasel","whale","whippet","whitefish","wildcat","wildebeest","wildfowl","wolf","wolverine","wombat","woodpecker","worm","wren","xerinae","yak","zebra"],AA=["amaranth","amber","amethyst","apricot","aqua","aquamarine","azure","beige","black","blue","blush","bronze","brown","chocolate","coffee","copper","coral","crimson","cyan","emerald","fuchsia","gold","gray","green","harlequin","indigo","ivory","jade","lavender","lime","magenta","maroon","moccasin","olive","orange","peach","pink","plum","purple","red","rose","salmon","sapphire","scarlet","silver","tan","teal","tomato","turquoise","violet","white","yellow"];class mt{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,r){let i=[];return this.decompose(0,e,i,2),r.length&&r.decompose(0,r.length,i,3),this.decompose(t,this.length,i,1),kn.from(i,this.length-(t-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){let r=[];return this.decompose(e,t,r,0),kn.from(r,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),r=this.length-this.scanIdentical(e,-1),i=new hs(this),a=new hs(e);for(let s=t,o=t;;){if(i.next(s),a.next(s),s=0,i.lineBreak!=a.lineBreak||i.done!=a.done||i.value!=a.value)return!1;if(o+=i.value.length,i.done||o>=r)return!0}}iter(e=1){return new hs(this,e)}iterRange(e,t=this.length){return new wT(this,e,t)}iterLines(e,t){let r;if(e==null)r=this.iter();else{t==null&&(t=this.lines+1);let i=this.line(e).from;r=this.iterRange(i,Math.max(i,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new xT(r)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?mt.empty:e.length<=32?new Ht(e):kn.from(Ht.split(e,[]))}}class Ht extends mt{constructor(e,t=RA(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,r,i){for(let a=0;;a++){let s=this.text[a],o=i+s.length;if((t?r:o)>=e)return new IA(i,o,r,s);i=o+1,r++}}decompose(e,t,r,i){let a=e<=0&&t>=this.length?this:new Ht(e_(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(i&1){let s=r.pop(),o=Do(a.text,s.text.slice(),0,a.length);if(o.length<=32)r.push(new Ht(o,s.length+a.length));else{let l=o.length>>1;r.push(new Ht(o.slice(0,l)),new Ht(o.slice(l)))}}else r.push(a)}replace(e,t,r){if(!(r instanceof Ht))return super.replace(e,t,r);let i=Do(this.text,Do(r.text,e_(this.text,0,e)),t),a=this.length+r.length-(t-e);return i.length<=32?new Ht(i,a):kn.from(Ht.split(i,[]),a)}sliceString(e,t=this.length,r=` +`){let i="";for(let a=0,s=0;a<=t&&se&&s&&(i+=r),ea&&(i+=o.slice(Math.max(0,e-a),t-a)),a=l+1}return i}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let r=[],i=-1;for(let a of e)r.push(a),i+=a.length+1,r.length==32&&(t.push(new Ht(r,i)),r=[],i=-1);return i>-1&&t.push(new Ht(r,i)),t}}class kn extends mt{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,t,r,i){for(let a=0;;a++){let s=this.children[a],o=i+s.length,l=r+s.lines-1;if((t?l:o)>=e)return s.lineInner(e,t,r,i);i=o+1,r=l+1}}decompose(e,t,r,i){for(let a=0,s=0;s<=t&&a=s){let u=i&((s<=e?1:0)|(l>=t?2:0));s>=e&&l<=t&&!u?r.push(o):o.decompose(e-s,t-s,r,u)}s=l+1}}replace(e,t,r){if(r.lines=a&&t<=o){let l=s.replace(e-a,t-a,r),u=this.lines-s.lines+l.lines;if(l.lines>5-1&&l.lines>u>>5+1){let d=this.children.slice();return d[i]=l,new kn(d,this.length-(t-e)+r.length)}return super.replace(a,o,l)}a=o+1}return super.replace(e,t,r)}sliceString(e,t=this.length,r=` +`){let i="";for(let a=0,s=0;ae&&a&&(i+=r),es&&(i+=o.sliceString(e-s,t-s,r)),s=l+1}return i}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof kn))return 0;let r=0,[i,a,s,o]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;i+=t,a+=t){if(i==s||a==o)return r;let l=this.children[i],u=e.children[a];if(l!=u)return r+l.scanIdentical(u,t);r+=l.length+1}}static from(e,t=e.reduce((r,i)=>r+i.length+1,-1)){let r=0;for(let g of e)r+=g.lines;if(r<32){let g=[];for(let b of e)b.flatten(g);return new Ht(g,t)}let i=Math.max(32,r>>5),a=i<<1,s=i>>1,o=[],l=0,u=-1,d=[];function f(g){let b;if(g.lines>a&&g instanceof kn)for(let v of g.children)f(v);else g.lines>s&&(l>s||!l)?(m(),o.push(g)):g instanceof Ht&&l&&(b=d[d.length-1])instanceof Ht&&g.lines+b.lines<=32?(l+=g.lines,u+=g.length+1,d[d.length-1]=new Ht(b.text.concat(g.text),b.length+1+g.length)):(l+g.lines>i&&m(),l+=g.lines,u+=g.length+1,d.push(g))}function m(){l!=0&&(o.push(d.length==1?d[0]:kn.from(d,u)),u=-1,l=d.length=0)}for(let g of e)f(g);return m(),o.length==1?o[0]:new kn(o,t)}}mt.empty=new Ht([""],0);function RA(n){let e=-1;for(let t of n)e+=t.length+1;return e}function Do(n,e,t=0,r=1e9){for(let i=0,a=0,s=!0;a=t&&(l>r&&(o=o.slice(0,r-i)),i0?1:(e instanceof Ht?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,i=this.nodes[r],a=this.offsets[r],s=a>>1,o=i instanceof Ht?i.text.length:i.children.length;if(s==(t>0?o:0)){if(r==0)return this.done=!0,this.value="",this;t>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((a&1)==(t>0?0:1)){if(this.offsets[r]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(i instanceof Ht){let l=i.text[s+(t<0?-1:0)];if(this.offsets[r]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=i.children[s+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[r]+=t):(t<0&&this.offsets[r]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ht?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class wT{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new hs(e,t>r?-1:1),this.pos=t>r?e.length:0,this.from=Math.min(t,r),this.to=Math.max(t,r)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let r=t<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:i}=this.cursor.next(e);return this.pos+=(i.length+e)*t,this.value=i.length<=r?i:t<0?i.slice(i.length-r):i.slice(0,r),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class xT{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:r,value:i}=this.inner.next(e);return t?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(mt.prototype[Symbol.iterator]=function(){return this.iter()},hs.prototype[Symbol.iterator]=wT.prototype[Symbol.iterator]=xT.prototype[Symbol.iterator]=function(){return this});let IA=class{constructor(e,t,r,i){this.from=e,this.to=t,this.number=r,this.text=i}get length(){return this.to-this.from}},ga="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(n=>n?parseInt(n,36):1);for(let n=1;nn)return ga[e-1]<=n;return!1}function t_(n){return n>=127462&&n<=127487}const r_=8205;function Er(n,e,t=!0,r=!0){return(t?LT:DA)(n,e,r)}function LT(n,e,t){if(e==n.length)return e;e&&kT(n.charCodeAt(e))&&MT(n.charCodeAt(e-1))&&e--;let r=pr(n,e);for(e+=an(r);e=0&&t_(pr(n,s));)a++,s-=2;if(a%2==0)break;e+=2}else break}return e}function DA(n,e,t){for(;e>0;){let r=LT(n,e-2,t);if(r=56320&&n<57344}function MT(n){return n>=55296&&n<56320}function pr(n,e){let t=n.charCodeAt(e);if(!MT(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return kT(r)?(t-55296<<10)+(r-56320)+65536:t}function Bh(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function an(n){return n<65536?1:2}const Af=/\r\n?|\n/;var er=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(er||(er={}));class Fn{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return a+(e-i);a+=o}else{if(r!=er.Simple&&u>=e&&(r==er.TrackDel&&ie||r==er.TrackBefore&&ie))return null;if(u>e||u==e&&t<0&&!o)return e==i||t<0?a:a+l;a+=l}i=u}if(e>i)throw new RangeError(`Position ${e} is out of range for changeset of length ${i}`);return a}touchesRange(e,t=e){for(let r=0,i=0;r=0&&i<=t&&o>=e)return it?"cover":!0;i=o}return!1}toString(){let e="";for(let t=0;t=0?":"+i:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Fn(e)}static create(e){return new Fn(e)}}class Jt extends Fn{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Rf(this,(t,r,i,a,s)=>e=e.replace(i,i+(r-t),s),!1),e}mapDesc(e,t=!1){return If(this,e,t,!0)}invert(e){let t=this.sections.slice(),r=[];for(let i=0,a=0;i=0){t[i]=o,t[i+1]=s;let l=i>>1;for(;r.length0&&_i(r,t,a.text),a.forward(d),o+=d}let u=e[s++];for(;o>1].toJSON()))}return e}static of(e,t,r){let i=[],a=[],s=0,o=null;function l(d=!1){if(!d&&!i.length)return;sm||f<0||m>t)throw new RangeError(`Invalid change range ${f} to ${m} (in doc of length ${t})`);let b=g?typeof g=="string"?mt.of(g.split(r||Af)):g:mt.empty,v=b.length;if(f==m&&v==0)return;fs&&Or(i,f-s,-1),Or(i,m-f,v),_i(a,i,b),s=m}}return u(e),l(!o),o}static empty(e){return new Jt(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],r=[];for(let i=0;io&&typeof s!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(a.length==1)t.push(a[0],0);else{for(;r.length=0&&t<=0&&t==n[i+1]?n[i]+=e:e==0&&n[i]==0?n[i+1]+=t:r?(n[i]+=e,n[i+1]+=t):n.push(e,t)}function _i(n,e,t){if(t.length==0)return;let r=e.length-2>>1;if(r>1])),!(t||s==n.sections.length||n.sections[s+1]<0);)o=n.sections[s++],l=n.sections[s++];e(i,u,a,d,f),i=u,a=d}}}function If(n,e,t,r=!1){let i=[],a=r?[]:null,s=new Os(n),o=new Os(e);for(let l=-1;;)if(s.ins==-1&&o.ins==-1){let u=Math.min(s.len,o.len);Or(i,u,-1),s.forward(u),o.forward(u)}else if(o.ins>=0&&(s.ins<0||l==s.i||s.off==0&&(o.len=0&&l=0){let u=0,d=s.len;for(;d;)if(o.ins==-1){let f=Math.min(d,o.len);u+=f,d-=f,o.forward(f)}else if(o.ins==0&&o.lenl||s.ins>=0&&s.len>l)&&(o||r.length>u),a.forward2(l),s.forward(l)}}}}class Os{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?mt.empty:e[t]}textBit(e){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length&&!e?mt.empty:t[r].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Bi{constructor(e,t,r){this.from=e,this.to=t,this.flags=r}get anchor(){return this.flags&16?this.to:this.from}get head(){return this.flags&16?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&4?-1:this.flags&8?1:0}get bidiLevel(){let e=this.flags&3;return e==3?null:e}get goalColumn(){let e=this.flags>>5;return e==33554431?void 0:e}map(e,t=-1){let r,i;return this.empty?r=i=e.mapPos(this.from,t):(r=e.mapPos(this.from,1),i=e.mapPos(this.to,-1)),r==this.from&&i==this.to?this:new Bi(r,i,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return de.range(e,t);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return de.range(this.anchor,r)}eq(e){return this.anchor==e.anchor&&this.head==e.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return de.range(e.anchor,e.head)}static create(e,t,r){return new Bi(e,t,r)}}class de{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:de.create(this.ranges.map(r=>r.map(e,t)),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let t=0;te.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new de(e.ranges.map(t=>Bi.fromJSON(t)),e.main)}static single(e,t=e){return new de([de.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let r=0,i=0;ie?4:0)|a)}static normalized(e,t=0){let r=e[t];e.sort((i,a)=>i.from-a.from),t=e.indexOf(r);for(let i=1;ia.head?de.range(l,o):de.range(o,l))}}return new de(e,t)}}function BT(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let Uh=0;class De{constructor(e,t,r,i,a){this.combine=e,this.compareInput=t,this.compare=r,this.isStatic=i,this.id=Uh++,this.default=e([]),this.extensions=typeof a=="function"?a(this):a}static define(e={}){return new De(e.combine||(t=>t),e.compareInput||((t,r)=>t===r),e.compare||(e.combine?(t,r)=>t===r:Fh),!!e.static,e.enables)}of(e){return new wo([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new wo(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new wo(e,this,2,t)}from(e,t){return t||(t=r=>r),this.compute([e],r=>t(r.field(e)))}}function Fh(n,e){return n==e||n.length==e.length&&n.every((t,r)=>t===e[r])}class wo{constructor(e,t,r,i){this.dependencies=e,this.facet=t,this.type=r,this.value=i,this.id=Uh++}dynamicSlot(e){var t;let r=this.value,i=this.facet.compareInput,a=this.id,s=e[a]>>1,o=this.type==2,l=!1,u=!1,d=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?u=!0:((t=e[f.id])!==null&&t!==void 0?t:1)&1||d.push(e[f.id]);return{create(f){return f.values[s]=r(f),1},update(f,m){if(l&&m.docChanged||u&&(m.docChanged||m.selection)||Nf(f,d)){let g=r(f);if(o?!n_(g,f.values[s],i):!i(g,f.values[s]))return f.values[s]=g,1}return 0},reconfigure:(f,m)=>{let g,b=m.config.address[a];if(b!=null){let v=Zo(m,b);if(this.dependencies.every(y=>y instanceof De?m.facet(y)===f.facet(y):y instanceof hr?m.field(y,!1)==f.field(y,!1):!0)||(o?n_(g=r(f),v,i):i(g=r(f),v)))return f.values[s]=v,0}else g=r(f);return f.values[s]=g,1}}}}function n_(n,e,t){if(n.length!=e.length)return!1;for(let r=0;rn[l.id]),i=t.map(l=>l.type),a=r.filter(l=>!(l&1)),s=n[e.id]>>1;function o(l){let u=[];for(let d=0;dr===i),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(i_).find(r=>r.field==this);return((t==null?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:r=>(r.values[t]=this.create(r),1),update:(r,i)=>{let a=r.values[t],s=this.updateF(a,i);return this.compareF(a,s)?0:(r.values[t]=s,1)},reconfigure:(r,i)=>i.config.address[this.id]!=null?(r.values[t]=i.field(this),0):(r.values[t]=this.create(r),1)}}init(e){return[this,i_.of({field:this,create:e})]}get extension(){return this}}const ki={lowest:4,low:3,default:2,high:1,highest:0};function Za(n){return e=>new UT(e,n)}const Jn={highest:Za(ki.highest),high:Za(ki.high),default:Za(ki.default),low:Za(ki.low),lowest:Za(ki.lowest)};class UT{constructor(e,t){this.inner=e,this.prec=t}}class Xn{of(e){return new Df(this,e)}reconfigure(e){return Xn.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class Df{constructor(e,t){this.compartment=e,this.inner=t}}class Xo{constructor(e,t,r,i,a,s){for(this.base=e,this.compartments=t,this.dynamicSlots=r,this.address=i,this.staticValues=a,this.facets=s,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,r){let i=[],a=Object.create(null),s=new Map;for(let m of xA(e,t,s))m instanceof hr?i.push(m):(a[m.facet.id]||(a[m.facet.id]=[])).push(m);let o=Object.create(null),l=[],u=[];for(let m of i)o[m.id]=u.length<<1,u.push(g=>m.slot(g));let d=r==null?void 0:r.config.facets;for(let m in a){let g=a[m],b=g[0].facet,v=d&&d[m]||[];if(g.every(y=>y.type==0))if(o[b.id]=l.length<<1|1,Fh(v,g))l.push(r.facet(b));else{let y=b.combine(g.map(N=>N.value));l.push(r&&b.compare(y,r.facet(b))?r.facet(b):y)}else{for(let y of g)y.type==0?(o[y.id]=l.length<<1|1,l.push(y.value)):(o[y.id]=u.length<<1,u.push(N=>y.dynamicSlot(N)));o[b.id]=u.length<<1,u.push(y=>wA(y,b,g))}}let f=u.map(m=>m(o));return new Xo(e,s,f,o,l,a)}}function xA(n,e,t){let r=[[],[],[],[],[]],i=new Map;function a(s,o){let l=i.get(s);if(l!=null){if(l<=o)return;let u=r[l].indexOf(s);u>-1&&r[l].splice(u,1),s instanceof Df&&t.delete(s.compartment)}if(i.set(s,o),Array.isArray(s))for(let u of s)a(u,o);else if(s instanceof Df){if(t.has(s.compartment))throw new RangeError("Duplicate use of compartment in extensions");let u=e.get(s.compartment)||s.inner;t.set(s.compartment,u),a(u,o)}else if(s instanceof UT)a(s.inner,s.prec);else if(s instanceof hr)r[o].push(s),s.provides&&a(s.provides,o);else if(s instanceof wo)r[o].push(s),s.facet.extensions&&a(s.facet.extensions,ki.default);else{let u=s.extension;if(!u)throw new Error(`Unrecognized extension value in extension set (${s}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);a(u,o)}}return a(n,ki.default),r.reduce((s,o)=>s.concat(o))}function ms(n,e){if(e&1)return 2;let t=e>>1,r=n.status[t];if(r==4)throw new Error("Cyclic dependency between fields and/or facets");if(r&2)return r;n.status[t]=4;let i=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|i}function Zo(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const FT=De.define(),YT=De.define({combine:n=>n.some(e=>e),static:!0}),GT=De.define({combine:n=>n.length?n[0]:void 0,static:!0}),QT=De.define(),$T=De.define(),qT=De.define(),VT=De.define({combine:n=>n.length?n[0]:!1});class ei{constructor(e,t){this.type=e,this.value=t}static define(){return new LA}}class LA{of(e){return new ei(this,e)}}class kA{constructor(e){this.map=e}of(e){return new it(this,e)}}class it{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new it(this.type,t)}is(e){return this.type==e}static define(e={}){return new kA(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let r=[];for(let i of e){let a=i.map(t);a&&r.push(a)}return r}}it.reconfigure=it.define();it.appendConfig=it.define();class tr{constructor(e,t,r,i,a,s){this.startState=e,this.changes=t,this.selection=r,this.effects=i,this.annotations=a,this.scrollIntoView=s,this._doc=null,this._state=null,r&&BT(r,t.newLength),a.some(o=>o.type==tr.time)||(this.annotations=a.concat(tr.time.of(Date.now())))}static create(e,t,r,i,a,s){return new tr(e,t,r,i,a,s)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(tr.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}tr.time=ei.define();tr.userEvent=ei.define();tr.addToHistory=ei.define();tr.remote=ei.define();function MA(n,e){let t=[];for(let r=0,i=0;;){let a,s;if(r=n[r]))a=n[r++],s=n[r++];else if(i=0;i--){let a=r[i](n);a instanceof tr?n=a:Array.isArray(a)&&a.length==1&&a[0]instanceof tr?n=a[0]:n=zT(e,Sa(a),!1)}return n}function BA(n){let e=n.startState,t=e.facet(qT),r=n;for(let i=t.length-1;i>=0;i--){let a=t[i](n);a&&Object.keys(a).length&&(r=HT(r,wf(e,a,n.changes.newLength),!0))}return r==n?n:tr.create(e,n.changes,n.selection,r.effects,r.annotations,r.scrollIntoView)}const UA=[];function Sa(n){return n==null?UA:Array.isArray(n)?n:[n]}var Pt=function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n}(Pt||(Pt={}));const FA=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let xf;try{xf=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function YA(n){if(xf)return xf.test(n);for(let e=0;e"€"&&(t.toUpperCase()!=t.toLowerCase()||FA.test(t)))return!0}return!1}function GA(n){return e=>{if(!/\S/.test(e))return Pt.Space;if(YA(e))return Pt.Word;for(let t=0;t-1)return Pt.Word;return Pt.Other}}class ut{constructor(e,t,r,i,a,s){this.config=e,this.doc=t,this.selection=r,this.values=i,this.status=e.statusTemplate.slice(),this.computeSlot=a,s&&(s._state=this);for(let o=0;oi.set(l,o)),t=null),i.set(s.value.compartment,s.value.extension)):s.is(it.reconfigure)?(t=null,r=s.value):s.is(it.appendConfig)&&(t=null,r=Sa(r).concat(s.value));let a;t?a=e.startState.values.slice():(t=Xo.resolve(r,i,this),a=new ut(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(o,l)=>l.reconfigure(o,this),null).values),new ut(t,e.newDoc,e.newSelection,a,(s,o)=>o.update(s,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:de.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,r=e(t.ranges[0]),i=this.changes(r.changes),a=[r.range],s=Sa(r.effects);for(let o=1;os.spec.fromJSON(o,l)))}}return ut.create({doc:e.doc,selection:de.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(e={}){let t=Xo.resolve(e.extensions||[],new Map),r=e.doc instanceof mt?e.doc:mt.of((e.doc||"").split(t.staticFacet(ut.lineSeparator)||Af)),i=e.selection?e.selection instanceof de?e.selection:de.single(e.selection.anchor,e.selection.head):de.single(0);return BT(i,r.length),t.staticFacet(YT)||(i=i.asSingle()),new ut(t,r,i,t.dynamicSlots.map(()=>null),(a,s)=>s.create(a),null)}get tabSize(){return this.facet(ut.tabSize)}get lineBreak(){return this.facet(ut.lineSeparator)||` `}get readOnly(){return this.facet(VT)}phrase(e,...t){for(let r of this.facet(ut.phrases))if(Object.prototype.hasOwnProperty.call(r,e)){e=r[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(r,i)=>{if(i=="$")return"$";let a=+(i||1);return!a||a>t.length?r:t[a-1]})),e}languageDataAt(e,t,r=-1){let i=[];for(let a of this.facet(FT))for(let s of a(this,t,r))Object.prototype.hasOwnProperty.call(s,e)&&i.push(s[e]);return i}charCategorizer(e){return GA(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:r,length:i}=this.doc.lineAt(e),a=this.charCategorizer(e),s=e-r,o=e-r;for(;s>0;){let l=Er(t,s,!1);if(a(t.slice(l,s))!=Pt.Word)break;s=l}for(;on.length?n[0]:4});ut.lineSeparator=GT;ut.readOnly=VT;ut.phrases=De.define({compare(n,e){let t=Object.keys(n),r=Object.keys(e);return t.length==r.length&&t.every(i=>n[i]==e[i])}});ut.languageData=FT;ut.changeFilter=QT;ut.transactionFilter=$T;ut.transactionExtender=qT;Xn.reconfigure=it.define();function ti(n,e,t={}){let r={};for(let i of n)for(let a of Object.keys(i)){let s=i[a],o=r[a];if(o===void 0)r[a]=s;else if(!(o===s||s===void 0))if(Object.hasOwnProperty.call(t,a))r[a]=t[a](o,s);else throw new Error("Config merge conflict for field "+a)}for(let i in e)r[i]===void 0&&(r[i]=e[i]);return r}class Hi{eq(e){return this==e}range(e,t=e){return Lf.create(e,t,this)}}Hi.prototype.startSide=Hi.prototype.endSide=0;Hi.prototype.point=!1;Hi.prototype.mapMode=er.TrackDel;let Lf=class WT{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new WT(e,t,r)}};function kf(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class Yh{constructor(e,t,r,i){this.from=e,this.to=t,this.value=r,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(e,t,r,i=0){let a=r?this.to:this.from;for(let s=i,o=a.length;;){if(s==o)return s;let l=s+o>>1,u=a[l]-e||(r?this.value[l].endSide:this.value[l].startSide)-t;if(l==s)return u>=0?s:o;u>=0?o=l:s=l+1}}between(e,t,r,i){for(let a=this.findIndex(t,-1e9,!0),s=this.findIndex(r,1e9,!1,a);ag||m==g&&u.startSide>0&&u.endSide<=0)continue;(g-m||u.endSide-u.startSide)<0||(s<0&&(s=m),u.point&&(o=Math.max(o,g-m)),r.push(u),i.push(m-s),a.push(g-s))}return{mapped:r.length?new Yh(i,a,r,o):null,pos:s}}}class yt{constructor(e,t,r,i){this.chunkPos=e,this.chunk=t,this.nextLayer=r,this.maxPoint=i}static create(e,t,r,i){return new yt(e,t,r,i)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:r=!1,filterFrom:i=0,filterTo:a=this.length}=e,s=e.filter;if(t.length==0&&!s)return this;if(r&&(t=t.slice().sort(kf)),this.isEmpty)return t.length?yt.of(t):this;let o=new XT(this,null,-1).goto(0),l=0,u=[],d=new zi;for(;o.value||l=0){let f=t[l++];d.addInner(f.from,f.to,f.value)||u.push(f)}else o.rangeIndex==1&&o.chunkIndexthis.chunkEnd(o.chunkIndex)||ao.to||a=a&&e<=a+s.length&&s.between(a,e-a,t-a,r)===!1)return}this.nextLayer.between(e,t,r)}}iter(e=0){return Es.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Es.from(e).goto(t)}static compare(e,t,r,i,a=-1){let s=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=a),o=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=a),l=a_(s,o,r),u=new Ka(s,l,a),d=new Ka(o,l,a);r.iterGaps((f,m,g)=>s_(u,f,d,m,g,i)),r.empty&&r.length==0&&s_(u,0,d,0,0,i)}static eq(e,t,r=0,i){i==null&&(i=1e9-1);let a=e.filter(d=>!d.isEmpty&&t.indexOf(d)<0),s=t.filter(d=>!d.isEmpty&&e.indexOf(d)<0);if(a.length!=s.length)return!1;if(!a.length)return!0;let o=a_(a,s),l=new Ka(a,o,0).goto(r),u=new Ka(s,o,0).goto(r);for(;;){if(l.to!=u.to||!Mf(l.active,u.active)||l.point&&(!u.point||!l.point.eq(u.point)))return!1;if(l.to>i)return!0;l.next(),u.next()}}static spans(e,t,r,i,a=-1){let s=new Ka(e,null,a).goto(t),o=t,l=s.openStart;for(;;){let u=Math.min(s.to,r);if(s.point){let d=s.activeForPoint(s.to),f=s.pointFromo&&(i.span(o,u,s.active,l),l=s.openEnd(u));if(s.to>r)return l+(s.point&&s.to>r?1:0);o=s.to,s.next()}}static of(e,t=!1){let r=new zi;for(let i of e instanceof Lf?[e]:t?QA(e):e)r.add(i.from,i.to,i.value);return r.finish()}}yt.empty=new yt([],[],null,-1);function QA(n){if(n.length>1)for(let e=n[0],t=1;t0)return n.slice().sort(kf);e=r}return n}yt.empty.nextLayer=yt.empty;class zi{finishChunk(e){this.chunks.push(new Yh(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,r){this.addInner(e,t,r)||(this.nextLayer||(this.nextLayer=new zi)).add(e,t,r)}addInner(e,t,r){let i=e-this.lastTo||r.startSide-this.last.endSide;if(i<=0&&(e-this.lastFrom||r.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return i<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=r,this.lastFrom=e,this.lastTo=t,this.value.push(r),r.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let r=t.value.length-1;return this.last=t.value[r],this.lastFrom=t.from[r]+e,this.lastTo=t.to[r]+e,!0}finish(){return this.finishInner(yt.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=yt.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function a_(n,e,t){let r=new Map;for(let a of n)for(let s=0;s=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=r&&i.push(new XT(s,t,r,a));return i.length==1?i[0]:new Es(i)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let r of this.heap)r.goto(e,t);for(let r=this.heap.length>>1;r>=0;r--)ac(this.heap,r);return this.next(),this}forward(e,t){for(let r of this.heap)r.forward(e,t);for(let r=this.heap.length>>1;r>=0;r--)ac(this.heap,r);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),ac(this.heap,0)}}}function ac(n,e){for(let t=n[e];;){let r=(e<<1)+1;if(r>=n.length)break;let i=n[r];if(r+1=0&&(i=n[r+1],r++),t.compare(i)<0)break;n[r]=t,n[e]=i,e=r}}class Ka{constructor(e,t,r){this.minPoint=r,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Es.from(e,t,r)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){ao(this.active,e),ao(this.activeTo,e),ao(this.activeRank,e),this.minActive=o_(this.active,this.activeTo)}addActive(e){let t=0,{value:r,to:i,rank:a}=this.cursor;for(;t-1&&(this.activeTo[i]-this.cursor.from||this.active[i].endSide-this.cursor.startSide)<0){if(this.activeTo[i]>e){this.to=this.activeTo[i],this.endSide=this.active[i].endSide;break}this.removeActive(i),r&&ao(r,i)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let a=this.cursor.value;if(!a.point)this.addActive(r),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&r[i]=0&&!(this.activeRank[r]e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&t.push(this.active[r]);return t.reverse()}openEnd(e){let t=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)t++;return t}}function s_(n,e,t,r,i,a){n.goto(e),t.goto(r);let s=r+i,o=r,l=r-e;for(;;){let u=n.to+l-t.to||n.endSide-t.endSide,d=u<0?n.to+l:t.to,f=Math.min(d,s);if(n.point||t.point?n.point&&t.point&&(n.point==t.point||n.point.eq(t.point))&&Mf(n.activeForPoint(n.to),t.activeForPoint(t.to))||a.comparePoint(o,f,n.point,t.point):f>o&&!Mf(n.active,t.active)&&a.compareRange(o,f,n.active,t.active),d>s)break;o=d,u<=0&&n.next(),u>=0&&t.next()}}function Mf(n,e){if(n.length!=e.length)return!1;for(let t=0;t=e;r--)n[r+1]=n[r];n[e]=t}function o_(n,e){let t=-1,r=1e9;for(let i=0;i=e)return i;if(i==n.length)break;a+=n.charCodeAt(i)==9?t-a%t:1,i=Er(n,i)}return r===!0?-1:n.length}const Bf="ͼ",l_=typeof Symbol>"u"?"__"+Bf:Symbol.for(Bf),Uf=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),c_=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class Oi{constructor(e,t){this.rules=[];let{finish:r}=t||{};function i(s){return/^@/.test(s)?[s]:s.split(/,\s*/)}function a(s,o,l,u){let d=[],f=/^@(\w+)\b/.exec(s[0]),m=f&&f[1]=="keyframes";if(f&&o==null)return l.push(s[0]+";");for(let g in o){let b=o[g];if(/&/.test(g))a(g.split(/,\s*/).map(v=>s.map(y=>v.replace(/&/,y))).reduce((v,y)=>v.concat(y)),b,l);else if(b&&typeof b=="object"){if(!f)throw new RangeError("The value of a property ("+g+") should be a primitive value.");a(i(g),b,d,m)}else b!=null&&d.push(g.replace(/_.*/,"").replace(/[A-Z]/g,v=>"-"+v.toLowerCase())+": "+b+";")}(d.length||m)&&l.push((r&&!f&&!u?s.map(r):s).join(", ")+" {"+d.join(" ")+"}")}for(let s in e)a(i(s),e[s],this.rules)}getRules(){return this.rules.join(` `)}static newName(){let e=c_[l_]||1;return c_[l_]=e+1,Bf+e.toString(36)}static mount(e,t){(e[Uf]||new $A(e)).mount(Array.isArray(t)?t:[t])}}let u_=new Map;class $A{constructor(e){let t=e.ownerDocument||e,r=t.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let i=u_.get(t);if(i)return e.adoptedStyleSheets=[i.sheet,...e.adoptedStyleSheets],e[Uf]=i;this.sheet=new r.CSSStyleSheet,e.adoptedStyleSheets=[this.sheet,...e.adoptedStyleSheets],u_.set(t,this)}else{this.styleTag=t.createElement("style");let i=e.head||e;i.insertBefore(this.styleTag,i.firstChild)}this.modules=[],e[Uf]=this}mount(e){let t=this.sheet,r=0,i=0;for(let a=0;a-1&&(this.modules.splice(o,1),i--,o=-1),o==-1){if(this.modules.splice(i++,0,s),t)for(let l=0;l",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},qA=typeof navigator<"u"&&/Mac/.test(navigator.platform),VA=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var fr=0;fr<10;fr++)Ei[48+fr]=Ei[96+fr]=String(fr);for(var fr=1;fr<=24;fr++)Ei[fr+111]="F"+fr;for(var fr=65;fr<=90;fr++)Ei[fr]=String.fromCharCode(fr+32),bs[fr]=String.fromCharCode(fr);for(var sc in Ei)bs.hasOwnProperty(sc)||(bs[sc]=Ei[sc]);function HA(n){var e=qA&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||VA&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?bs:Ei)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function Ko(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function Ff(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function zA(n){let e=n.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function xo(n,e){if(!e.anchorNode)return!1;try{return Ff(n,e.anchorNode)}catch{return!1}}function Ts(n){return n.nodeType==3?Wi(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function jo(n,e,t,r){return t?d_(n,e,t,r,-1)||d_(n,e,t,r,1):!1}function Jo(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function d_(n,e,t,r,i){for(;;){if(n==t&&e==r)return!0;if(e==(i<0?0:bi(n))){if(n.nodeName=="DIV")return!1;let a=n.parentNode;if(!a||a.nodeType!=1)return!1;e=Jo(n)+(i<0?0:1),n=a}else if(n.nodeType==1){if(n=n.childNodes[e+(i<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=i<0?bi(n):0}else return!1}}function bi(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function Gh(n,e){let t=e?n.left:n.right;return{left:t,right:t,top:n.top,bottom:n.bottom}}function WA(n){return{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function XA(n,e,t,r,i,a,s,o){let l=n.ownerDocument,u=l.defaultView||window;for(let d=n,f=!1;d&&!f;)if(d.nodeType==1){let m,g=d==l.body;if(g)m=WA(u);else{if(/^(fixed|sticky)$/.test(getComputedStyle(d).position)&&(f=!0),d.scrollHeight<=d.clientHeight&&d.scrollWidth<=d.clientWidth){d=d.assignedSlot||d.parentNode;continue}let y=d.getBoundingClientRect();m={left:y.left,right:y.left+d.clientWidth,top:y.top,bottom:y.top+d.clientHeight}}let b=0,v=0;if(i=="nearest")e.top0&&e.bottom>m.bottom+v&&(v=e.bottom-m.bottom+v+s)):e.bottom>m.bottom&&(v=e.bottom-m.bottom+s,t<0&&e.top-v0&&e.right>m.right+b&&(b=e.right-m.right+b+a)):e.right>m.right&&(b=e.right-m.right+a,t<0&&e.leftt.clientHeight||t.scrollWidth>t.clientWidth)return t;t=t.assignedSlot||t.parentNode}else if(t.nodeType==11)t=t.host;else break;return null}class KA{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:r}=e;this.set(t,Math.min(e.anchorOffset,t?bi(t):0),r,Math.min(e.focusOffset,r?bi(r):0))}set(e,t,r,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=r,this.focusOffset=i}}let ca=null;function ZT(n){if(n.setActive)return n.setActive();if(ca)return n.focus(ca);let e=[];for(let t=n;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(n.focus(ca==null?{get preventScroll(){return ca={preventScroll:!0},!0}}:void 0),!ca){ca=!1;for(let t=0;tMath.max(1,n.scrollHeight-n.clientHeight-4)}class Lr{constructor(e,t,r=!0){this.node=e,this.offset=t,this.precise=r}static before(e,t){return new Lr(e.parentNode,Jo(e),t)}static after(e,t){return new Lr(e.parentNode,Jo(e)+1,t)}}const Qh=[];class It{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let r of this.children){if(r==e)return t;t+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(this.flags&2){let r=this.dom,i=null,a;for(let s of this.children){if(s.flags&7){if(!s.dom&&(a=i?i.nextSibling:r.firstChild)){let o=It.get(a);(!o||!o.parent&&o.canReuseDOM(s))&&s.reuseDOM(a)}s.sync(e,t),s.flags&=-8}if(a=i?i.nextSibling:r.firstChild,t&&!t.written&&t.node==r&&a!=s.dom&&(t.written=!0),s.dom.parentNode==r)for(;a&&a!=s.dom;)a=f_(a);else r.insertBefore(s.dom,a);i=s.dom}for(a=i?i.nextSibling:r.firstChild,a&&t&&t.node==r&&(t.written=!0);a;)a=f_(a)}else if(this.flags&1)for(let r of this.children)r.flags&7&&(r.sync(e,t),r.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let r;if(e==this.dom)r=this.dom.childNodes[t];else{let i=bi(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==this.dom)break;i==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?i=-1:i=1),e=a}i<0?r=e:r=e.nextSibling}if(r==this.dom.firstChild)return 0;for(;r&&!It.get(r);)r=r.nextSibling;if(!r)return this.length;for(let i=0,a=0;;i++){let s=this.children[i];if(s.dom==r)return a;a+=s.length+s.breakAfter}}domBoundsAround(e,t,r=0){let i=-1,a=-1,s=-1,o=-1;for(let l=0,u=r,d=r;lt)return f.domBoundsAround(e,t,u);if(m>=e&&i==-1&&(i=l,a=u),u>t&&f.dom.parentNode==this.dom){s=l,o=d;break}d=m,u=m+f.breakAfter}return{from:a,to:o<0?r+this.length:o,startDOM:(i?this.children[i-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:s=0?this.children[s].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),t.flags&1)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,r=Qh){this.markDirty();for(let i=e;ithis.pos||e==this.pos&&(t>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let r=this.children[--this.i];this.pos-=r.length+r.breakAfter}}}function eC(n,e,t,r,i,a,s,o,l){let{children:u}=n,d=u.length?u[e]:null,f=a.length?a[a.length-1]:null,m=f?f.breakAfter:s;if(!(e==r&&d&&!s&&!m&&a.length<2&&d.merge(t,i,a.length?f:null,t==0,o,l))){if(r0&&(!s&&a.length&&d.merge(t,d.length,a[0],!1,o,0)?d.breakAfter=a.shift().breakAfter:(ta)&&this.lineBreak(),i=s}return this.findPointBefore(r,t),this}readTextNode(e){let t=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,t.length));for(let r=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let a=-1,s=1,o;if(this.lineSeparator?(a=t.indexOf(this.lineSeparator,r),s=this.lineSeparator.length):(o=i.exec(t))&&(a=o.index,s=o[0].length),this.append(t.slice(r,a<0?t.length:a)),a<0)break;if(this.lineBreak(),s>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=s-1);r=a+s}}readNode(e){if(e.cmIgnore)return;let t=It.get(e),r=t&&t.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let i=r.iter();!i.next().done;)i.lineBreak?this.lineBreak():this.append(i.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let r of this.points)r.node==e&&e.childNodes[r.offset]==t&&(r.pos=this.text.length)}findPointInside(e,t){for(let r of this.points)(e.nodeType==3?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+Math.min(t,r.offset))}}function h_(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}class m_{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}let Kr=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Yf=typeof document<"u"?document:{documentElement:{style:{}}};const Gf=/Edge\/(\d+)/.exec(Kr.userAgent),nC=/MSIE \d/.test(Kr.userAgent),Qf=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Kr.userAgent),Ul=!!(nC||Qf||Gf),__=!Ul&&/gecko\/(\d+)/i.test(Kr.userAgent),oc=!Ul&&/Chrome\/(\d+)/.exec(Kr.userAgent),g_="webkitFontSmoothing"in Yf.documentElement.style,iC=!Ul&&/Apple Computer/.test(Kr.vendor),S_=iC&&(/Mobile\/\w+/.test(Kr.userAgent)||Kr.maxTouchPoints>2);var Ne={mac:S_||/Mac/.test(Kr.platform),windows:/Win/.test(Kr.platform),linux:/Linux|X11/.test(Kr.platform),ie:Ul,ie_version:nC?Yf.documentMode||6:Qf?+Qf[1]:Gf?+Gf[1]:0,gecko:__,gecko_version:__?+(/Firefox\/(\d+)/.exec(Kr.userAgent)||[0,0])[1]:0,chrome:!!oc,chrome_version:oc?+oc[1]:0,ios:S_,android:/Android\b/.test(Kr.userAgent),webkit:g_,safari:iC,webkit_version:g_?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:Yf.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};const eR=256;class Yn extends It{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(e,t,r){return this.flags&8||r&&(!(r instanceof Yn)||this.length-(t-e)+r.length>eR||r.flags&8)?!1:(this.text=this.text.slice(0,e)+(r?r.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new Yn(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=this.flags&8,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new Lr(this.dom,e)}domBoundsAround(e,t,r){return{from:r,to:r+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return tR(this.dom,e,t)}}class jn extends It{constructor(e,t=[],r=0){super(),this.mark=e,this.children=t,this.length=r;for(let i of t)i.setParent(this)}setAttrs(e){if(KT(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,r,i,a,s){return r&&(!(r instanceof jn&&r.mark.eq(this.mark))||e&&a<=0||te&&t.push(r=e&&(i=a),r=l,a++}let s=this.length-e;return this.length=e,i>-1&&(this.children.length=i,this.markDirty()),new jn(this.mark,t,s)}domAtPos(e){return aC(this,e)}coordsAt(e,t){return oC(this,e,t)}}function tR(n,e,t){let r=n.nodeValue.length;e>r&&(e=r);let i=e,a=e,s=0;e==0&&t<0||e==r&&t>=0?Ne.chrome||Ne.gecko||(e?(i--,s=1):a=0)?0:o.length-1];return Ne.safari&&!s&&l.width==0&&(l=Array.prototype.find.call(o,u=>u.width)||l),s?Gh(l,s<0):l||null}class Ui extends It{constructor(e,t,r){super(),this.widget=e,this.length=t,this.side=r,this.prevWidget=null}static create(e,t,r){return new Ui(e,t,r)}split(e){let t=Ui.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}getSide(){return this.side}merge(e,t,r,i,a,s){return r&&(!(r instanceof Ui)||!this.widget.compare(r.widget)||e>0&&a<=0||t0)?Lr.before(this.dom):Lr.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;let i=this.dom.getClientRects(),a=null;if(!i.length)return null;let s=this.side?this.side<0:e>0;for(let o=s?i.length-1:0;a=i[o],!(e>0?o==0:o==i.length-1||a.top0?Lr.before(this.dom):Lr.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return _t.empty}get isHidden(){return!0}}Yn.prototype.children=Ui.prototype.children=Na.prototype.children=Qh;function aC(n,e){let t=n.dom,{children:r}=n,i=0;for(let a=0;ia&&e0;a--){let s=r[a-1];if(s.dom.parentNode==t)return s.domAtPos(s.length)}for(let a=i;a0&&e instanceof jn&&i.length&&(r=i[i.length-1])instanceof jn&&r.mark.eq(e.mark)?sC(r,e.children[0],t-1):(i.push(e),e.setParent(n)),n.length+=e.length}function oC(n,e,t){let r=null,i=-1,a=null,s=-1;function o(u,d){for(let f=0,m=0;f=d&&(g.children.length?o(g,d-m):(!a||a.isHidden&&t>0)&&(b>d||m==b&&g.getSide()>0)?(a=g,s=d-m):(m-1?1:0)!=i.length-(t&&i.indexOf(t)>-1?1:0))return!1;for(let a of r)if(a!=t&&(i.indexOf(a)==-1||n[a]!==e[a]))return!1;return!0}function qf(n,e,t){let r=null;if(e)for(let i in e)t&&i in t||n.removeAttribute(r=i);if(t)for(let i in t)e&&e[i]==t[i]||n.setAttribute(r=i,t[i]);return!!r}function nR(n){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Ti(e,t,t,r,e.widget||null,!1)}static replace(e){let t=!!e.block,r,i;if(e.isBlockGap)r=-5e8,i=4e8;else{let{start:a,end:s}=lC(e,t);r=(a?t?-3e8:-1:5e8)-1,i=(s?t?2e8:1:-6e8)+1}return new Ti(e,r,i,t,e.widget||null,!0)}static line(e){return new Hs(e)}static set(e,t=!1){return yt.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}qe.none=yt.empty;class Vs extends qe{constructor(e){let{start:t,end:r}=lC(e);super(t?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,r;return this==e||e instanceof Vs&&this.tagName==e.tagName&&(this.class||((t=this.attrs)===null||t===void 0?void 0:t.class))==(e.class||((r=e.attrs)===null||r===void 0?void 0:r.class))&&$h(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}Vs.prototype.point=!1;class Hs extends qe{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Hs&&this.spec.class==e.spec.class&&$h(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}Hs.prototype.mapMode=er.TrackBefore;Hs.prototype.point=!0;class Ti extends qe{constructor(e,t,r,i,a,s){super(t,r,a,e),this.block=i,this.isReplace=s,this.mapMode=i?t<=0?er.TrackBefore:er.TrackAfter:er.TrackDel}get type(){return this.startSide=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Ti&&iR(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}Ti.prototype.point=!0;function lC(n,e=!1){let{inclusiveStart:t,inclusiveEnd:r}=n;return t==null&&(t=n.inclusive),r==null&&(r=n.inclusive),{start:t??e,end:r??e}}function iR(n,e){return n==e||!!(n&&e&&n.compare(e))}function Vf(n,e,t,r=0){let i=t.length-1;i>=0&&t[i]+r>=n?t[i]=Math.max(t[i],e):t.push(n,e)}class xr extends It{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,r,i,a,s){if(r){if(!(r instanceof xr))return!1;this.dom||r.transferDOM(this)}return i&&this.setDeco(r?r.attrs:null),tC(this,e,t,r?r.children:[],a,s),!0}split(e){let t=new xr;if(t.breakAfter=this.breakAfter,this.length==0)return t;let{i:r,off:i}=this.childPos(e);i&&(t.append(this.children[r].split(i),0),this.children[r].merge(i,this.children[r].length,null,!1,0,0),r++);for(let a=r;a0&&this.children[r-1].length==0;)this.children[--r].destroy();return this.children.length=r,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){$h(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){sC(this,e,t)}addLineDeco(e){let t=e.spec.attributes,r=e.spec.class;t&&(this.attrs=$f(t,this.attrs||{})),r&&(this.attrs=$f({class:r},this.attrs||{}))}domAtPos(e){return aC(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,t){var r;this.dom?this.flags&4&&(KT(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(qf(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let i=this.dom.lastChild;for(;i&&It.get(i)instanceof jn;)i=i.lastChild;if(!i||!this.length||i.nodeName!="BR"&&((r=It.get(i))===null||r===void 0?void 0:r.isEditable)==!1&&(!Ne.ios||!this.children.some(a=>a instanceof Yn))){let a=document.createElement("BR");a.cmIgnore=!0,this.dom.appendChild(a)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,t;for(let r of this.children){if(!(r instanceof Yn)||/[^ -~]/.test(r.text))return null;let i=Ts(r.dom);if(i.length!=1)return null;e+=i[0].width,t=i[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let r=oC(this,e,t);if(!this.children.length&&r&&this.parent){let{heightOracle:i}=this.parent.view.viewState,a=r.bottom-r.top;if(Math.abs(a-i.lineHeight)<2&&i.textHeight=t){if(a instanceof xr)return a;if(s>t)break}i=s+a.breakAfter}return null}}class qi extends It{constructor(e,t,r){super(),this.widget=e,this.length=t,this.type=r,this.breakAfter=0,this.prevWidget=null}merge(e,t,r,i,a,s){return r&&(!(r instanceof qi)||!this.widget.compare(r.widget)||e>0&&a<=0||t0;){if(this.textOff==this.text.length){let{value:a,lineBreak:s,done:o}=this.cursor.next(this.skip);if(this.skip=0,o)throw new Error("Ran out of text content when drawing inline views");if(s){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}else this.text=a,this.textOff=0}let i=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-r)),this.getLine().append(oo(new Yn(this.text.slice(this.textOff,this.textOff+i)),t),r),this.atCursorPos=!0,this.textOff+=i,e-=i,r=0}}span(e,t,r,i){this.buildText(t-e,r,i),this.pos=t,this.openStart<0&&(this.openStart=i)}point(e,t,r,i,a,s){if(this.disallowBlockEffectsFor[s]&&r instanceof Ti){if(r.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let o=t-e;if(r instanceof Ti)if(r.block){let{type:l}=r;l==Yt.WidgetAfter&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new qi(r.widget||new E_("div"),o,l))}else{let l=Ui.create(r.widget||new E_("span"),o,o?0:r.startSide),u=this.atCursorPos&&!l.isEditable&&a<=i.length&&(e0),d=!l.isEditable&&(ei.length||r.startSide<=0),f=this.getLine();this.pendingBuffer==2&&!u&&!l.isEditable&&(this.pendingBuffer=0),this.flushBuffer(i),u&&(f.append(oo(new Na(1),i),a),a=i.length+Math.max(0,a-i.length)),f.append(oo(l,i),a),this.atCursorPos=d,this.pendingBuffer=d?ei.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=i.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(r);o&&(this.textOff+o<=this.text.length?this.textOff+=o:(this.skip+=o-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=a)}static build(e,t,r,i,a){let s=new _s(e,t,r,a);return s.openEnd=yt.spans(i,t,r,s),s.openStart<0&&(s.openStart=s.openEnd),s.finish(s.openEnd),s}}function oo(n,e){for(let t of e)n=new jn(t,[n],n.length);return n}class E_ extends ri{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}const cC=De.define(),uC=De.define(),dC=De.define(),pC=De.define(),Hf=De.define(),fC=De.define(),hC=De.define(),mC=De.define({combine:n=>n.some(e=>e)}),_C=De.define({combine:n=>n.some(e=>e)});class el{constructor(e,t="nearest",r="nearest",i=5,a=5){this.range=e,this.y=t,this.x=r,this.yMargin=i,this.xMargin=a}map(e){return e.empty?this:new el(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin)}}const b_=it.define({map:(n,e)=>n.map(e)});function cn(n,e,t){let r=n.facet(pC);r.length?r[0](e):window.onerror?window.onerror(String(e),t,void 0,void 0,e):t?console.error(t+":",e):console.error(e)}const Fl=De.define({combine:n=>n.length?n[0]:!0});let aR=0;const os=De.define();class lr{constructor(e,t,r,i){this.id=e,this.create=t,this.domEventHandlers=r,this.extension=i(this)}static define(e,t){const{eventHandlers:r,provide:i,decorations:a}=t||{};return new lr(aR++,e,r,s=>{let o=[os.of(s)];return a&&o.push(Cs.of(l=>{let u=l.plugin(s);return u?a(u):qe.none})),i&&o.push(i(s)),o})}static fromClass(e,t){return lr.define(r=>new e(r),t)}}class lc{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(r){if(cn(t.state,r,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(t){cn(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(r){cn(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const gC=De.define(),qh=De.define(),Cs=De.define(),Vh=De.define(),SC=De.define();function OC(n){let e=0,t=0,r=0,i=0;for(let a of n.state.facet(SC)){let s=a(n);s&&(s.left!=null&&(e=Math.max(e,s.left)),s.right!=null&&(t=Math.max(t,s.right)),s.top!=null&&(r=Math.max(r,s.top)),s.bottom!=null&&(i=Math.max(i,s.bottom)))}return{left:e,right:t,top:r,bottom:i}}const ls=De.define();class un{constructor(e,t,r,i){this.fromA=e,this.toA=t,this.fromB=r,this.toB=i}join(e){return new un(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,r=this;for(;t>0;t--){let i=e[t-1];if(!(i.fromA>r.toA)){if(i.toAd)break;a+=2}if(!l)return r;new un(l.fromA,l.toA,l.fromB,l.toB).addToSet(r),s=l.toA,o=l.toB}}}class tl{constructor(e,t,r){this.view=e,this.state=t,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=Jt.empty(this.startState.doc.length);for(let a of r)this.changes=this.changes.compose(a.changes);let i=[];this.changes.iterChangedRanges((a,s,o,l)=>i.push(new un(a,s,o,l))),this.changedRanges=i}static create(e,t,r){return new tl(e,t,r)}get viewportChanged(){return(this.flags&4)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&10)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}var Bt=function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n}(Bt||(Bt={}));const zf=Bt.LTR,sR=Bt.RTL;function EC(n){let e=[];for(let t=0;t=t){if(o.level==r)return s;(a<0||(i!=0?i<0?o.fromt:e[a].level>o.level))&&(a=s)}}if(a<0)throw new RangeError("Index out of range");return a}}const Ft=[];function dR(n,e){let t=n.length,r=e==zf?1:2,i=e==zf?2:1;if(!n||r==1&&!uR.test(n))return bC(t);for(let s=0,o=r,l=r;s=0;m-=3)if(In[m+1]==-d){let g=In[m+2],b=g&2?r:g&4?g&1?i:r:0;b&&(Ft[s]=Ft[In[m]]=b),o=m;break}}else{if(In.length==189)break;In[o++]=s,In[o++]=u,In[o++]=l}else if((f=Ft[s])==2||f==1){let m=f==r;l=m?0:1;for(let g=o-3;g>=0;g-=3){let b=In[g+2];if(b&2)break;if(m)In[g+2]|=2;else{if(b&4)break;In[g+2]|=4}}}for(let s=0;so;){let d=u,f=Ft[--u]!=2;for(;u>o&&f==(Ft[u-1]!=2);)u--;a.push(new Ea(u,d,f?2:1))}else a.push(new Ea(o,s,0))}else for(let s=0;s0&&t.length&&(t.every(({fromA:o,toA:l})=>lthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0);let r=this.view.inputState.composing<0?null:hR(this.view,e.changes);if(this.hasComposition){this.markedForComposition.clear();let{from:o,to:l}=this.hasComposition;t=new un(o,l,e.changes.mapPos(o,-1),e.changes.mapPos(l,1)).addToSet(t.slice())}this.hasComposition=r?{from:r.range.fromB,to:r.range.toB}:null,(Ne.ie||Ne.chrome)&&!r&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let i=this.decorations,a=this.updateDeco(),s=gR(i,a,e.changes);return t=un.extendWithRanges(t,s),!(this.flags&7)&&t.length==0?!1:(this.updateInner(t,e.startState.doc.length,r),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,r){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,r);let{observer:i}=this.view;i.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=Ne.chrome||Ne.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,s),this.flags&=-8,s&&(s.written||i.selectionRange.focusNode!=s.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(s=>s.flags&=-9);let a=[];if(this.view.viewport.from||this.view.viewport.to=0?i[s]:null;if(!o)break;let{fromA:l,toA:u,fromB:d,toB:f}=o,m,g,b,v;if(r&&r.range.fromBd){let p=_s.build(this.view.state.doc,d,r.range.fromB,this.decorations,this.dynamicDecorationMap),E=_s.build(this.view.state.doc,r.range.toB,f,this.decorations,this.dynamicDecorationMap);g=p.breakAtStart,b=p.openStart,v=E.openEnd;let O=this.compositionView(r);E.breakAtStart?O.breakAfter=1:E.content.length&&O.merge(O.length,O.length,E.content[0],!1,E.openStart,0)&&(O.breakAfter=E.content[0].breakAfter,E.content.shift()),p.content.length&&O.merge(0,0,p.content[p.content.length-1],!0,0,p.openEnd)&&p.content.pop(),m=p.content.concat(O).concat(E.content)}else({content:m,breakAtStart:g,openStart:b,openEnd:v}=_s.build(this.view.state.doc,d,f,this.decorations,this.dynamicDecorationMap));let{i:y,off:N}=a.findPos(u,1),{i:F,off:X}=a.findPos(l,-1);eC(this,F,X,y,N,m,g,b,v)}r&&this.fixCompositionDOM(r)}compositionView(e){let t=new Yn(e.text.nodeValue);t.flags|=8;for(let{deco:i}of e.marks)t=new jn(i,[t],t.length);let r=new xr;return r.append(t,0),r}fixCompositionDOM(e){let t=(a,s)=>{s.flags|=8,this.markedForComposition.add(s);let o=It.get(a);o!=s&&(o&&(o.dom=null),s.setDOM(a))},r=this.childPos(e.range.fromB,1),i=this.children[r.i];t(e.line,i);for(let a=e.marks.length-1;a>=-1;a--)r=i.childPos(r.off,1),i=i.children[r.i],t(a>=0?e.marks[a].node:e.text,i)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let r=this.view.root.activeElement,i=r==this.dom,a=!i&&xo(this.dom,this.view.observer.selectionRange)&&!(r&&this.dom.contains(r));if(!(i||t||a))return;let s=this.forceSelection;this.forceSelection=!1;let o=this.view.state.selection.main,l=this.domAtPos(o.anchor),u=o.empty?l:this.domAtPos(o.head);if(Ne.gecko&&o.empty&&!this.hasComposition&&fR(l)){let f=document.createTextNode("");this.view.observer.ignore(()=>l.node.insertBefore(f,l.node.childNodes[l.offset]||null)),l=u=new Lr(f,0),s=!0}let d=this.view.observer.selectionRange;(s||!d.focusNode||!jo(l.node,l.offset,d.anchorNode,d.anchorOffset)||!jo(u.node,u.offset,d.focusNode,d.focusOffset))&&(this.view.observer.ignore(()=>{Ne.android&&Ne.chrome&&this.dom.contains(d.focusNode)&&SR(d.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let f=Ko(this.view.root);if(f)if(o.empty){if(Ne.gecko){let m=mR(l.node,l.offset);if(m&&m!=3){let g=vC(l.node,l.offset,m==1?1:-1);g&&(l=new Lr(g,m==1?0:g.nodeValue.length))}}f.collapse(l.node,l.offset),o.bidiLevel!=null&&d.cursorBidiLevel!=null&&(d.cursorBidiLevel=o.bidiLevel)}else if(f.extend){f.collapse(l.node,l.offset);try{f.extend(u.node,u.offset)}catch{}}else{let m=document.createRange();o.anchor>o.head&&([l,u]=[u,l]),m.setEnd(u.node,u.offset),m.setStart(l.node,l.offset),f.removeAllRanges(),f.addRange(m)}a&&this.view.root.activeElement==this.dom&&(this.dom.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(l,u)),this.impreciseAnchor=l.precise?null:new Lr(d.anchorNode,d.anchorOffset),this.impreciseHead=u.precise?null:new Lr(d.focusNode,d.focusOffset)}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,r=Ko(e.root),{anchorNode:i,anchorOffset:a}=e.observer.selectionRange;if(!r||!t.empty||!t.assoc||!r.modify)return;let s=xr.find(this,t.head);if(!s)return;let o=s.posAtStart;if(t.head==o||t.head==o+s.length)return;let l=this.coordsAt(t.head,-1),u=this.coordsAt(t.head,1);if(!l||!u||l.bottom>u.top)return;let d=this.domAtPos(t.head+t.assoc);r.collapse(d.node,d.offset),r.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&r.collapse(i,a)}nearest(e){for(let t=e;t;){let r=It.get(t);if(r&&r.rootView==this)return r;t=t.parentNode}return null}posFromDOM(e,t){let r=this.nearest(e);if(!r)throw new RangeError("Trying to find position for a DOM position outside of the document");return r.localPosFromDOM(e,t)+r.posAtStart}domAtPos(e){let{i:t,off:r}=this.childCursor().findPos(e,-1);for(;ts||e==s&&a.type!=Yt.WidgetBefore&&a.type!=Yt.WidgetAfter&&(!i||t==2||this.children[i-1].breakAfter||this.children[i-1].type==Yt.WidgetBefore&&t>-2))return a.coordsAt(e-s,t);r=s}}coordsForChar(e){let{i:t,off:r}=this.childPos(e,1),i=this.children[t];if(!(i instanceof xr))return null;for(;i.children.length;){let{i:o,off:l}=i.childPos(r,1);for(;;o++){if(o==i.children.length)return null;if((i=i.children[o]).length)break}r=l}if(!(i instanceof Yn))return null;let a=Er(i.text,r);if(a==r)return null;let s=Wi(i.dom,r,a).getClientRects();return!s.length||s[0].top>=s[0].bottom?null:s[0]}measureVisibleLineHeights(e){let t=[],{from:r,to:i}=e,a=this.view.contentDOM.clientWidth,s=a>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,l=this.view.textDirection==Bt.LTR;for(let u=0,d=0;di)break;if(u>=r){let g=f.dom.getBoundingClientRect();if(t.push(g.height),s){let b=f.dom.lastChild,v=b?Ts(b):[];if(v.length){let y=v[v.length-1],N=l?y.right-g.left:g.right-y.left;N>o&&(o=N,this.minWidth=a,this.minWidthFrom=u,this.minWidthTo=m)}}}u=m+f.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction=="rtl"?Bt.RTL:Bt.LTR}measureTextSize(){for(let a of this.children)if(a instanceof xr){let s=a.measureTextSize();if(s)return s}let e=document.createElement("div"),t,r,i;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let a=Ts(e.firstChild)[0];t=e.getBoundingClientRect().height,r=a?a.width/27:7,i=a?a.height:t,e.remove()}),{lineHeight:t,charWidth:r,textHeight:i}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new JT(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let r=0,i=0;;i++){let a=i==t.viewports.length?null:t.viewports[i],s=a?a.from-1:this.length;if(s>r){let o=t.lineBlockAt(s).bottom-t.lineBlockAt(r).top;e.push(qe.replace({widget:new C_(o),block:!0,inclusive:!0,isBlockGap:!0}).range(r,s))}if(!a)break;r=a.to+1}return qe.set(e)}updateDeco(){let e=this.view.state.facet(Cs).map((t,r)=>(this.dynamicDecorationMap[r]=typeof t=="function")?t(this.view):t);for(let t=e.length;tt.anchor?-1:1),i;if(!r)return;!t.empty&&(i=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(r={left:Math.min(r.left,i.left),top:Math.min(r.top,i.top),right:Math.max(r.right,i.right),bottom:Math.max(r.bottom,i.bottom)});let a=OC(this.view),s={left:r.left-a.left,top:r.top-a.top,right:r.right+a.right,bottom:r.bottom+a.bottom};XA(this.view.scrollDOM,s,t.head-1)return null;s+=f.text.length}if(o=o.parentNode,!o)return null;let l=It.get(o);if(l){i=a=l.posAtStart+s;break}}return{from:i,to:a,node:t}}function hR(n,e){let t=CC(n);if(!t)return null;let{from:r,to:i,node:a}=t,s=e.mapPos(r,-1),o=e.mapPos(i,1),l=a.nodeValue;if(/[\n\r]/.test(l))return null;if(o-s!=l.length){let m=e.mapPos(r,1),g=e.mapPos(i,-1);if(g-m==l.length)s=m,o=g;else if(n.state.doc.sliceString(o-l.length,o)==l)s=o-l.length;else if(n.state.doc.sliceString(s,s+l.length)==l)o=s+l.length;else return null}let{main:u}=n.state.selection;if(n.state.doc.sliceString(s,o)!=l||s>u.head||o0)r=r.childNodes[i-1],i=bi(r);else break}if(t>=0)for(let r=n,i=e;;){if(r.nodeType==3)return r;if(r.nodeType==1&&i=0)r=r.childNodes[i],i=0;else break}return null}function mR(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e0;){let u=Er(i.text,s,!1);if(r(i.text.slice(u,s))!=l)break;s=u}for(;on?e.left-n:Math.max(0,n-e.right)}function bR(n,e){return e.top>n?e.top-n:Math.max(0,n-e.bottom)}function cc(n,e){return n.tope.top+1}function v_(n,e){return en.bottom?{top:n.top,left:n.left,right:n.right,bottom:e}:n}function Xf(n,e,t){let r,i,a,s,o=!1,l,u,d,f;for(let b=n.firstChild;b;b=b.nextSibling){let v=Ts(b);for(let y=0;yX||s==X&&a>F){r=b,i=N,a=F,s=X;let p=X?t0?y0)}F==0?t>N.bottom&&(!d||d.bottomN.top)&&(u=b,f=N):d&&cc(d,N)?d=y_(d,N.bottom):f&&cc(f,N)&&(f=v_(f,N.top))}}if(d&&d.bottom>=t?(r=l,i=d):f&&f.top<=t&&(r=u,i=f),!r)return{node:n,offset:0};let m=Math.max(i.left,Math.min(i.right,e));if(r.nodeType==3)return A_(r,m,t);if(o&&r.contentEditable!="false")return Xf(r,m,t);let g=Array.prototype.indexOf.call(n.childNodes,r)+(e>=(i.left+i.right)/2?1:0);return{node:n,offset:g}}function A_(n,e,t){let r=n.nodeValue.length,i=-1,a=1e9,s=0;for(let o=0;ot?d.top-t:t-d.bottom)-1;if(d.left-1<=e&&d.right+1>=e&&f=(d.left+d.right)/2,g=m;if((Ne.chrome||Ne.gecko)&&Wi(n,o).getBoundingClientRect().left==d.right&&(g=!m),f<=0)return{node:n,offset:o+(g?1:0)};i=o+(g?1:0),a=f}}}return{node:n,offset:i>-1?i:s>0?n.nodeValue.length:0}}function yC(n,e,t,r=-1){var i,a;let s=n.contentDOM.getBoundingClientRect(),o=s.top+n.viewState.paddingTop,l,{docHeight:u}=n.viewState,{x:d,y:f}=e,m=f-o;if(m<0)return 0;if(m>u)return n.state.doc.length;for(let p=n.viewState.heightOracle.textHeight/2,E=!1;l=n.elementAtHeight(m),l.type!=Yt.Text;)for(;m=r>0?l.bottom+p:l.top-p,!(m>=0&&m<=u);){if(E)return t?null:0;E=!0,r=-r}f=o+m;let g=l.from;if(gn.viewport.to)return n.viewport.to==n.state.doc.length?n.state.doc.length:t?null:R_(n,s,l,d,f);let b=n.dom.ownerDocument,v=n.root.elementFromPoint?n.root:b,y=v.elementFromPoint(d,f);y&&!n.contentDOM.contains(y)&&(y=null),y||(d=Math.max(s.left+1,Math.min(s.right-1,d)),y=v.elementFromPoint(d,f),y&&!n.contentDOM.contains(y)&&(y=null));let N,F=-1;if(y&&((i=n.docView.nearest(y))===null||i===void 0?void 0:i.isEditable)!=!1){if(b.caretPositionFromPoint){let p=b.caretPositionFromPoint(d,f);p&&({offsetNode:N,offset:F}=p)}else if(b.caretRangeFromPoint){let p=b.caretRangeFromPoint(d,f);p&&({startContainer:N,startOffset:F}=p,(!n.contentDOM.contains(N)||Ne.safari&&TR(N,F,d)||Ne.chrome&&CR(N,F,d))&&(N=void 0))}}if(!N||!n.docView.dom.contains(N)){let p=xr.find(n.docView,g);if(!p)return m>l.top+l.height/2?l.to:l.from;({node:N,offset:F}=Xf(p.dom,d,f))}let X=n.docView.nearest(N);if(!X)return null;if(X.isWidget&&((a=X.dom)===null||a===void 0?void 0:a.nodeType)==1){let p=X.dom.getBoundingClientRect();return e.yn.defaultLineHeight*1.5){let o=n.viewState.heightOracle.textHeight,l=Math.floor((i-t.top-(n.defaultLineHeight-o)*.5)/o);a+=l*n.viewState.heightOracle.lineLength}let s=n.state.sliceDoc(t.from,t.to);return t.from+Pf(s,a,n.state.tabSize)}function TR(n,e,t){let r;if(n.nodeType!=3||e!=(r=n.nodeValue.length))return!1;for(let i=n.nextSibling;i;i=i.nextSibling)if(i.nodeType!=1||i.nodeName!="BR")return!1;return Wi(n,r-1,r).getBoundingClientRect().left>t}function CR(n,e,t){if(e!=0)return!1;for(let i=n;;){let a=i.parentNode;if(!a||a.nodeType!=1||a.firstChild!=i)return!1;if(a.classList.contains("cm-line"))break;i=a}let r=n.nodeType==1?n.getBoundingClientRect():Wi(n,0,Math.max(n.nodeValue.length,1)).getBoundingClientRect();return t-r.left>5}function Zf(n,e){let t=n.lineBlockAt(e);if(Array.isArray(t.type)){for(let r of t.type)if(r.to>e||r.to==e&&(r.to==t.to||r.type==Yt.Text))return r}return t}function vR(n,e,t,r){let i=Zf(n,e.head),a=!r||i.type!=Yt.Text||!(n.lineWrapping||i.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>i.from?e.head-1:e.head);if(a){let s=n.dom.getBoundingClientRect(),o=n.textDirectionAt(i.from),l=n.posAtCoords({x:t==(o==Bt.LTR)?s.right-1:s.left+1,y:(a.top+a.bottom)/2});if(l!=null)return de.cursor(l,t?-1:1)}return de.cursor(t?i.to:i.from,t?-1:1)}function I_(n,e,t,r){let i=n.state.doc.lineAt(e.head),a=n.bidiSpans(i),s=n.textDirectionAt(i.from);for(let o=e,l=null;;){let u=pR(i,a,s,o,t),d=TC;if(!u){if(i.number==(t?n.state.doc.lines:1))return o;d=` -`,i=n.state.doc.line(i.number+(t?1:-1)),a=n.bidiSpans(i),u=de.cursor(t?i.from:i.to)}if(l){if(!l(d))return o}else{if(!r)return u;l=r(d)}o=u}}function yR(n,e,t){let r=n.state.charCategorizer(e),i=r(t);return a=>{let s=r(a);return i==Pt.Space&&(i=s),i==s}}function AR(n,e,t,r){let i=e.head,a=t?1:-1;if(i==(t?n.state.doc.length:0))return de.cursor(i,e.assoc);let s=e.goalColumn,o,l=n.contentDOM.getBoundingClientRect(),u=n.coordsAtPos(i),d=n.documentTop;if(u)s==null&&(s=u.left-l.left),o=a<0?u.top:u.bottom;else{let g=n.viewState.lineBlockAt(i);s==null&&(s=Math.min(l.right-l.left,n.defaultCharacterWidth*(i-g.from))),o=(a<0?g.top:g.bottom)+d}let f=l.left+s,m=r??n.viewState.heightOracle.textHeight>>1;for(let g=0;;g+=10){let b=o+(m+g)*a,v=yC(n,{x:f,y:b},!1,a);if(bl.bottom||(a<0?vi))return de.cursor(v,e.assoc,void 0,s)}}function Lo(n,e,t){for(;;){let r=0;for(let i of n)i.between(e-1,e+1,(a,s,o)=>{if(e>a&&ei(n)),t.from,e.head>t.from?-1:1);return r==t.from?t:de.cursor(r,r{this.ignoreDuringComposition(i)||i.type=="keydown"&&this.keydown(e,i)||(this.mustFlushObserver(i)&&e.observer.forceFlush(),this.runCustomHandlers(i.type,e,i)?i.preventDefault():r(e,i))};for(let r in zt){let i=zt[r];e.contentDOM.addEventListener(r,a=>{N_(e,a)&&t(i,a)},Kf[r]),this.registeredEvents.push(r)}e.scrollDOM.addEventListener("mousedown",r=>{if(r.target==e.scrollDOM&&r.clientY>e.contentDOM.getBoundingClientRect().bottom&&(t(zt.mousedown,r),!r.defaultPrevented&&r.button==2)){let i=e.contentDOM.style.minHeight;e.contentDOM.style.minHeight="100%",setTimeout(()=>e.contentDOM.style.minHeight=i,200)}}),e.scrollDOM.addEventListener("drop",r=>{r.target==e.scrollDOM&&r.clientY>e.contentDOM.getBoundingClientRect().bottom&&t(zt.drop,r)}),Ne.chrome&&Ne.chrome_version==102&&e.scrollDOM.addEventListener("wheel",()=>{this.chromeScrollHack<0?e.contentDOM.style.pointerEvents="none":window.clearTimeout(this.chromeScrollHack),this.chromeScrollHack=setTimeout(()=>{this.chromeScrollHack=-1,e.contentDOM.style.pointerEvents=""},100)},{passive:!0}),this.notifiedFocused=e.hasFocus,Ne.safari&&e.contentDOM.addEventListener("input",()=>null)}setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}ensureHandlers(e,t){var r;let i;this.customHandlers=[];for(let a of t)if(i=(r=a.update(e).spec)===null||r===void 0?void 0:r.domEventHandlers){this.customHandlers.push({plugin:a.value,handlers:i});for(let s in i)this.registeredEvents.indexOf(s)<0&&s!="scroll"&&(this.registeredEvents.push(s),e.contentDOM.addEventListener(s,o=>{N_(e,o)&&this.runCustomHandlers(s,e,o)&&o.preventDefault()}))}}runCustomHandlers(e,t,r){for(let i of this.customHandlers){let a=i.handlers[e];if(a)try{if(a.call(i.plugin,r,t)||r.defaultPrevented)return!0}catch(s){cn(t.state,s)}}return!1}runScrollHandlers(e,t){this.lastScrollTop=e.scrollDOM.scrollTop,this.lastScrollLeft=e.scrollDOM.scrollLeft;for(let r of this.customHandlers){let i=r.handlers.scroll;if(i)try{i.call(r.plugin,t,e)}catch(a){cn(e.state,a)}}}keydown(e,t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),t.keyCode==9&&Date.now()i.keyCode==t.keyCode))&&!t.ctrlKey||IR.indexOf(t.key)>-1&&t.ctrlKey&&!t.shiftKey)?(this.pendingIOSKey=r||t,setTimeout(()=>this.flushIOSKey(e),250),!0):!1}flushIOSKey(e){let t=this.pendingIOSKey;return t?(this.pendingIOSKey=void 0,Oa(e.contentDOM,t.key,t.keyCode)):!1}ignoreDuringComposition(e){return/^key/.test(e.type)?this.composing>0?!0:Ne.safari&&!Ne.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}mustFlushObserver(e){return e.type=="keydown"&&e.keyCode!=229}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.mouseSelection&&this.mouseSelection.update(e),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}const AC=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],IR="dthko",RC=[16,17,18,20,91,92,224,225],lo=6;function co(n){return Math.max(0,n)*.7+8}function NR(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class DR{constructor(e,t,r,i){this.view=e,this.startEvent=t,this.style=r,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParent=ZA(e.contentDOM),this.atoms=e.state.facet(Vh).map(s=>s(e));let a=e.contentDOM.ownerDocument;a.addEventListener("mousemove",this.move=this.move.bind(this)),a.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(ut.allowMultipleSelections)&&wR(e,t),this.dragging=LR(e,t)&&wC(t)==1?null:!1}start(e){this.dragging===!1&&(e.preventDefault(),this.select(e))}move(e){var t;if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&NR(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let r=0,i=0,a=((t=this.scrollParent)===null||t===void 0?void 0:t.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},s=OC(this.view);e.clientX-s.left<=a.left+lo?r=-co(a.left-e.clientX):e.clientX+s.right>=a.right-lo&&(r=co(e.clientX-a.right)),e.clientY-s.top<=a.top+lo?i=-co(a.top-e.clientY):e.clientY+s.bottom>=a.bottom-lo&&(i=co(e.clientY-a.bottom)),this.setScrollSpeed(r,i)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),this.dragging===!1&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let r=0;rthis.select(this.lastEvent),20)}}function wR(n,e){let t=n.state.facet(cC);return t.length?t[0](e):Ne.mac?e.metaKey:e.ctrlKey}function xR(n,e){let t=n.state.facet(uC);return t.length?t[0](e):Ne.mac?!e.altKey:!e.ctrlKey}function LR(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let r=Ko(n.root);if(!r||r.rangeCount==0)return!0;let i=r.getRangeAt(0).getClientRects();for(let a=0;a=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}function N_(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,r;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(r=It.get(t))&&r.ignoreEvent(e))return!1;return!0}const zt=Object.create(null),Kf=Object.create(null),IC=Ne.ie&&Ne.ie_version<15||Ne.ios&&Ne.webkit_version<604;function kR(n){let e=n.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{n.focus(),t.remove(),NC(n,t.value)},50)}function NC(n,e){let{state:t}=n,r,i=1,a=t.toText(e),s=a.lines==t.selection.ranges.length;if(jf!=null&&t.selection.ranges.every(l=>l.empty)&&jf==a.toString()){let l=-1;r=t.changeByRange(u=>{let d=t.doc.lineAt(u.from);if(d.from==l)return{range:u};l=d.from;let f=t.toText((s?a.line(i++).text:e)+t.lineBreak);return{changes:{from:d.from,insert:f},range:de.cursor(u.from+f.length)}})}else s?r=t.changeByRange(l=>{let u=a.line(i++);return{changes:{from:l.from,to:l.to,insert:u.text},range:de.cursor(l.from+u.length)}}):r=t.replaceSelection(a);n.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}zt.keydown=(n,e)=>{n.inputState.setSelectionOrigin("select"),e.keyCode==27&&(n.inputState.lastEscPress=Date.now())};zt.touchstart=(n,e)=>{n.inputState.lastTouchTime=Date.now(),n.inputState.setSelectionOrigin("select.pointer")};zt.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};Kf.touchstart=Kf.touchmove={passive:!0};zt.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return;let t=null;for(let r of n.state.facet(dC))if(t=r(n,e),t)break;if(!t&&e.button==0&&(t=BR(n,e)),t){let r=!n.hasFocus;n.inputState.startMouseSelection(new DR(n,e,t,r)),r&&n.observer.ignore(()=>ZT(n.contentDOM)),n.inputState.mouseSelection&&n.inputState.mouseSelection.start(e)}};function D_(n,e,t,r){if(r==1)return de.cursor(e,t);if(r==2)return OR(n.state,e,t);{let i=xr.find(n.docView,e),a=n.state.doc.lineAt(i?i.posAtEnd:e),s=i?i.posAtStart:a.from,o=i?i.posAtEnd:a.to;return on>=e.top&&n<=e.bottom,w_=(n,e,t)=>DC(e,t)&&n>=t.left&&n<=t.right;function MR(n,e,t,r){let i=xr.find(n.docView,e);if(!i)return 1;let a=e-i.posAtStart;if(a==0)return 1;if(a==i.length)return-1;let s=i.coordsAt(a,-1);if(s&&w_(t,r,s))return-1;let o=i.coordsAt(a,1);return o&&w_(t,r,o)?1:s&&DC(r,s)?-1:1}function x_(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:MR(n,t,e.clientX,e.clientY)}}const PR=Ne.ie&&Ne.ie_version<=11;let L_=null,k_=0,M_=0;function wC(n){if(!PR)return n.detail;let e=L_,t=M_;return L_=n,M_=Date.now(),k_=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(k_+1)%3:1}function BR(n,e){let t=x_(n,e),r=wC(e),i=n.state.selection;return{update(a){a.docChanged&&(t.pos=a.changes.mapPos(t.pos),i=i.map(a.changes))},get(a,s,o){let l=x_(n,a),u,d=D_(n,l.pos,l.bias,r);if(t.pos!=l.pos&&!s){let f=D_(n,t.pos,t.bias,r),m=Math.min(f.from,d.from),g=Math.max(f.to,d.to);d=m1&&(u=UR(i,l.pos))?u:o?i.addRange(d):de.create([d])}}}function UR(n,e){for(let t=0;t=e)return de.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}zt.dragstart=(n,e)=>{let{selection:{main:t}}=n.state,{mouseSelection:r}=n.inputState;r&&(r.dragging=t),e.dataTransfer&&(e.dataTransfer.setData("Text",n.state.sliceDoc(t.from,t.to)),e.dataTransfer.effectAllowed="copyMove")};function P_(n,e,t,r){if(!t)return;let i=n.posAtCoords({x:e.clientX,y:e.clientY},!1);e.preventDefault();let{mouseSelection:a}=n.inputState,s=r&&a&&a.dragging&&xR(n,e)?{from:a.dragging.from,to:a.dragging.to}:null,o={from:i,insert:t},l=n.state.changes(s?[s,o]:o);n.focus(),n.dispatch({changes:l,selection:{anchor:l.mapPos(i,-1),head:l.mapPos(i,1)},userEvent:s?"move.drop":"input.drop"})}zt.drop=(n,e)=>{if(!e.dataTransfer)return;if(n.state.readOnly)return e.preventDefault();let t=e.dataTransfer.files;if(t&&t.length){e.preventDefault();let r=Array(t.length),i=0,a=()=>{++i==t.length&&P_(n,e,r.filter(s=>s!=null).join(n.state.lineBreak),!1)};for(let s=0;s{/[\x00-\x08\x0e-\x1f]{2}/.test(o.result)||(r[s]=o.result),a()},o.readAsText(t[s])}}else P_(n,e,e.dataTransfer.getData("Text"),!0)};zt.paste=(n,e)=>{if(n.state.readOnly)return e.preventDefault();n.observer.flush();let t=IC?null:e.clipboardData;t?(NC(n,t.getData("text/plain")||t.getData("text/uri-text")),e.preventDefault()):kR(n)};function FR(n,e){let t=n.dom.parentNode;if(!t)return;let r=t.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=e,r.focus(),r.selectionEnd=e.length,r.selectionStart=0,setTimeout(()=>{r.remove(),n.focus()},50)}function YR(n){let e=[],t=[],r=!1;for(let i of n.selection.ranges)i.empty||(e.push(n.sliceDoc(i.from,i.to)),t.push(i));if(!e.length){let i=-1;for(let{from:a}of n.selection.ranges){let s=n.doc.lineAt(a);s.number>i&&(e.push(s.text),t.push({from:s.from,to:Math.min(n.doc.length,s.to+1)})),i=s.number}r=!0}return{text:e.join(n.lineBreak),ranges:t,linewise:r}}let jf=null;zt.copy=zt.cut=(n,e)=>{let{text:t,ranges:r,linewise:i}=YR(n.state);if(!t&&!i)return;jf=i?t:null;let a=IC?null:e.clipboardData;a?(e.preventDefault(),a.clearData(),a.setData("text/plain",t)):FR(n,t),e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"})};const xC=ei.define();function LC(n,e){let t=[];for(let r of n.facet(hC)){let i=r(n,e);i&&t.push(i)}return t?n.update({effects:t,annotations:xC.of(!0)}):null}function kC(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=LC(n.state,e);t?n.dispatch(t):n.update([])}},10)}zt.focus=n=>{n.inputState.lastFocusTime=Date.now(),!n.scrollDOM.scrollTop&&(n.inputState.lastScrollTop||n.inputState.lastScrollLeft)&&(n.scrollDOM.scrollTop=n.inputState.lastScrollTop,n.scrollDOM.scrollLeft=n.inputState.lastScrollLeft),kC(n)};zt.blur=n=>{n.observer.clearSelectionRange(),kC(n)};zt.compositionstart=zt.compositionupdate=n=>{n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0)};zt.compositionend=n=>{n.inputState.composing=-1,n.inputState.compositionEndedAt=Date.now(),n.inputState.compositionPendingKey=!0,n.inputState.compositionPendingChange=n.observer.pendingRecords().length>0,n.inputState.compositionFirstChange=null,Ne.chrome&&Ne.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50)};zt.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};zt.beforeinput=(n,e)=>{var t;let r;if(Ne.chrome&&Ne.android&&(r=AC.find(i=>i.inputType==e.inputType))&&(n.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let i=((t=window.visualViewport)===null||t===void 0?void 0:t.height)||0;setTimeout(()=>{var a;(((a=window.visualViewport)===null||a===void 0?void 0:a.height)||0)>i+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}};const B_=["pre-wrap","normal","pre-line","break-spaces"];class GR{constructor(e){this.lineWrapping=e,this.doc=_t.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(e,t){let r=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((t-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return B_.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let r=0;r-1,l=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=o;if(this.lineWrapping=o,this.lineHeight=t,this.charWidth=r,this.textHeight=i,this.lineLength=a,l){this.heightSamples={};for(let u=0;u0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e,t){this.height!=t&&(Math.abs(this.height-t)>ko&&(e.heightChanged=!0),this.height=t)}replace(e,t,r){return kr.of(r)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,r,i){let a=this,s=r.doc;for(let o=i.length-1;o>=0;o--){let{fromA:l,toA:u,fromB:d,toB:f}=i[o],m=a.lineAt(l,Lt.ByPosNoHeight,r.setDoc(t),0,0),g=m.to>=u?m:a.lineAt(u,Lt.ByPosNoHeight,r,0,0);for(f+=g.to-u,u=g.to;o>0&&m.from<=i[o-1].toA;)l=i[o-1].fromA,d=i[o-1].fromB,o--,la*2){let o=e[t-1];o.break?e.splice(--t,1,o.left,null,o.right):e.splice(--t,1,o.left,o.right),r+=1+o.break,i-=o.size}else if(a>i*2){let o=e[r];o.break?e.splice(r,1,o.left,null,o.right):e.splice(r,1,o.left,o.right),r+=2+o.break,a-=o.size}else break;else if(i=a&&s(this.blockAt(0,r,i,a))}updateHeight(e,t=0,r=!1,i){return i&&i.from<=t&&i.more&&this.setHeight(e,i.heights[i.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Xr extends MC{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,r,i){return new Mn(i,this.length,r,this.height,this.breaks)}replace(e,t,r){let i=r[0];return r.length==1&&(i instanceof Xr||i instanceof ur&&i.flags&4)&&Math.abs(this.length-i.length)<10?(i instanceof ur?i=new Xr(i.length,this.height):i.height=this.height,this.outdated||(i.outdated=!1),i):kr.of(r)}updateHeight(e,t=0,r=!1,i){return i&&i.from<=t&&i.more?this.setHeight(e,i.heights[i.index++]):(r||this.outdated)&&this.setHeight(e,Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class ur extends kr{constructor(e){super(e,0)}heightMetrics(e,t){let r=e.doc.lineAt(t).number,i=e.doc.lineAt(t+this.length).number,a=i-r+1,s,o=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*a);s=l/a,this.length>a+1&&(o=(this.height-l)/(this.length-a-1))}else s=this.height/a;return{firstLine:r,lastLine:i,perLine:s,perChar:o}}blockAt(e,t,r,i){let{firstLine:a,lastLine:s,perLine:o,perChar:l}=this.heightMetrics(t,i);if(t.lineWrapping){let u=i+Math.round(Math.max(0,Math.min(1,(e-r)/this.height))*this.length),d=t.doc.lineAt(u),f=o+d.length*l,m=Math.max(r,e-f/2);return new Mn(d.from,d.length,m,f,0)}else{let u=Math.max(0,Math.min(s-a,Math.floor((e-r)/o))),{from:d,length:f}=t.doc.line(a+u);return new Mn(d,f,r+o*u,o,0)}}lineAt(e,t,r,i,a){if(t==Lt.ByHeight)return this.blockAt(e,r,i,a);if(t==Lt.ByPosNoHeight){let{from:g,to:b}=r.doc.lineAt(e);return new Mn(g,b-g,0,0,0)}let{firstLine:s,perLine:o,perChar:l}=this.heightMetrics(r,a),u=r.doc.lineAt(e),d=o+u.length*l,f=u.number-s,m=i+o*f+l*(u.from-a-f);return new Mn(u.from,u.length,Math.max(i,Math.min(m,i+this.height-d)),d,0)}forEachLine(e,t,r,i,a,s){e=Math.max(e,a),t=Math.min(t,a+this.length);let{firstLine:o,perLine:l,perChar:u}=this.heightMetrics(r,a);for(let d=e,f=i;d<=t;){let m=r.doc.lineAt(d);if(d==e){let b=m.number-o;f+=l*b+u*(e-a-b)}let g=l+u*m.length;s(new Mn(m.from,m.length,f,g,0)),f+=g,d=m.to+1}}replace(e,t,r){let i=this.length-t;if(i>0){let a=r[r.length-1];a instanceof ur?r[r.length-1]=new ur(a.length+i):r.push(null,new ur(i-1))}if(e>0){let a=r[0];a instanceof ur?r[0]=new ur(e+a.length):r.unshift(new ur(e-1),null)}return kr.of(r)}decomposeLeft(e,t){t.push(new ur(e-1),null)}decomposeRight(e,t){t.push(null,new ur(this.length-e-1))}updateHeight(e,t=0,r=!1,i){let a=t+this.length;if(i&&i.from<=t+this.length&&i.more){let s=[],o=Math.max(t,i.from),l=-1;for(i.from>t&&s.push(new ur(i.from-t-1).updateHeight(e,t));o<=a&&i.more;){let d=e.doc.lineAt(o).length;s.length&&s.push(null);let f=i.heights[i.index++];l==-1?l=f:Math.abs(f-l)>=ko&&(l=-2);let m=new Xr(d,f);m.outdated=!1,s.push(m),o+=d+1}o<=a&&s.push(null,new ur(a-o).updateHeight(e,o));let u=kr.of(s);return(l<0||Math.abs(u.height-this.height)>=ko||Math.abs(l-this.heightMetrics(e,t).perLine)>=ko)&&(e.heightChanged=!0),u}else(r||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class $R extends kr{constructor(e,t,r){super(e.length+t+r.length,e.height+r.height,t|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return this.flags&1}blockAt(e,t,r,i){let a=r+this.left.height;return eo))return u;let d=t==Lt.ByPosNoHeight?Lt.ByPosNoHeight:Lt.ByPos;return l?u.join(this.right.lineAt(o,d,r,s,o)):this.left.lineAt(o,d,r,i,a).join(u)}forEachLine(e,t,r,i,a,s){let o=i+this.left.height,l=a+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,r,o,l,s);else{let u=this.lineAt(l,Lt.ByPos,r,i,a);e=e&&u.from<=t&&s(u),t>u.to&&this.right.forEachLine(u.to+1,t,r,o,l,s)}}replace(e,t,r){let i=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-i,t-i,r));let a=[];e>0&&this.decomposeLeft(e,a);let s=a.length;for(let o of r)a.push(o);if(e>0&&U_(a,s-1),t=r&&t.push(null)),e>r&&this.right.decomposeLeft(e-r,t)}decomposeRight(e,t){let r=this.left.length,i=r+this.break;if(e>=i)return this.right.decomposeRight(e-i,t);e2*t.size||t.size>2*e.size?kr.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=e.height+t.height,this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,r=!1,i){let{left:a,right:s}=this,o=t+a.length+this.break,l=null;return i&&i.from<=t+a.length&&i.more?l=a=a.updateHeight(e,t,r,i):a.updateHeight(e,t,r),i&&i.from<=o+s.length&&i.more?l=s=s.updateHeight(e,o,r,i):s.updateHeight(e,o,r),l?this.balanced(a,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function U_(n,e){let t,r;n[e]==null&&(t=n[e-1])instanceof ur&&(r=n[e+1])instanceof ur&&n.splice(e-1,3,new ur(t.length+1+r.length))}const qR=5;class Hh{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let r=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof Xr?i.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new Xr(r-this.pos,-1)),this.writtenTo=r,t>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,r){if(e=qR)&&this.addLineDeco(i,a,s)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new Xr(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let r=new ur(t-e);return this.oracle.doc.lineAt(e).to==t&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Xr)return e;let t=new Xr(0,-1);return this.nodes.push(t),t}addBlock(e){var t;this.enterLine();let r=(t=e.deco)===null||t===void 0?void 0:t.type;r==Yt.WidgetAfter&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,r!=Yt.WidgetBefore&&(this.covering=e)}addLineDeco(e,t,r){let i=this.ensureLine();i.length+=r,i.collapsed+=r,i.widgetHeight=Math.max(i.widgetHeight,e),i.breaks+=t,this.writtenTo=this.pos=this.pos+r}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof Xr)&&!this.isCovered?this.nodes.push(new Xr(0,-1)):(this.writtenTod.clientHeight||d.scrollWidth>d.clientWidth)&&f.overflow!="visible"){let m=d.getBoundingClientRect();a=Math.max(a,m.left),s=Math.min(s,m.right),o=Math.max(o,m.top),l=u==n.parentNode?m.bottom:Math.min(l,m.bottom)}u=f.position=="absolute"||f.position=="fixed"?d.offsetParent:d.parentNode}else if(u.nodeType==11)u=u.host;else break;return{left:a-t.left,right:Math.max(a,s)-t.left,top:o-(t.top+e),bottom:Math.max(o,l)-(t.top+e)}}function WR(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class dc{constructor(e,t,r){this.from=e,this.to=t,this.size=r}static same(e,t){if(e.length!=t.length)return!1;for(let r=0;rtypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new GR(t),this.stateDeco=e.facet(Cs).filter(r=>typeof r!="function"),this.heightMap=kr.empty().applyChanges(this.stateDeco,_t.empty,this.heightOracle.setDoc(e.doc),[new un(0,0,0,e.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=qe.set(this.lineGaps.map(r=>r.draw(!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let r=0;r<=1;r++){let i=r?t.head:t.anchor;if(!e.some(({from:a,to:s})=>i>=a&&i<=s)){let{from:a,to:s}=this.lineBlockAt(i);e.push(new uo(a,s))}}this.viewports=e.sort((r,i)=>r.from-i.from),this.scaler=this.heightMap.height<=7e6?Y_:new jR(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(this.scaler.scale==1?e:cs(e,this.scaler))})}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(Cs).filter(d=>typeof d!="function");let i=e.changedRanges,a=un.extendWithRanges(i,VR(r,this.stateDeco,e?e.changes:Jt.empty(this.state.doc.length))),s=this.heightMap.height,o=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),a),this.heightMap.height!=s&&(e.flags|=2),o?(this.scrollAnchorPos=e.changes.mapPos(o.from,-1),this.scrollAnchorHeight=o.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let l=a.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let u=!e.changes.empty||e.flags&2||l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,this.updateForViewport(),u&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(_C)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,r=window.getComputedStyle(t),i=this.heightOracle,a=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?Bt.RTL:Bt.LTR;let s=this.heightOracle.mustRefreshForWrapping(a),o=t.getBoundingClientRect(),l=s||this.mustMeasureContent||this.contentDOMHeight!=o.height;this.contentDOMHeight=o.height,this.mustMeasureContent=!1;let u=0,d=0,f=parseInt(r.paddingTop)||0,m=parseInt(r.paddingBottom)||0;(this.paddingTop!=f||this.paddingBottom!=m)&&(this.paddingTop=f,this.paddingBottom=m,u|=10),this.editorWidth!=e.scrollDOM.clientWidth&&(i.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,u|=8),this.scrollTop!=e.scrollDOM.scrollTop&&(this.scrollAnchorHeight=-1,this.scrollTop=e.scrollDOM.scrollTop),this.scrolledToBottom=jT(e.scrollDOM);let g=(this.printing?WR:zR)(t,this.paddingTop),b=g.top-this.pixelViewport.top,v=g.bottom-this.pixelViewport.bottom;this.pixelViewport=g;let y=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(y!=this.inView&&(this.inView=y,y&&(l=!0)),!this.inView&&!this.scrollTarget)return 0;let N=o.width;if((this.contentDOMWidth!=N||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=o.width,this.editorHeight=e.scrollDOM.clientHeight,u|=8),l){let X=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(X)&&(s=!0),s||i.lineWrapping&&Math.abs(N-this.contentDOMWidth)>i.charWidth){let{lineHeight:p,charWidth:E,textHeight:O}=e.docView.measureTextSize();s=p>0&&i.refresh(a,p,E,O,N/E,X),s&&(e.docView.minWidth=0,u|=8)}b>0&&v>0?d=Math.max(b,v):b<0&&v<0&&(d=Math.min(b,v)),i.heightChanged=!1;for(let p of this.viewports){let E=p.from==this.viewport.from?X:e.docView.measureVisibleLineHeights(p);this.heightMap=(s?kr.empty().applyChanges(this.stateDeco,_t.empty,this.heightOracle,[new un(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,s,new QR(p.from,E))}i.heightChanged&&(u|=2)}let F=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return F&&(this.viewport=this.getViewport(d,this.scrollTarget)),this.updateForViewport(),(u&2||F)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(s?[]:this.lineGaps,e)),u|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),u}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),i=this.heightMap,a=this.heightOracle,{visibleTop:s,visibleBottom:o}=this,l=new uo(i.lineAt(s-r*1e3,Lt.ByHeight,a,0,0).from,i.lineAt(o+(1-r)*1e3,Lt.ByHeight,a,0,0).to);if(t){let{head:u}=t.range;if(ul.to){let d=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=i.lineAt(u,Lt.ByPos,a,0,0),m;t.y=="center"?m=(f.top+f.bottom)/2-d/2:t.y=="start"||t.y=="nearest"&&u=o+Math.max(10,Math.min(r,250)))&&i>s-2*1e3&&a>1,s=i<<1;if(this.defaultTextDirection!=Bt.LTR&&!r)return[];let o=[],l=(u,d,f,m)=>{if(d-uu&&yy.from>=f.from&&y.to<=f.to&&Math.abs(y.from-u)y.fromN));if(!v){if(dy.from<=d&&y.to>=d)){let y=t.moveToLineBoundary(de.cursor(d),!1,!0).head;y>u&&(d=y)}v=new dc(u,d,this.gapSize(f,u,d,m))}o.push(v)};for(let u of this.viewportLines){if(u.lengthu.from&&l(u.from,m,u,d),gt.draw(this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];yt.spans(e,this.viewport.from,this.viewport.to,{span(i,a){t.push({from:i,to:a})},point(){}},20);let r=t.length!=this.visibleRanges.length||this.visibleRanges.some((i,a)=>i.from!=t[a].from||i.to!=t[a].to);return this.visibleRanges=t,r?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||cs(this.heightMap.lineAt(e,Lt.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return cs(this.heightMap.lineAt(this.scaler.fromDOM(e),Lt.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return cs(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class uo{constructor(e,t){this.from=e,this.to=t}}function ZR(n,e,t){let r=[],i=n,a=0;return yt.spans(t,n,e,{span(){},point(s,o){s>i&&(r.push({from:i,to:s}),a+=s-i),i=o}},20),i=1)return e[e.length-1].to;let r=Math.floor(n*t);for(let i=0;;i++){let{from:a,to:s}=e[i],o=s-a;if(r<=o)return a+r;r-=o}}function fo(n,e){let t=0;for(let{from:r,to:i}of n.ranges){if(e<=i){t+=e-r;break}t+=i-r}return t/n.total}function KR(n,e){for(let t of n)if(e(t))return t}const Y_={toDOM(n){return n},fromDOM(n){return n},scale:1};class jR{constructor(e,t,r){let i=0,a=0,s=0;this.viewports=r.map(({from:o,to:l})=>{let u=t.lineAt(o,Lt.ByPos,e,0,0).top,d=t.lineAt(l,Lt.ByPos,e,0,0).bottom;return i+=d-u,{from:o,to:l,top:u,bottom:d,domTop:0,domBottom:0}}),this.scale=(7e6-i)/(t.height-i);for(let o of this.viewports)o.domTop=s+(o.top-a)*this.scale,s=o.domBottom=o.domTop+(o.bottom-o.top),a=o.bottom}toDOM(e){for(let t=0,r=0,i=0;;t++){let a=tcs(i,e)):n._content)}const ho=De.define({combine:n=>n.join(" ")}),Jf=De.define({combine:n=>n.indexOf(!0)>-1}),eh=Oi.newName(),PC=Oi.newName(),BC=Oi.newName(),UC={"&light":"."+PC,"&dark":"."+BC};function th(n,e,t){return new Oi(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,i=>{if(i=="&")return n;if(!t||!t[i])throw new RangeError(`Unsupported selector: ${i}`);return t[i]}):n+" "+r}})}const JR=th("."+eh,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},UC);class eI{constructor(e,t,r,i){this.typeOver=i,this.bounds=null,this.text="";let{impreciseHead:a,impreciseAnchor:s}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,r,0))){let o=a||s?[]:rI(e),l=new rC(o,e.state);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=nI(o,this.bounds.from)}else{let o=e.observer.selectionRange,l=a&&a.node==o.focusNode&&a.offset==o.focusOffset||!Ff(e.contentDOM,o.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(o.focusNode,o.focusOffset),u=s&&s.node==o.anchorNode&&s.offset==o.anchorOffset||!Ff(e.contentDOM,o.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(o.anchorNode,o.anchorOffset);this.newSel=de.single(u,l)}}}function FC(n,e){let t,{newSel:r}=e,i=n.state.selection.main,a=n.inputState.lastKeyTime>Date.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:s,to:o}=e.bounds,l=i.from,u=null;(a===8||Ne.android&&e.text.length=i.from&&t.to<=i.to&&(t.from!=i.from||t.to!=i.to)&&i.to-i.from-(t.to-t.from)<=4?t={from:i.from,to:i.to,insert:n.state.doc.slice(i.from,t.from).append(t.insert).append(n.state.doc.slice(t.to,i.to))}:(Ne.mac||Ne.android)&&t&&t.from==t.to&&t.from==i.head-1&&/^\. ?$/.test(t.insert.toString())&&n.contentDOM.getAttribute("autocorrect")=="off"?(r&&t.insert.length==2&&(r=de.single(r.main.anchor-1,r.main.head-1)),t={from:i.from,to:i.to,insert:_t.of([" "])}):Ne.chrome&&t&&t.from==t.to&&t.from==i.head&&t.insert.toString()==` - `&&n.lineWrapping&&(r&&(r=de.single(r.main.anchor-1,r.main.head-1)),t={from:i.from,to:i.to,insert:_t.of([" "])}),t){let s=n.state;if(Ne.ios&&n.inputState.flushIOSKey(n)||Ne.android&&(t.from==i.from&&t.to==i.to&&t.insert.length==1&&t.insert.lines==2&&Oa(n.contentDOM,"Enter",13)||(t.from==i.from-1&&t.to==i.to&&t.insert.length==0||a==8&&t.insert.lengthd(n,t.from,t.to,o)))return!0;n.inputState.composing>=0&&n.inputState.composing++;let l;if(t.from>=i.from&&t.to<=i.to&&t.to-t.from>=(i.to-i.from)/3&&(!r||r.main.empty&&r.main.from==t.from+t.insert.length)&&n.inputState.composing<0){let d=i.fromt.to?s.sliceDoc(t.to,i.to):"";l=s.replaceSelection(n.state.toText(d+t.insert.sliceString(0,void 0,n.state.lineBreak)+f))}else{let d=s.changes(t),f=r&&r.main.to<=d.newLength?r.main:void 0;if(s.selection.ranges.length>1&&n.inputState.composing>=0&&t.to<=i.to&&t.to>=i.to-10){let m=n.state.sliceDoc(t.from,t.to),g=CC(n)||n.state.doc.lineAt(i.head),b=i.to-t.to,v=i.to-i.from;l=s.changeByRange(y=>{if(y.from==i.from&&y.to==i.to)return{changes:d,range:f||y.map(d)};let N=y.to-b,F=N-m.length;if(y.to-y.from!=v||n.state.sliceDoc(F,N)!=m||g&&y.to>=g.from&&y.from<=g.to)return{range:y};let X=s.changes({from:F,to:N,insert:t.insert}),p=y.to-i.to;return{changes:X,range:f?de.range(Math.max(0,f.anchor+p),Math.max(0,f.head+p)):y.map(X)}})}else l={changes:d,selection:f&&s.selection.replaceRange(f)}}let u="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,u+=".compose",n.inputState.compositionFirstChange&&(u+=".start",n.inputState.compositionFirstChange=!1)),n.dispatch(l,{scrollIntoView:!0,userEvent:u}),!0}else if(r&&!r.main.eq(i)){let s=!1,o="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(s=!0),o=n.inputState.lastSelectionOrigin),n.dispatch({selection:r,scrollIntoView:s,userEvent:o}),!0}else return!1}function tI(n,e,t,r){let i=Math.min(n.length,e.length),a=0;for(;a0&&o>0&&n.charCodeAt(s-1)==e.charCodeAt(o-1);)s--,o--;if(r=="end"){let l=Math.max(0,a-Math.min(s,o));t-=s+l-a}if(s=s?a-t:0;a-=l,o=a+(o-s),s=a}else if(o=o?a-t:0;a-=l,s=a+(s-o),o=a}return{from:a,toA:s,toB:o}}function rI(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:r,focusNode:i,focusOffset:a}=n.observer.selectionRange;return t&&(e.push(new m_(t,r)),(i!=t||a!=r)&&e.push(new m_(i,a))),e}function nI(n,e){if(n.length==0)return null;let t=n[0].pos,r=n.length==2?n[1].pos:t;return t>-1&&r>-1?de.single(t+e,r+e):null}const iI={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},pc=Ne.ie&&Ne.ie_version<=11;class aI{constructor(e){this.view=e,this.active=!1,this.selectionRange=new KA,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.resizeContent=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let r of t)this.queue.push(r);(Ne.ie&&Ne.ie_version<=11||Ne.ios&&e.composing)&&t.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),pc&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)this.view.requestMeasure()),this.resizeContent.observe(e.contentDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runScrollHandlers(this.view,e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(){this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500)}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,r)=>t!=e[r]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:r}=this,i=this.selectionRange;if(r.state.facet(Fl)?r.root.activeElement!=this.dom:!xo(r.dom,i))return;let a=i.anchorNode&&r.docView.nearest(i.anchorNode);if(a&&a.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(Ne.ie&&Ne.ie_version<=11||Ne.android&&Ne.chrome)&&!r.state.selection.main.empty&&i.focusNode&&jo(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Ne.safari&&e.root.nodeType==11&&zA(this.dom.ownerDocument)==this.dom&&sI(this.view)||Ko(e.root);if(!t||this.selectionRange.eq(t))return!1;let r=xo(this.dom,t);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let a=this.delayedAndroidKey;a&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=a.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&a.force&&Oa(this.dom,a.key,a.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(i)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,r=-1,i=!1;for(let a of e){let s=this.readMutation(a);s&&(s.typeOver&&(i=!0),t==-1?{from:t,to:r}=s:(t=Math.min(s.from,t),r=Math.max(s.to,r)))}return{from:t,to:r,typeOver:i}}readChange(){let{from:e,to:t,typeOver:r}=this.processRecords(),i=this.selectionChanged&&xo(this.dom,this.selectionRange);return e<0&&!i?null:(e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1,new eI(this.view,e,t,r))}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return!1;let r=this.view.state,i=FC(this.view,t);return this.view.state==r&&this.view.update([]),i}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty(e.type=="attributes"),e.type=="attributes"&&(t.flags|=4),e.type=="childList"){let r=G_(t,e.previousSibling||e.target.previousSibling,-1),i=G_(t,e.nextSibling||e.target.nextSibling,1);return{from:r?t.posAfter(r):t.posAtStart,to:i?t.posBefore(i):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var e,t,r,i;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.disconnect(),(i=this.resizeContent)===null||i===void 0||i.disconnect();for(let a of this.scrollTargets)a.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey)}}function G_(n,e,t){for(;e;){let r=It.get(e);if(r&&r.parent==n)return r;let i=e.parentNode;e=i!=n.dom?i:t>0?e.nextSibling:e.previousSibling}return null}function sI(n){let e=null;function t(l){l.preventDefault(),l.stopImmediatePropagation(),e=l.getTargetRanges()[0]}if(n.contentDOM.addEventListener("beforeinput",t,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",t,!0),!e)return null;let r=e.startContainer,i=e.startOffset,a=e.endContainer,s=e.endOffset,o=n.docView.domAtPos(n.state.selection.main.anchor);return jo(o.node,o.offset,a,s)&&([r,i,a,s]=[a,s,r,i]),{anchorNode:r,anchorOffset:i,focusNode:a,focusOffset:s}}class Ae{constructor(e={}){this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.style.cssText="position: fixed; top: -10000px",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),this._dispatch=e.dispatch||(t=>this.update([t])),this.dispatch=this.dispatch.bind(this),this._root=e.root||jA(e.parent)||document,this.viewState=new F_(e.state||ut.create(e)),this.plugins=this.state.facet(os).map(t=>new lc(t));for(let t of this.plugins)t.update(this);this.observer=new aI(this),this.inputState=new RR(this),this.inputState.ensureHandlers(this,this.plugins),this.docView=new T_(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),e.parent&&e.parent.appendChild(this.dom)}get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}dispatch(...e){let t=e.length==1&&e[0]instanceof tr?e[0]:this.state.update(...e);this._dispatch(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,r=!1,i,a=this.state;for(let m of e){if(m.startState!=a)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");a=m.state}if(this.destroyed){this.viewState.state=a;return}let s=this.hasFocus,o=0,l=null;e.some(m=>m.annotation(xC))?(this.inputState.notifiedFocused=s,o=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,l=LC(a,s),l||(o=1));let u=this.observer.delayedAndroidKey,d=null;if(u?(this.observer.clearDelayedAndroidKey(),d=this.observer.readChange(),(d&&!this.state.doc.eq(a.doc)||!this.state.selection.eq(a.selection))&&(d=null)):this.observer.clear(),a.facet(ut.phrases)!=this.state.facet(ut.phrases))return this.setState(a);i=tl.create(this,a,e),i.flags|=o;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let m of e){if(f&&(f=f.map(m.changes)),m.scrollIntoView){let{main:g}=m.state.selection;f=new el(g.empty?g:de.cursor(g.head,g.head>g.anchor?-1:1))}for(let g of m.effects)g.is(b_)&&(f=g.value)}this.viewState.update(i,f),this.bidiCache=rl.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),t=this.docView.update(i),this.state.facet(ls)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(m=>m.isUserEvent("select.pointer")))}finally{this.updateState=0}if(i.startState.facet(ho)!=i.state.facet(ho)&&(this.viewState.mustMeasureContent=!0),(t||r||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!i.empty)for(let m of this.state.facet(Hf))m(i);(l||d)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),d&&!FC(this,d)&&u.force&&Oa(this.contentDOM,u.key,u.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let r of this.plugins)r.destroy(this);this.viewState=new F_(e),this.plugins=e.facet(os).map(r=>new lc(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView=new T_(this),this.inputState.ensureHandlers(this,this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(os),r=e.state.facet(os);if(t!=r){let i=[];for(let a of r){let s=t.indexOf(a);if(s<0)i.push(new lc(a));else{let o=this.plugins[s];o.mustUpdate=e,i.push(o)}}for(let a of this.plugins)a.mustUpdate!=e&&a.destroy(this);this.plugins=i,this.pluginMap.clear(),this.inputState.ensureHandlers(this,this.plugins)}else for(let i of this.plugins)i.mustUpdate=e;for(let i=0;i-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,r=this.scrollDOM,{scrollTop:i}=r,{scrollAnchorPos:a,scrollAnchorHeight:s}=this.viewState;i!=this.viewState.scrollTop&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let o=0;;o++){if(s<0)if(jT(r))a=-1,s=this.viewState.heightMap.height;else{let g=this.viewState.scrollAnchorAt(i);a=g.from,s=g.top}this.updateState=1;let l=this.viewState.measure(this);if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(o>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let u=[];l&4||([this.measureRequests,u]=[u,this.measureRequests]);let d=u.map(g=>{try{return g.read(this)}catch(b){return cn(this.state,b),Q_}}),f=tl.create(this,this.state,[]),m=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),m=this.docView.update(f));for(let g=0;g1||b<-1){i=r.scrollTop=i+b,s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let o of this.state.facet(Hf))o(t)}get themeClasses(){return eh+" "+(this.state.facet(Jf)?BC:PC)+" "+this.state.facet(ho)}updateAttrs(){let e=$_(this,gC,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(Fl)?"true":"false",class:"cm-content",style:`${Ne.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),$_(this,qh,t);let r=this.observer.ignore(()=>{let i=qf(this.contentDOM,this.contentAttrs,t),a=qf(this.dom,this.editorAttrs,e);return i||a});return this.editorAttrs=e,this.contentAttrs=t,r}showAnnouncements(e){let t=!0;for(let r of e)for(let i of r.effects)if(i.is(Ae.announce)){t&&(this.announceDOM.textContent=""),t=!1;let a=this.announceDOM.appendChild(document.createElement("div"));a.textContent=i.value}}mountStyles(){this.styleModules=this.state.facet(ls),Oi.mount(this.root,this.styleModules.concat(JR).reverse())}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tr.spec==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,r){return uc(this,e,I_(this,e,t,r))}moveByGroup(e,t){return uc(this,e,I_(this,e,t,r=>yR(this,e.head,r)))}moveToLineBoundary(e,t,r=!0){return vR(this,e,t,r)}moveVertically(e,t,r){return uc(this,e,AR(this,e,t,r))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),yC(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let r=this.docView.coordsAt(e,t);if(!r||r.left==r.right)return r;let i=this.state.doc.lineAt(e),a=this.bidiSpans(i),s=a[Ea.find(a,e-i.from,-1,t)];return Gh(r,s.dir==Bt.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(mC)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>oI)return bC(e.length);let t=this.textDirectionAt(e.from);for(let i of this.bidiCache)if(i.from==e.from&&i.dir==t)return i.order;let r=dR(e.text,t);return this.bidiCache.push(new rl(e.from,e.to,t,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Ne.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{ZT(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return b_.of(new el(typeof e=="number"?de.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}static domEventHandlers(e){return lr.define(()=>({}),{eventHandlers:e})}static theme(e,t){let r=Oi.newName(),i=[ho.of(r),ls.of(th(`.${r}`,e))];return t&&t.dark&&i.push(Jf.of(!0)),i}static baseTheme(e){return Jn.lowest(ls.of(th("."+eh,e,UC)))}static findFromDOM(e){var t;let r=e.querySelector(".cm-content"),i=r&&It.get(r)||It.get(e);return((t=i==null?void 0:i.rootView)===null||t===void 0?void 0:t.view)||null}}Ae.styleModule=ls;Ae.inputHandler=fC;Ae.focusChangeEffect=hC;Ae.perLineTextDirection=mC;Ae.exceptionSink=pC;Ae.updateListener=Hf;Ae.editable=Fl;Ae.mouseSelectionStyle=dC;Ae.dragMovesSelection=uC;Ae.clickAddsSelectionRange=cC;Ae.decorations=Cs;Ae.atomicRanges=Vh;Ae.scrollMargins=SC;Ae.darkTheme=Jf;Ae.contentAttributes=qh;Ae.editorAttributes=gC;Ae.lineWrapping=Ae.contentAttributes.of({class:"cm-lineWrapping"});Ae.announce=it.define();const oI=4096,Q_={};class rl{constructor(e,t,r,i){this.from=e,this.to=t,this.dir=r,this.order=i}static update(e,t){if(t.empty)return e;let r=[],i=e.length?e[e.length-1].dir:Bt.LTR;for(let a=Math.max(0,e.length-10);a=0;i--){let a=r[i],s=typeof a=="function"?a(n):a;s&&$f(s,t)}return t}const lI=Ne.mac?"mac":Ne.windows?"win":Ne.linux?"linux":"key";function cI(n,e){const t=n.split(/-(?!$)/);let r=t[t.length-1];r=="Space"&&(r=" ");let i,a,s,o;for(let l=0;lr.concat(i),[]))),t}let hi=null;const pI=4e3;function fI(n,e=lI){let t=Object.create(null),r=Object.create(null),i=(s,o)=>{let l=r[s];if(l==null)r[s]=o;else if(l!=o)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},a=(s,o,l,u,d)=>{var f,m;let g=t[s]||(t[s]=Object.create(null)),b=o.split(/ (?!$)/).map(N=>cI(N,e));for(let N=1;N{let p=hi={view:X,prefix:F,scope:s};return setTimeout(()=>{hi==p&&(hi=null)},pI),!0}]})}let v=b.join(" ");i(v,!1);let y=g[v]||(g[v]={preventDefault:!1,stopPropagation:!1,run:((m=(f=g._any)===null||f===void 0?void 0:f.run)===null||m===void 0?void 0:m.slice())||[]});l&&y.run.push(l),u&&(y.preventDefault=!0),d&&(y.stopPropagation=!0)};for(let s of n){let o=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let u of o){let d=t[u]||(t[u]=Object.create(null));d._any||(d._any={preventDefault:!1,stopPropagation:!1,run:[]});for(let f in d)d[f].run.push(s.any)}let l=s[e]||s.key;if(l)for(let u of o)a(u,l,s.run,s.preventDefault,s.stopPropagation),s.shift&&a(u,"Shift-"+l,s.shift,s.preventDefault,s.stopPropagation)}return t}function hI(n,e,t,r){let i=HA(e),a=pr(i,0),s=an(a)==i.length&&i!=" ",o="",l=!1,u=!1,d=!1;hi&&hi.view==t&&hi.scope==r&&(o=hi.prefix+" ",RC.indexOf(e.keyCode)<0&&(u=!0,hi=null));let f=new Set,m=y=>{if(y){for(let N of y.run)if(!f.has(N)&&(f.add(N),N(t,e)))return y.stopPropagation&&(d=!0),!0;y.preventDefault&&(y.stopPropagation&&(d=!0),u=!0)}return!1},g=n[r],b,v;return g&&(m(g[o+mo(i,e,!s)])?l=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(Ne.windows&&e.ctrlKey&&e.altKey)&&(b=Ei[e.keyCode])&&b!=i?(m(g[o+mo(b,e,!0)])||e.shiftKey&&(v=bs[e.keyCode])!=i&&v!=b&&m(g[o+mo(v,e,!1)]))&&(l=!0):s&&e.shiftKey&&m(g[o+mo(i,e,!0)])&&(l=!0),!l&&m(g._any)&&(l=!0)),u&&(l=!0),l&&d&&e.stopPropagation(),l}class zs{constructor(e,t,r,i,a){this.className=e,this.left=t,this.top=r,this.width=i,this.height=a}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,r){if(r.empty){let i=e.coordsAtPos(r.head,r.assoc||1);if(!i)return[];let a=YC(e);return[new zs(t,i.left-a.left,i.top-a.top,null,i.bottom-i.top)]}else return mI(e,t,r)}}function YC(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==Bt.LTR?e.left:e.right-n.scrollDOM.clientWidth)-n.scrollDOM.scrollLeft,top:e.top-n.scrollDOM.scrollTop}}function V_(n,e,t){let r=de.cursor(e);return{from:Math.max(t.from,n.moveToLineBoundary(r,!1,!0).from),to:Math.min(t.to,n.moveToLineBoundary(r,!0,!0).from),type:Yt.Text}}function mI(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let r=Math.max(t.from,n.viewport.from),i=Math.min(t.to,n.viewport.to),a=n.textDirection==Bt.LTR,s=n.contentDOM,o=s.getBoundingClientRect(),l=YC(n),u=s.querySelector(".cm-line"),d=u&&window.getComputedStyle(u),f=o.left+(d?parseInt(d.paddingLeft)+Math.min(0,parseInt(d.textIndent)):0),m=o.right-(d?parseInt(d.paddingRight):0),g=Zf(n,r),b=Zf(n,i),v=g.type==Yt.Text?g:null,y=b.type==Yt.Text?b:null;if(v&&(n.lineWrapping||g.widgetLineBreaks)&&(v=V_(n,r,v)),y&&(n.lineWrapping||b.widgetLineBreaks)&&(y=V_(n,i,y)),v&&y&&v.from==y.from)return F(X(t.from,t.to,v));{let E=v?X(t.from,null,v):p(g,!1),O=y?X(null,t.to,y):p(b,!0),A=[];return(v||g).to<(y||b).from-(v&&y?1:0)||g.widgetLineBreaks>1&&E.bottom+n.defaultLineHeight/2re&&j.from=L)break;ce>J&&B(Math.max(z,J),E==null&&z<=re,Math.min(ce,L),O==null&&ce>=ie,Z.dir)}if(J=G.to+1,J>=L)break}return w.length==0&&B(re,E==null,ie,O==null,n.textDirection),{top:D,bottom:M,horizontal:w}}function p(E,O){let A=o.top+(O?E.top:E.bottom);return{top:A,bottom:A,horizontal:[]}}}function _I(n,e){return n.constructor==e.constructor&&n.eq(e)}class gI{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Mo)!=e.state.facet(Mo)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&e.view.requestMeasure(this.measureReq)}setOrder(e){let t=0,r=e.facet(Mo);for(;t!_I(t,this.drawn[r]))){let t=this.dom.firstChild,r=0;for(let i of e)i.update&&t&&i.constructor&&this.drawn[r].constructor&&i.update(t,this.drawn[r])?(t=t.nextSibling,r++):this.dom.insertBefore(i.draw(),t);for(;t;){let i=t.nextSibling;t.remove(),t=i}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Mo=De.define();function GC(n){return[lr.define(e=>new gI(e,n)),Mo.of(n)]}const QC=!Ne.ios,vs=De.define({combine(n){return ti(n,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function SI(n={}){return[vs.of(n),OI,EI,bI,_C.of(!0)]}function $C(n){return n.startState.facet(vs)!=n.state.facet(vs)}const OI=GC({above:!0,markers(n){let{state:e}=n,t=e.facet(vs),r=[];for(let i of e.selection.ranges){let a=i==e.selection.main;if(i.empty?!a||QC:t.drawRangeCursor){let s=a?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",o=i.empty?i:de.cursor(i.head,i.head>i.anchor?-1:1);for(let l of zs.forRange(n,s,o))r.push(l)}}return r},update(n,e){n.transactions.some(r=>r.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=$C(n);return t&&H_(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){H_(e.state,n)},class:"cm-cursorLayer"});function H_(n,e){e.style.animationDuration=n.facet(vs).cursorBlinkRate+"ms"}const EI=GC({above:!1,markers(n){return n.state.selection.ranges.map(e=>e.empty?[]:zs.forRange(n,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||$C(n)},class:"cm-selectionLayer"}),qC={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};QC&&(qC[".cm-line"].caretColor="transparent !important");const bI=Jn.highest(Ae.theme(qC)),VC=it.define({map(n,e){return n==null?null:e.mapPos(n)}}),us=hr.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,r)=>r.is(VC)?r.value:t,n)}}),TI=lr.fromClass(class{constructor(n){this.view=n,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(n){var e;let t=n.state.field(us);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(n.startState.field(us)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let n=this.view.state.field(us),e=n!=null&&this.view.coordsAtPos(n);if(!e)return null;let t=this.view.scrollDOM.getBoundingClientRect();return{left:e.left-t.left+this.view.scrollDOM.scrollLeft,top:e.top-t.top+this.view.scrollDOM.scrollTop,height:e.bottom-e.top}}drawCursor(n){this.cursor&&(n?(this.cursor.style.left=n.left+"px",this.cursor.style.top=n.top+"px",this.cursor.style.height=n.height+"px"):this.cursor.style.left="-100000px")}destroy(){this.cursor&&this.cursor.remove()}setDropPos(n){this.view.state.field(us)!=n&&this.view.dispatch({effects:VC.of(n)})}},{eventHandlers:{dragover(n){this.setDropPos(this.view.posAtCoords({x:n.clientX,y:n.clientY}))},dragleave(n){(n.target==this.view.contentDOM||!this.view.contentDOM.contains(n.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function CI(){return[us,TI]}function z_(n,e,t,r,i){e.lastIndex=0;for(let a=n.iterRange(t,r),s=t,o;!a.next().done;s+=a.value.length)if(!a.lineBreak)for(;o=e.exec(a.value);)i(s+o.index,o)}function vI(n,e){let t=n.visibleRanges;if(t.length==1&&t[0].from==n.viewport.from&&t[0].to==n.viewport.to)return t;let r=[];for(let{from:i,to:a}of t)i=Math.max(n.state.doc.lineAt(i).from,i-e),a=Math.min(n.state.doc.lineAt(a).to,a+e),r.length&&r[r.length-1].to>=i?r[r.length-1].to=a:r.push({from:i,to:a});return r}class yI{constructor(e){const{regexp:t,decoration:r,decorate:i,boundary:a,maxLength:s=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,i)this.addMatch=(o,l,u,d)=>i(d,u,u+o[0].length,o,l);else if(typeof r=="function")this.addMatch=(o,l,u,d)=>{let f=r(o,l,u);f&&d(u,u+o[0].length,f)};else if(r)this.addMatch=(o,l,u,d)=>d(u,u+o[0].length,r);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=a,this.maxLength=s}createDeco(e){let t=new zi,r=t.add.bind(t);for(let{from:i,to:a}of vI(e,this.maxLength))z_(e.state.doc,this.regexp,i,a,(s,o)=>this.addMatch(o,e,s,r));return t.finish()}updateDeco(e,t){let r=1e9,i=-1;return e.docChanged&&e.changes.iterChanges((a,s,o,l)=>{l>e.view.viewport.from&&o1e3?this.createDeco(e.view):i>-1?this.updateRange(e.view,t.map(e.changes),r,i):t}updateRange(e,t,r,i){for(let a of e.visibleRanges){let s=Math.max(a.from,r),o=Math.min(a.to,i);if(o>s){let l=e.state.doc.lineAt(s),u=l.tol.from;s--)if(this.boundary.test(l.text[s-1-l.from])){d=s;break}for(;om.push(N.range(v,y));if(l==u)for(this.regexp.lastIndex=d-l.from;(g=this.regexp.exec(l.text))&&g.indexthis.addMatch(y,e,v,b));t=t.update({filterFrom:d,filterTo:f,filter:(v,y)=>vf,add:m})}}return t}}const rh=/x/.unicode!=null?"gu":"g",AI=new RegExp(`[\0-\b ---Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,rh),RI={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let fc=null;function II(){var n;if(fc==null&&typeof document<"u"&&document.body){let e=document.body.style;fc=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return fc||!1}const Po=De.define({combine(n){let e=ti(n,{render:null,specialChars:AI,addSpecialChars:null});return(e.replaceTabs=!II())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,rh)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,rh)),e}});function NI(n={}){return[Po.of(n),DI()]}let W_=null;function DI(){return W_||(W_=lr.fromClass(class{constructor(n){this.view=n,this.decorations=qe.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(Po)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new yI({regexp:n.specialChars,decoration:(e,t,r)=>{let{doc:i}=t.state,a=pr(e[0],0);if(a==9){let s=i.lineAt(r),o=t.state.tabSize,l=qs(s.text,o,r-s.from);return qe.replace({widget:new kI((o-l%o)*this.view.defaultCharacterWidth)})}return this.decorationCache[a]||(this.decorationCache[a]=qe.replace({widget:new LI(n,a)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(Po);n.startState.facet(Po)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}const wI="•";function xI(n){return n>=32?wI:n==10?"␤":String.fromCharCode(9216+n)}class LI extends ri{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=xI(this.code),r=e.state.phrase("Control character")+" "+(RI[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,r,t);if(i)return i;let a=document.createElement("span");return a.textContent=t,a.title=r,a.setAttribute("aria-label",r),a.className="cm-specialChar",a}ignoreEvent(){return!1}}class kI extends ri{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function MI(){return BI}const PI=qe.line({class:"cm-activeLine"}),BI=lr.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let r of n.state.selection.ranges){let i=n.lineBlockAt(r.head);i.from>e&&(t.push(PI.range(i.from)),e=i.from)}return qe.set(t)}},{decorations:n=>n.decorations}),nh=2e3;function UI(n,e,t){let r=Math.min(e.line,t.line),i=Math.max(e.line,t.line),a=[];if(e.off>nh||t.off>nh||e.col<0||t.col<0){let s=Math.min(e.off,t.off),o=Math.max(e.off,t.off);for(let l=r;l<=i;l++){let u=n.doc.line(l);u.length<=o&&a.push(de.range(u.from+s,u.to+o))}}else{let s=Math.min(e.col,t.col),o=Math.max(e.col,t.col);for(let l=r;l<=i;l++){let u=n.doc.line(l),d=Pf(u.text,s,n.tabSize,!0);if(d<0)a.push(de.cursor(u.to));else{let f=Pf(u.text,o,n.tabSize);a.push(de.range(u.from+d,u.from+f))}}}return a}function FI(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function X_(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1),r=n.state.doc.lineAt(t),i=t-r.from,a=i>nh?-1:i==r.length?FI(n,e.clientX):qs(r.text,n.state.tabSize,t-r.from);return{line:r.number,col:a,off:i}}function YI(n,e){let t=X_(n,e),r=n.state.selection;return t?{update(i){if(i.docChanged){let a=i.changes.mapPos(i.startState.doc.line(t.line).from),s=i.state.doc.lineAt(a);t={line:s.number,col:t.col,off:Math.min(t.off,s.length)},r=r.map(i.changes)}},get(i,a,s){let o=X_(n,i);if(!o)return r;let l=UI(n.state,t,o);return l.length?s?de.create(l.concat(r.ranges)):de.create(l):r}}:null}function GI(n){let e=(n==null?void 0:n.eventFilter)||(t=>t.altKey&&t.button==0);return Ae.mouseSelectionStyle.of((t,r)=>e(r)?YI(t,r):null)}const QI={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},$I={style:"cursor: crosshair"};function qI(n={}){let[e,t]=QI[n.key||"Alt"],r=lr.fromClass(class{constructor(i){this.view=i,this.isDown=!1}set(i){this.isDown!=i&&(this.isDown=i,this.view.update([]))}},{eventHandlers:{keydown(i){this.set(i.keyCode==e||t(i))},keyup(i){(i.keyCode==e||!t(i))&&this.set(!1)},mousemove(i){this.set(t(i))}}});return[r,Ae.contentAttributes.of(i=>{var a;return!((a=i.plugin(r))===null||a===void 0)&&a.isDown?$I:null})]}const _o="-10000px";class HC{constructor(e,t,r){this.facet=t,this.createTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter(i=>i),this.tooltipViews=this.tooltips.map(r)}update(e){var t;let r=e.state.facet(this.facet),i=r.filter(s=>s);if(r===this.input){for(let s of this.tooltipViews)s.update&&s.update(e);return!1}let a=[];for(let s=0;s{var e,t,r;return{position:Ne.ios?"absolute":((e=n.find(i=>i.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=n.find(i=>i.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((r=n.find(i=>i.tooltipSpace))===null||r===void 0?void 0:r.tooltipSpace)||VI}}}),Z_=new WeakMap,zC=lr.fromClass(class{constructor(n){this.view=n,this.inView=!0,this.lastTransaction=0,this.measureTimeout=-1;let e=n.state.facet(hc);this.position=e.position,this.parent=e.parent,this.classes=n.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.manager=new HC(n,zh,t=>this.createTooltip(t)),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),n.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let n of this.manager.tooltipViews)this.intersectionObserver.observe(n.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(n){n.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(n);e&&this.observeIntersection();let t=e||n.geometryChanged,r=n.state.facet(hc);if(r.position!=this.position){this.position=r.position;for(let i of this.manager.tooltipViews)i.dom.style.position=this.position;t=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let i of this.manager.tooltipViews)this.container.appendChild(i.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(n){let e=n.create(this.view);if(e.dom.classList.add("cm-tooltip"),n.arrow&&!e.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let t=document.createElement("div");t.className="cm-tooltip-arrow",e.dom.appendChild(t)}return e.dom.style.position=this.position,e.dom.style.top=_o,this.container.appendChild(e.dom),e.mount&&e.mount(this.view),e}destroy(){var n,e;this.view.win.removeEventListener("resize",this.measureSoon);for(let t of this.manager.tooltipViews)t.dom.remove(),(n=t.destroy)===null||n===void 0||n.call(t);(e=this.intersectionObserver)===null||e===void 0||e.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let n=this.view.dom.getBoundingClientRect();return{editor:n,parent:this.parent?this.container.getBoundingClientRect():n,pos:this.manager.tooltips.map((e,t)=>{let r=this.manager.tooltipViews[t];return r.getCoords?r.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet(hc).tooltipSpace(this.view)}}writeMeasure(n){var e;let{editor:t,space:r}=n,i=[];for(let a=0;a=Math.min(t.bottom,r.bottom)||u.rightMath.min(t.right,r.right)+.1){l.style.top=_o;continue}let f=s.arrow?o.dom.querySelector(".cm-tooltip-arrow"):null,m=f?7:0,g=d.right-d.left,b=(e=Z_.get(o))!==null&&e!==void 0?e:d.bottom-d.top,v=o.offset||zI,y=this.view.textDirection==Bt.LTR,N=d.width>r.right-r.left?y?r.left:r.right-d.width:y?Math.min(u.left-(f?14:0)+v.x,r.right-g):Math.max(r.left,u.left-g+(f?14:0)-v.x),F=!!s.above;!s.strictSide&&(F?u.top-(d.bottom-d.top)-v.yr.bottom)&&F==r.bottom-u.bottom>u.top-r.top&&(F=!F);let X=(F?u.top-r.top:r.bottom-u.bottom)-m;if(XN&&O.topp&&(p=F?O.top-b-2-m:O.bottom+m+2);this.position=="absolute"?(l.style.top=p-n.parent.top+"px",l.style.left=N-n.parent.left+"px"):(l.style.top=p+"px",l.style.left=N+"px"),f&&(f.style.left=`${u.left+(y?v.x:-v.x)-(N+14-7)}px`),o.overlap!==!0&&i.push({left:N,top:p,right:E,bottom:p+b}),l.classList.toggle("cm-tooltip-above",F),l.classList.toggle("cm-tooltip-below",!F),o.positioned&&o.positioned(n.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let n of this.manager.tooltipViews)n.dom.style.top=_o}},{eventHandlers:{scroll(){this.maybeMeasure()}}}),HI=Ae.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),zI={x:0,y:0},zh=De.define({enables:[zC,HI]}),nl=De.define();class Wh{constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new HC(e,nl,t=>this.createHostedView(t))}static create(e){return new Wh(e)}createHostedView(e){let t=e.create(this.view);return t.dom.classList.add("cm-tooltip-section"),this.dom.appendChild(t.dom),this.mounted&&t.mount&&t.mount(this.view),t}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}}const WI=zh.compute([nl],n=>{let e=n.facet(nl).filter(t=>t);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.filter(t=>t.end!=null).map(t=>t.end)),create:Wh.create,above:e[0].above,arrow:e.some(t=>t.arrow)}});class XI{constructor(e,t,r,i,a){this.view=e,this.source=t,this.field=r,this.setHover=i,this.hoverTime=a,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active)return;let e=Date.now()-this.lastMove.time;er.bottom||e.xr.right+this.view.defaultCharacterWidth)return;let i=this.view.bidiSpans(this.view.state.doc.lineAt(t)).find(o=>o.from<=t&&o.to>=t),a=i&&i.dir==Bt.RTL?-1:1,s=this.source(this.view,t,e.x{this.pending==o&&(this.pending=null,l&&this.view.dispatch({effects:this.setHover.of(l)}))},l=>cn(this.view.state,l,"hover tooltip"))}else s&&this.view.dispatch({effects:this.setHover.of(s)})}mousemove(e){var t;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let r=this.active;if(r&&!K_(this.lastMove.target)||this.pending){let{pos:i}=r||this.pending,a=(t=r==null?void 0:r.end)!==null&&t!==void 0?t:i;(i==a?this.view.posAtCoords(this.lastMove)!=i:!ZI(this.view,i,a,e.clientX,e.clientY,6))&&(this.view.dispatch({effects:this.setHover.of(null)}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1,this.active&&!K_(e.relatedTarget)&&this.view.dispatch({effects:this.setHover.of(null)})}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}function K_(n){for(let e=n;e;e=e.parentNode)if(e.nodeType==1&&e.classList.contains("cm-tooltip"))return!0;return!1}function ZI(n,e,t,r,i,a){let s=document.createRange(),o=n.domAtPos(e),l=n.domAtPos(t);s.setEnd(l.node,l.offset),s.setStart(o.node,o.offset);let u=s.getClientRects();s.detach();for(let d=0;dnl.from(i)});return[r,lr.define(i=>new XI(i,n,r,t,e.hoverTime||300)),WI]}function WC(n,e){let t=n.plugin(zC);if(!t)return null;let r=t.manager.tooltips.indexOf(e);return r<0?null:t.manager.tooltipViews[r]}const jI=it.define(),j_=De.define({combine(n){let e,t;for(let r of n)e=e||r.topContainer,t=t||r.bottomContainer;return{topContainer:e,bottomContainer:t}}});function JI(n,e){let t=n.plugin(XC),r=t?t.specs.indexOf(e):-1;return r>-1?t.panels[r]:null}const XC=lr.fromClass(class{constructor(n){this.input=n.state.facet(ys),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(j_);this.top=new go(n,!0,e.topContainer),this.bottom=new go(n,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(n){let e=n.state.facet(j_);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new go(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new go(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(ys);if(t!=this.input){let r=t.filter(l=>l),i=[],a=[],s=[],o=[];for(let l of r){let u=this.specs.indexOf(l),d;u<0?(d=l(n.view),o.push(d)):(d=this.panels[u],d.update&&d.update(n)),i.push(d),(d.top?a:s).push(d)}this.specs=r,this.panels=i,this.top.sync(a),this.bottom.sync(s);for(let l of o)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let r of this.panels)r.update&&r.update(n)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:n=>Ae.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class go{constructor(e,t,r){this.view=e,this.top=t,this.container=r,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=J_(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=J_(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function J_(n){let e=n.nextSibling;return n.remove(),e}const ys=De.define({enables:XC});class Ci extends Hi{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Ci.prototype.elementClass="";Ci.prototype.toDOM=void 0;Ci.prototype.mapMode=er.TrackBefore;Ci.prototype.startSide=Ci.prototype.endSide=-1;Ci.prototype.point=!0;const Bo=De.define(),Uo=De.define(),ih=De.define({combine:n=>n.some(e=>e)});function eN(n){let e=[tN];return n&&n.fixed===!1&&e.push(ih.of(!0)),e}const tN=lr.fromClass(class{constructor(n){this.view=n,this.prevViewport=n.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight+"px",this.gutters=n.state.facet(Uo).map(e=>new tg(n,e));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!n.state.facet(ih),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),n.scrollDOM.insertBefore(this.dom,n.contentDOM)}update(n){if(this.updateGutters(n)){let e=this.prevViewport,t=n.view.viewport,r=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(r<(t.to-t.from)*.8)}n.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(ih)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=n.view.viewport}syncGutters(n){let e=this.dom.nextSibling;n&&this.dom.remove();let t=yt.iter(this.view.state.facet(Bo),this.view.viewport.from),r=[],i=this.gutters.map(a=>new rN(a,this.view.viewport,-this.view.documentPadding.top));for(let a of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(a.type)){let s=!0;for(let o of a.type)if(o.type==Yt.Text&&s){ah(t,r,o.from);for(let l of i)l.line(this.view,o,r);s=!1}else if(o.widget)for(let l of i)l.widget(this.view,o)}else if(a.type==Yt.Text){ah(t,r,a.from);for(let s of i)s.line(this.view,a,r)}for(let a of i)a.finish();n&&this.view.scrollDOM.insertBefore(this.dom,e)}updateGutters(n){let e=n.startState.facet(Uo),t=n.state.facet(Uo),r=n.docChanged||n.heightChanged||n.viewportChanged||!yt.eq(n.startState.facet(Bo),n.state.facet(Bo),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let i of this.gutters)i.update(n)&&(r=!0);else{r=!0;let i=[];for(let a of t){let s=e.indexOf(a);s<0?i.push(new tg(this.view,a)):(this.gutters[s].update(n),i.push(this.gutters[s]))}for(let a of this.gutters)a.dom.remove(),i.indexOf(a)<0&&a.destroy();for(let a of i)this.dom.appendChild(a.dom);this.gutters=i}return r}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove()}},{provide:n=>Ae.scrollMargins.of(e=>{let t=e.plugin(n);return!t||t.gutters.length==0||!t.fixed?null:e.textDirection==Bt.LTR?{left:t.dom.offsetWidth}:{right:t.dom.offsetWidth}})});function eg(n){return Array.isArray(n)?n:[n]}function ah(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class rN{constructor(e,t,r){this.gutter=e,this.height=r,this.i=0,this.cursor=yt.iter(e.markers,t.from)}addElement(e,t,r){let{gutter:i}=this,a=t.top-this.height;if(this.i==i.elements.length){let s=new ZC(e,t.height,a,r);i.elements.push(s),i.dom.appendChild(s.dom)}else i.elements[this.i].update(e,t.height,a,r);this.height=t.bottom,this.i++}line(e,t,r){let i=[];ah(this.cursor,i,t.from),r.length&&(i=i.concat(r));let a=this.gutter.config.lineMarker(e,t,i);a&&i.unshift(a);let s=this.gutter;i.length==0&&!s.config.renderEmptyElements||this.addElement(e,t,i)}widget(e,t){let r=this.gutter.config.widgetMarker(e,t.widget,t);r&&this.addElement(e,t,[r])}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class tg{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let r in t.domEventHandlers)this.dom.addEventListener(r,i=>{let a=i.target,s;if(a!=this.dom&&this.dom.contains(a)){for(;a.parentNode!=this.dom;)a=a.parentNode;let l=a.getBoundingClientRect();s=(l.top+l.bottom)/2}else s=i.clientY;let o=e.lineBlockAtHeight(s-e.documentTop);t.domEventHandlers[r](e,o,i)&&i.preventDefault()});this.markers=eg(t.markers(e)),t.initialSpacer&&(this.spacer=new ZC(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=eg(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let i=this.config.updateSpacer(this.spacer.markers[0],e);i!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[i])}let r=e.view.viewport;return!yt.eq(this.markers,t,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class ZC{constructor(e,t,r,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,r,i)}update(e,t,r,i){this.height!=t&&(this.dom.style.height=(this.height=t)+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),nN(this.markers,i)||this.setMarkers(e,i)}setMarkers(e,t){let r="cm-gutterElement",i=this.dom.firstChild;for(let a=0,s=0;;){let o=s,l=aa(o,l,u)||s(o,l,u):s}return r}})}});class mc extends Ci{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function _c(n,e){return n.state.facet(ha).formatNumber(e,n.state)}const aN=Uo.compute([ha],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(iN)},lineMarker(e,t,r){return r.some(i=>i.toDOM)?null:new mc(_c(e,e.state.doc.lineAt(t.from).number))},widgetMarker:()=>null,lineMarkerChange:e=>e.startState.facet(ha)!=e.state.facet(ha),initialSpacer(e){return new mc(_c(e,ng(e.state.doc.lines)))},updateSpacer(e,t){let r=_c(t.view,ng(t.view.state.doc.lines));return r==e.number?e:new mc(r)},domEventHandlers:n.facet(ha).domEventHandlers}));function rg(n={}){return[ha.of(n),eN(),aN]}function ng(n){let e=9;for(;e{let e=[],t=-1;for(let r of n.selection.ranges){let i=n.doc.lineAt(r.head).from;i>t&&(t=i,e.push(sN.range(i)))}return yt.of(e)});function lN(){return oN}const KC=1024;let cN=0;class sn{constructor(e,t){this.from=e,this.to=t}}class Ze{constructor(e={}){this.id=cN++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=rr.match(e)),t=>{let r=e(t);return r===void 0?null:[this,r]}}}Ze.closedBy=new Ze({deserialize:n=>n.split(" ")});Ze.openedBy=new Ze({deserialize:n=>n.split(" ")});Ze.group=new Ze({deserialize:n=>n.split(" ")});Ze.contextHash=new Ze({perNode:!0});Ze.lookAhead=new Ze({perNode:!0});Ze.mounted=new Ze({perNode:!0});class uN{constructor(e,t,r){this.tree=e,this.overlay=t,this.parser=r}}const dN=Object.create(null);class rr{constructor(e,t,r,i=0){this.name=e,this.props=t,this.id=r,this.flags=i}static define(e){let t=e.props&&e.props.length?Object.create(null):dN,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),i=new rr(e.name||"",t,e.id,r);if(e.props){for(let a of e.props)if(Array.isArray(a)||(a=a(i)),a){if(a[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[a[0].id]=a[1]}}return i}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(Ze.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let r in e)for(let i of r.split(" "))t[i]=e[r];return r=>{for(let i=r.prop(Ze.group),a=-1;a<(i?i.length:0);a++){let s=t[a<0?r.name:i[a]];if(s)return s}}}}rr.none=new rr("",Object.create(null),0,8);class Ws{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(s|Rt.IncludeAnonymous);;){let u=!1;if(l.from<=a&&l.to>=i&&(!o&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;u=!0}for(;u&&r&&(o||!l.type.isAnonymous)&&r(l),!l.nextSibling();){if(!l.parent())return;u=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Kh(rr.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,i)=>new St(this.type,t,r,i,this.propValues),e.makeTree||((t,r,i)=>new St(rr.none,t,r,i)))}static build(e){return fN(e)}}St.empty=new St(rr.none,[],[],0);class Xh{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new Xh(this.buffer,this.index)}}class ji{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return rr.none}toString(){let e=[];for(let t=0;t0));l=s[l+3]);return o}slice(e,t,r){let i=this.buffer,a=new Uint16Array(t-e),s=0;for(let o=e,l=0;o=e&&te;case 1:return t<=e&&r>e;case 2:return r>e;case 4:return!0}}function JC(n,e){let t=n.childBefore(e);for(;t;){let r=t.lastChild;if(!r||r.to!=t.to)break;r.type.isError&&r.from==r.to?(n=t,t=r.prevSibling):t=r}return n}function Da(n,e,t,r){for(var i;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to0?o.length:-1;e!=u;e+=t){let d=o[e],f=l[e]+s.from;if(jC(i,r,f,f+d.length)){if(d instanceof ji){if(a&Rt.ExcludeBuffers)continue;let m=d.findChild(0,d.buffer.length,t,r-f,i);if(m>-1)return new Bn(new pN(s,d,e,f),null,m)}else if(a&Rt.IncludeAnonymous||!d.type.isAnonymous||Zh(d)){let m;if(!(a&Rt.IgnoreMounts)&&d.props&&(m=d.prop(Ze.mounted))&&!m.overlay)return new dn(m.tree,f,e,s);let g=new dn(d,f,e,s);return a&Rt.IncludeAnonymous||!g.type.isAnonymous?g:g.nextChild(t<0?d.children.length-1:0,t,r,i)}}}if(a&Rt.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+t:e=t<0?-1:s._parent._tree.children.length,s=s._parent,!s))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,r=0){let i;if(!(r&Rt.IgnoreOverlays)&&(i=this._tree.prop(Ze.mounted))&&i.overlay){let a=e-this.from;for(let{from:s,to:o}of i.overlay)if((t>0?s<=a:s=a:o>a))return new dn(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}cursor(e=0){return new As(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,t=0){return Da(this,e,t,!1)}resolveInner(e,t=0){return Da(this,e,t,!0)}enterUnfinishedNodesBefore(e){return JC(this,e)}getChild(e,t=null,r=null){let i=il(this,e,t,r);return i.length?i[0]:null}getChildren(e,t=null,r=null){return il(this,e,t,r)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return al(this,e)}}function il(n,e,t,r){let i=n.cursor(),a=[];if(!i.firstChild())return a;if(t!=null){for(;!i.type.is(t);)if(!i.nextSibling())return a}for(;;){if(r!=null&&i.type.is(r))return a;if(i.type.is(e)&&a.push(i.node),!i.nextSibling())return r==null?a:[]}}function al(n,e,t=e.length-1){for(let r=n.parent;t>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[t]&&e[t]!=r.name)return!1;t--}}return!0}class pN{constructor(e,t,r,i){this.parent=e,this.buffer=t,this.index=r,this.start=i}}class Bn{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,r){this.context=e,this._parent=t,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:i}=this.context,a=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.context.start,r);return a<0?null:new Bn(this.context,this,a)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,r=0){if(r&Rt.ExcludeBuffers)return null;let{buffer:i}=this.context,a=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return a<0?null:new Bn(this.context,this,a)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Bn(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new Bn(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}cursor(e=0){return new As(this,e)}get tree(){return null}toTree(){let e=[],t=[],{buffer:r}=this.context,i=this.index+4,a=r.buffer[this.index+3];if(a>i){let s=r.buffer[this.index+1];e.push(r.slice(i,a,s)),t.push(0)}return new St(this.type,e,t,this.to-this.from)}resolve(e,t=0){return Da(this,e,t,!1)}resolveInner(e,t=0){return Da(this,e,t,!0)}enterUnfinishedNodesBefore(e){return JC(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,t=null,r=null){let i=il(this,e,t,r);return i.length?i[0]:null}getChildren(e,t=null,r=null){return il(this,e,t,r)}get node(){return this}matchContext(e){return al(this,e)}}class As{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof dn)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:r,buffer:i}=this.buffer;return this.type=t||i.set.types[i.buffer[e]],this.from=r+i.buffer[e+1],this.to=r+i.buffer[e+2],!0}yield(e){return e?e instanceof dn?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:i}=this.buffer,a=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.buffer.start,r);return a<0?!1:(this.stack.push(this.index),this.yieldBuf(a))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,r=this.mode){return this.buffer?r&Rt.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Rt.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Rt.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,r=this.stack.length-1;if(e<0){let i=r<0?0:this.stack[r]+4;if(this.index!=i)return this.yieldBuf(t.findChild(i,this.index,-1,0,4))}else{let i=t.buffer[this.index+3];if(i<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(i)}return r<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,r,{buffer:i}=this;if(i){if(e>0){if(this.index-1)for(let a=t+e,s=e<0?-1:r._tree.children.length;a!=s;a+=e){let o=r._tree.children[a];if(this.mode&Rt.IncludeAnonymous||o instanceof ji||!o.type.isAnonymous||Zh(o))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let s=e;s;s=s._parent)if(s.index==i){if(i==this.index)return s;t=s,r=a+1;break e}i=this.stack[--a]}for(let i=r;i=0;a--){if(a<0)return al(this.node,e,i);let s=r[t.buffer[this.stack[a]]];if(!s.isAnonymous){if(e[i]&&e[i]!=s.name)return!1;i--}}return!0}}function Zh(n){return n.children.some(e=>e instanceof ji||!e.type.isAnonymous||Zh(e))}function fN(n){var e;let{buffer:t,nodeSet:r,maxBufferLength:i=KC,reused:a=[],minRepeatType:s=r.types.length}=n,o=Array.isArray(t)?new Xh(t,t.length):t,l=r.types,u=0,d=0;function f(p,E,O,A,D){let{id:M,start:w,end:B,size:re}=o,ie=d;for(;re<0;)if(o.next(),re==-1){let Z=a[M];O.push(Z),A.push(w-p);return}else if(re==-3){u=M;return}else if(re==-4){d=M;return}else throw new RangeError(`Unrecognized record size: ${re}`);let j=l[M],J,L,G=w-p;if(B-w<=i&&(L=v(o.pos-E,D))){let Z=new Uint16Array(L.size-L.skip),z=o.pos-L.size,ce=Z.length;for(;o.pos>z;)ce=y(L.start,Z,ce);J=new ji(Z,B-L.start,r),G=L.start-p}else{let Z=o.pos-re;o.next();let z=[],ce=[],ue=M>=s?M:-1,Te=0,Pe=B;for(;o.pos>Z;)ue>=0&&o.id==ue&&o.size>=0?(o.end<=Pe-i&&(g(z,ce,w,Te,o.end,Pe,ue,ie),Te=z.length,Pe=o.end),o.next()):f(w,Z,z,ce,ue);if(ue>=0&&Te>0&&Te-1&&Te>0){let Ve=m(j);J=Kh(j,z,ce,0,z.length,0,B-w,Ve,Ve)}else J=b(j,z,ce,B-w,ie-B)}O.push(J),A.push(G)}function m(p){return(E,O,A)=>{let D=0,M=E.length-1,w,B;if(M>=0&&(w=E[M])instanceof St){if(!M&&w.type==p&&w.length==A)return w;(B=w.prop(Ze.lookAhead))&&(D=O[M]+w.length+B)}return b(p,E,O,A,D)}}function g(p,E,O,A,D,M,w,B){let re=[],ie=[];for(;p.length>A;)re.push(p.pop()),ie.push(E.pop()+O-D);p.push(b(r.types[w],re,ie,M-D,B-M)),E.push(D-O)}function b(p,E,O,A,D=0,M){if(u){let w=[Ze.contextHash,u];M=M?[w].concat(M):[w]}if(D>25){let w=[Ze.lookAhead,D];M=M?[w].concat(M):[w]}return new St(p,E,O,A,M)}function v(p,E){let O=o.fork(),A=0,D=0,M=0,w=O.end-i,B={size:0,start:0,skip:0};e:for(let re=O.pos-p;O.pos>re;){let ie=O.size;if(O.id==E&&ie>=0){B.size=A,B.start=D,B.skip=M,M+=4,A+=4,O.next();continue}let j=O.pos-ie;if(ie<0||j=s?4:0,L=O.start;for(O.next();O.pos>j;){if(O.size<0)if(O.size==-3)J+=4;else break e;else O.id>=s&&(J+=4);O.next()}D=L,A+=ie,M+=J}return(E<0||A==p)&&(B.size=A,B.start=D,B.skip=M),B.size>4?B:void 0}function y(p,E,O){let{id:A,start:D,end:M,size:w}=o;if(o.next(),w>=0&&A4){let re=o.pos-(w-4);for(;o.pos>re;)O=y(p,E,O)}E[--O]=B,E[--O]=M-p,E[--O]=D-p,E[--O]=A}else w==-3?u=A:w==-4&&(d=A);return O}let N=[],F=[];for(;o.pos>0;)f(n.start||0,n.bufferStart||0,N,F,-1);let X=(e=n.length)!==null&&e!==void 0?e:N.length?F[0]+N[0].length:0;return new St(l[n.topID],N.reverse(),F.reverse(),X)}const ag=new WeakMap;function Fo(n,e){if(!n.isAnonymous||e instanceof ji||e.type!=n)return 1;let t=ag.get(e);if(t==null){t=1;for(let r of e.children){if(r.type!=n||!(r instanceof St)){t=1;break}t+=Fo(n,r)}ag.set(e,t)}return t}function Kh(n,e,t,r,i,a,s,o,l){let u=0;for(let b=r;b=d)break;O+=A}if(X==p+1){if(O>d){let A=b[p];g(A.children,A.positions,0,A.children.length,v[p]+F);continue}f.push(b[p])}else{let A=v[X-1]+b[X-1].length-E;f.push(Kh(n,b,v,p,X,E,A,null,l))}m.push(E+F-a)}}return g(e,t,r,i,0),(o||l)(f,m,s)}class ev{constructor(){this.map=new WeakMap}setBuffer(e,t,r){let i=this.map.get(e);i||this.map.set(e,i=new Map),i.set(t,r)}getBuffer(e,t){let r=this.map.get(e);return r&&r.get(t)}set(e,t){e instanceof Bn?this.setBuffer(e.context.buffer,e.index,t):e instanceof dn&&this.map.set(e.tree,t)}get(e){return e instanceof Bn?this.getBuffer(e.context.buffer,e.index):e instanceof dn?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class Zn{constructor(e,t,r,i,a=!1,s=!1){this.from=e,this.to=t,this.tree=r,this.offset=i,this.open=(a?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],r=!1){let i=[new Zn(0,e.length,e,0,!1,r)];for(let a of t)a.to>e.length&&i.push(a);return i}static applyChanges(e,t,r=128){if(!t.length)return e;let i=[],a=1,s=e.length?e[0]:null;for(let o=0,l=0,u=0;;o++){let d=o=r)for(;s&&s.from=m.from||f<=m.to||u){let g=Math.max(m.from,l)-u,b=Math.min(m.to,f)-u;m=g>=b?null:new Zn(g,b,m.tree,m.offset+u,o>0,!!d)}if(m&&i.push(m),s.to>f)break;s=anew sn(i.from,i.to)):[new sn(0,0)]:[new sn(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let i=this.startParse(e,t,r);for(;;){let a=i.advance();if(a)return a}}}class hN{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}function tv(n){return(e,t,r,i)=>new _N(e,n,t,r,i)}class sg{constructor(e,t,r,i,a){if(this.parser=e,this.parse=t,this.overlay=r,this.target=i,this.ranges=a,!a.length||a.some(s=>s.from>=s.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(a))}}class mN{constructor(e,t,r,i,a,s,o){this.parser=e,this.predicate=t,this.mounts=r,this.index=i,this.start=a,this.target=s,this.prev=o,this.depth=0,this.ranges=[]}}const sh=new Ze({perNode:!0});class _N{constructor(e,t,r,i,a){this.nest=t,this.input=r,this.fragments=i,this.ranges=a,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let r=this.baseParse.advance();if(!r)return null;if(this.baseParse=null,this.baseTree=r,this.startInner(),this.stoppedAt!=null)for(let i of this.inner)i.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let r=this.baseTree;return this.stoppedAt!=null&&(r=new St(r.type,r.children,r.positions,r.length,r.propValues.concat([[sh,this.stoppedAt]]))),r}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let r=Object.assign(Object.create(null),e.target.props);r[Ze.mounted.id]=new uN(t,e.overlay,e.parser),e.target.props=r}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;td.frag.from<=i.from&&d.frag.to>=i.to&&d.mount.overlay);if(u)for(let d of u.mount.overlay){let f=d.from+u.pos,m=d.to+u.pos;f>=i.from&&m<=i.to&&!t.ranges.some(g=>g.fromf)&&t.ranges.push({from:f,to:m})}}o=!1}else if(r&&(s=gN(r.ranges,i.from,i.to)))o=s!=2;else if(!i.type.isAnonymous&&i.fromnew sn(f.from-i.from,f.to-i.from)):null,i.tree,d)),a.overlay?d.length&&(r={ranges:d,depth:0,prev:r}):o=!1}}else t&&(l=t.predicate(i))&&(l===!0&&(l=new sn(i.from,i.to)),l.fromnew sn(d.from-t.start,d.to-t.start)),t.target,u)),t=t.prev}r&&!--r.depth&&(r=r.prev)}}}}function gN(n,e,t){for(let r of n){if(r.from>=t)break;if(r.to>e)return r.from<=e&&r.to>=t?2:1}return 0}function og(n,e,t,r,i,a){if(e=e.to);r++);let s=i.children[r],o=s.buffer;function l(u,d,f,m,g){let b=u;for(;o[b+2]+a<=e.from;)b=o[b+3];let v=[],y=[];og(s,u,b,v,y,m);let N=o[b+1],F=o[b+2],X=N+a==e.from&&F+a==e.to&&o[b]==e.type.id;return v.push(X?e.toTree():l(b+4,o[b+3],s.set.types[o[b]],N,F-N)),y.push(N-m),og(s,o[b+3],d,v,y,m),new St(f,v,y,g)}i.children[r]=l(0,o.length,rr.none,0,s.length);for(let u=0;u<=t;u++)n.childAfter(e.from)}class lg{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.cursor(Rt.IncludeAnonymous|Rt.IgnoreMounts)}moveTo(e){let{cursor:t}=this,r=e-this.offset;for(;!this.done&&t.from=e&&t.enter(r,1,Rt.IgnoreOverlays|Rt.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof St)t=t.children[0];else break}return!1}}let ON=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let r=this.curFrag=e[0];this.curTo=(t=r.tree.prop(sh))!==null&&t!==void 0?t:r.to,this.inner=new lg(r.tree,-r.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(sh))!==null&&e!==void 0?e:t.to,this.inner=new lg(t.tree,-t.offset)}}findMounts(e,t){var r;let i=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let a=this.inner.cursor.node;a;a=a.parent){let s=(r=a.tree)===null||r===void 0?void 0:r.prop(Ze.mounted);if(s&&s.parser==t)for(let o=this.fragI;o=a.to)break;l.tree==this.curFrag.tree&&i.push({frag:l,pos:a.from-l.offset,mount:s})}}}return i}};function cg(n,e){let t=null,r=e;for(let i=1,a=0;i=o)break;l.to<=s||(t||(r=t=e.slice()),l.fromo&&t.splice(a+1,0,new sn(o,l.to))):l.to>o?t[a--]=new sn(o,l.to):t.splice(a--,1))}}return r}function EN(n,e,t,r){let i=0,a=0,s=!1,o=!1,l=-1e9,u=[];for(;;){let d=i==n.length?1e9:s?n[i].to:n[i].from,f=a==e.length?1e9:o?e[a].to:e[a].from;if(s!=o){let m=Math.max(l,t),g=Math.min(d,f,r);mnew sn(m.from+r,m.to+r)),f=EN(e,d,l,u);for(let m=0,g=l;;m++){let b=m==f.length,v=b?u:f[m].from;if(v>g&&t.push(new Zn(g,v,i.tree,-s,a.from>=g||a.openStart,a.to<=v||a.openEnd)),b)break;g=f[m].to}}else t.push(new Zn(l,u,i.tree,-s,a.from>=s||a.openStart,a.to<=o||a.openEnd))}return t}let bN=class oh{constructor(e,t,r,i,a,s,o,l,u,d=0,f){this.p=e,this.stack=t,this.state=r,this.reducePos=i,this.pos=a,this.score=s,this.buffer=o,this.bufferBase=l,this.curContext=u,this.lookAhead=d,this.parent=f}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let i=e.parser.context;return new oh(e,[],t,r,r,0,[],0,i?new dg(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let r=e>>19,i=e&65535,{parser:a}=this.p,s=a.dynamicPrecedence(i);if(s&&(this.score+=s),r==0){this.pushState(a.getGoto(this.state,i,!0),this.reducePos),i=2e3&&!(!((t=this.p.parser.nodeSet.types[i])===null||t===void 0)&&t.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=u):this.p.lastBigReductionSizeo;)this.stack.pop();this.reduceContext(i,l)}storeNode(e,t,r,i=4,a=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&s.buffer[o-4]==0&&s.buffer[o-1]>-1){if(t==r)return;if(s.buffer[o-2]>=t){s.buffer[o-2]=r;return}}}if(!a||this.pos==r)this.buffer.push(e,t,r,i);else{let s=this.buffer.length;if(s>0&&this.buffer[s-4]!=0)for(;s>0&&this.buffer[s-2]>r;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,i>4&&(i-=4);this.buffer[s]=e,this.buffer[s+1]=t,this.buffer[s+2]=r,this.buffer[s+3]=i}}shift(e,t,r){let i=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=r,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,r,4);else{let a=e,{parser:s}=this.p;(r>this.pos||t<=s.maxNode)&&(this.pos=r,s.stateFlag(a,1)||(this.reducePos=r)),this.pushState(a,i),this.shiftContext(t,i),t<=s.maxNode&&this.buffer.push(t,i,r,4)}}apply(e,t,r){e&65536?this.reduce(e):this.shift(e,t,r)}useNode(e,t){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let i=this.pos;this.reducePos=this.pos=i+e.length,this.pushState(t,i),this.buffer.push(r,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let r=e.buffer.slice(t),i=e.bufferBase+t;for(;e&&i==e.bufferBase;)e=e.parent;return new oh(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,i,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,r?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new TN(this);;){let r=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(r==0)return!1;if(!(r&65536))return!0;t.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let i=[];for(let a=0,s;al&1&&o==s)||i.push(t[a],s)}t=i}let r=[];for(let i=0;i>19,i=t&65535,a=this.stack.length-r*3;if(a<0||e.getGoto(this.stack[a],i,!1)<0){let s=this.findForcedReduction();if(s==null)return!1;t=s}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],r=(i,a)=>{if(!t.includes(i))return t.push(i),e.allActions(i,s=>{if(!(s&393216))if(s&65536){let o=(s>>19)-a;if(o>1){let l=s&65535,u=this.stack.length-o*3;if(u>=0&&e.getGoto(this.stack[u],l,!1)>=0)return o<<19|65536|l}}else{let o=r(s,a+1);if(o!=null)return o}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}};class dg{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class TN{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let i=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=i}}class sl{constructor(e,t,r){this.stack=e,this.pos=t,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new sl(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new sl(this.stack,this.pos,this.index)}}function ds(n,e=Uint16Array){if(typeof n!="string")return n;let t=null;for(let r=0,i=0;r=92&&s--,s>=34&&s--;let l=s-32;if(l>=46&&(l-=46,o=!0),a+=l,o)break;a*=46}t?t[i++]=a:t=new e(a)}return t}class Yo{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const pg=new Yo;class CN{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=pg,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let r=this.range,i=this.rangeIndex,a=this.pos+e;for(;ar.to:a>=r.to;){if(i==this.ranges.length-1)return null;let s=this.ranges[++i];a+=s.from-r.to,r=s}return a}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,r,i;if(t>=0&&t=this.chunk2Pos&&ro.to&&(this.chunk2=this.chunk2.slice(0,o.to-r)),i=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),i}acceptToken(e,t=0){let r=t?this.resolveOffset(t,-1):this.pos;if(r==null||r=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=pg,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let r="";for(let i of this.ranges){if(i.from>=t)break;i.to>e&&(r+=this.input.read(Math.max(i.from,e),Math.min(i.to,t)))}return r}}class ba{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;rv(this.data,e,t,this.id,r.data,r.tokenPrecTable)}}ba.prototype.contextual=ba.prototype.fallback=ba.prototype.extend=!1;class ol{constructor(e,t,r){this.precTable=t,this.elseToken=r,this.data=typeof e=="string"?ds(e):e}token(e,t){let r=e.pos,i=0;for(;;){let a=e.next<0,s=e.resolveOffset(1,1);if(rv(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(a||i++,s==null)break;e.reset(s,e.token)}i&&(e.reset(r,e.token),e.acceptToken(this.elseToken,i))}}ol.prototype.contextual=ba.prototype.fallback=ba.prototype.extend=!1;class Gn{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function rv(n,e,t,r,i,a){let s=0,o=1<0){let b=n[g];if(l.allows(b)&&(e.token.value==-1||e.token.value==b||vN(b,e.token.value,i,a))){e.acceptToken(b);break}}let d=e.next,f=0,m=n[s+2];if(e.next<0&&m>f&&n[u+m*3-3]==65535&&n[u+m*3-3]==65535){s=n[u+m*3-1];continue e}for(;f>1,b=u+g+(g<<1),v=n[b],y=n[b+1]||65536;if(d=y)f=g+1;else{s=n[b+2],e.advance();continue e}}break}}function fg(n,e,t){for(let r=e,i;(i=n[r])!=65535;r++)if(i==t)return r-e;return-1}function vN(n,e,t,r){let i=fg(t,r,e);return i<0||fg(t,r,n)e)&&!r.type.isError)return t<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(n.length,Math.max(r.from+1,e+25));if(t<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return t<0?0:n.length}}let yN=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?hg(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?hg(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=s,null;if(a instanceof St){if(s==e){if(s=Math.max(this.safeFrom,e)&&(this.trees.push(a),this.start.push(s),this.index.push(0))}else this.index[t]++,this.nextStart=s+a.length}}};class AN{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Yo)}getActions(e){let t=0,r=null,{parser:i}=e.p,{tokenizers:a}=i,s=i.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,l=0;for(let u=0;uf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let m=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!d.extend&&(r=f,t>m))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!r&&e.pos==this.stream.end&&(r=new Yo,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,t=this.addActions(e,r.value,r.end,t)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Yo,{pos:r,p:i}=e;return t.start=r,t.end=Math.min(r+1,i.stream.end),t.value=r==i.stream.end?i.parser.eofTerm:0,t}updateCachedToken(e,t,r){let i=this.stream.clipPos(r.pos);if(t.token(this.stream.reset(i,e),r),e.value>-1){let{parser:a}=r.p;for(let s=0;s=0&&r.p.parser.dialect.allows(o>>1)){o&1?e.extended=o>>1:e.value=o>>1;break}}}else e.value=0,e.end=this.stream.clipPos(i+1)}putAction(e,t,r,i){for(let a=0;ae.bufferLength*4?new yN(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,r=this.stacks=[],i,a;if(this.bigReductionCount>300&&e.length==1){let[s]=e;for(;s.forceReduce()&&s.stack.length&&s.stack[s.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;st)r.push(o);else{if(this.advanceStack(o,r,e))continue;{i||(i=[],a=[]),i.push(o);let l=this.tokens.getMainToken(o);a.push(l.value,l.end)}}break}}if(!r.length){let s=i&&NN(i);if(s)return qr&&console.log("Finish with "+this.stackID(s)),this.stackToTree(s);if(this.parser.strict)throw qr&&i&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&i){let s=this.stoppedAt!=null&&i[0].pos>this.stoppedAt?i[0]:this.runRecovery(i,a,r);if(s)return qr&&console.log("Force-finish "+this.stackID(s)),this.stackToTree(s.forceAll())}if(this.recovering){let s=this.recovering==1?1:this.recovering*3;if(r.length>s)for(r.sort((o,l)=>l.score-o.score);r.length>s;)r.pop();r.some(o=>o.reducePos>t)&&this.recovering--}else if(r.length>1){e:for(let s=0;s500&&u.buffer.length>500)if((o.score-u.score||o.buffer.length-u.buffer.length)>0)r.splice(l--,1);else{r.splice(s--,1);continue e}}}r.length>12&&r.splice(12,r.length-12)}this.minStackPos=r[0].pos;for(let s=1;s ":"";if(this.stoppedAt!=null&&i>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let u=e.curContext&&e.curContext.tracker.strict,d=u?e.curContext.hash:0;for(let f=this.fragments.nodeAt(i);f;){let m=this.parser.nodeSet.types[f.type.id]==f.type?a.getGoto(e.state,f.type.id):-1;if(m>-1&&f.length&&(!u||(f.prop(Ze.contextHash)||0)==d))return e.useNode(f,m),qr&&console.log(s+this.stackID(e)+` (via reuse of ${a.getName(f.type.id)})`),!0;if(!(f instanceof St)||f.children.length==0||f.positions[0]>0)break;let g=f.children[0];if(g instanceof St&&f.positions[0]==0)f=g;else break}}let o=a.stateSlot(e.state,4);if(o>0)return e.reduce(o),qr&&console.log(s+this.stackID(e)+` (via always-reduce ${a.getName(o&65535)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let u=0;ui?t.push(b):r.push(b)}return!1}advanceFully(e,t){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return mg(e,t),!0}}runRecovery(e,t,r){let i=null,a=!1;for(let s=0;s ":"";if(o.deadEnd&&(a||(a=!0,o.restart(),qr&&console.log(d+this.stackID(o)+" (restarted)"),this.advanceFully(o,r))))continue;let f=o.split(),m=d;for(let g=0;f.forceReduce()&&g<10&&(qr&&console.log(m+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,r));g++)qr&&(m=this.stackID(f)+" -> ");for(let g of o.recoverByInsert(l))qr&&console.log(d+this.stackID(g)+" (via recover-insert)"),this.advanceFully(g,r);this.stream.end>o.pos?(u==o.pos&&(u++,l=0),o.recoverByDelete(l,u),qr&&console.log(d+this.stackID(o)+` (via recover-delete ${this.parser.getName(l)})`),mg(o,r)):(!i||i.scoren;class nv{constructor(e){this.start=e.start,this.shift=e.shift||Sc,this.reduce=e.reduce||Sc,this.reuse=e.reuse||Sc,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class wa extends jh{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let o=0;oe.topRules[o][1]),i=[];for(let o=0;o=0)a(d,l,o[u++]);else{let f=o[u+-d];for(let m=-d;m>0;m--)a(o[u++],l,f);u++}}}this.nodeSet=new Ws(t.map((o,l)=>rr.define({name:l>=this.minRepeatTerm?void 0:o,id:l,props:i[l],top:r.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=KC;let s=ds(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let o=0;otypeof o=="number"?new ba(s,o):o),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,r){let i=new RN(this,e,t,r);for(let a of this.wrappers)i=a(i,e,t,r);return i}getGoto(e,t,r=!1){let i=this.goto;if(t>=i[0])return-1;for(let a=i[t+1];;){let s=i[a++],o=s&1,l=i[a++];if(o&&r)return l;for(let u=a+(s>>1);a0}validAction(e,t){return!!this.allActions(e,r=>r==t?!0:null)}allActions(e,t){let r=this.stateSlot(e,4),i=r?t(r):void 0;for(let a=this.stateSlot(e,1);i==null;a+=3){if(this.data[a]==65535)if(this.data[a+1]==1)a=Vn(this.data,a+2);else break;i=t(Vn(this.data,a+1))}return i}nextStates(e){let t=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=Vn(this.data,r+2);else break;if(!(this.data[r+2]&1)){let i=this.data[r+1];t.some((a,s)=>s&1&&a==i)||t.push(this.data[r],i)}}return t}configure(e){let t=Object.assign(Object.create(wa.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=r}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(r=>{let i=e.tokenizers.find(a=>a.from==r);return i?i.to:r})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((r,i)=>{let a=e.specializers.find(o=>o.from==r.external);if(!a)return r;let s=Object.assign(Object.assign({},r),{external:a.to});return t.specializers[i]=_g(s),s})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),r=t.map(()=>!1);if(e)for(let a of e.split(" ")){let s=t.indexOf(a);s>=0&&(r[s]=!0)}let i=null;for(let a=0;ar)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scoren.external(t,r)<<1|e}return n.get}let DN=0;class Cn{constructor(e,t,r){this.set=e,this.base=t,this.modified=r,this.id=DN++}static define(e){if(e!=null&&e.base)throw new Error("Can not derive from a modified tag");let t=new Cn([],null,[]);if(t.set.push(t),e)for(let r of e.set)t.set.push(r);return t}static defineModifier(){let e=new ll;return t=>t.modified.indexOf(e)>-1?t:ll.get(t.base||t,t.modified.concat(e).sort((r,i)=>r.id-i.id))}}let wN=0;class ll{constructor(){this.instances=[],this.id=wN++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find(o=>o.base==e&&xN(t,o.modified));if(r)return r;let i=[],a=new Cn(i,e,t);for(let o of t)o.instances.push(a);let s=LN(t);for(let o of e.set)if(!o.modified.length)for(let l of s)i.push(ll.get(o,l));return a}}function xN(n,e){return n.length==e.length&&n.every((t,r)=>t==e[r])}function LN(n){let e=[[]];for(let t=0;tr.length-t.length)}function Qa(n){let e=Object.create(null);for(let t in n){let r=n[t];Array.isArray(r)||(r=[r]);for(let i of t.split(" "))if(i){let a=[],s=2,o=i;for(let f=0;;){if(o=="..."&&f>0&&f+3==i.length){s=1;break}let m=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(o);if(!m)throw new RangeError("Invalid path: "+i);if(a.push(m[0]=="*"?"":m[0][0]=='"'?JSON.parse(m[0]):m[0]),f+=m[0].length,f==i.length)break;let g=i[f++];if(f==i.length&&g=="!"){s=0;break}if(g!="/")throw new RangeError("Invalid path: "+i);o=i.slice(f)}let l=a.length-1,u=a[l];if(!u)throw new RangeError("Invalid path: "+i);let d=new cl(r,s,l>0?a.slice(0,l):null);e[u]=d.sort(e[u])}}return iv.add(e)}const iv=new Ze;class cl{constructor(e,t,r,i){this.tags=e,this.mode=t,this.context=r,this.next=i}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let s=i;for(let o of a)for(let l of o.set){let u=t[l.id];if(u){s=s?s+" "+u:u;break}}return s},scope:r}}function kN(n,e){let t=null;for(let r of n){let i=r.style(e);i&&(t=t?t+" "+i:i)}return t}function MN(n,e,t,r=0,i=n.length){let a=new PN(r,Array.isArray(e)?e:[e],t);a.highlightRange(n.cursor(),r,i,"",a.highlighters),a.flush(i)}class PN{constructor(e,t,r){this.at=e,this.highlighters=t,this.span=r,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,r,i,a){let{type:s,from:o,to:l}=e;if(o>=r||l<=t)return;s.isTop&&(a=this.highlighters.filter(g=>!g.scope||g.scope(s)));let u=i,d=BN(e)||cl.empty,f=kN(a,d.tags);if(f&&(u&&(u+=" "),u+=f,d.mode==1&&(i+=(i?" ":"")+f)),this.startSpan(Math.max(t,o),u),d.opaque)return;let m=e.tree&&e.tree.prop(Ze.mounted);if(m&&m.overlay){let g=e.node.enter(m.overlay[0].from+o,1),b=this.highlighters.filter(y=>!y.scope||y.scope(m.tree.type)),v=e.firstChild();for(let y=0,N=o;;y++){let F=y=X||!e.nextSibling())););if(!F||X>r)break;N=F.to+o,N>t&&(this.highlightRange(g.cursor(),Math.max(t,F.from+o),Math.min(r,N),"",b),this.startSpan(Math.min(r,N),u))}v&&e.parent()}else if(e.firstChild()){m&&(i="");do if(!(e.to<=t)){if(e.from>=r)break;this.highlightRange(e,t,r,i,a),this.startSpan(Math.min(r,e.to),u)}while(e.nextSibling());e.parent()}}}function BN(n){let e=n.type.prop(iv);for(;e&&e.context&&!n.matchContext(e.context);)e=e.next;return e||null}const Oe=Cn.define,Oo=Oe(),pi=Oe(),gg=Oe(pi),Sg=Oe(pi),fi=Oe(),Eo=Oe(fi),Oc=Oe(fi),wn=Oe(),Di=Oe(wn),Nn=Oe(),Dn=Oe(),lh=Oe(),ja=Oe(lh),bo=Oe(),P={comment:Oo,lineComment:Oe(Oo),blockComment:Oe(Oo),docComment:Oe(Oo),name:pi,variableName:Oe(pi),typeName:gg,tagName:Oe(gg),propertyName:Sg,attributeName:Oe(Sg),className:Oe(pi),labelName:Oe(pi),namespace:Oe(pi),macroName:Oe(pi),literal:fi,string:Eo,docString:Oe(Eo),character:Oe(Eo),attributeValue:Oe(Eo),number:Oc,integer:Oe(Oc),float:Oe(Oc),bool:Oe(fi),regexp:Oe(fi),escape:Oe(fi),color:Oe(fi),url:Oe(fi),keyword:Nn,self:Oe(Nn),null:Oe(Nn),atom:Oe(Nn),unit:Oe(Nn),modifier:Oe(Nn),operatorKeyword:Oe(Nn),controlKeyword:Oe(Nn),definitionKeyword:Oe(Nn),moduleKeyword:Oe(Nn),operator:Dn,derefOperator:Oe(Dn),arithmeticOperator:Oe(Dn),logicOperator:Oe(Dn),bitwiseOperator:Oe(Dn),compareOperator:Oe(Dn),updateOperator:Oe(Dn),definitionOperator:Oe(Dn),typeOperator:Oe(Dn),controlOperator:Oe(Dn),punctuation:lh,separator:Oe(lh),bracket:ja,angleBracket:Oe(ja),squareBracket:Oe(ja),paren:Oe(ja),brace:Oe(ja),content:wn,heading:Di,heading1:Oe(Di),heading2:Oe(Di),heading3:Oe(Di),heading4:Oe(Di),heading5:Oe(Di),heading6:Oe(Di),contentSeparator:Oe(wn),list:Oe(wn),quote:Oe(wn),emphasis:Oe(wn),strong:Oe(wn),link:Oe(wn),monospace:Oe(wn),strikethrough:Oe(wn),inserted:Oe(),deleted:Oe(),changed:Oe(),invalid:Oe(),meta:bo,documentMeta:Oe(bo),annotation:Oe(bo),processingInstruction:Oe(bo),definition:Cn.defineModifier(),constant:Cn.defineModifier(),function:Cn.defineModifier(),standard:Cn.defineModifier(),local:Cn.defineModifier(),special:Cn.defineModifier()};av([{tag:P.link,class:"tok-link"},{tag:P.heading,class:"tok-heading"},{tag:P.emphasis,class:"tok-emphasis"},{tag:P.strong,class:"tok-strong"},{tag:P.keyword,class:"tok-keyword"},{tag:P.atom,class:"tok-atom"},{tag:P.bool,class:"tok-bool"},{tag:P.url,class:"tok-url"},{tag:P.labelName,class:"tok-labelName"},{tag:P.inserted,class:"tok-inserted"},{tag:P.deleted,class:"tok-deleted"},{tag:P.literal,class:"tok-literal"},{tag:P.string,class:"tok-string"},{tag:P.number,class:"tok-number"},{tag:[P.regexp,P.escape,P.special(P.string)],class:"tok-string2"},{tag:P.variableName,class:"tok-variableName"},{tag:P.local(P.variableName),class:"tok-variableName tok-local"},{tag:P.definition(P.variableName),class:"tok-variableName tok-definition"},{tag:P.special(P.variableName),class:"tok-variableName2"},{tag:P.definition(P.propertyName),class:"tok-propertyName tok-definition"},{tag:P.typeName,class:"tok-typeName"},{tag:P.namespace,class:"tok-namespace"},{tag:P.className,class:"tok-className"},{tag:P.macroName,class:"tok-macroName"},{tag:P.propertyName,class:"tok-propertyName"},{tag:P.operator,class:"tok-operator"},{tag:P.comment,class:"tok-comment"},{tag:P.meta,class:"tok-meta"},{tag:P.invalid,class:"tok-invalid"},{tag:P.punctuation,class:"tok-punctuation"}]);const UN=303,Og=1,FN=2,YN=304,GN=306,QN=307,$N=3,qN=4,VN=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],sv=125,HN=59,Eg=47,zN=42,WN=43,XN=45,ZN=new nv({start:!1,shift(n,e){return e==$N||e==qN||e==GN?n:e==QN},strict:!1}),KN=new Gn((n,e)=>{let{next:t}=n;(t==sv||t==-1||e.context)&&n.acceptToken(YN)},{contextual:!0,fallback:!0}),jN=new Gn((n,e)=>{let{next:t}=n,r;VN.indexOf(t)>-1||t==Eg&&((r=n.peek(1))==Eg||r==zN)||t!=sv&&t!=HN&&t!=-1&&!e.context&&n.acceptToken(UN)},{contextual:!0}),JN=new Gn((n,e)=>{let{next:t}=n;if((t==WN||t==XN)&&(n.advance(),t==n.next)){n.advance();let r=!e.context&&e.canShift(Og);n.acceptToken(r?Og:FN)}},{contextual:!0}),e2=Qa({"get set async static":P.modifier,"for while do if else switch try catch finally return throw break continue default case":P.controlKeyword,"in of await yield void typeof delete instanceof":P.operatorKeyword,"let var const function class extends":P.definitionKeyword,"import export from":P.moduleKeyword,"with debugger as new":P.keyword,TemplateString:P.special(P.string),super:P.atom,BooleanLiteral:P.bool,this:P.self,null:P.null,Star:P.modifier,VariableName:P.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":P.function(P.variableName),VariableDefinition:P.definition(P.variableName),Label:P.labelName,PropertyName:P.propertyName,PrivatePropertyName:P.special(P.propertyName),"CallExpression/MemberExpression/PropertyName":P.function(P.propertyName),"FunctionDeclaration/VariableDefinition":P.function(P.definition(P.variableName)),"ClassDeclaration/VariableDefinition":P.definition(P.className),PropertyDefinition:P.definition(P.propertyName),PrivatePropertyDefinition:P.definition(P.special(P.propertyName)),UpdateOp:P.updateOperator,LineComment:P.lineComment,BlockComment:P.blockComment,Number:P.number,String:P.string,Escape:P.escape,ArithOp:P.arithmeticOperator,LogicOp:P.logicOperator,BitOp:P.bitwiseOperator,CompareOp:P.compareOperator,RegExp:P.regexp,Equals:P.definitionOperator,Arrow:P.function(P.punctuation),": Spread":P.punctuation,"( )":P.paren,"[ ]":P.squareBracket,"{ }":P.brace,"InterpolationStart InterpolationEnd":P.special(P.brace),".":P.derefOperator,", ;":P.separator,"@":P.meta,TypeName:P.typeName,TypeDefinition:P.definition(P.typeName),"type enum interface implements namespace module declare":P.definitionKeyword,"abstract global Privacy readonly override":P.modifier,"is keyof unique infer":P.operatorKeyword,JSXAttributeValue:P.attributeValue,JSXText:P.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":P.angleBracket,"JSXIdentifier JSXNameSpacedName":P.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":P.attributeName,"JSXBuiltin/JSXIdentifier":P.standard(P.tagName)}),t2={__proto__:null,export:14,as:19,from:27,default:30,async:35,function:36,extends:46,this:50,true:58,false:58,null:70,void:74,typeof:78,super:96,new:130,delete:146,yield:155,await:159,class:164,public:221,private:221,protected:221,readonly:223,instanceof:242,satisfies:245,in:246,const:248,import:280,keyof:335,unique:339,infer:345,is:381,abstract:401,implements:403,type:405,let:408,var:410,using:413,interface:419,enum:423,namespace:429,module:431,declare:435,global:439,for:458,of:467,while:470,with:474,do:478,if:482,else:484,switch:488,case:494,try:500,catch:504,finally:508,return:512,throw:516,break:520,continue:524,debugger:528},r2={__proto__:null,async:117,get:119,set:121,declare:181,public:183,private:183,protected:183,static:185,abstract:187,override:189,readonly:195,accessor:197,new:385},n2={__proto__:null,"<":137},i2=wa.deserialize({version:14,states:"$6tO`QUOOO%TQUOOO'WQWOOP(eOSOOO*sQ(CjO'#CfO*zOpO'#CgO+YO!bO'#CgO+hO07`O'#DZO-yQUO'#DaO.ZQUO'#DlO%TQUO'#DvO0_QUO'#EOOOQ(CY'#EW'#EWO0xQSO'#ETOOQO'#Ei'#EiOOQO'#Ic'#IcO1QQSO'#GkO1]QSO'#EhO1bQSO'#EhO3dQ(CjO'#JdO6TQ(CjO'#JeO6qQSO'#FWO6vQ#tO'#FoOOQ(CY'#F`'#F`O7RO&jO'#F`O7aQ,UO'#FvO8wQSO'#FuOOQ(CY'#Je'#JeOOQ(CW'#Jd'#JdO8|QSO'#GoOOQQ'#KP'#KPO9XQSO'#IPO9^Q(C[O'#IQOOQQ'#JQ'#JQOOQQ'#IU'#IUQ`QUOOO%TQUO'#DnO9fQUO'#DzO9mQUO'#D|O9SQSO'#GkO9tQ,UO'#ClO:SQSO'#EgO:_QSO'#ErO:dQ,UO'#F_O;RQSO'#GkOOQO'#KQ'#KQO;WQSO'#KQO;fQSO'#GsO;fQSO'#GtO;fQSO'#GvO9SQSO'#GyO<]QSO'#G|O=tQSO'#CbO>UQSO'#HYO>^QSO'#H`O>^QSO'#HbO`QUO'#HdO>^QSO'#HfO>^QSO'#HiO>cQSO'#HoO>hQ(C]O'#HuO%TQUO'#HwO>sQ(C]O'#HyO?OQ(C]O'#H{O9^Q(C[O'#H}O?ZQ(CjO'#CfO@]QWO'#DfQOQSOOO%TQUO'#D|O@sQSO'#EPO9tQ,UO'#EgOAOQSO'#EgOAZQ`O'#F_OOQQ'#Cd'#CdOOQ(CW'#Dk'#DkOOQ(CW'#Jh'#JhO%TQUO'#JhOOQO'#Jl'#JlOOQO'#I`'#I`OBZQWO'#E`OOQ(CW'#E_'#E_OCVQ(C`O'#E`OCaQWO'#ESOOQO'#Jk'#JkOCuQWO'#JlOESQWO'#ESOCaQWO'#E`PEaO?MpO'#C`POOO)CDo)CDoOOOO'#IV'#IVOElOpO,59ROOQ(CY,59R,59ROOOO'#IW'#IWOEzO!bO,59RO%TQUO'#D]OOOO'#IY'#IYOFYO07`O,59uOOQ(CY,59u,59uOFhQUO'#IZOF{QSO'#JfOH}QbO'#JfO+vQUO'#JfOIUQSO,59{OIlQSO'#EiOIyQSO'#JtOJUQSO'#JsOJUQSO'#JsOJ^QSO,5;VOJcQSO'#JrOOQ(CY,5:W,5:WOJjQUO,5:WOLkQ(CjO,5:bOM[QSO,5:jOMuQ(C[O'#JqOM|QSO'#JpO8|QSO'#JpONbQSO'#JpONjQSO,5;UONoQSO'#JpO!!wQbO'#JeOOQ(CY'#Cf'#CfO%TQUO'#EOO!#gQ`O,5:oOOQO'#Jm'#JmOOQO-EkOOQQ'#JY'#JYOOQQ,5>l,5>lOOQQ-EqQ(CjO,5:hOOQO,5@l,5@lO!?bQ,UO,5=VO!?pQ(C[O'#JZO8wQSO'#JZO!@RQ(C[O,59WO!@^QWO,59WO!@fQ,UO,59WO9tQ,UO,59WO!@qQSO,5;SO!@yQSO'#HXO!A[QSO'#KUO%TQUO,5;wO!7[QWO,5;yO!AdQSO,5=rO!AiQSO,5=rO!AnQSO,5=rO9^Q(C[O,5=rO;fQSO,5=bOOQO'#Cr'#CrO!A|QWO,5=_O!BUQ,UO,5=`O!BaQSO,5=bO!BfQ`O,5=eO!BnQSO'#KQO>cQSO'#HOO9SQSO'#HQO!BsQSO'#HQO9tQ,UO'#HSO!BxQSO'#HSOOQQ,5=h,5=hO!B}QSO'#HTO!CVQSO'#ClO!C[QSO,58|O!CfQSO,58|O!EkQUO,58|OOQQ,58|,58|O!E{Q(C[O,58|O%TQUO,58|O!HWQUO'#H[OOQQ'#H]'#H]OOQQ'#H^'#H^O`QUO,5=tO!HnQSO,5=tO`QUO,5=zO`QUO,5=|O!HsQSO,5>OO`QUO,5>QO!HxQSO,5>TO!H}QUO,5>ZOOQQ,5>a,5>aO%TQUO,5>aO9^Q(C[O,5>cOOQQ,5>e,5>eO!MXQSO,5>eOOQQ,5>g,5>gO!MXQSO,5>gOOQQ,5>i,5>iO!M^QWO'#DXO%TQUO'#JhO!M{QWO'#JhO!NjQWO'#DgO!N{QWO'#DgO##^QUO'#DgO##eQSO'#JgO##mQSO,5:QO##rQSO'#EmO#$QQSO'#JuO#$YQSO,5;WO#$_QWO'#DgO#$lQWO'#EROOQ(CY,5:k,5:kO%TQUO,5:kO#$sQSO,5:kO>cQSO,5;RO!@^QWO,5;RO!@fQ,UO,5;RO9tQ,UO,5;RO#${QSO,5@SO#%QQ!LQO,5:oOOQO-E<^-E<^O#&WQ(C`O,5:zOCaQWO,5:nO#&bQWO,5:nOCaQWO,5:zO!@RQ(C[O,5:nOOQ(CW'#Ec'#EcOOQO,5:z,5:zO%TQUO,5:zO#&oQ(C[O,5:zO#&zQ(C[O,5:zO!@^QWO,5:nOOQO,5;Q,5;QO#'YQ(C[O,5:zPOOO'#IT'#ITP#'nO?MpO,58zPOOO,58z,58zOOOO-EuO+vQUO,5>uOOQO,5>{,5>{O#(YQUO'#IZOOQO-E^QSO1G3jO$.OQUO1G3lO$2SQUO'#HkOOQQ1G3o1G3oO$2aQSO'#HqO>cQSO'#HsOOQQ1G3u1G3uO$2iQUO1G3uO9^Q(C[O1G3{OOQQ1G3}1G3}OOQ(CW'#GW'#GWO9^Q(C[O1G4PO9^Q(C[O1G4RO$6pQSO,5@SO!){QUO,5;XO8|QSO,5;XO>cQSO,5:RO!){QUO,5:RO!@^QWO,5:RO$6uQ$IUO,5:ROOQO,5;X,5;XO$7PQWO'#I[O$7gQSO,5@ROOQ(CY1G/l1G/lO$7oQWO'#IbO$7yQSO,5@aOOQ(CW1G0r1G0rO!N{QWO,5:ROOQO'#I_'#I_O$8RQWO,5:mOOQ(CY,5:m,5:mO#$vQSO1G0VOOQ(CY1G0V1G0VO%TQUO1G0VOOQ(CY1G0m1G0mO>cQSO1G0mO!@^QWO1G0mO!@fQ,UO1G0mOOQ(CW1G5n1G5nO!@RQ(C[O1G0YOOQO1G0f1G0fO%TQUO1G0fO$8YQ(C[O1G0fO$8eQ(C[O1G0fO!@^QWO1G0YOCaQWO1G0YO$8sQ(C[O1G0fOOQO1G0Y1G0YO$9XQ(CjO1G0fPOOO-EuO$9uQSO1G5lO$9}QSO1G5yO$:VQbO1G5zO8|QSO,5>{O$:aQ(CjO1G5wO%TQUO1G5wO$:qQ(C[O1G5wO$;SQSO1G5vO$;SQSO1G5vO8|QSO1G5vO$;[QSO,5?OO8|QSO,5?OOOQO,5?O,5?OO$;pQSO,5?OO$$QQSO,5?OOOQO-EqQ(CjO,5VOOQQ,5>V,5>VO%TQUO'#HlO%(SQSO'#HnOOQQ,5>],5>]O8|QSO,5>]OOQQ,5>_,5>_OOQQ7+)a7+)aOOQQ7+)g7+)gOOQQ7+)k7+)kOOQQ7+)m7+)mO%(XQWO1G5nO%(mQ$IUO1G0sO%(wQSO1G0sOOQO1G/m1G/mO%)SQ$IUO1G/mO>cQSO1G/mO!){QUO'#DgOOQO,5>v,5>vOOQO-E|,5>|OOQO-E<`-E<`O!@^QWO1G/mOOQO-E<]-E<]OOQ(CY1G0X1G0XOOQ(CY7+%q7+%qO#$vQSO7+%qOOQ(CY7+&X7+&XO>cQSO7+&XO!@^QWO7+&XOOQO7+%t7+%tO$9XQ(CjO7+&QOOQO7+&Q7+&QO%TQUO7+&QO%)^Q(C[O7+&QO!@RQ(C[O7+%tO!@^QWO7+%tO%)iQ(C[O7+&QO%)wQ(CjO7++cO%TQUO7++cO%*XQSO7++bO%*XQSO7++bOOQO1G4j1G4jO8|QSO1G4jO%*aQSO1G4jOOQO7+%y7+%yO#$vQSO<wOOQO-ExO%TQUO,5>xOOQO-E<[-E<[O%2aQSO1G5pOOQ(CY<QQ$IUO1G0xO%>XQ$IUO1G0xO%@PQ$IUO1G0xO%@dQ(CjO<WOOQQ,5>Y,5>YO%M}QSO1G3wO8|QSO7+&_O!){QUO7+&_OOQO7+%X7+%XO%NSQ$IUO1G5zO>cQSO7+%XOOQ(CY<cQSO<cQSO7+)cO&5kQSO<zAN>zO%TQUOAN?WOOQO<TQSOANAxOOQQANAzANAzO9^Q(C[OANAzO#MsQSOANAzOOQO'#HV'#HVOOQO7+*d7+*dOOQQG22tG22tOOQQANEOANEOOOQQANEPANEPOOQQANBSANBSO&>]QSOANBSOOQQ<bQSOLD,iO&>jQ$IUO7+'sO&@`Q$IUO7+'uO&BUQ,UOG26{OOQO<ROPYXXYXkYXyYXzYX|YX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(SYX(cYX(jYX(kYX!VYX!WYX~O#yYX~P#@lOP$[OX:XOk9{Oy#xOz#yO|#zO!e9}O!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO#k9|O#l9}O#m9}O#n:WO#o9}O#q:OO#s:QO#u:SO#v:TO(SVO(c$YO(j#{O(k#|O~O#y.hO~P#ByO#X:YO#{:YO#y(XX!W(XX~PN}O^'Za!V'Za'l'Za'j'Za!g'Za!S'Zao'Za!X'Za%a'Za!a'Za~P!7sOP#fiX#fi^#fik#fiz#fi!V#fi!e#fi!f#fi!h#fi!l#fi#g#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'l#fi(S#fi(c#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~P#,`O^#zi!V#zi'l#zi'j#zi!S#zi!g#zio#zi!X#zi%a#zi!a#zi~P!7sO$W.mO$Y.mO~O$W.nO$Y.nO~O!a)^O#X.oO!X$^X$T$^X$W$^X$Y$^X$a$^X~O!U.pO~O!X)aO$T.rO$W)`O$Y)`O$a.sO~O!V:UO!W(WX~P#ByO!W.tO~O!a)^O$a(lX~O$a.vO~Oq)pO(T)qO(U.yO~O!S.}O~P!&VO!VcX!acX!gcX!g$sX(ccX~P!/ZO!g/TO~P#,`O!V/UO!a#tO(c'fO!g(pX~O!g/ZO~O!U*RO'u%_O!g(pP~O#d/]O~O!S$sX!V$sX!a$zX~P!/ZO!V/^O!S(qX~P#,`O!a/`O~O!S/bO~Ok/fO!a#tO!h%]O(O%QO(c'fO~O'u/hO~O!a+XO~O^%fO!V/lO'l%fO~O!W/nO~P!3XO!]/oO!^/oO'v!kO(V!lO~O|/qO(V!lO~O#T/rO~O'u&POd'`X!V'`X~O!V*kOd(Pa~Od/wO~Oy/xOz/xO|/yOgva(jva(kva!Vva#Xva~Odva#yva~P$ aOy)uO|)vOg$la(j$la(k$la!V$la#X$la~Od$la#y$la~P$!VOy)uO|)vOg$na(j$na(k$na!V$na#X$na~Od$na#y$na~P$!xO#d/{O~Od$|a!V$|a#X$|a#y$|a~P!0dO!a#tO~O#d0OO~O!V*|O^(ua'l(ua~Oy#xOz#yO|#zO!f#vO!h#wO(SVOP!niX!nik!ni!V!ni!e!ni!l!ni#g!ni#h!ni#i!ni#j!ni#k!ni#l!ni#m!ni#n!ni#o!ni#q!ni#s!ni#u!ni#v!ni(c!ni(j!ni(k!ni~O^!ni'l!ni'j!ni!S!ni!g!nio!ni!X!ni%a!ni!a!ni~P$$gOg.TO!X'UO%a.SO~Oi0YO'u0XO~P!1UO!a+XO^'}a!X'}a'l'}a!V'}a~O#d0`O~OXYX!VcX!WcX~O!V0aO!W(yX~O!W0cO~OX0dO~O'u+aO'wTO'zUO~O!X%vO'u%_O]'hX!V'hX~O!V+fO](xa~O!g0iO~P!7sOX0lO~O]0mO~O#X0pO~Og0sO!X${O~O(V(sO!W(vP~Og0|O!X0yO%a0{O(O%QO~OX1WO!V1UO!W(wX~O!W1XO~O]1ZO^%fO'l%fO~O'u#lO'wTO'zUO~O#X$dO#{$dOP(XXX(XXk(XXy(XXz(XX|(XX!V(XX!e(XX!h(XX!l(XX#g(XX#h(XX#i(XX#j(XX#k(XX#l(XX#m(XX#n(XX#q(XX#s(XX#u(XX#v(XX(S(XX(c(XX(j(XX(k(XX~O#o1^O&R1_O^(XX!f(XX~P$+]O#X$dO#o1^O&R1_O~O^1aO~P%TO^1cO~O&[1fOP&YiQ&YiV&Yi^&Yia&Yib&Yii&Yik&Yil&Yim&Yis&Yiu&Yiw&Yi|&Yi!Q&Yi!R&Yi!X&Yi!c&Yi!h&Yi!k&Yi!l&Yi!m&Yi!o&Yi!q&Yi!t&Yi!x&Yi#p&Yi$Q&Yi$U&Yi%`&Yi%b&Yi%d&Yi%e&Yi%f&Yi%i&Yi%k&Yi%n&Yi%o&Yi%q&Yi%}&Yi&T&Yi&V&Yi&X&Yi&Z&Yi&^&Yi&d&Yi&j&Yi&l&Yi&n&Yi&p&Yi&r&Yi'j&Yi'u&Yi'w&Yi'z&Yi(S&Yi(b&Yi(o&Yi!W&Yi_&Yi&a&Yi~O_1lO!W1jO&a1kO~P`O!XXO!h1nO~O&h,iOP&ciQ&ciV&ci^&cia&cib&cii&cik&cil&cim&cis&ciu&ciw&ci|&ci!Q&ci!R&ci!X&ci!c&ci!h&ci!k&ci!l&ci!m&ci!o&ci!q&ci!t&ci!x&ci#p&ci$Q&ci$U&ci%`&ci%b&ci%d&ci%e&ci%f&ci%i&ci%k&ci%n&ci%o&ci%q&ci%}&ci&T&ci&V&ci&X&ci&Z&ci&^&ci&d&ci&j&ci&l&ci&n&ci&p&ci&r&ci'j&ci'u&ci'w&ci'z&ci(S&ci(b&ci(o&ci!W&ci&[&ci_&ci&a&ci~O!S1tO~O!V!Za!W!Za~P#ByOl!mO|!nO!U1zO(V!lO!V'OX!W'OX~P?wO!V,yO!W(Za~O!V'UX!W'UX~P!6{O!V,|O!W(ia~O!W2RO~P'WO^%fO#X2[O'l%fO~O^%fO!a#tO#X2[O'l%fO~O^%fO!a#tO!l2`O#X2[O'l%fO(c'fO~O^%fO'l%fO~P!7sO!V$`Oo$ka~O!S&}i!V&}i~P!7sO!V'zO!S(Yi~O!V(RO!S(gi~O!S(hi!V(hi~P!7sO!V(ei!g(ei^(ei'l(ei~P!7sO#X2bO!V(ei!g(ei^(ei'l(ei~O!V(_O!g(di~O|%`O!X%aO!x]O#b2gO#c2fO'u%_O~O|%`O!X%aO#c2fO'u%_O~Og2nO!X'UO%a2mO~Og2nO!X'UO%a2mO(O%QO~O#dvaPvaXva^vakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva'lva(Sva(cva!gva!Sva'jvaova!Xva%ava!ava~P$ aO#d$laP$laX$la^$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la'l$la(S$la(c$la!g$la!S$la'j$lao$la!X$la%a$la!a$la~P$!VO#d$naP$naX$na^$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na'l$na(S$na(c$na!g$na!S$na'j$nao$na!X$na%a$na!a$na~P$!xO#d$|aP$|aX$|a^$|ak$|az$|a!V$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a'l$|a(S$|a(c$|a!g$|a!S$|a'j$|a#X$|ao$|a!X$|a%a$|a!a$|a~P#,`O^#[q!V#[q'l#[q'j#[q!S#[q!g#[qo#[q!X#[q%a#[q!a#[q~P!7sOd'PX!V'PX~P!'oO!V.^Od(]a~O!U2vO!V'QX!g'QX~P%TO!V.aO!g(^a~O!V.aO!g(^a~P!7sO!S2yO~O#y!ja!W!ja~PJqO#y!ba!V!ba!W!ba~P#ByO#y!na!W!na~P!:^O#y!pa!W!pa~P!`O^#wy!V#wy'l#wy'j#wy!S#wy!g#wyo#wy!X#wy%a#wy!a#wy~P!7sOg;lOy)uO|)vO(j)xO(k)zO~OP#fiX#fik#fiz#fi!e#fi!f#fi!h#fi!l#fi#g#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(S#fi(c#fi!V#fi!W#fi~P%AWO!f#vOP(RXX(RXg(RXk(RXy(RXz(RX|(RX!e(RX!h(RX!l(RX#g(RX#h(RX#i(RX#j(RX#k(RX#l(RX#m(RX#n(RX#o(RX#q(RX#s(RX#u(RX#v(RX#y(RX(S(RX(c(RX(j(RX(k(RX!V(RX!W(RX~O#y#zi!V#zi!W#zi~P#ByO#y!ni!W!ni~P$$gO!W6_O~O!V'Za!W'Za~P#ByO!a#tO(c'fO!V'[a!g'[a~O!V/UO!g(pi~O!V/UO!a#tO!g(pi~Od$uq!V$uq#X$uq#y$uq~P!0dO!S'^a!V'^a~P#,`O!a6fO~O!V/^O!S(qi~P#,`O!V/^O!S(qi~O!S6jO~O!a#tO#o6oO~Ok6pO!a#tO(c'fO~O!S6rO~Od$wq!V$wq#X$wq#y$wq~P!0dO^$iy!V$iy'l$iy'j$iy!S$iy!g$iyo$iy!X$iy%a$iy!a$iy~P!7sO!a5jO~O!V4VO!X(ra~O^#[y!V#[y'l#[y'j#[y!S#[y!g#[yo#[y!X#[y%a#[y!a#[y~P!7sOX6wO~O!V0aO!W(yi~O]6}O~O(V(sO!V'cX!W'cX~O!V4mO!W(va~OikO'u7UO~P.bO!W7XO~P%$gOl!mO|7YO'wTO'zUO(V!lO(b!rO~O!X0yO~O!X0yO%a7[O~Og7_O!X0yO%a7[O~OX7dO!V'fa!W'fa~O!V1UO!W(wi~O!g7hO~O!g7iO~O!g7lO~O!g7lO~P%TO^7nO~O!a7oO~O!g7pO~O!V(hi!W(hi~P#ByO^%fO#X7xO'l%fO~O!V(ey!g(ey^(ey'l(ey~P!7sO!V(_O!g(dy~O!X'UO%a7{O~O#d$uqP$uqX$uq^$uqk$uqz$uq!V$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq'l$uq(S$uq(c$uq!g$uq!S$uq'j$uq#X$uqo$uq!X$uq%a$uq!a$uq~P#,`O#d$wqP$wqX$wq^$wqk$wqz$wq!V$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq'l$wq(S$wq(c$wq!g$wq!S$wq'j$wq#X$wqo$wq!X$wq%a$wq!a$wq~P#,`O!V'Qi!g'Qi~P!7sO#y#[q!V#[q!W#[q~P#ByOy/xOz/xO|/yOPvaXvagvakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva#yva(Sva(cva(jva(kva!Vva!Wva~Oy)uO|)vOP$laX$lag$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la#y$la(S$la(c$la(j$la(k$la!V$la!W$la~Oy)uO|)vOP$naX$nag$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na#y$na(S$na(c$na(j$na(k$na!V$na!W$na~OP$|aX$|ak$|az$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a#y$|a(S$|a(c$|a!V$|a!W$|a~P%AWO#y$hq!V$hq!W$hq~P#ByO#y$iq!V$iq!W$iq~P#ByO!W8VO~O#y8WO~P!0dO!a#tO!V'[i!g'[i~O!a#tO(c'fO!V'[i!g'[i~O!V/UO!g(pq~O!S'^i!V'^i~P#,`O!V/^O!S(qq~O!S8^O~P#,`O!S8^O~Od(Qy!V(Qy~P!0dO!V'aa!X'aa~P#,`O^%Tq!X%Tq'l%Tq!V%Tq~P#,`OX8cO~O!V0aO!W(yq~O#X8gO!V'ca!W'ca~O!V4mO!W(vi~P#ByOPYXXYXkYXyYXzYX|YX!SYX!VYX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(SYX(cYX(jYX(kYX~O!a%RX#o%RX~P&2WO!X0yO%a8kO~O'wTO'zUO(V8pO~O!V1UO!W(wq~O!g8sO~O!g8tO~O!g8uO~O!g8uO~P%TO#X8xO!V#ay!W#ay~O!V#ay!W#ay~P#ByO!X'UO%a8}O~O#y#wy!V#wy!W#wy~P#ByOP$uiX$uik$uiz$ui!e$ui!f$ui!h$ui!l$ui#g$ui#h$ui#i$ui#j$ui#k$ui#l$ui#m$ui#n$ui#o$ui#q$ui#s$ui#u$ui#v$ui#y$ui(S$ui(c$ui!V$ui!W$ui~P%AWOy)uO|)vO(k)zOP%XiX%Xig%Xik%Xiz%Xi!e%Xi!f%Xi!h%Xi!l%Xi#g%Xi#h%Xi#i%Xi#j%Xi#k%Xi#l%Xi#m%Xi#n%Xi#o%Xi#q%Xi#s%Xi#u%Xi#v%Xi#y%Xi(S%Xi(c%Xi(j%Xi!V%Xi!W%Xi~Oy)uO|)vOP%ZiX%Zig%Zik%Ziz%Zi!e%Zi!f%Zi!h%Zi!l%Zi#g%Zi#h%Zi#i%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#q%Zi#s%Zi#u%Zi#v%Zi#y%Zi(S%Zi(c%Zi(j%Zi(k%Zi!V%Zi!W%Zi~O#y$iy!V$iy!W$iy~P#ByO#y#[y!V#[y!W#[y~P#ByO!a#tO!V'[q!g'[q~O!V/UO!g(py~O!S'^q!V'^q~P#,`O!S9UO~P#,`O!V0aO!W(yy~O!V4mO!W(vq~O!X0yO%a9]O~O!g9`O~O!X'UO%a9eO~OP$uqX$uqk$uqz$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq#y$uq(S$uq(c$uq!V$uq!W$uq~P%AWOP$wqX$wqk$wqz$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq#y$wq(S$wq(c$wq!V$wq!W$wq~P%AWOd%]!Z!V%]!Z#X%]!Z#y%]!Z~P!0dO!V'cq!W'cq~P#ByO!V#a!Z!W#a!Z~P#ByO#d%]!ZP%]!ZX%]!Z^%]!Zk%]!Zz%]!Z!V%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z'l%]!Z(S%]!Z(c%]!Z!g%]!Z!S%]!Z'j%]!Z#X%]!Zo%]!Z!X%]!Z%a%]!Z!a%]!Z~P#,`OP%]!ZX%]!Zk%]!Zz%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z#y%]!Z(S%]!Z(c%]!Z!V%]!Z!W%]!Z~P%AWOo(WX~P1jO'v!kO~P!){O!ScX!VcX#XcX~P&2WOPYXXYXkYXyYXzYX|YX!VYX!VcX!eYX!fYX!hYX!lYX#XYX#XcX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(SYX(cYX(jYX(kYX~O!acX!gYX!gcX(ccX~P&GnOP9pOQ9pOa;aOb!hOikOk9pOlkOmkOskOu9pOw9pO|WO!QkO!RkO!XXO!c9sO!hZO!k9pO!l9pO!m9pO!o9tO!q9wO!t!gO$Q!jO$UfO'u)TO'wTO'zUO(SVO(b[O(o;_O~O!V:UO!W$ka~Oi%ROk$sOl$rOm$rOs%SOu%TOw:[O|$zO!X${O!c;fO!h$wO#c:bO$Q%XO$m:^O$o:`O$r%YO'u(kO'wTO'zUO(O%QO(S$tO~O#p)[O~P&LdO!WYX!WcX~P&GnO#d9xO~O!a#tO#d9xO~O#X:YO~O#o9}O~O#X:dO!V(hX!W(hX~O#X:YO!V(fX!W(fX~O#d:eO~Od:gO~P!0dO#d:lO~O#d:mO~O!a#tO#d:nO~O!a#tO#d:eO~O#y:oO~P#ByO#d:pO~O#d:qO~O#d:rO~O#d:sO~O#d:tO~O#d:uO~O#y:vO~P!0dO#y:wO~P!0dO$U~!f!|!}#P#Q#T#b#c#n(o$m$o$r%U%`%a%b%i%k%n%o%q%s~'pR$U(o#h!R'n'v#il#g#jky'o(V'o'u$W$Y$W~",goto:"$&a(}PPPP)OP)RP)cP*r.uPPPP5UPP5kP;f>mP?QP?QPPP?QP@rP?QP?QP?QP@vPP@{PAfPF]PPPFaPPPPFaIaPPPIgJbPFaPLoPPPPN}FaPPPFaPFaP!#]FaP!&p!'r!'{P!(n!(r!(nPPPPP!+|!'rPP!,j!-dP!0WFaFa!0]!3f!7z!7z!;oPPP!;vFaPPPPPPPPPPP!?SP!@ePPFa!ArPFaPFaFaFaFaPFa!CUPP!F]P!I`P!Id!In!Ir!IrP!FYP!Iv!IvP!LyP!L}FaFa!MT#!V?QP?QP?Q?QP##a?Q?Q#%]?Q#'l?Q#)b?Q?Q#*O#+|#+|#,Q#,Y#+|#,bP#+|P?Q#,z?Q#.T?Q?Q5UPPP#/aPPP#/y#/yP#/yP#0`#/yPP#0fP#0]P#0]#0x#0]#1d#1j5R)R#1m)RP#1t#1t#1tP)RP)RP)RP)RPP)RP#1z#1}P#1})RP#2RP#2UP)RP)RP)RP)RP)RP)R)RPP#2[#2b#2l#2r#2x#3O#3U#3d#3j#3p#3z#4Q#4[#4k#4q#5b#5t#5z#6Q#6`#6u#8W#8f#8l#8r#8x#9O#9Y#9`#9f#9p#:S#:YPPPPPPPPPP#:`PPPPPPP#;S#>ZP#?j#?q#?yPPPP#DX#F}#Me#Mh#Mk#Nd#Ng#Nj#Nq#NyPP$ P$ T$ {$!z$#O$#dPP$#h$#n$#rP$#u$#y$#|$$r$%Y$%p$%t$%w$%z$&Q$&T$&X$&]R!zRmqOXs!Y#b%e&h&j&k&m,a,f1f1iY!tQ'U-R0y4tQ%kuQ%sxQ%z{Q&`!US&|!d,yQ'[!hS'b!q!wS*^${*cQ+_%tQ+l%|Q,Q&YQ-P'TQ-Z']Q-c'cQ/o*eQ1T,RR:c9t$|dOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{,^,a,f-V-_-m-s.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2v4q4{5]5^5a5t7Y7_7n7xS#o]9q!r)V$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ*n%UQ+d%vQ,S&]Q,Z&eQ.W:ZQ0V+VQ0Z+XQ0f+eQ1],XQ2j.TQ4_0aQ5S1UQ6Q2nQ6W:[Q6y4`R8O6R&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bt!mQ!q!t!w!x&|'T'U'b'c'd,y-P-R-c0y4t4v$^$ri#t#v$b$c$w$z%V%W%[)p)v)y){)|*T*Z*i*j+U+X+p+s.S.^/O/]/^/`/{0p0s0{2m3e3o3w3}4V4X4z6O6f6o7[7{8W8k8}9]9e:W:X:]:^:_:`:a:b:h:i:j:k:l:m:p:q:r:s:v:w;_;g;h;k;lQ%}{Q&z!dS'Q%a,|Q+d%vQ/z*rQ0f+eQ0k+kQ1[,WQ1],XQ4_0aQ4h0mQ5V1WQ5W1ZQ6y4`Q6|4eQ7g5YQ8f6}R8q7dpnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iR,U&a&t^OPXYstuvy!Y!_!f!i!n#Q#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y'W'h'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;a;b[#ZWZ#U#X&}'x!S%bm#f#g#j%]%`(R(](^(_*y*z*|,],s-q-w-x-y-{1n2f2g5j5{Q%nwQ%rxS%w{%|Q&T!SQ'X!gQ'Z!hQ(f#qS*Q$w*US+^%s%tQ+b%vQ+{&WQ,P&YS-Y'[']Q.V(gQ/Y*RQ0_+_Q0e+eQ0g+fQ0j+jQ1O+|S1S,Q,RQ2W-ZQ3f/UQ4^0aQ4b0dQ4g0lQ5R1TQ6c3gQ6x4`Q6{4dQ8b6wR9W8cv$yi#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;h!S%px!h!s%r%s%t&{'Z'[']'a'k*]+^+_,v-Y-Z-b/g0_2P2W2_3yQ+W%nQ+q&QQ+t&RQ,O&YQ.U(fQ0}+{U1R,P,Q,RQ2o.VQ4|1OS5Q1S1TQ7c5R#O;c#t$b$c$w$z)p)v)|*Z+U+X+p+s.S/O/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lg;d:W:X:^:`:b:i:k:m:q:s:wW%Oi%Q*k;_S&Q!P&_Q&R!QQ&S!RR+o&O$_$}i#t#v$b$c$w$z%V%W%[)p)v)y){)|*T*Z*i*j+U+X+p+s.S.^/O/]/^/`/{0p0s0{2m3e3o3w3}4V4X4z6O6f6o7[7{8W8k8}9]9e:W:X:]:^:_:`:a:b:h:i:j:k:l:m:p:q:r:s:v:w;_;g;h;k;lT)q$t)rV*o%U:Z:[U'Q!d%a,|S(t#x#yQ+i%yS.O(b(cQ0t+uQ4O/xR7R4m&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;b$i$_c#W#c%i%j%l'w'}(i(p(x(y(z({(|(})O)P)Q)R)S)U)X)])g+S+h,w-f-k-p-r.].c.g.i.j.k.z/|1u1x2Y2a2u2z2{2|2}3O3P3Q3R3S3T3U3V3W3Z3[3a4S4[5m5s5x6U6V6[6]7T7r7v8P8T8U8z9Y9a9r;UT#RV#S&{kOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ'O!dR1{,yv!mQ!d!q!t!w!x&|'T'U'b'c'd,y-P-R-c0y4t4vS*]${*cS/g*^*eQ/p*fQ0v+wQ3y/oR3|/rlqOXs!Y#b%e&h&j&k&m,a,f1f1iQ&o!]Q'l!vS(h#s9xQ+[%qQ+y&TQ+z&VQ-W'YQ-e'eS.[(m:eS/}*w:nQ0]+]Q0x+xQ1m,hQ1o,iQ1w,tQ2U-XQ2X-]S4T0O:tQ4Y0^S4]0`:uQ5l1yQ5p2VQ5u2^Q6v4ZQ7s5nQ7t5qQ7w5vR8w7p$d$^c#W#c%j%l'w'}(i(p(x(y(z({(|(})O)P)Q)R)S)U)X)])g+S+h,w-f-k-p-r.].c.g.j.k.z/|1u1x2Y2a2u2z2{2|2}3O3P3Q3R3S3T3U3V3W3Z3[3a4S4[5m5s5x6U6V6[6]7T7r7v8P8T8U8z9Y9a9r;US(e#n'_U*h$|(l3YS+R%i.iQ2k0VQ5}2jQ7}6QR9O8O$d$]c#W#c%j%l'w'}(i(p(x(y(z({(|(})O)P)Q)R)S)U)X)])g+S+h,w-f-k-p-r.].c.g.j.k.z/|1u1x2Y2a2u2z2{2|2}3O3P3Q3R3S3T3U3V3W3Z3[3a4S4[5m5s5x6U6V6[6]7T7r7v8P8T8U8z9Y9a9r;US(d#n'_S(v#y$^S+Q%i.iS.P(c(eQ.l)WQ0S+RR2h.Q&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bS#o]9qQ&j!WQ&k!XQ&m!ZQ&n![R1e,dQ'V!gQ+T%nQ-U'XS.R(f+WQ2S-TW2l.U.V0U0WQ5o2TU5|2i2k2oS7z5}6PS8|7|7}S9c8{9OQ9k9dR9n9lU!uQ'U-RT4r0y4t!O_OXZ`s!U!Y#b#f%]%e&_&a&h&j&k&m(_,a,f-x1f1i]!oQ!q'U-R0y4tT#o]9q%WzOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xS(t#x#yS.O(b(c!s:{$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bY!sQ'U-R0y4tQ'a!qS'k!t!wS'm!x4vS-b'b'cQ-d'dR2_-cQ'j!sS(Z#e1`S-a'a'mQ/X*QQ/e*]Q2`-dQ3k/YS3t/f/pQ6b3fS6m3z3|Q8Y6cR8a6pQ#ubQ'i!sS(Y#e1`S([#k*vQ*x%^Q+Y%oQ+`%uU-`'a'j'mQ-t(ZQ/W*QQ/d*]Q/j*`Q0[+ZQ1P+}S2]-a-dQ2e-|S3j/X/YS3s/e/pQ3v/iQ3x/kQ5O1QQ5w2`Q6a3fQ6e3kS6i3t3|Q6n3{Q7a5PS8X6b6cQ8]6jQ8_6mQ8n7bQ9S8YQ9T8^Q9V8aQ9_8oQ9g9UQ;O:yQ;Z;SR;[;TV!uQ'U-R%WaOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xS#uy!i!r:x$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bR;O;a%WbOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xQ%^j!S%ox!h!s%r%s%t&{'Z'[']'a'k*]+^+_,v-Y-Z-b/g0_2P2W2_3yS%uy!iQ+Z%pQ+}&YW1Q,O,P,Q,RU5P1R1S1TS7b5Q5RQ8o7c!r:y$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ;S;`R;T;a$zeOPXYstuv!Y!_!f!n#Q#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&h&j&k&m&q&y'W'h'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xY#`WZ#U#X'x!S%bm#f#g#j%]%`(R(](^(_*y*z*|,],s-q-w-x-y-{1n2f2g5j5{Q,[&e!p:z$Z$l)i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bR:}&}S'R!d%aR1},|$|dOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{,^,a,f-V-_-m-s.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2v4q4{5]5^5a5t7Y7_7n7x!r)V$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ,Z&eQ0V+VQ2j.TQ6Q2nR8O6R!f$Tc#W%i'w'}(i(p)P)Q)R)S)X)]+h-f-k-p-r.].c.z/|2Y2a2u3W4S4[5s5x6U7v8z9r!T:P)U)g,w.i1u1x2z3S3T3U3V3Z3a5m6V6[6]7T7r8P8T8U9Y9a;U!b$Vc#W%i'w'}(i(p)R)S)X)]+h-f-k-p-r.].c.z/|2Y2a2u3W4S4[5s5x6U7v8z9r!P:R)U)g,w.i1u1x2z3U3V3Z3a5m6V6[6]7T7r8P8T8U9Y9a;U!^$Zc#W%i'w'}(i(p)X)]+h-f-k-p-r.].c.z/|2Y2a2u3W4S4[5s5x6U7v8z9rQ3e/Sz;b)U)g,w.i1u1x2z3Z3a5m6V6[6]7T7r8P8T8U9Y9a;UQ;g;iR;h;j&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bS$mh$nR3^.o'RgOPWXYZhstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l$n%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.o.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bT$if$oQ$gfS)`$j)dR)l$oT$hf$oT)b$j)d'RhOPWXYZhstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l$n%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.o.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bT$mh$nQ$phR)k$n%WjOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7x!s;`$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;b#alOPXZs!Y!_!n#Q#b#m#z$l%e&a&d&e&h&j&k&m&q&y'W(u)i*{+V,^,a,f-V.T.p/y0|1^1_1a1c1f1i1k2n3]4q4{5]5^5a6R7Y7_7nv$|i#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;h#O(l#t$b$c$w$z)p)v)|*Z+U+X+p+s.S/O/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lQ*s%YQ.{)ug3Y:W:X:^:`:b:i:k:m:q:s:wv$xi#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;hQ*V$yS*`${*cQ*t%ZQ/k*a#O;Q#t$b$c$w$z)p)v)|*Z+U+X+p+s.S/O/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lf;R:W:X:^:`:b:i:k:m:q:s:wQ;V;cQ;W;dQ;X;eR;Y;fv$|i#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;h#O(l#t$b$c$w$z)p)v)|*Z+U+X+p+s.S/O/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lg3Y:W:X:^:`:b:i:k:m:q:s:wloOXs!Y#b%e&h&j&k&m,a,f1f1iQ*Y$zQ,o&tQ,p&vR3n/^$^$}i#t#v$b$c$w$z%V%W%[)p)v)y){)|*T*Z*i*j+U+X+p+s.S.^/O/]/^/`/{0p0s0{2m3e3o3w3}4V4X4z6O6f6o7[7{8W8k8}9]9e:W:X:]:^:_:`:a:b:h:i:j:k:l:m:p:q:r:s:v:w;_;g;h;k;lQ+r&RQ0r+tQ4k0qR7Q4lT*b${*cS*b${*cT4s0y4tS/i*_4qT3{/q7YQ+Y%oQ/j*`Q0[+ZQ1P+}Q5O1QQ7a5PQ8n7bR9_8on)y$u(n*u/[/s/t2s3l4R6`6q9R;P;];^!Y:h(j)Z*P*X.Z.w.|/S/a0T0o0q2r3m3q4j4l6S6T6g6k6s6u8[8`9f;i;j]:i3X6Z8Q9P9Q9op){$u(n*u/Q/[/s/t2s3l4R6`6q9R;P;];^![:j(j)Z*P*X.Z.w.|/S/a0T0o0q2p2r3m3q4j4l6S6T6g6k6s6u8[8`9f;i;j_:k3X6Z8Q8R9P9Q9opnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iQ&[!TR,^&epnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iR&[!TQ+v&SR0n+oqnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iQ0z+{S4y0}1OU7Z4w4x4|S8j7]7^S9Z8i8lQ9h9[R9m9iQ&c!UR,V&_R5V1WS%w{%|R0g+fQ&h!VR,a&iR,g&nT1g,f1iR,k&oQ,j&oR1p,kQ'o!yR-g'oQsOQ#bXT%hs#bQ!|TR'q!|Q#PUR's#PQ)r$tR.x)rQ#SVR'u#SQ#VWU'{#V'|-nQ'|#WR-n'}Q,z'OR1|,zQ._(nR2t._Q.b(pS2w.b2xR2x.cQ-R'UR2Q-RY!qQ'U-R0y4tR'`!qS#]W%`U(S#](T-oQ(T#^R-o(OQ,}'RR2O,}r`OXs!U!Y#b%e&_&a&h&j&k&m,a,f1f1iS#fZ%]U#p`#f-xR-x(_Q(`#hQ-u([W-}(`-u2c5yQ2c-vR5y2dQ)d$jR.q)dQ$nhR)j$nQ$acU)Y$a-j:VQ-j9rR:V)gQ/V*QW3h/V3i6d8ZU3i/W/X/YS6d3j3kR8Z6e#o)w$u(j(n)Z*P*X*p*q*u.X.Y.Z.w.|/Q/R/S/[/a/s/t0T0o0q2p2q2r2s3X3l3m3q4R4j4l6S6T6X6Y6Z6`6g6k6q6s6u8Q8R8S8[8`9P9Q9R9f9o;P;];^;i;jQ/_*XU3p/_3r6hQ3r/aR6h3qQ*c${R/m*cQ*l%PR/v*lQ4W0TR6t4WQ*}%cR0R*}Q4n0tS7S4n8hR8h7TQ+x&TR0w+xQ4t0yR7W4tQ1V,SS5T1V7eR7e5VQ0b+bW4a0b4c6z8dQ4c0eQ6z4bR8d6{Q+g%wR0h+gQ1i,fR5e1iWrOXs#bQ&l!YQ+P%eQ,`&hQ,b&jQ,c&kQ,e&mQ1d,aS1g,f1iR5d1fQ%gpQ&p!^Q&s!`Q&u!aQ&w!bQ'g!sQ+O%dQ+[%qQ+n%}Q,U&cQ,m&rW-^'a'i'j'mQ-e'eQ/l*bQ0]+]S1Y,V,YQ1q,lQ1r,oQ1s,pQ2X-]W2Z-`-a-d-fQ4Y0^Q4f0kQ4i0oQ4}1PQ5X1[Q5c1eU5r2Y2]2`Q5u2^Q6v4ZQ7O4hQ7P4jQ7V4sQ7`5OQ7f5WS7u5s5wQ7w5vQ8e6|Q8m7aQ8r7gQ8y7vQ9X8fQ9^8nQ9b8zR9j9_Q%qxQ'Y!hQ'e!sU+]%r%s%tQ,t&{U-X'Z'[']S-]'a'kQ/c*]S0^+^+_Q1y,vS2V-Y-ZQ2^-bQ3u/gQ4Z0_Q5n2PQ5q2WQ5v2_R6l3yS$vi;_R*m%QU%Pi%Q;_R/u*kQ$uiS(j#t+XQ(n#vS)Z$b$cQ*P$wQ*X$zQ*p%VQ*q%WQ*u%[Q.X:]Q.Y:_Q.Z:aQ.w)pS.|)v/OQ/Q)yQ/R){Q/S)|Q/[*TQ/a*ZQ/s*iQ/t*jh0T+U.S0{2m4z6O7[7{8k8}9]9eQ0o+pQ0q+sQ2p:hQ2q:jQ2r:lQ2s.^S3X:W:XQ3l/]Q3m/^Q3q/`Q4R/{Q4j0pQ4l0sQ6S:pQ6T:rQ6X:^Q6Y:`Q6Z:bQ6`3eQ6g3oQ6k3wQ6q3}Q6s4VQ6u4XQ8Q:mQ8R:iQ8S:kQ8[6fQ8`6oQ9P:qQ9Q:sQ9R8WQ9f:vQ9o:wQ;P;_Q;];gQ;^;hQ;i;kR;j;llpOXs!Y#b%e&h&j&k&m,a,f1f1iQ!ePS#dZ#mQ&r!_U'^!n4q7YQ't#QQ(w#zQ)h$lS,Y&a&dQ,_&eQ,l&qQ,q&yQ-T'WQ.e(uQ.u)iQ0P*{Q0W+VQ1b,^Q2T-VQ2k.TQ3`.pQ4P/yQ4x0|Q5Z1^Q5[1_Q5`1aQ5b1cQ5g1kQ5}2nQ6^3]Q7^4{Q7j5]Q7k5^Q7m5aQ7}6RQ8l7_R8v7n#UcOPXZs!Y!_!n#b#m#z%e&a&d&e&h&j&k&m&q&y'W(u*{+V,^,a,f-V.T/y0|1^1_1a1c1f1i1k2n4q4{5]5^5a6R7Y7_7nQ#WWQ#cYQ%itQ%juS%lv!fS'w#U'zQ'}#XQ(i#sQ(p#wQ(x#}Q(y$OQ(z$PQ({$QQ(|$RQ(}$SQ)O$TQ)P$UQ)Q$VQ)R$WQ)S$XQ)U$ZQ)X$`Q)]$dW)g$l)i.p3]Q+S%kQ+h%xS,w&}1zQ-f'hS-k'x-mQ-p(QQ-r(XQ.](mQ.c(qQ.g9pQ.i9sQ.j9tQ.k9wQ.z)tQ/|*wQ1u,rQ1x,uQ2Y-_Q2a-sQ2u.aQ2z9xQ2{9yQ2|9zQ2}9{Q3O9|Q3P9}Q3Q:OQ3R:PQ3S:QQ3T:RQ3U:SQ3V:TQ3W.hQ3Z:YQ3[:cQ3a:UQ4S0OQ4[0`Q5m:dQ5s2[Q5x2bQ6U2vQ6V:eQ6[:gQ6]:nQ7T4oQ7r5kQ7v5tQ8P:oQ8T:tQ8U:uQ8z7xQ9Y8gQ9a8xQ9r#QR;U;bR#YWR'P!dY!sQ'U-R0y4tS&{!d,yQ'a!qS'k!t!wS'm!x4vS,v&|'TS-b'b'cQ-d'dQ2P-PR2_-cR(o#vR(r#wQ!eQT-Q'U-R]!pQ!q'U-R0y4tQ#n]R'_9qT#iZ%]S#hZ%]S%cm,]U([#f#g#jS-v(](^Q-z(_Q0Q*|Q2d-wU2e-x-y-{S5z2f2gR7y5{`#[W#U#X%`'x(R*y-qr#eZm#f#g#j%](](^(_*|-w-x-y-{2f2g5{Q1`,]Q1v,sQ5i1nQ7q5jT:|&}*zT#_W%`S#^W%`S'y#U(RS(O#X*yS,x&}*zT-l'x-qT'S!d%aQ$jfR)n$oT)c$j)dR3_.oT*S$w*UR*[$zQ0U+UQ2i.SQ4w0{Q6P2mQ7]4zQ7|6OQ8i7[Q8{7{Q9[8kQ9d8}Q9i9]R9l9elqOXs!Y#b%e&h&j&k&m,a,f1f1iQ&b!UR,U&_rmOXs!T!U!Y#b%e&_&h&j&k&m,a,f1f1iR,]&eT%dm,]R0u+uR,T&]Q%{{R+m%|R+c%vT&f!V&iT&g!V&iT1h,f1i",nodeNames:"⚠ ArithOp ArithOp LineComment BlockComment Script ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:366,context:ZN,nodeProps:[["group",-26,6,14,16,62,199,203,207,208,210,213,216,226,228,234,236,238,240,243,249,255,257,259,261,263,265,266,"Statement",-32,10,11,25,28,29,35,45,48,49,51,56,64,72,76,78,80,81,103,104,113,114,131,134,136,137,138,139,141,142,162,163,165,"Expression",-23,24,26,30,34,36,38,166,168,170,171,173,174,175,177,178,179,181,182,183,193,195,197,198,"Type",-3,84,96,102,"ClassItem"],["openedBy",31,"InterpolationStart",50,"[",54,"{",69,"(",143,"JSXStartTag",155,"JSXStartTag JSXStartCloseTag"],["closedBy",33,"InterpolationEnd",44,"]",55,"}",70,")",144,"JSXSelfCloseEndTag JSXEndTag",160,"JSXEndTag"]],propSources:[e2],skippedNodes:[0,3,4,269],repeatNodeCount:33,tokenData:"$>y(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tu>PuvBavwDxwxGgxyMvyz! Qz{!![{|!%O|}!&]}!O!%O!O!P!'g!P!Q!1w!Q!R#0t!R![#3T![!]#@T!]!^#Aa!^!_#Bk!_!`#GS!`!a#In!a!b#N{!b!c$$z!c!}>P!}#O$&U#O#P$'`#P#Q$,w#Q#R$.R#R#S>P#S#T$/`#T#o$0j#o#p$4z#p#q$5p#q#r$7Q#r#s$8^#s$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$I|>P$I|$I}$P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(n%d_$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$d&j'{!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU'{!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$d&j'xpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU'xpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX'xp'{!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$d&j'xp'{!b'n(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST'y#S$d&j'o(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$d&j'xp'{!b'o(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$d&j!l$Ip'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#q$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#q$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b3l_'w$(n$d&j'{!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$d&j'{!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$d&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$_#t$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$_#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$_#t$d&j'{!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ'{!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$_#t'{!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hg$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}st%Ztu`k$d&j'xp'{!b(V!LY'u&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P+d@`k$d&j'xp'{!b$W#tOY%ZYZ&cZr%Zrs&}st%Ztu@Tuw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![@T![!^%Z!^!_*g!_!c%Z!c!}@T!}#O%Z#O#P&c#P#R%Z#R#S@T#S#T%Z#T#o@T#o#p*g#p$g%Z$g;'S@T;'S;=`BT<%lO@T+dBWP;=`<%l@T(CSB^P;=`<%l>P%#SBl`$d&j'xp'{!b#i$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SCy_$d&j#{$Id'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%DfETa(k%Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#>fi$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#>Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#@b_!a$b$d&j#y%Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$JT>P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(CS$=Uk$d&j'xp'{!b'o(;d(V!LY'u&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P",tokenizers:[jN,JN,2,3,4,5,6,7,8,9,10,11,12,13,KN,new ol("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOq~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!O~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(U~~",141,327),new ol("j~RQYZXz{^~^O'r~~aP!P!Qd~iO's~~",25,309)],topRules:{Script:[0,5],SingleExpression:[1,267],SingleClassItem:[2,268]},dialects:{jsx:12794,ts:12796},dynamicPrecedences:{76:1,78:1,163:1,191:1},specialized:[{term:313,get:n=>t2[n]||-1},{term:329,get:n=>r2[n]||-1},{term:67,get:n=>n2[n]||-1}],tokenPrec:12820});var Ec;const Fi=new Ze;function Jh(n){return De.define({combine:n?e=>e.concat(n):void 0})}const em=new Ze;class jr{constructor(e,t,r=[],i=""){this.data=e,this.name=i,ut.prototype.hasOwnProperty("tree")||Object.defineProperty(ut.prototype,"tree",{get(){return Ut(this)}}),this.parser=t,this.extension=[ka.of(this),ut.languageData.of((a,s,o)=>{let l=bg(a,s,o),u=l.type.prop(Fi);if(!u)return[];let d=a.facet(u),f=l.type.prop(em);if(f){let m=l.resolve(s-l.from,o);for(let g of f)if(g.test(m,a)){let b=a.facet(g.facet);return g.type=="replace"?b:b.concat(d)}}return d})].concat(r)}isActiveAt(e,t,r=-1){return bg(e,t,r).type.prop(Fi)==this.data}findRegions(e){let t=e.facet(ka);if((t==null?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let r=[],i=(a,s)=>{if(a.prop(Fi)==this.data){r.push({from:s,to:s+a.length});return}let o=a.prop(Ze.mounted);if(o){if(o.tree.prop(Fi)==this.data){if(o.overlay)for(let l of o.overlay)r.push({from:l.from+s,to:l.to+s});else r.push({from:s,to:s+a.length});return}else if(o.overlay){let l=r.length;if(i(o.tree,o.overlay[0].from+s),r.length>l)return}}for(let l=0;lr.isTop?t:void 0)]}),e.name)}configure(e,t){return new xa(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function Ut(n){let e=n.field(jr.state,!1);return e?e.tree:St.empty}function ov(n,e,t=50){var r;let i=(r=n.field(jr.state,!1))===null||r===void 0?void 0:r.context;if(!i)return null;let a=i.viewport;i.updateViewport({from:0,to:e});let s=i.isDone(e)||i.work(t,e)?i.tree:null;return i.updateViewport(a),s}class a2{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let r=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-r,t-r)}}let Ja=null;class Rs{constructor(e,t,r=[],i,a,s,o,l){this.parser=e,this.state=t,this.fragments=r,this.tree=i,this.treeLen=a,this.viewport=s,this.skipped=o,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,r){return new Rs(e,t,[],St.empty,0,r,[],null)}startParse(){return this.parser.startParse(new a2(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=St.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let i=Date.now()+e;e=()=>Date.now()>i}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Zn.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Ja;Ja=this;try{return e()}finally{Ja=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Tg(e,t.from,t.to);return e}changes(e,t){let{fragments:r,tree:i,treeLen:a,viewport:s,skipped:o}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((u,d,f,m)=>l.push({fromA:u,toA:d,fromB:f,toB:m})),r=Zn.applyChanges(r,l),i=St.empty,a=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){o=[];for(let u of this.skipped){let d=e.mapPos(u.from,1),f=e.mapPos(u.to,-1);de.from&&(this.fragments=Tg(this.fragments,i,a),this.skipped.splice(r--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends jh{createParse(t,r,i){let a=i[0].from,s=i[i.length-1].to;return{parsedPos:a,advance(){let l=Ja;if(l){for(let u of i)l.tempSkipped.push(u);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=s,new St(rr.none,[],[],s-a)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return Ja}}function Tg(n,e,t){return Zn.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class La{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,r)||t.takeTree(),new La(t)}static init(e){let t=Math.min(3e3,e.doc.length),r=Rs.create(e.facet(ka).parser,e,{from:0,to:t});return r.work(20,t)||r.takeTree(),new La(r)}}jr.state=hr.define({create:La.init,update(n,e){for(let t of e.effects)if(t.is(jr.setState))return t.value;return e.startState.facet(ka)!=e.state.facet(ka)?La.init(e.state):n.apply(e)}});let lv=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(lv=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:500-100})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const bc=typeof navigator<"u"&&(!((Ec=navigator.scheduling)===null||Ec===void 0)&&Ec.isInputPending)?()=>navigator.scheduling.isInputPending():null,s2=lr.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(jr.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),e.docChanged&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(jr.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=lv(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndi+1e3,l=a.context.work(()=>bc&&bc()||Date.now()>s,i+(o?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(a.context.takeTree(),this.view.dispatch({effects:jr.setState.of(new La(a.context))})),this.chunkBudget>0&&!(l&&!o)&&this.scheduleWork(),this.checkAsyncSchedule(a.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>cn(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),ka=De.define({combine(n){return n.length?n[0]:null},enables:n=>[jr.state,s2,Ae.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});class Is{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}class ul{constructor(e,t,r,i,a,s=void 0){this.name=e,this.alias=t,this.extensions=r,this.filename=i,this.loadFunc=a,this.support=s,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:r}=e;if(!t){if(!r)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(r)}return new ul(e.name,(e.alias||[]).concat(e.name).map(i=>i.toLowerCase()),e.extensions||[],e.filename,t,r)}static matchFilename(e,t){for(let i of e)if(i.filename&&i.filename.test(t))return i;let r=/\.([^.]+)$/.exec(t);if(r){for(let i of e)if(i.extensions.indexOf(r[1])>-1)return i}return null}static matchLanguageName(e,t,r=!0){t=t.toLowerCase();for(let i of e)if(i.alias.some(a=>a==t))return i;if(r)for(let i of e)for(let a of i.alias){let s=t.indexOf(a);if(s>-1&&(a.length>2||!/\w/.test(t[s-1])&&!/\w/.test(t[s+a.length])))return i}return null}}const o2=De.define(),Ma=De.define({combine:n=>{if(!n.length)return" ";let e=n[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(n[0]));return e}});function dl(n){let e=n.facet(Ma);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function Ns(n,e){let t="",r=n.tabSize,i=n.facet(Ma)[0];if(i==" "){for(;e>=r;)t+=" ",e-=r;i=" "}for(let a=0;a=e?l2(n,t,e):null}class Yl{constructor(e,t={}){this.state=e,this.options=t,this.unit=dl(e)}lineAt(e,t=1){let r=this.state.doc.lineAt(e),{simulateBreak:i,simulateDoubleBreak:a}=this.options;return i!=null&&i>=r.from&&i<=r.to?a&&i==e?{text:"",from:e}:(t<0?i-1&&(a+=s-this.countColumn(r,r.search(/\S|$/))),a}countColumn(e,t=e.length){return qs(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:r,from:i}=this.lineAt(e,t),a=this.options.overrideIndentation;if(a){let s=a(i);if(s>-1)return s}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Xs=new Ze;function l2(n,e,t){return cv(e.resolveInner(t).enterUnfinishedNodesBefore(t),t,n)}function c2(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function u2(n){let e=n.type.prop(Xs);if(e)return e;let t=n.firstChild,r;if(t&&(r=t.type.prop(Ze.closedBy))){let i=n.lastChild,a=i&&r.indexOf(i.name)>-1;return s=>uv(s,!0,1,void 0,a&&!c2(s)?i.from:void 0)}return n.parent==null?d2:null}function cv(n,e,t){for(;n;n=n.parent){let r=u2(n);if(r)return r(rm.create(t,e,n))}return null}function d2(){return 0}class rm extends Yl{constructor(e,t,r){super(e.state,e.options),this.base=e,this.pos=t,this.node=r}static create(e,t,r){return new rm(e,t,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(t.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(p2(r,e))break;t=this.state.doc.lineAt(r.from)}return this.lineIndent(t.from)}continue(){let e=this.node.parent;return e?cv(e,this.pos,this.base):0}}function p2(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function f2(n){let e=n.node,t=e.childAfter(e.from),r=e.lastChild;if(!t)return null;let i=n.options.simulateBreak,a=n.state.doc.lineAt(t.from),s=i==null||i<=a.from?a.to:Math.min(a.to,i);for(let o=t.to;;){let l=e.childAfter(o);if(!l||l==r)return null;if(!l.type.isSkipped)return l.fromuv(r,e,t,n)}function uv(n,e,t,r,i){let a=n.textAfter,s=a.match(/^\s*/)[0].length,o=r&&a.slice(s,s+r.length)==r||i==n.pos+s,l=e?f2(n):null;return l?o?n.column(l.from):n.column(l.to):n.baseIndent+(o?0:n.unit*t)}const m2=n=>n.baseIndent;function Go({except:n,units:e=1}={}){return t=>{let r=n&&n.test(t.textAfter);return t.baseIndent+(r?0:e*t.unit)}}const _2=200;function g2(){return ut.transactionFilter.of(n=>{if(!n.docChanged||!n.isUserEvent("input.type")&&!n.isUserEvent("input.complete"))return n;let e=n.startState.languageDataAt("indentOnInput",n.startState.selection.main.head);if(!e.length)return n;let t=n.newDoc,{head:r}=n.newSelection.main,i=t.lineAt(r);if(r>i.from+_2)return n;let a=t.sliceString(i.from,r);if(!e.some(u=>u.test(a)))return n;let{state:s}=n,o=-1,l=[];for(let{head:u}of s.selection.ranges){let d=s.doc.lineAt(u);if(d.from==o)continue;o=d.from;let f=tm(s,d.from);if(f==null)continue;let m=/^\s*/.exec(d.text)[0],g=Ns(s,f);m!=g&&l.push({from:d.from,to:d.from+m.length,insert:g})}return l.length?[n,{changes:l,sequential:!0}]:n})}const dv=De.define(),Zs=new Ze;function pv(n){let e=n.firstChild,t=n.lastChild;return e&&e.tot)continue;if(a&&s.from=e&&l.to>t&&(a=l)}}return a}function O2(n){let e=n.lastChild;return e&&e.to==n.to&&e.type.isError}function E2(n,e,t){for(let r of n.facet(dv)){let i=r(n,e,t);if(i)return i}return S2(n,e,t)}function fv(n,e){let t=e.mapPos(n.from,1),r=e.mapPos(n.to,-1);return t>=r?void 0:{from:t,to:r}}const hv=it.define({map:fv}),mv=it.define({map:fv});function b2(n){let e=[];for(let{head:t}of n.state.selection.ranges)e.some(r=>r.from<=t&&r.to>=t)||e.push(n.lineBlockAt(t));return e}const nm=hr.define({create(){return qe.none},update(n,e){n=n.map(e.changes);for(let t of e.effects)if(t.is(hv)&&!C2(n,t.value.from,t.value.to)){let{preparePlaceholder:r}=e.state.facet(im),i=r?qe.replace({widget:new N2(r(e.state,t.value))}):Cg;n=n.update({add:[i.range(t.value.from,t.value.to)]})}else t.is(mv)&&(n=n.update({filter:(r,i)=>t.value.from!=r||t.value.to!=i,filterFrom:t.value.from,filterTo:t.value.to}));if(e.selection){let t=!1,{head:r}=e.selection.main;n.between(r,r,(i,a)=>{ir&&(t=!0)}),t&&(n=n.update({filterFrom:r,filterTo:r,filter:(i,a)=>a<=r||i>=r}))}return n},provide:n=>Ae.decorations.from(n),toJSON(n,e){let t=[];return n.between(0,e.doc.length,(r,i)=>{t.push(r,i)}),t},fromJSON(n){if(!Array.isArray(n)||n.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t{(!i||i.from>a)&&(i={from:a,to:s})}),i}function C2(n,e,t){let r=!1;return n.between(e,e,(i,a)=>{i==e&&a==t&&(r=!0)}),r}function v2(n,e){return n.field(nm,!1)?e:e.concat(it.appendConfig.of(I2()))}const y2=n=>{for(let e of b2(n)){let t=E2(n.state,e.from,e.to);if(t)return n.dispatch({effects:v2(n.state,[hv.of(t),A2(n,t)])}),!0}return!1};function A2(n,e,t=!0){let r=n.state.doc.lineAt(e.from).number,i=n.state.doc.lineAt(e.to).number;return Ae.announce.of(`${n.state.phrase(t?"Folded lines":"Unfolded lines")} ${r} ${n.state.phrase("to")} ${i}.`)}const R2={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},im=De.define({combine(n){return ti(n,R2)}});function I2(n){let e=[nm,D2];return n&&e.push(im.of(n)),e}function _v(n,e){let{state:t}=n,r=t.facet(im),i=s=>{let o=n.lineBlockAt(n.posAtDOM(s.target)),l=T2(n.state,o.from,o.to);l&&n.dispatch({effects:mv.of(l)}),s.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(n,i,e);let a=document.createElement("span");return a.textContent=r.placeholderText,a.setAttribute("aria-label",t.phrase("folded code")),a.title=t.phrase("unfold"),a.className="cm-foldPlaceholder",a.onclick=i,a}const Cg=qe.replace({widget:new class extends ri{toDOM(n){return _v(n,null)}}});class N2 extends ri{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return _v(e,this.value)}}const D2=Ae.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Ks{constructor(e,t){this.specs=e;let r;function i(o){let l=Oi.newName();return(r||(r=Object.create(null)))["."+l]=o,l}const a=typeof t.all=="string"?t.all:t.all?i(t.all):void 0,s=t.scope;this.scope=s instanceof jr?o=>o.prop(Fi)==s.data:s?o=>o==s:void 0,this.style=av(e.map(o=>({tag:o.tag,class:o.class||i(Object.assign({},o,{tag:null}))})),{all:a}).style,this.module=r?new Oi(r):null,this.themeType=t.themeType}static define(e,t){return new Ks(e,t||{})}}const ch=De.define(),gv=De.define({combine(n){return n.length?[n[0]]:null}});function Tc(n){let e=n.facet(ch);return e.length?e:n.facet(gv)}function Sv(n,e){let t=[x2],r;return n instanceof Ks&&(n.module&&t.push(Ae.styleModule.of(n.module)),r=n.themeType),e!=null&&e.fallback?t.push(gv.of(n)):r?t.push(ch.computeN([Ae.darkTheme],i=>i.facet(Ae.darkTheme)==(r=="dark")?[n]:[])):t.push(ch.of(n)),t}class w2{constructor(e){this.markCache=Object.create(null),this.tree=Ut(e.state),this.decorations=this.buildDeco(e,Tc(e.state))}update(e){let t=Ut(e.state),r=Tc(e.state),i=r!=Tc(e.startState);t.length{r.add(s,o,this.markCache[l]||(this.markCache[l]=qe.mark({class:l})))},i,a);return r.finish()}}const x2=Jn.high(lr.fromClass(w2,{decorations:n=>n.decorations})),L2=Ks.define([{tag:P.meta,color:"#404740"},{tag:P.link,textDecoration:"underline"},{tag:P.heading,textDecoration:"underline",fontWeight:"bold"},{tag:P.emphasis,fontStyle:"italic"},{tag:P.strong,fontWeight:"bold"},{tag:P.strikethrough,textDecoration:"line-through"},{tag:P.keyword,color:"#708"},{tag:[P.atom,P.bool,P.url,P.contentSeparator,P.labelName],color:"#219"},{tag:[P.literal,P.inserted],color:"#164"},{tag:[P.string,P.deleted],color:"#a11"},{tag:[P.regexp,P.escape,P.special(P.string)],color:"#e40"},{tag:P.definition(P.variableName),color:"#00f"},{tag:P.local(P.variableName),color:"#30a"},{tag:[P.typeName,P.namespace],color:"#085"},{tag:P.className,color:"#167"},{tag:[P.special(P.variableName),P.macroName],color:"#256"},{tag:P.definition(P.propertyName),color:"#00c"},{tag:P.comment,color:"#940"},{tag:P.invalid,color:"#f00"}]),k2=Ae.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Ov=1e4,Ev="()[]{}",bv=De.define({combine(n){return ti(n,{afterCursor:!0,brackets:Ev,maxScanDistance:Ov,renderMatch:B2})}}),M2=qe.mark({class:"cm-matchingBracket"}),P2=qe.mark({class:"cm-nonmatchingBracket"});function B2(n){let e=[],t=n.matched?M2:P2;return e.push(t.range(n.start.from,n.start.to)),n.end&&e.push(t.range(n.end.from,n.end.to)),e}const U2=hr.define({create(){return qe.none},update(n,e){if(!e.docChanged&&!e.selection)return n;let t=[],r=e.state.facet(bv);for(let i of e.state.selection.ranges){if(!i.empty)continue;let a=on(e.state,i.head,-1,r)||i.head>0&&on(e.state,i.head-1,1,r)||r.afterCursor&&(on(e.state,i.head,1,r)||i.headAe.decorations.from(n)}),F2=[U2,k2];function Y2(n={}){return[bv.of(n),F2]}const Tv=new Ze;function uh(n,e,t){let r=n.prop(e<0?Ze.openedBy:Ze.closedBy);if(r)return r;if(n.name.length==1){let i=t.indexOf(n.name);if(i>-1&&i%2==(e<0?1:0))return[t[i+e]]}return null}function dh(n){let e=n.type.prop(Tv);return e?e(n.node):n}function on(n,e,t,r={}){let i=r.maxScanDistance||Ov,a=r.brackets||Ev,s=Ut(n),o=s.resolveInner(e,t);for(let l=o;l;l=l.parent){let u=uh(l.type,t,a);if(u&&l.from0?e>=d.from&&ed.from&&e<=d.to))return G2(n,e,t,l,d,u,a)}}return Q2(n,e,t,s,o.type,i,a)}function G2(n,e,t,r,i,a,s){let o=r.parent,l={from:i.from,to:i.to},u=0,d=o==null?void 0:o.cursor();if(d&&(t<0?d.childBefore(r.from):d.childAfter(r.to)))do if(t<0?d.to<=r.from:d.from>=r.to){if(u==0&&a.indexOf(d.type.name)>-1&&d.from0)return null;let u={from:t<0?e-1:e,to:t>0?e+1:e},d=n.doc.iterRange(e,t>0?n.doc.length:0),f=0;for(let m=0;!d.next().done&&m<=a;){let g=d.value;t<0&&(m+=g.length);let b=e+m*t;for(let v=t>0?0:g.length-1,y=t>0?g.length:-1;v!=y;v+=t){let N=s.indexOf(g[v]);if(!(N<0||r.resolveInner(b+v,1).type!=i))if(N%2==0==t>0)f++;else{if(f==1)return{start:u,end:{from:b+v,to:b+v+1},matched:N>>1==l>>1};f--}}t>0&&(m+=g.length)}return d.done?{start:u,matched:!1}:null}function vg(n,e,t,r=0,i=0){e==null&&(e=n.search(/[^\s\u00a0]/),e==-1&&(e=n.length));let a=i;for(let s=r;s=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosr?s.toLowerCase():s,a=this.string.substr(this.pos,e.length);return i(a)==i(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let i=this.string.slice(this.pos).match(e);return i&&i.index>0?null:(i&&t!==!1&&(this.pos+=i[0].length),i)}}current(){return this.string.slice(this.start,this.pos)}}const q2=Object.create(null),yg=[rr.none],Ag=[],V2=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])V2[n]=H2(q2,e);function Cc(n,e){Ag.indexOf(n)>-1||(Ag.push(n),console.warn(e))}function H2(n,e){let t=null;for(let a of e.split(".")){let s=n[a]||P[a];s?typeof s=="function"?t?t=s(t):Cc(a,`Modifier ${a} used at start of tag`):t?Cc(a,`Tag ${a} used as modifier`):t=s:Cc(a,`Unknown highlighting tag ${a}`)}if(!t)return 0;let r=e.replace(/ /g,"_"),i=rr.define({id:yg.length,name:r,props:[Qa({[r]:t})]});return yg.push(i),i.id}class am{constructor(e,t,r){this.state=e,this.pos=t,this.explicit=r,this.abortListeners=[]}tokenBefore(e){let t=Ut(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),r=Math.max(t.from,this.pos-250),i=t.text.slice(r-t.from,this.pos-t.from),a=i.search(vv(e,!1));return a<0?null:{from:r+a,to:this.pos,text:i.slice(a)}}get aborted(){return this.abortListeners==null}addEventListener(e,t){e=="abort"&&this.abortListeners&&this.abortListeners.push(t)}}function Rg(n){let e=Object.keys(n).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function z2(n){let e=Object.create(null),t=Object.create(null);for(let{label:i}of n){e[i[0]]=!0;for(let a=1;atypeof i=="string"?{label:i}:i),[t,r]=e.every(i=>/^\w+$/.test(i.label))?[/\w*$/,/\w+$/]:z2(e);return i=>{let a=i.matchBefore(r);return a||i.explicit?{from:a?a.from:i.pos,options:e,validFor:t}:null}}function W2(n,e){return t=>{for(let r=Ut(t.state).resolveInner(t.pos,-1);r;r=r.parent){if(n.indexOf(r.name)>-1)return null;if(r.type.isTop)break}return e(t)}}class Ig{constructor(e,t,r,i){this.completion=e,this.source=t,this.match=r,this.score=i}}function Si(n){return n.selection.main.from}function vv(n,e){var t;let{source:r}=n,i=e&&r[0]!="^",a=r[r.length-1]!="$";return!i&&!a?n:new RegExp(`${i?"^":""}(?:${r})${a?"$":""}`,(t=n.flags)!==null&&t!==void 0?t:n.ignoreCase?"i":"")}const yv=ei.define();function X2(n,e,t,r){let{main:i}=n.selection,a=t-i.from,s=r-i.from;return Object.assign(Object.assign({},n.changeByRange(o=>o!=i&&t!=r&&n.sliceDoc(o.from+a,o.from+s)!=n.sliceDoc(t,r)?{range:o}:{changes:{from:o.from+a,to:r==i.from?o.to:o.from+s,insert:e},range:de.cursor(o.from+a+e.length)})),{userEvent:"input.complete"})}const Ng=new WeakMap;function Z2(n){if(!Array.isArray(n))return n;let e=Ng.get(n);return e||Ng.set(n,e=Cv(n)),e}const sm=it.define(),Ds=it.define();class K2{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&E<=57||E>=97&&E<=122?2:E>=65&&E<=90?1:0:(O=Bh(E))!=O.toLowerCase()?1:O!=O.toUpperCase()?2:0;(!F||A==1&&y||p==0&&A!=0)&&(t[f]==E||r[f]==E&&(m=!0)?s[f++]=F:s.length&&(N=!1)),p=A,F+=an(E)}return f==l&&s[0]==0&&N?this.result(-100+(m?-200:0),s,e):g==l&&b==0?this.ret(-200-e.length+(v==e.length?0:-100),[0,v]):o>-1?this.ret(-700-e.length,[o,o+this.pattern.length]):g==l?this.ret(-200+-700-e.length,[b,v]):f==l?this.result(-100+(m?-200:0)+-700+(N?0:-1100),s,e):t.length==2?!1:this.result((i[0]?-700:0)+-200+-1100,i,e)}result(e,t,r){let i=[],a=0;for(let s of t){let o=s+(this.astral?an(pr(r,s)):1);a&&i[a-1]==s?i[a-1]=o:(i[a++]=s,i[a++]=o)}return this.ret(e-r.length,i)}}const Fr=De.define({combine(n){return ti(n,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:j2,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>r=>Dg(e(r),t(r)),optionClass:(e,t)=>r=>Dg(e(r),t(r)),addToOptions:(e,t)=>e.concat(t)})}});function Dg(n,e){return n?e?n+" "+e:n:e}function j2(n,e,t,r,i){let a=n.textDirection==Bt.RTL,s=a,o=!1,l="top",u,d,f=e.left-i.left,m=i.right-e.right,g=r.right-r.left,b=r.bottom-r.top;if(s&&f=b||v>e.top?u=t.bottom-e.top:(l="bottom",u=e.bottom-t.top)}return{style:`${l}: ${u}px; max-width: ${d}px`,class:"cm-completionInfo-"+(o?a?"left-narrow":"right-narrow":s?"left":"right")}}function J2(n){let e=n.addToOptions.slice();return n.icons&&e.push({render(t){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),t.type&&r.classList.add(...t.type.split(/\s+/g).map(i=>"cm-completionIcon-"+i)),r.setAttribute("aria-hidden","true"),r},position:20}),e.push({render(t,r,i){let a=document.createElement("span");a.className="cm-completionLabel";let s=t.displayLabel||t.label,o=0;for(let l=0;lo&&a.appendChild(document.createTextNode(s.slice(o,u)));let f=a.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(s.slice(u,d))),f.className="cm-completionMatchedText",o=d}return ot.position-r.position).map(t=>t.render)}function wg(n,e,t){if(n<=t)return{from:0,to:n};if(e<0&&(e=0),e<=n>>1){let i=Math.floor(e/t);return{from:i*t,to:(i+1)*t}}let r=Math.floor((n-e)/t);return{from:n-(r+1)*t,to:n-r*t}}class eD{constructor(e,t,r){this.view=e,this.stateField=t,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let i=e.state.field(t),{options:a,selected:s}=i.open,o=e.state.facet(Fr);this.optionContent=J2(o),this.optionClass=o.optionClass,this.tooltipClass=o.tooltipClass,this.range=wg(a.length,s,o.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{for(let u=l.target,d;u&&u!=this.dom;u=u.parentNode)if(u.nodeName=="LI"&&(d=/-(\d+)$/.exec(u.id))&&+d[1]{let u=e.state.field(this.stateField,!1);u&&u.tooltip&&e.state.facet(Fr).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:Ds.of(null)})}),this.list=this.dom.appendChild(this.createListBox(a,i.id,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}mount(){this.updateSel()}update(e){var t,r,i;let a=e.state.field(this.stateField),s=e.startState.field(this.stateField);this.updateTooltipClass(e.state),a!=s&&(this.updateSel(),((t=a.open)===null||t===void 0?void 0:t.disabled)!=((r=s.open)===null||r===void 0?void 0:r.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!(!((i=a.open)===null||i===void 0)&&i.disabled)))}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let r of this.currentClass.split(" "))r&&this.dom.classList.remove(r);for(let r of t.split(" "))r&&this.dom.classList.add(r);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected=this.range.to)&&(this.range=wg(t.options.length,t.selected,this.view.state.facet(Fr).maxRenderedOptions),this.list.remove(),this.list=this.dom.appendChild(this.createListBox(t.options,e.id,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:r}=t.options[t.selected],{info:i}=r;if(!i)return;let a=typeof i=="string"?document.createTextNode(i):i(r);if(!a)return;"then"in a?a.then(s=>{s&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(s,r)}).catch(s=>cn(this.view.state,s,"completion info")):this.addInfoPane(a,r)}}addInfoPane(e,t){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",e.nodeType!=null)r.appendChild(e),this.infoDestroy=null;else{let{dom:i,destroy:a}=e;r.appendChild(i),this.infoDestroy=a||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let r=this.list.firstChild,i=this.range.from;r;r=r.nextSibling,i++)r.nodeName!="LI"||!r.id?i--:i==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),t=r):r.hasAttribute("aria-selected")&&r.removeAttribute("aria-selected");return t&&rD(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),i=e.getBoundingClientRect(),a=this.space;if(!a){let s=this.dom.ownerDocument.defaultView||window;a={left:0,top:0,right:s.innerWidth,bottom:s.innerHeight}}return i.top>Math.min(a.bottom,t.bottom)-10||i.bottomr.from||r.from==0))if(a=m,typeof u!="string"&&u.header)i.appendChild(u.header(u));else{let g=i.appendChild(document.createElement("completion-section"));g.textContent=m}}const d=i.appendChild(document.createElement("li"));d.id=t+"-"+s,d.setAttribute("role","option");let f=this.optionClass(o);f&&(d.className=f);for(let m of this.optionContent){let g=m(o,this.view.state,l);g&&d.appendChild(g)}}return r.from&&i.classList.add("cm-completionListIncompleteTop"),r.tonew eD(t,n,e)}function rD(n,e){let t=n.getBoundingClientRect(),r=e.getBoundingClientRect();r.topt.bottom&&(n.scrollTop+=r.bottom-t.bottom)}function xg(n){return(n.boost||0)*100+(n.apply?10:0)+(n.info?5:0)+(n.type?1:0)}function nD(n,e){let t=[],r=null,i=l=>{t.push(l);let{section:u}=l.completion;if(u){r||(r=[]);let d=typeof u=="string"?u:u.name;r.some(f=>f.name==d)||r.push(typeof u=="string"?{name:d}:u)}};for(let l of n)if(l.hasResult()){let u=l.result.getMatch;if(l.result.filter===!1)for(let d of l.result.options)i(new Ig(d,l.source,u?u(d):[],1e9-t.length));else{let d=new K2(e.sliceDoc(l.from,l.to));for(let f of l.result.options)if(d.match(f.label)){let m=f.displayLabel?u?u(f,d.matched):[]:d.matched;i(new Ig(f,l.source,m,d.score+(f.boost||0)))}}}if(r){let l=Object.create(null),u=0,d=(f,m)=>{var g,b;return((g=f.rank)!==null&&g!==void 0?g:1e9)-((b=m.rank)!==null&&b!==void 0?b:1e9)||(f.named.score-u.score||o(u.completion,d.completion))){let u=l.completion;!s||s.label!=u.label||s.detail!=u.detail||s.type!=null&&u.type!=null&&s.type!=u.type||s.apply!=u.apply||s.boost!=u.boost?a.push(l):xg(l.completion)>xg(s)&&(a[a.length-1]=l),s=l.completion}return a}class ma{constructor(e,t,r,i,a,s){this.options=e,this.attrs=t,this.tooltip=r,this.timestamp=i,this.selected=a,this.disabled=s}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new ma(this.options,Lg(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,r,i,a){let s=nD(e,t);if(!s.length)return i&&e.some(l=>l.state==1)?new ma(i.options,i.attrs,i.tooltip,i.timestamp,i.selected,!0):null;let o=t.facet(Fr).selectOnOpen?0:-1;if(i&&i.selected!=o&&i.selected!=-1){let l=i.options[i.selected].completion;for(let u=0;uu.hasResult()?Math.min(l,u.from):l,1e8),create:tD(Zr,Iv),above:a.aboveCursor},i?i.timestamp:Date.now(),o,!1)}map(e){return new ma(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class pl{constructor(e,t,r){this.active=e,this.id=t,this.open=r}static start(){return new pl(sD,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,r=t.facet(Fr),a=(r.override||t.languageDataAt("autocomplete",Si(t)).map(Z2)).map(o=>(this.active.find(u=>u.source==o)||new Ur(o,this.active.some(u=>u.state!=0)?1:0)).update(e,r));a.length==this.active.length&&a.every((o,l)=>o==this.active[l])&&(a=this.active);let s=this.open;s&&e.docChanged&&(s=s.map(e.changes)),e.selection||a.some(o=>o.hasResult()&&e.changes.touchesRange(o.from,o.to))||!iD(a,this.active)?s=ma.build(a,t,this.id,s,r):s&&s.disabled&&!a.some(o=>o.state==1)&&(s=null),!s&&a.every(o=>o.state!=1)&&a.some(o=>o.hasResult())&&(a=a.map(o=>o.hasResult()?new Ur(o.source,0):o));for(let o of e.effects)o.is(Rv)&&(s=s&&s.setSelected(o.value,this.id));return a==this.active&&s==this.open?this:new pl(a,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:aD}}function iD(n,e){if(n==e)return!0;for(let t=0,r=0;;){for(;t-1&&(t["aria-activedescendant"]=n+"-"+e),t}const sD=[];function ph(n){return n.isUserEvent("input.type")?"input":n.isUserEvent("delete.backward")?"delete":null}class Ur{constructor(e,t,r=-1){this.source=e,this.state=t,this.explicitPos=r}hasResult(){return!1}update(e,t){let r=ph(e),i=this;r?i=i.handleUserEvent(e,r,t):e.docChanged?i=i.handleChange(e):e.selection&&i.state!=0&&(i=new Ur(i.source,0));for(let a of e.effects)if(a.is(sm))i=new Ur(i.source,1,a.value?Si(e.state):-1);else if(a.is(Ds))i=new Ur(i.source,0);else if(a.is(Av))for(let s of a.value)s.source==i.source&&(i=s);return i}handleUserEvent(e,t,r){return t=="delete"||!r.activateOnTyping?this.map(e.changes):new Ur(this.source,1)}handleChange(e){return e.changes.touchesRange(Si(e.startState))?new Ur(this.source,0):this.map(e.changes)}map(e){return e.empty||this.explicitPos<0?this:new Ur(this.source,this.state,e.mapPos(this.explicitPos))}}class Ta extends Ur{constructor(e,t,r,i,a){super(e,2,t),this.result=r,this.from=i,this.to=a}hasResult(){return!0}handleUserEvent(e,t,r){var i;let a=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),o=Si(e.state);if((this.explicitPos<0?o<=a:os||t=="delete"&&Si(e.startState)==this.from)return new Ur(this.source,t=="input"&&r.activateOnTyping?1:0);let l=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos),u;return oD(this.result.validFor,e.state,a,s)?new Ta(this.source,l,this.result,a,s):this.result.update&&(u=this.result.update(this.result,a,s,new am(e.state,o,l>=0)))?new Ta(this.source,l,u,u.from,(i=u.to)!==null&&i!==void 0?i:Si(e.state)):new Ur(this.source,1,l)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new Ur(this.source,0):this.map(e.changes)}map(e){return e.empty?this:new Ta(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}}function oD(n,e,t,r){if(!n)return!1;let i=e.sliceDoc(t,r);return typeof n=="function"?n(i,t,r,e):vv(n,!0).test(i)}const Av=it.define({map(n,e){return n.map(t=>t.map(e))}}),Rv=it.define(),Zr=hr.define({create(){return pl.start()},update(n,e){return n.update(e)},provide:n=>[zh.from(n,e=>e.tooltip),Ae.contentAttributes.from(n,e=>e.attrs)]});function Iv(n,e){const t=e.completion.apply||e.completion.label;let r=n.state.field(Zr).active.find(i=>i.source==e.source);return r instanceof Ta?(typeof t=="string"?n.dispatch(Object.assign(Object.assign({},X2(n.state,t,r.from,r.to)),{annotations:yv.of(e.completion)})):t(n,e.completion,r.from,r.to),!0):!1}function To(n,e="option"){return t=>{let r=t.state.field(Zr,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp-1?r.open.selected+i*(n?1:-1):n?0:s-1;return o<0?o=e=="page"?0:s-1:o>=s&&(o=e=="page"?s-1:0),t.dispatch({effects:Rv.of(o)}),!0}}const lD=n=>{let e=n.state.field(Zr,!1);return n.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestampn.state.field(Zr,!1)?(n.dispatch({effects:sm.of(!0)}),!0):!1,uD=n=>{let e=n.state.field(Zr,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(n.dispatch({effects:Ds.of(null)}),!0)};class dD{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const kg=50,pD=50,fD=1e3,hD=lr.fromClass(class{constructor(n){this.view=n,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.composing=0;for(let e of n.state.field(Zr).active)e.state==1&&this.startQuery(e)}update(n){let e=n.state.field(Zr);if(!n.selectionSet&&!n.docChanged&&n.startState.field(Zr)==e)return;let t=n.transactions.some(r=>(r.selection||r.docChanged)&&!ph(r));for(let r=0;rpD&&Date.now()-i.time>fD){for(let a of i.context.abortListeners)try{a()}catch(s){cn(this.view.state,s)}i.context.abortListeners=null,this.running.splice(r--,1)}else i.updates.push(...n.transactions)}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=e.active.some(r=>r.state==1&&!this.running.some(i=>i.active.source==r.source))?setTimeout(()=>this.startUpdate(),kg):-1,this.composing!=0)for(let r of n.transactions)ph(r)=="input"?this.composing=2:this.composing==2&&r.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:n}=this.view,e=n.field(Zr);for(let t of e.active)t.state==1&&!this.running.some(r=>r.active.source==t.source)&&this.startQuery(t)}startQuery(n){let{state:e}=this.view,t=Si(e),r=new am(e,t,n.explicitPos==t),i=new dD(n,r);this.running.push(i),Promise.resolve(n.source(r)).then(a=>{i.context.aborted||(i.done=a||null,this.scheduleAccept())},a=>{this.view.dispatch({effects:Ds.of(null)}),cn(this.view.state,a)})}scheduleAccept(){this.running.every(n=>n.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),kg))}accept(){var n;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(Fr);for(let r=0;rs.source==i.active.source);if(a&&a.state==1)if(i.done==null){let s=new Ur(i.active.source,0);for(let o of i.updates)s=s.update(o,t);s.state!=1&&e.push(s)}else this.startQuery(a)}e.length&&this.view.dispatch({effects:Av.of(e)})}},{eventHandlers:{blur(n){let e=this.view.state.field(Zr,!1);if(e&&e.tooltip&&this.view.state.facet(Fr).closeOnBlur){let t=e.open&&WC(this.view,e.open.tooltip);(!t||!t.dom.contains(n.relatedTarget))&&this.view.dispatch({effects:Ds.of(null)})}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:sm.of(!1)}),20),this.composing=0}}}),Nv=Ae.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class mD{constructor(e,t,r,i){this.field=e,this.line=t,this.from=r,this.to=i}}class om{constructor(e,t,r){this.field=e,this.from=t,this.to=r}map(e){let t=e.mapPos(this.from,-1,er.TrackDel),r=e.mapPos(this.to,1,er.TrackDel);return t==null||r==null?null:new om(this.field,t,r)}}class lm{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let r=[],i=[t],a=e.doc.lineAt(t),s=/^\s*/.exec(a.text)[0];for(let l of this.lines){if(r.length){let u=s,d=/^\t*/.exec(l)[0].length;for(let f=0;fnew om(l.field,i[l.line]+l.from,i[l.line]+l.to));return{text:r,ranges:o}}static parse(e){let t=[],r=[],i=[],a;for(let s of e.split(/\r\n?|\n/)){for(;a=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(s);){let o=a[1]?+a[1]:null,l=a[2]||a[3]||"",u=-1;for(let d=0;d=u&&f.field++}i.push(new mD(u,r.length,a.index,a.index+l.length)),s=s.slice(0,a.index)+l+s.slice(a.index+a[0].length)}for(let o;o=/\\([{}])/.exec(s);){s=s.slice(0,o.index)+o[1]+s.slice(o.index+o[0].length);for(let l of i)l.line==r.length&&l.from>o.index&&(l.from--,l.to--)}r.push(s)}return new lm(r,i)}}let _D=qe.widget({widget:new class extends ri{toDOM(){let n=document.createElement("span");return n.className="cm-snippetFieldPosition",n}ignoreEvent(){return!1}}}),gD=qe.mark({class:"cm-snippetField"});class $a{constructor(e,t){this.ranges=e,this.active=t,this.deco=qe.set(e.map(r=>(r.from==r.to?_D:gD).range(r.from,r.to)))}map(e){let t=[];for(let r of this.ranges){let i=r.map(e);if(!i)return null;t.push(i)}return new $a(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(r=>r.field==this.active&&r.from<=t.from&&r.to>=t.to))}}const js=it.define({map(n,e){return n&&n.map(e)}}),SD=it.define(),ws=hr.define({create(){return null},update(n,e){for(let t of e.effects){if(t.is(js))return t.value;if(t.is(SD)&&n)return new $a(n.ranges,t.value)}return n&&e.docChanged&&(n=n.map(e.changes)),n&&e.selection&&!n.selectionInsideField(e.selection)&&(n=null),n},provide:n=>Ae.decorations.from(n,e=>e?e.deco:qe.none)});function cm(n,e){return de.create(n.filter(t=>t.field==e).map(t=>de.range(t.from,t.to)))}function OD(n){let e=lm.parse(n);return(t,r,i,a)=>{let{text:s,ranges:o}=e.instantiate(t.state,i),l={changes:{from:i,to:a,insert:_t.of(s)},scrollIntoView:!0,annotations:r?yv.of(r):void 0};if(o.length&&(l.selection=cm(o,0)),o.length>1){let u=new $a(o,0),d=l.effects=[js.of(u)];t.state.field(ws,!1)===void 0&&d.push(it.appendConfig.of([ws,vD,yD,Nv]))}t.dispatch(t.state.update(l))}}function Dv(n){return({state:e,dispatch:t})=>{let r=e.field(ws,!1);if(!r||n<0&&r.active==0)return!1;let i=r.active+n,a=n>0&&!r.ranges.some(s=>s.field==i+n);return t(e.update({selection:cm(r.ranges,i),effects:js.of(a?null:new $a(r.ranges,i))})),!0}}const ED=({state:n,dispatch:e})=>n.field(ws,!1)?(e(n.update({effects:js.of(null)})),!0):!1,bD=Dv(1),TD=Dv(-1),CD=[{key:"Tab",run:bD,shift:TD},{key:"Escape",run:ED}],Mg=De.define({combine(n){return n.length?n[0]:CD}}),vD=Jn.highest(Xi.compute([Mg],n=>n.facet(Mg)));function mn(n,e){return Object.assign(Object.assign({},e),{apply:OD(n)})}const yD=Ae.domEventHandlers({mousedown(n,e){let t=e.state.field(ws,!1),r;if(!t||(r=e.posAtCoords({x:n.clientX,y:n.clientY}))==null)return!1;let i=t.ranges.find(a=>a.from<=r&&a.to>=r);return!i||i.field==t.active?!1:(e.dispatch({selection:cm(t.ranges,i.field),effects:js.of(t.ranges.some(a=>a.field>i.field)?new $a(t.ranges,i.field):null)}),!0)}}),xs={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Yi=it.define({map(n,e){let t=e.mapPos(n,-1,er.TrackAfter);return t??void 0}}),um=new class extends Hi{};um.startSide=1;um.endSide=-1;const wv=hr.define({create(){return yt.empty},update(n,e){if(e.selection){let t=e.state.doc.lineAt(e.selection.main.head).from,r=e.startState.doc.lineAt(e.startState.selection.main.head).from;t!=e.changes.mapPos(r,-1)&&(n=yt.empty)}n=n.map(e.changes);for(let t of e.effects)t.is(Yi)&&(n=n.update({add:[um.range(t.value,t.value+1)]}));return n}});function AD(){return[ID,wv]}const vc="()[]{}<>";function xv(n){for(let e=0;e{if((RD?n.composing:n.compositionStarted)||n.state.readOnly)return!1;let i=n.state.selection.main;if(r.length>2||r.length==2&&an(pr(r,0))==1||e!=i.from||t!=i.to)return!1;let a=wD(n.state,r);return a?(n.dispatch(a),!0):!1}),ND=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let r=Lv(n,n.selection.main.head).brackets||xs.brackets,i=null,a=n.changeByRange(s=>{if(s.empty){let o=xD(n.doc,s.head);for(let l of r)if(l==o&&Gl(n.doc,s.head)==xv(pr(l,0)))return{changes:{from:s.head-l.length,to:s.head+l.length},range:de.cursor(s.head-l.length)}}return{range:i=s}});return i||e(n.update(a,{scrollIntoView:!0,userEvent:"delete.backward"})),!i},DD=[{key:"Backspace",run:ND}];function wD(n,e){let t=Lv(n,n.selection.main.head),r=t.brackets||xs.brackets;for(let i of r){let a=xv(pr(i,0));if(e==i)return a==i?MD(n,i,r.indexOf(i+i+i)>-1,t):LD(n,i,a,t.before||xs.before);if(e==a&&kv(n,n.selection.main.from))return kD(n,i,a)}return null}function kv(n,e){let t=!1;return n.field(wv).between(0,n.doc.length,r=>{r==e&&(t=!0)}),t}function Gl(n,e){let t=n.sliceString(e,e+2);return t.slice(0,an(pr(t,0)))}function xD(n,e){let t=n.sliceString(e-2,e);return an(pr(t,0))==t.length?t:t.slice(1)}function LD(n,e,t,r){let i=null,a=n.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:t,from:s.to}],effects:Yi.of(s.to+e.length),range:de.range(s.anchor+e.length,s.head+e.length)};let o=Gl(n.doc,s.head);return!o||/\s/.test(o)||r.indexOf(o)>-1?{changes:{insert:e+t,from:s.head},effects:Yi.of(s.head+e.length),range:de.cursor(s.head+e.length)}:{range:i=s}});return i?null:n.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function kD(n,e,t){let r=null,i=n.changeByRange(a=>a.empty&&Gl(n.doc,a.head)==t?{changes:{from:a.head,to:a.head+t.length,insert:t},range:de.cursor(a.head+t.length)}:r={range:a});return r?null:n.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function MD(n,e,t,r){let i=r.stringPrefixes||xs.stringPrefixes,a=null,s=n.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:e,from:o.to}],effects:Yi.of(o.to+e.length),range:de.range(o.anchor+e.length,o.head+e.length)};let l=o.head,u=Gl(n.doc,l),d;if(u==e){if(Pg(n,l))return{changes:{insert:e+e,from:l},effects:Yi.of(l+e.length),range:de.cursor(l+e.length)};if(kv(n,l)){let m=t&&n.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+m.length,insert:m},range:de.cursor(l+m.length)}}}else{if(t&&n.sliceDoc(l-2*e.length,l)==e+e&&(d=Bg(n,l-2*e.length,i))>-1&&Pg(n,d))return{changes:{insert:e+e+e+e,from:l},effects:Yi.of(l+e.length),range:de.cursor(l+e.length)};if(n.charCategorizer(l)(u)!=Pt.Word&&Bg(n,l,i)>-1&&!PD(n,l,e,i))return{changes:{insert:e+e,from:l},effects:Yi.of(l+e.length),range:de.cursor(l+e.length)}}return{range:a=o}});return a?null:n.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function Pg(n,e){let t=Ut(n).resolveInner(e+1);return t.parent&&t.from==e}function PD(n,e,t,r){let i=Ut(n).resolveInner(e,-1),a=r.reduce((s,o)=>Math.max(s,o.length),0);for(let s=0;s<5;s++){let o=n.sliceDoc(i.from,Math.min(i.to,i.from+t.length+a)),l=o.indexOf(t);if(!l||l>-1&&r.indexOf(o.slice(0,l))>-1){let d=i.firstChild;for(;d&&d.from==i.from&&d.to-d.from>t.length+l;){if(n.sliceDoc(d.to-t.length,d.to)==t)return!1;d=d.firstChild}return!0}let u=i.to==e&&i.parent;if(!u)break;i=u}return!1}function Bg(n,e,t){let r=n.charCategorizer(e);if(r(n.sliceDoc(e-1,e))!=Pt.Word)return e;for(let i of t){let a=e-i.length;if(n.sliceDoc(a,e)==i&&r(n.sliceDoc(a-1,a))!=Pt.Word)return a}return-1}function BD(n={}){return[Zr,Fr.of(n),hD,FD,Nv]}const UD=[{key:"Ctrl-Space",run:cD},{key:"Escape",run:uD},{key:"ArrowDown",run:To(!0)},{key:"ArrowUp",run:To(!1)},{key:"PageDown",run:To(!0,"page")},{key:"PageUp",run:To(!1,"page")},{key:"Enter",run:lD}],FD=Jn.highest(Xi.computeN([Fr],n=>n.facet(Fr).defaultKeymap?[UD]:[])),YD=[mn("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),mn("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),mn("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),mn("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),mn("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),mn(`try { +`;this.styleTag.textContent=a}}}var Ei={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},bs={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},qA=typeof navigator<"u"&&/Mac/.test(navigator.platform),VA=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var fr=0;fr<10;fr++)Ei[48+fr]=Ei[96+fr]=String(fr);for(var fr=1;fr<=24;fr++)Ei[fr+111]="F"+fr;for(var fr=65;fr<=90;fr++)Ei[fr]=String.fromCharCode(fr+32),bs[fr]=String.fromCharCode(fr);for(var sc in Ei)bs.hasOwnProperty(sc)||(bs[sc]=Ei[sc]);function HA(n){var e=qA&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||VA&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?bs:Ei)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function Ko(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function Ff(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function zA(n){let e=n.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function xo(n,e){if(!e.anchorNode)return!1;try{return Ff(n,e.anchorNode)}catch{return!1}}function Ts(n){return n.nodeType==3?Wi(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function jo(n,e,t,r){return t?d_(n,e,t,r,-1)||d_(n,e,t,r,1):!1}function Jo(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function d_(n,e,t,r,i){for(;;){if(n==t&&e==r)return!0;if(e==(i<0?0:bi(n))){if(n.nodeName=="DIV")return!1;let a=n.parentNode;if(!a||a.nodeType!=1)return!1;e=Jo(n)+(i<0?0:1),n=a}else if(n.nodeType==1){if(n=n.childNodes[e+(i<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=i<0?bi(n):0}else return!1}}function bi(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function Gh(n,e){let t=e?n.left:n.right;return{left:t,right:t,top:n.top,bottom:n.bottom}}function WA(n){return{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function XA(n,e,t,r,i,a,s,o){let l=n.ownerDocument,u=l.defaultView||window;for(let d=n,f=!1;d&&!f;)if(d.nodeType==1){let m,g=d==l.body;if(g)m=WA(u);else{if(/^(fixed|sticky)$/.test(getComputedStyle(d).position)&&(f=!0),d.scrollHeight<=d.clientHeight&&d.scrollWidth<=d.clientWidth){d=d.assignedSlot||d.parentNode;continue}let y=d.getBoundingClientRect();m={left:y.left,right:y.left+d.clientWidth,top:y.top,bottom:y.top+d.clientHeight}}let b=0,v=0;if(i=="nearest")e.top0&&e.bottom>m.bottom+v&&(v=e.bottom-m.bottom+v+s)):e.bottom>m.bottom&&(v=e.bottom-m.bottom+s,t<0&&e.top-v0&&e.right>m.right+b&&(b=e.right-m.right+b+a)):e.right>m.right&&(b=e.right-m.right+a,t<0&&e.leftt.clientHeight||t.scrollWidth>t.clientWidth)return t;t=t.assignedSlot||t.parentNode}else if(t.nodeType==11)t=t.host;else break;return null}class KA{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:r}=e;this.set(t,Math.min(e.anchorOffset,t?bi(t):0),r,Math.min(e.focusOffset,r?bi(r):0))}set(e,t,r,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=r,this.focusOffset=i}}let ca=null;function ZT(n){if(n.setActive)return n.setActive();if(ca)return n.focus(ca);let e=[];for(let t=n;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(n.focus(ca==null?{get preventScroll(){return ca={preventScroll:!0},!0}}:void 0),!ca){ca=!1;for(let t=0;tMath.max(1,n.scrollHeight-n.clientHeight-4)}class Lr{constructor(e,t,r=!0){this.node=e,this.offset=t,this.precise=r}static before(e,t){return new Lr(e.parentNode,Jo(e),t)}static after(e,t){return new Lr(e.parentNode,Jo(e)+1,t)}}const Qh=[];class It{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let r of this.children){if(r==e)return t;t+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(this.flags&2){let r=this.dom,i=null,a;for(let s of this.children){if(s.flags&7){if(!s.dom&&(a=i?i.nextSibling:r.firstChild)){let o=It.get(a);(!o||!o.parent&&o.canReuseDOM(s))&&s.reuseDOM(a)}s.sync(e,t),s.flags&=-8}if(a=i?i.nextSibling:r.firstChild,t&&!t.written&&t.node==r&&a!=s.dom&&(t.written=!0),s.dom.parentNode==r)for(;a&&a!=s.dom;)a=f_(a);else r.insertBefore(s.dom,a);i=s.dom}for(a=i?i.nextSibling:r.firstChild,a&&t&&t.node==r&&(t.written=!0);a;)a=f_(a)}else if(this.flags&1)for(let r of this.children)r.flags&7&&(r.sync(e,t),r.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let r;if(e==this.dom)r=this.dom.childNodes[t];else{let i=bi(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==this.dom)break;i==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?i=-1:i=1),e=a}i<0?r=e:r=e.nextSibling}if(r==this.dom.firstChild)return 0;for(;r&&!It.get(r);)r=r.nextSibling;if(!r)return this.length;for(let i=0,a=0;;i++){let s=this.children[i];if(s.dom==r)return a;a+=s.length+s.breakAfter}}domBoundsAround(e,t,r=0){let i=-1,a=-1,s=-1,o=-1;for(let l=0,u=r,d=r;lt)return f.domBoundsAround(e,t,u);if(m>=e&&i==-1&&(i=l,a=u),u>t&&f.dom.parentNode==this.dom){s=l,o=d;break}d=m,u=m+f.breakAfter}return{from:a,to:o<0?r+this.length:o,startDOM:(i?this.children[i-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:s=0?this.children[s].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),t.flags&1)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,r=Qh){this.markDirty();for(let i=e;ithis.pos||e==this.pos&&(t>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let r=this.children[--this.i];this.pos-=r.length+r.breakAfter}}}function eC(n,e,t,r,i,a,s,o,l){let{children:u}=n,d=u.length?u[e]:null,f=a.length?a[a.length-1]:null,m=f?f.breakAfter:s;if(!(e==r&&d&&!s&&!m&&a.length<2&&d.merge(t,i,a.length?f:null,t==0,o,l))){if(r0&&(!s&&a.length&&d.merge(t,d.length,a[0],!1,o,0)?d.breakAfter=a.shift().breakAfter:(ta)&&this.lineBreak(),i=s}return this.findPointBefore(r,t),this}readTextNode(e){let t=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,t.length));for(let r=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let a=-1,s=1,o;if(this.lineSeparator?(a=t.indexOf(this.lineSeparator,r),s=this.lineSeparator.length):(o=i.exec(t))&&(a=o.index,s=o[0].length),this.append(t.slice(r,a<0?t.length:a)),a<0)break;if(this.lineBreak(),s>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=s-1);r=a+s}}readNode(e){if(e.cmIgnore)return;let t=It.get(e),r=t&&t.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let i=r.iter();!i.next().done;)i.lineBreak?this.lineBreak():this.append(i.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let r of this.points)r.node==e&&e.childNodes[r.offset]==t&&(r.pos=this.text.length)}findPointInside(e,t){for(let r of this.points)(e.nodeType==3?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+Math.min(t,r.offset))}}function h_(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}class m_{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}let Kr=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Yf=typeof document<"u"?document:{documentElement:{style:{}}};const Gf=/Edge\/(\d+)/.exec(Kr.userAgent),nC=/MSIE \d/.test(Kr.userAgent),Qf=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Kr.userAgent),Ul=!!(nC||Qf||Gf),__=!Ul&&/gecko\/(\d+)/i.test(Kr.userAgent),oc=!Ul&&/Chrome\/(\d+)/.exec(Kr.userAgent),g_="webkitFontSmoothing"in Yf.documentElement.style,iC=!Ul&&/Apple Computer/.test(Kr.vendor),S_=iC&&(/Mobile\/\w+/.test(Kr.userAgent)||Kr.maxTouchPoints>2);var Ne={mac:S_||/Mac/.test(Kr.platform),windows:/Win/.test(Kr.platform),linux:/Linux|X11/.test(Kr.platform),ie:Ul,ie_version:nC?Yf.documentMode||6:Qf?+Qf[1]:Gf?+Gf[1]:0,gecko:__,gecko_version:__?+(/Firefox\/(\d+)/.exec(Kr.userAgent)||[0,0])[1]:0,chrome:!!oc,chrome_version:oc?+oc[1]:0,ios:S_,android:/Android\b/.test(Kr.userAgent),webkit:g_,safari:iC,webkit_version:g_?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:Yf.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};const eR=256;class Yn extends It{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(e,t,r){return this.flags&8||r&&(!(r instanceof Yn)||this.length-(t-e)+r.length>eR||r.flags&8)?!1:(this.text=this.text.slice(0,e)+(r?r.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new Yn(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=this.flags&8,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new Lr(this.dom,e)}domBoundsAround(e,t,r){return{from:r,to:r+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return tR(this.dom,e,t)}}class jn extends It{constructor(e,t=[],r=0){super(),this.mark=e,this.children=t,this.length=r;for(let i of t)i.setParent(this)}setAttrs(e){if(KT(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,r,i,a,s){return r&&(!(r instanceof jn&&r.mark.eq(this.mark))||e&&a<=0||te&&t.push(r=e&&(i=a),r=l,a++}let s=this.length-e;return this.length=e,i>-1&&(this.children.length=i,this.markDirty()),new jn(this.mark,t,s)}domAtPos(e){return aC(this,e)}coordsAt(e,t){return oC(this,e,t)}}function tR(n,e,t){let r=n.nodeValue.length;e>r&&(e=r);let i=e,a=e,s=0;e==0&&t<0||e==r&&t>=0?Ne.chrome||Ne.gecko||(e?(i--,s=1):a=0)?0:o.length-1];return Ne.safari&&!s&&l.width==0&&(l=Array.prototype.find.call(o,u=>u.width)||l),s?Gh(l,s<0):l||null}class Ui extends It{constructor(e,t,r){super(),this.widget=e,this.length=t,this.side=r,this.prevWidget=null}static create(e,t,r){return new Ui(e,t,r)}split(e){let t=Ui.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}getSide(){return this.side}merge(e,t,r,i,a,s){return r&&(!(r instanceof Ui)||!this.widget.compare(r.widget)||e>0&&a<=0||t0)?Lr.before(this.dom):Lr.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;let i=this.dom.getClientRects(),a=null;if(!i.length)return null;let s=this.side?this.side<0:e>0;for(let o=s?i.length-1:0;a=i[o],!(e>0?o==0:o==i.length-1||a.top0?Lr.before(this.dom):Lr.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return mt.empty}get isHidden(){return!0}}Yn.prototype.children=Ui.prototype.children=Na.prototype.children=Qh;function aC(n,e){let t=n.dom,{children:r}=n,i=0;for(let a=0;ia&&e0;a--){let s=r[a-1];if(s.dom.parentNode==t)return s.domAtPos(s.length)}for(let a=i;a0&&e instanceof jn&&i.length&&(r=i[i.length-1])instanceof jn&&r.mark.eq(e.mark)?sC(r,e.children[0],t-1):(i.push(e),e.setParent(n)),n.length+=e.length}function oC(n,e,t){let r=null,i=-1,a=null,s=-1;function o(u,d){for(let f=0,m=0;f=d&&(g.children.length?o(g,d-m):(!a||a.isHidden&&t>0)&&(b>d||m==b&&g.getSide()>0)?(a=g,s=d-m):(m-1?1:0)!=i.length-(t&&i.indexOf(t)>-1?1:0))return!1;for(let a of r)if(a!=t&&(i.indexOf(a)==-1||n[a]!==e[a]))return!1;return!0}function qf(n,e,t){let r=null;if(e)for(let i in e)t&&i in t||n.removeAttribute(r=i);if(t)for(let i in t)e&&e[i]==t[i]||n.setAttribute(r=i,t[i]);return!!r}function nR(n){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Ti(e,t,t,r,e.widget||null,!1)}static replace(e){let t=!!e.block,r,i;if(e.isBlockGap)r=-5e8,i=4e8;else{let{start:a,end:s}=lC(e,t);r=(a?t?-3e8:-1:5e8)-1,i=(s?t?2e8:1:-6e8)+1}return new Ti(e,r,i,t,e.widget||null,!0)}static line(e){return new Hs(e)}static set(e,t=!1){return yt.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}qe.none=yt.empty;class Vs extends qe{constructor(e){let{start:t,end:r}=lC(e);super(t?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,r;return this==e||e instanceof Vs&&this.tagName==e.tagName&&(this.class||((t=this.attrs)===null||t===void 0?void 0:t.class))==(e.class||((r=e.attrs)===null||r===void 0?void 0:r.class))&&$h(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}Vs.prototype.point=!1;class Hs extends qe{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Hs&&this.spec.class==e.spec.class&&$h(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}Hs.prototype.mapMode=er.TrackBefore;Hs.prototype.point=!0;class Ti extends qe{constructor(e,t,r,i,a,s){super(t,r,a,e),this.block=i,this.isReplace=s,this.mapMode=i?t<=0?er.TrackBefore:er.TrackAfter:er.TrackDel}get type(){return this.startSide=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Ti&&iR(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}Ti.prototype.point=!0;function lC(n,e=!1){let{inclusiveStart:t,inclusiveEnd:r}=n;return t==null&&(t=n.inclusive),r==null&&(r=n.inclusive),{start:t??e,end:r??e}}function iR(n,e){return n==e||!!(n&&e&&n.compare(e))}function Vf(n,e,t,r=0){let i=t.length-1;i>=0&&t[i]+r>=n?t[i]=Math.max(t[i],e):t.push(n,e)}class xr extends It{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,r,i,a,s){if(r){if(!(r instanceof xr))return!1;this.dom||r.transferDOM(this)}return i&&this.setDeco(r?r.attrs:null),tC(this,e,t,r?r.children:[],a,s),!0}split(e){let t=new xr;if(t.breakAfter=this.breakAfter,this.length==0)return t;let{i:r,off:i}=this.childPos(e);i&&(t.append(this.children[r].split(i),0),this.children[r].merge(i,this.children[r].length,null,!1,0,0),r++);for(let a=r;a0&&this.children[r-1].length==0;)this.children[--r].destroy();return this.children.length=r,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){$h(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){sC(this,e,t)}addLineDeco(e){let t=e.spec.attributes,r=e.spec.class;t&&(this.attrs=$f(t,this.attrs||{})),r&&(this.attrs=$f({class:r},this.attrs||{}))}domAtPos(e){return aC(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,t){var r;this.dom?this.flags&4&&(KT(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(qf(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let i=this.dom.lastChild;for(;i&&It.get(i)instanceof jn;)i=i.lastChild;if(!i||!this.length||i.nodeName!="BR"&&((r=It.get(i))===null||r===void 0?void 0:r.isEditable)==!1&&(!Ne.ios||!this.children.some(a=>a instanceof Yn))){let a=document.createElement("BR");a.cmIgnore=!0,this.dom.appendChild(a)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,t;for(let r of this.children){if(!(r instanceof Yn)||/[^ -~]/.test(r.text))return null;let i=Ts(r.dom);if(i.length!=1)return null;e+=i[0].width,t=i[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let r=oC(this,e,t);if(!this.children.length&&r&&this.parent){let{heightOracle:i}=this.parent.view.viewState,a=r.bottom-r.top;if(Math.abs(a-i.lineHeight)<2&&i.textHeight=t){if(a instanceof xr)return a;if(s>t)break}i=s+a.breakAfter}return null}}class qi extends It{constructor(e,t,r){super(),this.widget=e,this.length=t,this.type=r,this.breakAfter=0,this.prevWidget=null}merge(e,t,r,i,a,s){return r&&(!(r instanceof qi)||!this.widget.compare(r.widget)||e>0&&a<=0||t0;){if(this.textOff==this.text.length){let{value:a,lineBreak:s,done:o}=this.cursor.next(this.skip);if(this.skip=0,o)throw new Error("Ran out of text content when drawing inline views");if(s){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}else this.text=a,this.textOff=0}let i=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-r)),this.getLine().append(oo(new Yn(this.text.slice(this.textOff,this.textOff+i)),t),r),this.atCursorPos=!0,this.textOff+=i,e-=i,r=0}}span(e,t,r,i){this.buildText(t-e,r,i),this.pos=t,this.openStart<0&&(this.openStart=i)}point(e,t,r,i,a,s){if(this.disallowBlockEffectsFor[s]&&r instanceof Ti){if(r.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let o=t-e;if(r instanceof Ti)if(r.block){let{type:l}=r;l==Yt.WidgetAfter&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new qi(r.widget||new E_("div"),o,l))}else{let l=Ui.create(r.widget||new E_("span"),o,o?0:r.startSide),u=this.atCursorPos&&!l.isEditable&&a<=i.length&&(e0),d=!l.isEditable&&(ei.length||r.startSide<=0),f=this.getLine();this.pendingBuffer==2&&!u&&!l.isEditable&&(this.pendingBuffer=0),this.flushBuffer(i),u&&(f.append(oo(new Na(1),i),a),a=i.length+Math.max(0,a-i.length)),f.append(oo(l,i),a),this.atCursorPos=d,this.pendingBuffer=d?ei.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=i.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(r);o&&(this.textOff+o<=this.text.length?this.textOff+=o:(this.skip+=o-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=a)}static build(e,t,r,i,a){let s=new _s(e,t,r,a);return s.openEnd=yt.spans(i,t,r,s),s.openStart<0&&(s.openStart=s.openEnd),s.finish(s.openEnd),s}}function oo(n,e){for(let t of e)n=new jn(t,[n],n.length);return n}class E_ extends ri{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}const cC=De.define(),uC=De.define(),dC=De.define(),pC=De.define(),Hf=De.define(),fC=De.define(),hC=De.define(),mC=De.define({combine:n=>n.some(e=>e)}),_C=De.define({combine:n=>n.some(e=>e)});class el{constructor(e,t="nearest",r="nearest",i=5,a=5){this.range=e,this.y=t,this.x=r,this.yMargin=i,this.xMargin=a}map(e){return e.empty?this:new el(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin)}}const b_=it.define({map:(n,e)=>n.map(e)});function cn(n,e,t){let r=n.facet(pC);r.length?r[0](e):window.onerror?window.onerror(String(e),t,void 0,void 0,e):t?console.error(t+":",e):console.error(e)}const Fl=De.define({combine:n=>n.length?n[0]:!0});let aR=0;const os=De.define();class lr{constructor(e,t,r,i){this.id=e,this.create=t,this.domEventHandlers=r,this.extension=i(this)}static define(e,t){const{eventHandlers:r,provide:i,decorations:a}=t||{};return new lr(aR++,e,r,s=>{let o=[os.of(s)];return a&&o.push(Cs.of(l=>{let u=l.plugin(s);return u?a(u):qe.none})),i&&o.push(i(s)),o})}static fromClass(e,t){return lr.define(r=>new e(r),t)}}class lc{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(r){if(cn(t.state,r,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(t){cn(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(r){cn(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const gC=De.define(),qh=De.define(),Cs=De.define(),Vh=De.define(),SC=De.define();function OC(n){let e=0,t=0,r=0,i=0;for(let a of n.state.facet(SC)){let s=a(n);s&&(s.left!=null&&(e=Math.max(e,s.left)),s.right!=null&&(t=Math.max(t,s.right)),s.top!=null&&(r=Math.max(r,s.top)),s.bottom!=null&&(i=Math.max(i,s.bottom)))}return{left:e,right:t,top:r,bottom:i}}const ls=De.define();class un{constructor(e,t,r,i){this.fromA=e,this.toA=t,this.fromB=r,this.toB=i}join(e){return new un(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,r=this;for(;t>0;t--){let i=e[t-1];if(!(i.fromA>r.toA)){if(i.toAd)break;a+=2}if(!l)return r;new un(l.fromA,l.toA,l.fromB,l.toB).addToSet(r),s=l.toA,o=l.toB}}}class tl{constructor(e,t,r){this.view=e,this.state=t,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=Jt.empty(this.startState.doc.length);for(let a of r)this.changes=this.changes.compose(a.changes);let i=[];this.changes.iterChangedRanges((a,s,o,l)=>i.push(new un(a,s,o,l))),this.changedRanges=i}static create(e,t,r){return new tl(e,t,r)}get viewportChanged(){return(this.flags&4)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&10)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}var Bt=function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n}(Bt||(Bt={}));const zf=Bt.LTR,sR=Bt.RTL;function EC(n){let e=[];for(let t=0;t=t){if(o.level==r)return s;(a<0||(i!=0?i<0?o.fromt:e[a].level>o.level))&&(a=s)}}if(a<0)throw new RangeError("Index out of range");return a}}const Ft=[];function dR(n,e){let t=n.length,r=e==zf?1:2,i=e==zf?2:1;if(!n||r==1&&!uR.test(n))return bC(t);for(let s=0,o=r,l=r;s=0;m-=3)if(In[m+1]==-d){let g=In[m+2],b=g&2?r:g&4?g&1?i:r:0;b&&(Ft[s]=Ft[In[m]]=b),o=m;break}}else{if(In.length==189)break;In[o++]=s,In[o++]=u,In[o++]=l}else if((f=Ft[s])==2||f==1){let m=f==r;l=m?0:1;for(let g=o-3;g>=0;g-=3){let b=In[g+2];if(b&2)break;if(m)In[g+2]|=2;else{if(b&4)break;In[g+2]|=4}}}for(let s=0;so;){let d=u,f=Ft[--u]!=2;for(;u>o&&f==(Ft[u-1]!=2);)u--;a.push(new Ea(u,d,f?2:1))}else a.push(new Ea(o,s,0))}else for(let s=0;s0&&t.length&&(t.every(({fromA:o,toA:l})=>lthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0);let r=this.view.inputState.composing<0?null:hR(this.view,e.changes);if(this.hasComposition){this.markedForComposition.clear();let{from:o,to:l}=this.hasComposition;t=new un(o,l,e.changes.mapPos(o,-1),e.changes.mapPos(l,1)).addToSet(t.slice())}this.hasComposition=r?{from:r.range.fromB,to:r.range.toB}:null,(Ne.ie||Ne.chrome)&&!r&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let i=this.decorations,a=this.updateDeco(),s=gR(i,a,e.changes);return t=un.extendWithRanges(t,s),!(this.flags&7)&&t.length==0?!1:(this.updateInner(t,e.startState.doc.length,r),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,r){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,r);let{observer:i}=this.view;i.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=Ne.chrome||Ne.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,s),this.flags&=-8,s&&(s.written||i.selectionRange.focusNode!=s.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(s=>s.flags&=-9);let a=[];if(this.view.viewport.from||this.view.viewport.to=0?i[s]:null;if(!o)break;let{fromA:l,toA:u,fromB:d,toB:f}=o,m,g,b,v;if(r&&r.range.fromBd){let p=_s.build(this.view.state.doc,d,r.range.fromB,this.decorations,this.dynamicDecorationMap),E=_s.build(this.view.state.doc,r.range.toB,f,this.decorations,this.dynamicDecorationMap);g=p.breakAtStart,b=p.openStart,v=E.openEnd;let O=this.compositionView(r);E.breakAtStart?O.breakAfter=1:E.content.length&&O.merge(O.length,O.length,E.content[0],!1,E.openStart,0)&&(O.breakAfter=E.content[0].breakAfter,E.content.shift()),p.content.length&&O.merge(0,0,p.content[p.content.length-1],!0,0,p.openEnd)&&p.content.pop(),m=p.content.concat(O).concat(E.content)}else({content:m,breakAtStart:g,openStart:b,openEnd:v}=_s.build(this.view.state.doc,d,f,this.decorations,this.dynamicDecorationMap));let{i:y,off:N}=a.findPos(u,1),{i:F,off:X}=a.findPos(l,-1);eC(this,F,X,y,N,m,g,b,v)}r&&this.fixCompositionDOM(r)}compositionView(e){let t=new Yn(e.text.nodeValue);t.flags|=8;for(let{deco:i}of e.marks)t=new jn(i,[t],t.length);let r=new xr;return r.append(t,0),r}fixCompositionDOM(e){let t=(a,s)=>{s.flags|=8,this.markedForComposition.add(s);let o=It.get(a);o!=s&&(o&&(o.dom=null),s.setDOM(a))},r=this.childPos(e.range.fromB,1),i=this.children[r.i];t(e.line,i);for(let a=e.marks.length-1;a>=-1;a--)r=i.childPos(r.off,1),i=i.children[r.i],t(a>=0?e.marks[a].node:e.text,i)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let r=this.view.root.activeElement,i=r==this.dom,a=!i&&xo(this.dom,this.view.observer.selectionRange)&&!(r&&this.dom.contains(r));if(!(i||t||a))return;let s=this.forceSelection;this.forceSelection=!1;let o=this.view.state.selection.main,l=this.domAtPos(o.anchor),u=o.empty?l:this.domAtPos(o.head);if(Ne.gecko&&o.empty&&!this.hasComposition&&fR(l)){let f=document.createTextNode("");this.view.observer.ignore(()=>l.node.insertBefore(f,l.node.childNodes[l.offset]||null)),l=u=new Lr(f,0),s=!0}let d=this.view.observer.selectionRange;(s||!d.focusNode||!jo(l.node,l.offset,d.anchorNode,d.anchorOffset)||!jo(u.node,u.offset,d.focusNode,d.focusOffset))&&(this.view.observer.ignore(()=>{Ne.android&&Ne.chrome&&this.dom.contains(d.focusNode)&&SR(d.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let f=Ko(this.view.root);if(f)if(o.empty){if(Ne.gecko){let m=mR(l.node,l.offset);if(m&&m!=3){let g=vC(l.node,l.offset,m==1?1:-1);g&&(l=new Lr(g,m==1?0:g.nodeValue.length))}}f.collapse(l.node,l.offset),o.bidiLevel!=null&&d.cursorBidiLevel!=null&&(d.cursorBidiLevel=o.bidiLevel)}else if(f.extend){f.collapse(l.node,l.offset);try{f.extend(u.node,u.offset)}catch{}}else{let m=document.createRange();o.anchor>o.head&&([l,u]=[u,l]),m.setEnd(u.node,u.offset),m.setStart(l.node,l.offset),f.removeAllRanges(),f.addRange(m)}a&&this.view.root.activeElement==this.dom&&(this.dom.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(l,u)),this.impreciseAnchor=l.precise?null:new Lr(d.anchorNode,d.anchorOffset),this.impreciseHead=u.precise?null:new Lr(d.focusNode,d.focusOffset)}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,r=Ko(e.root),{anchorNode:i,anchorOffset:a}=e.observer.selectionRange;if(!r||!t.empty||!t.assoc||!r.modify)return;let s=xr.find(this,t.head);if(!s)return;let o=s.posAtStart;if(t.head==o||t.head==o+s.length)return;let l=this.coordsAt(t.head,-1),u=this.coordsAt(t.head,1);if(!l||!u||l.bottom>u.top)return;let d=this.domAtPos(t.head+t.assoc);r.collapse(d.node,d.offset),r.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=t.from&&r.collapse(i,a)}nearest(e){for(let t=e;t;){let r=It.get(t);if(r&&r.rootView==this)return r;t=t.parentNode}return null}posFromDOM(e,t){let r=this.nearest(e);if(!r)throw new RangeError("Trying to find position for a DOM position outside of the document");return r.localPosFromDOM(e,t)+r.posAtStart}domAtPos(e){let{i:t,off:r}=this.childCursor().findPos(e,-1);for(;ts||e==s&&a.type!=Yt.WidgetBefore&&a.type!=Yt.WidgetAfter&&(!i||t==2||this.children[i-1].breakAfter||this.children[i-1].type==Yt.WidgetBefore&&t>-2))return a.coordsAt(e-s,t);r=s}}coordsForChar(e){let{i:t,off:r}=this.childPos(e,1),i=this.children[t];if(!(i instanceof xr))return null;for(;i.children.length;){let{i:o,off:l}=i.childPos(r,1);for(;;o++){if(o==i.children.length)return null;if((i=i.children[o]).length)break}r=l}if(!(i instanceof Yn))return null;let a=Er(i.text,r);if(a==r)return null;let s=Wi(i.dom,r,a).getClientRects();return!s.length||s[0].top>=s[0].bottom?null:s[0]}measureVisibleLineHeights(e){let t=[],{from:r,to:i}=e,a=this.view.contentDOM.clientWidth,s=a>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,l=this.view.textDirection==Bt.LTR;for(let u=0,d=0;di)break;if(u>=r){let g=f.dom.getBoundingClientRect();if(t.push(g.height),s){let b=f.dom.lastChild,v=b?Ts(b):[];if(v.length){let y=v[v.length-1],N=l?y.right-g.left:g.right-y.left;N>o&&(o=N,this.minWidth=a,this.minWidthFrom=u,this.minWidthTo=m)}}}u=m+f.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction=="rtl"?Bt.RTL:Bt.LTR}measureTextSize(){for(let a of this.children)if(a instanceof xr){let s=a.measureTextSize();if(s)return s}let e=document.createElement("div"),t,r,i;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let a=Ts(e.firstChild)[0];t=e.getBoundingClientRect().height,r=a?a.width/27:7,i=a?a.height:t,e.remove()}),{lineHeight:t,charWidth:r,textHeight:i}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new JT(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let r=0,i=0;;i++){let a=i==t.viewports.length?null:t.viewports[i],s=a?a.from-1:this.length;if(s>r){let o=t.lineBlockAt(s).bottom-t.lineBlockAt(r).top;e.push(qe.replace({widget:new C_(o),block:!0,inclusive:!0,isBlockGap:!0}).range(r,s))}if(!a)break;r=a.to+1}return qe.set(e)}updateDeco(){let e=this.view.state.facet(Cs).map((t,r)=>(this.dynamicDecorationMap[r]=typeof t=="function")?t(this.view):t);for(let t=e.length;tt.anchor?-1:1),i;if(!r)return;!t.empty&&(i=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(r={left:Math.min(r.left,i.left),top:Math.min(r.top,i.top),right:Math.max(r.right,i.right),bottom:Math.max(r.bottom,i.bottom)});let a=OC(this.view),s={left:r.left-a.left,top:r.top-a.top,right:r.right+a.right,bottom:r.bottom+a.bottom};XA(this.view.scrollDOM,s,t.head-1)return null;s+=f.text.length}if(o=o.parentNode,!o)return null;let l=It.get(o);if(l){i=a=l.posAtStart+s;break}}return{from:i,to:a,node:t}}function hR(n,e){let t=CC(n);if(!t)return null;let{from:r,to:i,node:a}=t,s=e.mapPos(r,-1),o=e.mapPos(i,1),l=a.nodeValue;if(/[\n\r]/.test(l))return null;if(o-s!=l.length){let m=e.mapPos(r,1),g=e.mapPos(i,-1);if(g-m==l.length)s=m,o=g;else if(n.state.doc.sliceString(o-l.length,o)==l)s=o-l.length;else if(n.state.doc.sliceString(s,s+l.length)==l)o=s+l.length;else return null}let{main:u}=n.state.selection;if(n.state.doc.sliceString(s,o)!=l||s>u.head||o0)r=r.childNodes[i-1],i=bi(r);else break}if(t>=0)for(let r=n,i=e;;){if(r.nodeType==3)return r;if(r.nodeType==1&&i=0)r=r.childNodes[i],i=0;else break}return null}function mR(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e0;){let u=Er(i.text,s,!1);if(r(i.text.slice(u,s))!=l)break;s=u}for(;on?e.left-n:Math.max(0,n-e.right)}function bR(n,e){return e.top>n?e.top-n:Math.max(0,n-e.bottom)}function cc(n,e){return n.tope.top+1}function v_(n,e){return en.bottom?{top:n.top,left:n.left,right:n.right,bottom:e}:n}function Xf(n,e,t){let r,i,a,s,o=!1,l,u,d,f;for(let b=n.firstChild;b;b=b.nextSibling){let v=Ts(b);for(let y=0;yX||s==X&&a>F){r=b,i=N,a=F,s=X;let p=X?t0?y0)}F==0?t>N.bottom&&(!d||d.bottomN.top)&&(u=b,f=N):d&&cc(d,N)?d=y_(d,N.bottom):f&&cc(f,N)&&(f=v_(f,N.top))}}if(d&&d.bottom>=t?(r=l,i=d):f&&f.top<=t&&(r=u,i=f),!r)return{node:n,offset:0};let m=Math.max(i.left,Math.min(i.right,e));if(r.nodeType==3)return A_(r,m,t);if(o&&r.contentEditable!="false")return Xf(r,m,t);let g=Array.prototype.indexOf.call(n.childNodes,r)+(e>=(i.left+i.right)/2?1:0);return{node:n,offset:g}}function A_(n,e,t){let r=n.nodeValue.length,i=-1,a=1e9,s=0;for(let o=0;ot?d.top-t:t-d.bottom)-1;if(d.left-1<=e&&d.right+1>=e&&f=(d.left+d.right)/2,g=m;if((Ne.chrome||Ne.gecko)&&Wi(n,o).getBoundingClientRect().left==d.right&&(g=!m),f<=0)return{node:n,offset:o+(g?1:0)};i=o+(g?1:0),a=f}}}return{node:n,offset:i>-1?i:s>0?n.nodeValue.length:0}}function yC(n,e,t,r=-1){var i,a;let s=n.contentDOM.getBoundingClientRect(),o=s.top+n.viewState.paddingTop,l,{docHeight:u}=n.viewState,{x:d,y:f}=e,m=f-o;if(m<0)return 0;if(m>u)return n.state.doc.length;for(let p=n.viewState.heightOracle.textHeight/2,E=!1;l=n.elementAtHeight(m),l.type!=Yt.Text;)for(;m=r>0?l.bottom+p:l.top-p,!(m>=0&&m<=u);){if(E)return t?null:0;E=!0,r=-r}f=o+m;let g=l.from;if(gn.viewport.to)return n.viewport.to==n.state.doc.length?n.state.doc.length:t?null:R_(n,s,l,d,f);let b=n.dom.ownerDocument,v=n.root.elementFromPoint?n.root:b,y=v.elementFromPoint(d,f);y&&!n.contentDOM.contains(y)&&(y=null),y||(d=Math.max(s.left+1,Math.min(s.right-1,d)),y=v.elementFromPoint(d,f),y&&!n.contentDOM.contains(y)&&(y=null));let N,F=-1;if(y&&((i=n.docView.nearest(y))===null||i===void 0?void 0:i.isEditable)!=!1){if(b.caretPositionFromPoint){let p=b.caretPositionFromPoint(d,f);p&&({offsetNode:N,offset:F}=p)}else if(b.caretRangeFromPoint){let p=b.caretRangeFromPoint(d,f);p&&({startContainer:N,startOffset:F}=p,(!n.contentDOM.contains(N)||Ne.safari&&TR(N,F,d)||Ne.chrome&&CR(N,F,d))&&(N=void 0))}}if(!N||!n.docView.dom.contains(N)){let p=xr.find(n.docView,g);if(!p)return m>l.top+l.height/2?l.to:l.from;({node:N,offset:F}=Xf(p.dom,d,f))}let X=n.docView.nearest(N);if(!X)return null;if(X.isWidget&&((a=X.dom)===null||a===void 0?void 0:a.nodeType)==1){let p=X.dom.getBoundingClientRect();return e.yn.defaultLineHeight*1.5){let o=n.viewState.heightOracle.textHeight,l=Math.floor((i-t.top-(n.defaultLineHeight-o)*.5)/o);a+=l*n.viewState.heightOracle.lineLength}let s=n.state.sliceDoc(t.from,t.to);return t.from+Pf(s,a,n.state.tabSize)}function TR(n,e,t){let r;if(n.nodeType!=3||e!=(r=n.nodeValue.length))return!1;for(let i=n.nextSibling;i;i=i.nextSibling)if(i.nodeType!=1||i.nodeName!="BR")return!1;return Wi(n,r-1,r).getBoundingClientRect().left>t}function CR(n,e,t){if(e!=0)return!1;for(let i=n;;){let a=i.parentNode;if(!a||a.nodeType!=1||a.firstChild!=i)return!1;if(a.classList.contains("cm-line"))break;i=a}let r=n.nodeType==1?n.getBoundingClientRect():Wi(n,0,Math.max(n.nodeValue.length,1)).getBoundingClientRect();return t-r.left>5}function Zf(n,e){let t=n.lineBlockAt(e);if(Array.isArray(t.type)){for(let r of t.type)if(r.to>e||r.to==e&&(r.to==t.to||r.type==Yt.Text))return r}return t}function vR(n,e,t,r){let i=Zf(n,e.head),a=!r||i.type!=Yt.Text||!(n.lineWrapping||i.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>i.from?e.head-1:e.head);if(a){let s=n.dom.getBoundingClientRect(),o=n.textDirectionAt(i.from),l=n.posAtCoords({x:t==(o==Bt.LTR)?s.right-1:s.left+1,y:(a.top+a.bottom)/2});if(l!=null)return de.cursor(l,t?-1:1)}return de.cursor(t?i.to:i.from,t?-1:1)}function I_(n,e,t,r){let i=n.state.doc.lineAt(e.head),a=n.bidiSpans(i),s=n.textDirectionAt(i.from);for(let o=e,l=null;;){let u=pR(i,a,s,o,t),d=TC;if(!u){if(i.number==(t?n.state.doc.lines:1))return o;d=` +`,i=n.state.doc.line(i.number+(t?1:-1)),a=n.bidiSpans(i),u=de.cursor(t?i.from:i.to)}if(l){if(!l(d))return o}else{if(!r)return u;l=r(d)}o=u}}function yR(n,e,t){let r=n.state.charCategorizer(e),i=r(t);return a=>{let s=r(a);return i==Pt.Space&&(i=s),i==s}}function AR(n,e,t,r){let i=e.head,a=t?1:-1;if(i==(t?n.state.doc.length:0))return de.cursor(i,e.assoc);let s=e.goalColumn,o,l=n.contentDOM.getBoundingClientRect(),u=n.coordsAtPos(i),d=n.documentTop;if(u)s==null&&(s=u.left-l.left),o=a<0?u.top:u.bottom;else{let g=n.viewState.lineBlockAt(i);s==null&&(s=Math.min(l.right-l.left,n.defaultCharacterWidth*(i-g.from))),o=(a<0?g.top:g.bottom)+d}let f=l.left+s,m=r??n.viewState.heightOracle.textHeight>>1;for(let g=0;;g+=10){let b=o+(m+g)*a,v=yC(n,{x:f,y:b},!1,a);if(bl.bottom||(a<0?vi))return de.cursor(v,e.assoc,void 0,s)}}function Lo(n,e,t){for(;;){let r=0;for(let i of n)i.between(e-1,e+1,(a,s,o)=>{if(e>a&&ei(n)),t.from,e.head>t.from?-1:1);return r==t.from?t:de.cursor(r,r{this.ignoreDuringComposition(i)||i.type=="keydown"&&this.keydown(e,i)||(this.mustFlushObserver(i)&&e.observer.forceFlush(),this.runCustomHandlers(i.type,e,i)?i.preventDefault():r(e,i))};for(let r in zt){let i=zt[r];e.contentDOM.addEventListener(r,a=>{N_(e,a)&&t(i,a)},Kf[r]),this.registeredEvents.push(r)}e.scrollDOM.addEventListener("mousedown",r=>{if(r.target==e.scrollDOM&&r.clientY>e.contentDOM.getBoundingClientRect().bottom&&(t(zt.mousedown,r),!r.defaultPrevented&&r.button==2)){let i=e.contentDOM.style.minHeight;e.contentDOM.style.minHeight="100%",setTimeout(()=>e.contentDOM.style.minHeight=i,200)}}),e.scrollDOM.addEventListener("drop",r=>{r.target==e.scrollDOM&&r.clientY>e.contentDOM.getBoundingClientRect().bottom&&t(zt.drop,r)}),Ne.chrome&&Ne.chrome_version==102&&e.scrollDOM.addEventListener("wheel",()=>{this.chromeScrollHack<0?e.contentDOM.style.pointerEvents="none":window.clearTimeout(this.chromeScrollHack),this.chromeScrollHack=setTimeout(()=>{this.chromeScrollHack=-1,e.contentDOM.style.pointerEvents=""},100)},{passive:!0}),this.notifiedFocused=e.hasFocus,Ne.safari&&e.contentDOM.addEventListener("input",()=>null)}setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}ensureHandlers(e,t){var r;let i;this.customHandlers=[];for(let a of t)if(i=(r=a.update(e).spec)===null||r===void 0?void 0:r.domEventHandlers){this.customHandlers.push({plugin:a.value,handlers:i});for(let s in i)this.registeredEvents.indexOf(s)<0&&s!="scroll"&&(this.registeredEvents.push(s),e.contentDOM.addEventListener(s,o=>{N_(e,o)&&this.runCustomHandlers(s,e,o)&&o.preventDefault()}))}}runCustomHandlers(e,t,r){for(let i of this.customHandlers){let a=i.handlers[e];if(a)try{if(a.call(i.plugin,r,t)||r.defaultPrevented)return!0}catch(s){cn(t.state,s)}}return!1}runScrollHandlers(e,t){this.lastScrollTop=e.scrollDOM.scrollTop,this.lastScrollLeft=e.scrollDOM.scrollLeft;for(let r of this.customHandlers){let i=r.handlers.scroll;if(i)try{i.call(r.plugin,t,e)}catch(a){cn(e.state,a)}}}keydown(e,t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),t.keyCode==9&&Date.now()i.keyCode==t.keyCode))&&!t.ctrlKey||IR.indexOf(t.key)>-1&&t.ctrlKey&&!t.shiftKey)?(this.pendingIOSKey=r||t,setTimeout(()=>this.flushIOSKey(e),250),!0):!1}flushIOSKey(e){let t=this.pendingIOSKey;return t?(this.pendingIOSKey=void 0,Oa(e.contentDOM,t.key,t.keyCode)):!1}ignoreDuringComposition(e){return/^key/.test(e.type)?this.composing>0?!0:Ne.safari&&!Ne.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}mustFlushObserver(e){return e.type=="keydown"&&e.keyCode!=229}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.mouseSelection&&this.mouseSelection.update(e),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}const AC=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],IR="dthko",RC=[16,17,18,20,91,92,224,225],lo=6;function co(n){return Math.max(0,n)*.7+8}function NR(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class DR{constructor(e,t,r,i){this.view=e,this.startEvent=t,this.style=r,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParent=ZA(e.contentDOM),this.atoms=e.state.facet(Vh).map(s=>s(e));let a=e.contentDOM.ownerDocument;a.addEventListener("mousemove",this.move=this.move.bind(this)),a.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(ut.allowMultipleSelections)&&wR(e,t),this.dragging=LR(e,t)&&wC(t)==1?null:!1}start(e){this.dragging===!1&&(e.preventDefault(),this.select(e))}move(e){var t;if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&NR(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let r=0,i=0,a=((t=this.scrollParent)===null||t===void 0?void 0:t.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},s=OC(this.view);e.clientX-s.left<=a.left+lo?r=-co(a.left-e.clientX):e.clientX+s.right>=a.right-lo&&(r=co(e.clientX-a.right)),e.clientY-s.top<=a.top+lo?i=-co(a.top-e.clientY):e.clientY+s.bottom>=a.bottom-lo&&(i=co(e.clientY-a.bottom)),this.setScrollSpeed(r,i)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),this.dragging===!1&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let r=0;rthis.select(this.lastEvent),20)}}function wR(n,e){let t=n.state.facet(cC);return t.length?t[0](e):Ne.mac?e.metaKey:e.ctrlKey}function xR(n,e){let t=n.state.facet(uC);return t.length?t[0](e):Ne.mac?!e.altKey:!e.ctrlKey}function LR(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let r=Ko(n.root);if(!r||r.rangeCount==0)return!0;let i=r.getRangeAt(0).getClientRects();for(let a=0;a=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}function N_(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,r;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(r=It.get(t))&&r.ignoreEvent(e))return!1;return!0}const zt=Object.create(null),Kf=Object.create(null),IC=Ne.ie&&Ne.ie_version<15||Ne.ios&&Ne.webkit_version<604;function kR(n){let e=n.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{n.focus(),t.remove(),NC(n,t.value)},50)}function NC(n,e){let{state:t}=n,r,i=1,a=t.toText(e),s=a.lines==t.selection.ranges.length;if(jf!=null&&t.selection.ranges.every(l=>l.empty)&&jf==a.toString()){let l=-1;r=t.changeByRange(u=>{let d=t.doc.lineAt(u.from);if(d.from==l)return{range:u};l=d.from;let f=t.toText((s?a.line(i++).text:e)+t.lineBreak);return{changes:{from:d.from,insert:f},range:de.cursor(u.from+f.length)}})}else s?r=t.changeByRange(l=>{let u=a.line(i++);return{changes:{from:l.from,to:l.to,insert:u.text},range:de.cursor(l.from+u.length)}}):r=t.replaceSelection(a);n.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}zt.keydown=(n,e)=>{n.inputState.setSelectionOrigin("select"),e.keyCode==27&&(n.inputState.lastEscPress=Date.now())};zt.touchstart=(n,e)=>{n.inputState.lastTouchTime=Date.now(),n.inputState.setSelectionOrigin("select.pointer")};zt.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};Kf.touchstart=Kf.touchmove={passive:!0};zt.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return;let t=null;for(let r of n.state.facet(dC))if(t=r(n,e),t)break;if(!t&&e.button==0&&(t=BR(n,e)),t){let r=!n.hasFocus;n.inputState.startMouseSelection(new DR(n,e,t,r)),r&&n.observer.ignore(()=>ZT(n.contentDOM)),n.inputState.mouseSelection&&n.inputState.mouseSelection.start(e)}};function D_(n,e,t,r){if(r==1)return de.cursor(e,t);if(r==2)return OR(n.state,e,t);{let i=xr.find(n.docView,e),a=n.state.doc.lineAt(i?i.posAtEnd:e),s=i?i.posAtStart:a.from,o=i?i.posAtEnd:a.to;return on>=e.top&&n<=e.bottom,w_=(n,e,t)=>DC(e,t)&&n>=t.left&&n<=t.right;function MR(n,e,t,r){let i=xr.find(n.docView,e);if(!i)return 1;let a=e-i.posAtStart;if(a==0)return 1;if(a==i.length)return-1;let s=i.coordsAt(a,-1);if(s&&w_(t,r,s))return-1;let o=i.coordsAt(a,1);return o&&w_(t,r,o)?1:s&&DC(r,s)?-1:1}function x_(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:MR(n,t,e.clientX,e.clientY)}}const PR=Ne.ie&&Ne.ie_version<=11;let L_=null,k_=0,M_=0;function wC(n){if(!PR)return n.detail;let e=L_,t=M_;return L_=n,M_=Date.now(),k_=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(k_+1)%3:1}function BR(n,e){let t=x_(n,e),r=wC(e),i=n.state.selection;return{update(a){a.docChanged&&(t.pos=a.changes.mapPos(t.pos),i=i.map(a.changes))},get(a,s,o){let l=x_(n,a),u,d=D_(n,l.pos,l.bias,r);if(t.pos!=l.pos&&!s){let f=D_(n,t.pos,t.bias,r),m=Math.min(f.from,d.from),g=Math.max(f.to,d.to);d=m1&&(u=UR(i,l.pos))?u:o?i.addRange(d):de.create([d])}}}function UR(n,e){for(let t=0;t=e)return de.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}zt.dragstart=(n,e)=>{let{selection:{main:t}}=n.state,{mouseSelection:r}=n.inputState;r&&(r.dragging=t),e.dataTransfer&&(e.dataTransfer.setData("Text",n.state.sliceDoc(t.from,t.to)),e.dataTransfer.effectAllowed="copyMove")};function P_(n,e,t,r){if(!t)return;let i=n.posAtCoords({x:e.clientX,y:e.clientY},!1);e.preventDefault();let{mouseSelection:a}=n.inputState,s=r&&a&&a.dragging&&xR(n,e)?{from:a.dragging.from,to:a.dragging.to}:null,o={from:i,insert:t},l=n.state.changes(s?[s,o]:o);n.focus(),n.dispatch({changes:l,selection:{anchor:l.mapPos(i,-1),head:l.mapPos(i,1)},userEvent:s?"move.drop":"input.drop"})}zt.drop=(n,e)=>{if(!e.dataTransfer)return;if(n.state.readOnly)return e.preventDefault();let t=e.dataTransfer.files;if(t&&t.length){e.preventDefault();let r=Array(t.length),i=0,a=()=>{++i==t.length&&P_(n,e,r.filter(s=>s!=null).join(n.state.lineBreak),!1)};for(let s=0;s{/[\x00-\x08\x0e-\x1f]{2}/.test(o.result)||(r[s]=o.result),a()},o.readAsText(t[s])}}else P_(n,e,e.dataTransfer.getData("Text"),!0)};zt.paste=(n,e)=>{if(n.state.readOnly)return e.preventDefault();n.observer.flush();let t=IC?null:e.clipboardData;t?(NC(n,t.getData("text/plain")||t.getData("text/uri-text")),e.preventDefault()):kR(n)};function FR(n,e){let t=n.dom.parentNode;if(!t)return;let r=t.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=e,r.focus(),r.selectionEnd=e.length,r.selectionStart=0,setTimeout(()=>{r.remove(),n.focus()},50)}function YR(n){let e=[],t=[],r=!1;for(let i of n.selection.ranges)i.empty||(e.push(n.sliceDoc(i.from,i.to)),t.push(i));if(!e.length){let i=-1;for(let{from:a}of n.selection.ranges){let s=n.doc.lineAt(a);s.number>i&&(e.push(s.text),t.push({from:s.from,to:Math.min(n.doc.length,s.to+1)})),i=s.number}r=!0}return{text:e.join(n.lineBreak),ranges:t,linewise:r}}let jf=null;zt.copy=zt.cut=(n,e)=>{let{text:t,ranges:r,linewise:i}=YR(n.state);if(!t&&!i)return;jf=i?t:null;let a=IC?null:e.clipboardData;a?(e.preventDefault(),a.clearData(),a.setData("text/plain",t)):FR(n,t),e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"})};const xC=ei.define();function LC(n,e){let t=[];for(let r of n.facet(hC)){let i=r(n,e);i&&t.push(i)}return t?n.update({effects:t,annotations:xC.of(!0)}):null}function kC(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=LC(n.state,e);t?n.dispatch(t):n.update([])}},10)}zt.focus=n=>{n.inputState.lastFocusTime=Date.now(),!n.scrollDOM.scrollTop&&(n.inputState.lastScrollTop||n.inputState.lastScrollLeft)&&(n.scrollDOM.scrollTop=n.inputState.lastScrollTop,n.scrollDOM.scrollLeft=n.inputState.lastScrollLeft),kC(n)};zt.blur=n=>{n.observer.clearSelectionRange(),kC(n)};zt.compositionstart=zt.compositionupdate=n=>{n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0)};zt.compositionend=n=>{n.inputState.composing=-1,n.inputState.compositionEndedAt=Date.now(),n.inputState.compositionPendingKey=!0,n.inputState.compositionPendingChange=n.observer.pendingRecords().length>0,n.inputState.compositionFirstChange=null,Ne.chrome&&Ne.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50)};zt.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};zt.beforeinput=(n,e)=>{var t;let r;if(Ne.chrome&&Ne.android&&(r=AC.find(i=>i.inputType==e.inputType))&&(n.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let i=((t=window.visualViewport)===null||t===void 0?void 0:t.height)||0;setTimeout(()=>{var a;(((a=window.visualViewport)===null||a===void 0?void 0:a.height)||0)>i+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}};const B_=["pre-wrap","normal","pre-line","break-spaces"];class GR{constructor(e){this.lineWrapping=e,this.doc=mt.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(e,t){let r=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((t-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return B_.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let r=0;r-1,l=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=o;if(this.lineWrapping=o,this.lineHeight=t,this.charWidth=r,this.textHeight=i,this.lineLength=a,l){this.heightSamples={};for(let u=0;u0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e,t){this.height!=t&&(Math.abs(this.height-t)>ko&&(e.heightChanged=!0),this.height=t)}replace(e,t,r){return kr.of(r)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,r,i){let a=this,s=r.doc;for(let o=i.length-1;o>=0;o--){let{fromA:l,toA:u,fromB:d,toB:f}=i[o],m=a.lineAt(l,Lt.ByPosNoHeight,r.setDoc(t),0,0),g=m.to>=u?m:a.lineAt(u,Lt.ByPosNoHeight,r,0,0);for(f+=g.to-u,u=g.to;o>0&&m.from<=i[o-1].toA;)l=i[o-1].fromA,d=i[o-1].fromB,o--,la*2){let o=e[t-1];o.break?e.splice(--t,1,o.left,null,o.right):e.splice(--t,1,o.left,o.right),r+=1+o.break,i-=o.size}else if(a>i*2){let o=e[r];o.break?e.splice(r,1,o.left,null,o.right):e.splice(r,1,o.left,o.right),r+=2+o.break,a-=o.size}else break;else if(i=a&&s(this.blockAt(0,r,i,a))}updateHeight(e,t=0,r=!1,i){return i&&i.from<=t&&i.more&&this.setHeight(e,i.heights[i.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Xr extends MC{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,r,i){return new Mn(i,this.length,r,this.height,this.breaks)}replace(e,t,r){let i=r[0];return r.length==1&&(i instanceof Xr||i instanceof ur&&i.flags&4)&&Math.abs(this.length-i.length)<10?(i instanceof ur?i=new Xr(i.length,this.height):i.height=this.height,this.outdated||(i.outdated=!1),i):kr.of(r)}updateHeight(e,t=0,r=!1,i){return i&&i.from<=t&&i.more?this.setHeight(e,i.heights[i.index++]):(r||this.outdated)&&this.setHeight(e,Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class ur extends kr{constructor(e){super(e,0)}heightMetrics(e,t){let r=e.doc.lineAt(t).number,i=e.doc.lineAt(t+this.length).number,a=i-r+1,s,o=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*a);s=l/a,this.length>a+1&&(o=(this.height-l)/(this.length-a-1))}else s=this.height/a;return{firstLine:r,lastLine:i,perLine:s,perChar:o}}blockAt(e,t,r,i){let{firstLine:a,lastLine:s,perLine:o,perChar:l}=this.heightMetrics(t,i);if(t.lineWrapping){let u=i+Math.round(Math.max(0,Math.min(1,(e-r)/this.height))*this.length),d=t.doc.lineAt(u),f=o+d.length*l,m=Math.max(r,e-f/2);return new Mn(d.from,d.length,m,f,0)}else{let u=Math.max(0,Math.min(s-a,Math.floor((e-r)/o))),{from:d,length:f}=t.doc.line(a+u);return new Mn(d,f,r+o*u,o,0)}}lineAt(e,t,r,i,a){if(t==Lt.ByHeight)return this.blockAt(e,r,i,a);if(t==Lt.ByPosNoHeight){let{from:g,to:b}=r.doc.lineAt(e);return new Mn(g,b-g,0,0,0)}let{firstLine:s,perLine:o,perChar:l}=this.heightMetrics(r,a),u=r.doc.lineAt(e),d=o+u.length*l,f=u.number-s,m=i+o*f+l*(u.from-a-f);return new Mn(u.from,u.length,Math.max(i,Math.min(m,i+this.height-d)),d,0)}forEachLine(e,t,r,i,a,s){e=Math.max(e,a),t=Math.min(t,a+this.length);let{firstLine:o,perLine:l,perChar:u}=this.heightMetrics(r,a);for(let d=e,f=i;d<=t;){let m=r.doc.lineAt(d);if(d==e){let b=m.number-o;f+=l*b+u*(e-a-b)}let g=l+u*m.length;s(new Mn(m.from,m.length,f,g,0)),f+=g,d=m.to+1}}replace(e,t,r){let i=this.length-t;if(i>0){let a=r[r.length-1];a instanceof ur?r[r.length-1]=new ur(a.length+i):r.push(null,new ur(i-1))}if(e>0){let a=r[0];a instanceof ur?r[0]=new ur(e+a.length):r.unshift(new ur(e-1),null)}return kr.of(r)}decomposeLeft(e,t){t.push(new ur(e-1),null)}decomposeRight(e,t){t.push(null,new ur(this.length-e-1))}updateHeight(e,t=0,r=!1,i){let a=t+this.length;if(i&&i.from<=t+this.length&&i.more){let s=[],o=Math.max(t,i.from),l=-1;for(i.from>t&&s.push(new ur(i.from-t-1).updateHeight(e,t));o<=a&&i.more;){let d=e.doc.lineAt(o).length;s.length&&s.push(null);let f=i.heights[i.index++];l==-1?l=f:Math.abs(f-l)>=ko&&(l=-2);let m=new Xr(d,f);m.outdated=!1,s.push(m),o+=d+1}o<=a&&s.push(null,new ur(a-o).updateHeight(e,o));let u=kr.of(s);return(l<0||Math.abs(u.height-this.height)>=ko||Math.abs(l-this.heightMetrics(e,t).perLine)>=ko)&&(e.heightChanged=!0),u}else(r||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class $R extends kr{constructor(e,t,r){super(e.length+t+r.length,e.height+r.height,t|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return this.flags&1}blockAt(e,t,r,i){let a=r+this.left.height;return eo))return u;let d=t==Lt.ByPosNoHeight?Lt.ByPosNoHeight:Lt.ByPos;return l?u.join(this.right.lineAt(o,d,r,s,o)):this.left.lineAt(o,d,r,i,a).join(u)}forEachLine(e,t,r,i,a,s){let o=i+this.left.height,l=a+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,r,o,l,s);else{let u=this.lineAt(l,Lt.ByPos,r,i,a);e=e&&u.from<=t&&s(u),t>u.to&&this.right.forEachLine(u.to+1,t,r,o,l,s)}}replace(e,t,r){let i=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-i,t-i,r));let a=[];e>0&&this.decomposeLeft(e,a);let s=a.length;for(let o of r)a.push(o);if(e>0&&U_(a,s-1),t=r&&t.push(null)),e>r&&this.right.decomposeLeft(e-r,t)}decomposeRight(e,t){let r=this.left.length,i=r+this.break;if(e>=i)return this.right.decomposeRight(e-i,t);e2*t.size||t.size>2*e.size?kr.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=e.height+t.height,this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,r=!1,i){let{left:a,right:s}=this,o=t+a.length+this.break,l=null;return i&&i.from<=t+a.length&&i.more?l=a=a.updateHeight(e,t,r,i):a.updateHeight(e,t,r),i&&i.from<=o+s.length&&i.more?l=s=s.updateHeight(e,o,r,i):s.updateHeight(e,o,r),l?this.balanced(a,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function U_(n,e){let t,r;n[e]==null&&(t=n[e-1])instanceof ur&&(r=n[e+1])instanceof ur&&n.splice(e-1,3,new ur(t.length+1+r.length))}const qR=5;class Hh{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let r=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof Xr?i.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new Xr(r-this.pos,-1)),this.writtenTo=r,t>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,r){if(e=qR)&&this.addLineDeco(i,a,s)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new Xr(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let r=new ur(t-e);return this.oracle.doc.lineAt(e).to==t&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Xr)return e;let t=new Xr(0,-1);return this.nodes.push(t),t}addBlock(e){var t;this.enterLine();let r=(t=e.deco)===null||t===void 0?void 0:t.type;r==Yt.WidgetAfter&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,r!=Yt.WidgetBefore&&(this.covering=e)}addLineDeco(e,t,r){let i=this.ensureLine();i.length+=r,i.collapsed+=r,i.widgetHeight=Math.max(i.widgetHeight,e),i.breaks+=t,this.writtenTo=this.pos=this.pos+r}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof Xr)&&!this.isCovered?this.nodes.push(new Xr(0,-1)):(this.writtenTod.clientHeight||d.scrollWidth>d.clientWidth)&&f.overflow!="visible"){let m=d.getBoundingClientRect();a=Math.max(a,m.left),s=Math.min(s,m.right),o=Math.max(o,m.top),l=u==n.parentNode?m.bottom:Math.min(l,m.bottom)}u=f.position=="absolute"||f.position=="fixed"?d.offsetParent:d.parentNode}else if(u.nodeType==11)u=u.host;else break;return{left:a-t.left,right:Math.max(a,s)-t.left,top:o-(t.top+e),bottom:Math.max(o,l)-(t.top+e)}}function WR(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class dc{constructor(e,t,r){this.from=e,this.to=t,this.size=r}static same(e,t){if(e.length!=t.length)return!1;for(let r=0;rtypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new GR(t),this.stateDeco=e.facet(Cs).filter(r=>typeof r!="function"),this.heightMap=kr.empty().applyChanges(this.stateDeco,mt.empty,this.heightOracle.setDoc(e.doc),[new un(0,0,0,e.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=qe.set(this.lineGaps.map(r=>r.draw(!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let r=0;r<=1;r++){let i=r?t.head:t.anchor;if(!e.some(({from:a,to:s})=>i>=a&&i<=s)){let{from:a,to:s}=this.lineBlockAt(i);e.push(new uo(a,s))}}this.viewports=e.sort((r,i)=>r.from-i.from),this.scaler=this.heightMap.height<=7e6?Y_:new jR(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(this.scaler.scale==1?e:cs(e,this.scaler))})}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(Cs).filter(d=>typeof d!="function");let i=e.changedRanges,a=un.extendWithRanges(i,VR(r,this.stateDeco,e?e.changes:Jt.empty(this.state.doc.length))),s=this.heightMap.height,o=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),a),this.heightMap.height!=s&&(e.flags|=2),o?(this.scrollAnchorPos=e.changes.mapPos(o.from,-1),this.scrollAnchorHeight=o.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let l=a.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let u=!e.changes.empty||e.flags&2||l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,this.updateForViewport(),u&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(_C)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,r=window.getComputedStyle(t),i=this.heightOracle,a=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?Bt.RTL:Bt.LTR;let s=this.heightOracle.mustRefreshForWrapping(a),o=t.getBoundingClientRect(),l=s||this.mustMeasureContent||this.contentDOMHeight!=o.height;this.contentDOMHeight=o.height,this.mustMeasureContent=!1;let u=0,d=0,f=parseInt(r.paddingTop)||0,m=parseInt(r.paddingBottom)||0;(this.paddingTop!=f||this.paddingBottom!=m)&&(this.paddingTop=f,this.paddingBottom=m,u|=10),this.editorWidth!=e.scrollDOM.clientWidth&&(i.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,u|=8),this.scrollTop!=e.scrollDOM.scrollTop&&(this.scrollAnchorHeight=-1,this.scrollTop=e.scrollDOM.scrollTop),this.scrolledToBottom=jT(e.scrollDOM);let g=(this.printing?WR:zR)(t,this.paddingTop),b=g.top-this.pixelViewport.top,v=g.bottom-this.pixelViewport.bottom;this.pixelViewport=g;let y=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(y!=this.inView&&(this.inView=y,y&&(l=!0)),!this.inView&&!this.scrollTarget)return 0;let N=o.width;if((this.contentDOMWidth!=N||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=o.width,this.editorHeight=e.scrollDOM.clientHeight,u|=8),l){let X=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(X)&&(s=!0),s||i.lineWrapping&&Math.abs(N-this.contentDOMWidth)>i.charWidth){let{lineHeight:p,charWidth:E,textHeight:O}=e.docView.measureTextSize();s=p>0&&i.refresh(a,p,E,O,N/E,X),s&&(e.docView.minWidth=0,u|=8)}b>0&&v>0?d=Math.max(b,v):b<0&&v<0&&(d=Math.min(b,v)),i.heightChanged=!1;for(let p of this.viewports){let E=p.from==this.viewport.from?X:e.docView.measureVisibleLineHeights(p);this.heightMap=(s?kr.empty().applyChanges(this.stateDeco,mt.empty,this.heightOracle,[new un(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,s,new QR(p.from,E))}i.heightChanged&&(u|=2)}let F=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return F&&(this.viewport=this.getViewport(d,this.scrollTarget)),this.updateForViewport(),(u&2||F)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(s?[]:this.lineGaps,e)),u|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),u}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),i=this.heightMap,a=this.heightOracle,{visibleTop:s,visibleBottom:o}=this,l=new uo(i.lineAt(s-r*1e3,Lt.ByHeight,a,0,0).from,i.lineAt(o+(1-r)*1e3,Lt.ByHeight,a,0,0).to);if(t){let{head:u}=t.range;if(ul.to){let d=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=i.lineAt(u,Lt.ByPos,a,0,0),m;t.y=="center"?m=(f.top+f.bottom)/2-d/2:t.y=="start"||t.y=="nearest"&&u=o+Math.max(10,Math.min(r,250)))&&i>s-2*1e3&&a>1,s=i<<1;if(this.defaultTextDirection!=Bt.LTR&&!r)return[];let o=[],l=(u,d,f,m)=>{if(d-uu&&yy.from>=f.from&&y.to<=f.to&&Math.abs(y.from-u)y.fromN));if(!v){if(dy.from<=d&&y.to>=d)){let y=t.moveToLineBoundary(de.cursor(d),!1,!0).head;y>u&&(d=y)}v=new dc(u,d,this.gapSize(f,u,d,m))}o.push(v)};for(let u of this.viewportLines){if(u.lengthu.from&&l(u.from,m,u,d),gt.draw(this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];yt.spans(e,this.viewport.from,this.viewport.to,{span(i,a){t.push({from:i,to:a})},point(){}},20);let r=t.length!=this.visibleRanges.length||this.visibleRanges.some((i,a)=>i.from!=t[a].from||i.to!=t[a].to);return this.visibleRanges=t,r?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||cs(this.heightMap.lineAt(e,Lt.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return cs(this.heightMap.lineAt(this.scaler.fromDOM(e),Lt.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return cs(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class uo{constructor(e,t){this.from=e,this.to=t}}function ZR(n,e,t){let r=[],i=n,a=0;return yt.spans(t,n,e,{span(){},point(s,o){s>i&&(r.push({from:i,to:s}),a+=s-i),i=o}},20),i=1)return e[e.length-1].to;let r=Math.floor(n*t);for(let i=0;;i++){let{from:a,to:s}=e[i],o=s-a;if(r<=o)return a+r;r-=o}}function fo(n,e){let t=0;for(let{from:r,to:i}of n.ranges){if(e<=i){t+=e-r;break}t+=i-r}return t/n.total}function KR(n,e){for(let t of n)if(e(t))return t}const Y_={toDOM(n){return n},fromDOM(n){return n},scale:1};class jR{constructor(e,t,r){let i=0,a=0,s=0;this.viewports=r.map(({from:o,to:l})=>{let u=t.lineAt(o,Lt.ByPos,e,0,0).top,d=t.lineAt(l,Lt.ByPos,e,0,0).bottom;return i+=d-u,{from:o,to:l,top:u,bottom:d,domTop:0,domBottom:0}}),this.scale=(7e6-i)/(t.height-i);for(let o of this.viewports)o.domTop=s+(o.top-a)*this.scale,s=o.domBottom=o.domTop+(o.bottom-o.top),a=o.bottom}toDOM(e){for(let t=0,r=0,i=0;;t++){let a=tcs(i,e)):n._content)}const ho=De.define({combine:n=>n.join(" ")}),Jf=De.define({combine:n=>n.indexOf(!0)>-1}),eh=Oi.newName(),PC=Oi.newName(),BC=Oi.newName(),UC={"&light":"."+PC,"&dark":"."+BC};function th(n,e,t){return new Oi(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,i=>{if(i=="&")return n;if(!t||!t[i])throw new RangeError(`Unsupported selector: ${i}`);return t[i]}):n+" "+r}})}const JR=th("."+eh,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},UC);class eI{constructor(e,t,r,i){this.typeOver=i,this.bounds=null,this.text="";let{impreciseHead:a,impreciseAnchor:s}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,r,0))){let o=a||s?[]:rI(e),l=new rC(o,e.state);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=nI(o,this.bounds.from)}else{let o=e.observer.selectionRange,l=a&&a.node==o.focusNode&&a.offset==o.focusOffset||!Ff(e.contentDOM,o.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(o.focusNode,o.focusOffset),u=s&&s.node==o.anchorNode&&s.offset==o.anchorOffset||!Ff(e.contentDOM,o.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(o.anchorNode,o.anchorOffset);this.newSel=de.single(u,l)}}}function FC(n,e){let t,{newSel:r}=e,i=n.state.selection.main,a=n.inputState.lastKeyTime>Date.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:s,to:o}=e.bounds,l=i.from,u=null;(a===8||Ne.android&&e.text.length=i.from&&t.to<=i.to&&(t.from!=i.from||t.to!=i.to)&&i.to-i.from-(t.to-t.from)<=4?t={from:i.from,to:i.to,insert:n.state.doc.slice(i.from,t.from).append(t.insert).append(n.state.doc.slice(t.to,i.to))}:(Ne.mac||Ne.android)&&t&&t.from==t.to&&t.from==i.head-1&&/^\. ?$/.test(t.insert.toString())&&n.contentDOM.getAttribute("autocorrect")=="off"?(r&&t.insert.length==2&&(r=de.single(r.main.anchor-1,r.main.head-1)),t={from:i.from,to:i.to,insert:mt.of([" "])}):Ne.chrome&&t&&t.from==t.to&&t.from==i.head&&t.insert.toString()==` + `&&n.lineWrapping&&(r&&(r=de.single(r.main.anchor-1,r.main.head-1)),t={from:i.from,to:i.to,insert:mt.of([" "])}),t){let s=n.state;if(Ne.ios&&n.inputState.flushIOSKey(n)||Ne.android&&(t.from==i.from&&t.to==i.to&&t.insert.length==1&&t.insert.lines==2&&Oa(n.contentDOM,"Enter",13)||(t.from==i.from-1&&t.to==i.to&&t.insert.length==0||a==8&&t.insert.lengthd(n,t.from,t.to,o)))return!0;n.inputState.composing>=0&&n.inputState.composing++;let l;if(t.from>=i.from&&t.to<=i.to&&t.to-t.from>=(i.to-i.from)/3&&(!r||r.main.empty&&r.main.from==t.from+t.insert.length)&&n.inputState.composing<0){let d=i.fromt.to?s.sliceDoc(t.to,i.to):"";l=s.replaceSelection(n.state.toText(d+t.insert.sliceString(0,void 0,n.state.lineBreak)+f))}else{let d=s.changes(t),f=r&&r.main.to<=d.newLength?r.main:void 0;if(s.selection.ranges.length>1&&n.inputState.composing>=0&&t.to<=i.to&&t.to>=i.to-10){let m=n.state.sliceDoc(t.from,t.to),g=CC(n)||n.state.doc.lineAt(i.head),b=i.to-t.to,v=i.to-i.from;l=s.changeByRange(y=>{if(y.from==i.from&&y.to==i.to)return{changes:d,range:f||y.map(d)};let N=y.to-b,F=N-m.length;if(y.to-y.from!=v||n.state.sliceDoc(F,N)!=m||g&&y.to>=g.from&&y.from<=g.to)return{range:y};let X=s.changes({from:F,to:N,insert:t.insert}),p=y.to-i.to;return{changes:X,range:f?de.range(Math.max(0,f.anchor+p),Math.max(0,f.head+p)):y.map(X)}})}else l={changes:d,selection:f&&s.selection.replaceRange(f)}}let u="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,u+=".compose",n.inputState.compositionFirstChange&&(u+=".start",n.inputState.compositionFirstChange=!1)),n.dispatch(l,{scrollIntoView:!0,userEvent:u}),!0}else if(r&&!r.main.eq(i)){let s=!1,o="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(s=!0),o=n.inputState.lastSelectionOrigin),n.dispatch({selection:r,scrollIntoView:s,userEvent:o}),!0}else return!1}function tI(n,e,t,r){let i=Math.min(n.length,e.length),a=0;for(;a0&&o>0&&n.charCodeAt(s-1)==e.charCodeAt(o-1);)s--,o--;if(r=="end"){let l=Math.max(0,a-Math.min(s,o));t-=s+l-a}if(s=s?a-t:0;a-=l,o=a+(o-s),s=a}else if(o=o?a-t:0;a-=l,s=a+(s-o),o=a}return{from:a,toA:s,toB:o}}function rI(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:r,focusNode:i,focusOffset:a}=n.observer.selectionRange;return t&&(e.push(new m_(t,r)),(i!=t||a!=r)&&e.push(new m_(i,a))),e}function nI(n,e){if(n.length==0)return null;let t=n[0].pos,r=n.length==2?n[1].pos:t;return t>-1&&r>-1?de.single(t+e,r+e):null}const iI={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},pc=Ne.ie&&Ne.ie_version<=11;class aI{constructor(e){this.view=e,this.active=!1,this.selectionRange=new KA,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.resizeContent=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let r of t)this.queue.push(r);(Ne.ie&&Ne.ie_version<=11||Ne.ios&&e.composing)&&t.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),pc&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)this.view.requestMeasure()),this.resizeContent.observe(e.contentDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runScrollHandlers(this.view,e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(){this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500)}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,r)=>t!=e[r]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:r}=this,i=this.selectionRange;if(r.state.facet(Fl)?r.root.activeElement!=this.dom:!xo(r.dom,i))return;let a=i.anchorNode&&r.docView.nearest(i.anchorNode);if(a&&a.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(Ne.ie&&Ne.ie_version<=11||Ne.android&&Ne.chrome)&&!r.state.selection.main.empty&&i.focusNode&&jo(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Ne.safari&&e.root.nodeType==11&&zA(this.dom.ownerDocument)==this.dom&&sI(this.view)||Ko(e.root);if(!t||this.selectionRange.eq(t))return!1;let r=xo(this.dom,t);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let a=this.delayedAndroidKey;a&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=a.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&a.force&&Oa(this.dom,a.key,a.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(i)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,r=-1,i=!1;for(let a of e){let s=this.readMutation(a);s&&(s.typeOver&&(i=!0),t==-1?{from:t,to:r}=s:(t=Math.min(s.from,t),r=Math.max(s.to,r)))}return{from:t,to:r,typeOver:i}}readChange(){let{from:e,to:t,typeOver:r}=this.processRecords(),i=this.selectionChanged&&xo(this.dom,this.selectionRange);return e<0&&!i?null:(e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1,new eI(this.view,e,t,r))}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return!1;let r=this.view.state,i=FC(this.view,t);return this.view.state==r&&this.view.update([]),i}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty(e.type=="attributes"),e.type=="attributes"&&(t.flags|=4),e.type=="childList"){let r=G_(t,e.previousSibling||e.target.previousSibling,-1),i=G_(t,e.nextSibling||e.target.nextSibling,1);return{from:r?t.posAfter(r):t.posAtStart,to:i?t.posBefore(i):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var e,t,r,i;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.disconnect(),(i=this.resizeContent)===null||i===void 0||i.disconnect();for(let a of this.scrollTargets)a.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey)}}function G_(n,e,t){for(;e;){let r=It.get(e);if(r&&r.parent==n)return r;let i=e.parentNode;e=i!=n.dom?i:t>0?e.nextSibling:e.previousSibling}return null}function sI(n){let e=null;function t(l){l.preventDefault(),l.stopImmediatePropagation(),e=l.getTargetRanges()[0]}if(n.contentDOM.addEventListener("beforeinput",t,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",t,!0),!e)return null;let r=e.startContainer,i=e.startOffset,a=e.endContainer,s=e.endOffset,o=n.docView.domAtPos(n.state.selection.main.anchor);return jo(o.node,o.offset,a,s)&&([r,i,a,s]=[a,s,r,i]),{anchorNode:r,anchorOffset:i,focusNode:a,focusOffset:s}}class Ae{constructor(e={}){this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.style.cssText="position: fixed; top: -10000px",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),this._dispatch=e.dispatch||(t=>this.update([t])),this.dispatch=this.dispatch.bind(this),this._root=e.root||jA(e.parent)||document,this.viewState=new F_(e.state||ut.create(e)),this.plugins=this.state.facet(os).map(t=>new lc(t));for(let t of this.plugins)t.update(this);this.observer=new aI(this),this.inputState=new RR(this),this.inputState.ensureHandlers(this,this.plugins),this.docView=new T_(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),e.parent&&e.parent.appendChild(this.dom)}get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}dispatch(...e){let t=e.length==1&&e[0]instanceof tr?e[0]:this.state.update(...e);this._dispatch(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,r=!1,i,a=this.state;for(let m of e){if(m.startState!=a)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");a=m.state}if(this.destroyed){this.viewState.state=a;return}let s=this.hasFocus,o=0,l=null;e.some(m=>m.annotation(xC))?(this.inputState.notifiedFocused=s,o=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,l=LC(a,s),l||(o=1));let u=this.observer.delayedAndroidKey,d=null;if(u?(this.observer.clearDelayedAndroidKey(),d=this.observer.readChange(),(d&&!this.state.doc.eq(a.doc)||!this.state.selection.eq(a.selection))&&(d=null)):this.observer.clear(),a.facet(ut.phrases)!=this.state.facet(ut.phrases))return this.setState(a);i=tl.create(this,a,e),i.flags|=o;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let m of e){if(f&&(f=f.map(m.changes)),m.scrollIntoView){let{main:g}=m.state.selection;f=new el(g.empty?g:de.cursor(g.head,g.head>g.anchor?-1:1))}for(let g of m.effects)g.is(b_)&&(f=g.value)}this.viewState.update(i,f),this.bidiCache=rl.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),t=this.docView.update(i),this.state.facet(ls)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(m=>m.isUserEvent("select.pointer")))}finally{this.updateState=0}if(i.startState.facet(ho)!=i.state.facet(ho)&&(this.viewState.mustMeasureContent=!0),(t||r||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!i.empty)for(let m of this.state.facet(Hf))m(i);(l||d)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),d&&!FC(this,d)&&u.force&&Oa(this.contentDOM,u.key,u.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let r of this.plugins)r.destroy(this);this.viewState=new F_(e),this.plugins=e.facet(os).map(r=>new lc(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView=new T_(this),this.inputState.ensureHandlers(this,this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(os),r=e.state.facet(os);if(t!=r){let i=[];for(let a of r){let s=t.indexOf(a);if(s<0)i.push(new lc(a));else{let o=this.plugins[s];o.mustUpdate=e,i.push(o)}}for(let a of this.plugins)a.mustUpdate!=e&&a.destroy(this);this.plugins=i,this.pluginMap.clear(),this.inputState.ensureHandlers(this,this.plugins)}else for(let i of this.plugins)i.mustUpdate=e;for(let i=0;i-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,r=this.scrollDOM,{scrollTop:i}=r,{scrollAnchorPos:a,scrollAnchorHeight:s}=this.viewState;i!=this.viewState.scrollTop&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let o=0;;o++){if(s<0)if(jT(r))a=-1,s=this.viewState.heightMap.height;else{let g=this.viewState.scrollAnchorAt(i);a=g.from,s=g.top}this.updateState=1;let l=this.viewState.measure(this);if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(o>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let u=[];l&4||([this.measureRequests,u]=[u,this.measureRequests]);let d=u.map(g=>{try{return g.read(this)}catch(b){return cn(this.state,b),Q_}}),f=tl.create(this,this.state,[]),m=!1;f.flags|=l,t?t.flags|=l:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),m=this.docView.update(f));for(let g=0;g1||b<-1){i=r.scrollTop=i+b,s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let o of this.state.facet(Hf))o(t)}get themeClasses(){return eh+" "+(this.state.facet(Jf)?BC:PC)+" "+this.state.facet(ho)}updateAttrs(){let e=$_(this,gC,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(Fl)?"true":"false",class:"cm-content",style:`${Ne.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),$_(this,qh,t);let r=this.observer.ignore(()=>{let i=qf(this.contentDOM,this.contentAttrs,t),a=qf(this.dom,this.editorAttrs,e);return i||a});return this.editorAttrs=e,this.contentAttrs=t,r}showAnnouncements(e){let t=!0;for(let r of e)for(let i of r.effects)if(i.is(Ae.announce)){t&&(this.announceDOM.textContent=""),t=!1;let a=this.announceDOM.appendChild(document.createElement("div"));a.textContent=i.value}}mountStyles(){this.styleModules=this.state.facet(ls),Oi.mount(this.root,this.styleModules.concat(JR).reverse())}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tr.spec==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,r){return uc(this,e,I_(this,e,t,r))}moveByGroup(e,t){return uc(this,e,I_(this,e,t,r=>yR(this,e.head,r)))}moveToLineBoundary(e,t,r=!0){return vR(this,e,t,r)}moveVertically(e,t,r){return uc(this,e,AR(this,e,t,r))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),yC(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let r=this.docView.coordsAt(e,t);if(!r||r.left==r.right)return r;let i=this.state.doc.lineAt(e),a=this.bidiSpans(i),s=a[Ea.find(a,e-i.from,-1,t)];return Gh(r,s.dir==Bt.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(mC)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>oI)return bC(e.length);let t=this.textDirectionAt(e.from);for(let i of this.bidiCache)if(i.from==e.from&&i.dir==t)return i.order;let r=dR(e.text,t);return this.bidiCache.push(new rl(e.from,e.to,t,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Ne.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{ZT(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return b_.of(new el(typeof e=="number"?de.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}static domEventHandlers(e){return lr.define(()=>({}),{eventHandlers:e})}static theme(e,t){let r=Oi.newName(),i=[ho.of(r),ls.of(th(`.${r}`,e))];return t&&t.dark&&i.push(Jf.of(!0)),i}static baseTheme(e){return Jn.lowest(ls.of(th("."+eh,e,UC)))}static findFromDOM(e){var t;let r=e.querySelector(".cm-content"),i=r&&It.get(r)||It.get(e);return((t=i==null?void 0:i.rootView)===null||t===void 0?void 0:t.view)||null}}Ae.styleModule=ls;Ae.inputHandler=fC;Ae.focusChangeEffect=hC;Ae.perLineTextDirection=mC;Ae.exceptionSink=pC;Ae.updateListener=Hf;Ae.editable=Fl;Ae.mouseSelectionStyle=dC;Ae.dragMovesSelection=uC;Ae.clickAddsSelectionRange=cC;Ae.decorations=Cs;Ae.atomicRanges=Vh;Ae.scrollMargins=SC;Ae.darkTheme=Jf;Ae.contentAttributes=qh;Ae.editorAttributes=gC;Ae.lineWrapping=Ae.contentAttributes.of({class:"cm-lineWrapping"});Ae.announce=it.define();const oI=4096,Q_={};class rl{constructor(e,t,r,i){this.from=e,this.to=t,this.dir=r,this.order=i}static update(e,t){if(t.empty)return e;let r=[],i=e.length?e[e.length-1].dir:Bt.LTR;for(let a=Math.max(0,e.length-10);a=0;i--){let a=r[i],s=typeof a=="function"?a(n):a;s&&$f(s,t)}return t}const lI=Ne.mac?"mac":Ne.windows?"win":Ne.linux?"linux":"key";function cI(n,e){const t=n.split(/-(?!$)/);let r=t[t.length-1];r=="Space"&&(r=" ");let i,a,s,o;for(let l=0;lr.concat(i),[]))),t}let hi=null;const pI=4e3;function fI(n,e=lI){let t=Object.create(null),r=Object.create(null),i=(s,o)=>{let l=r[s];if(l==null)r[s]=o;else if(l!=o)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},a=(s,o,l,u,d)=>{var f,m;let g=t[s]||(t[s]=Object.create(null)),b=o.split(/ (?!$)/).map(N=>cI(N,e));for(let N=1;N{let p=hi={view:X,prefix:F,scope:s};return setTimeout(()=>{hi==p&&(hi=null)},pI),!0}]})}let v=b.join(" ");i(v,!1);let y=g[v]||(g[v]={preventDefault:!1,stopPropagation:!1,run:((m=(f=g._any)===null||f===void 0?void 0:f.run)===null||m===void 0?void 0:m.slice())||[]});l&&y.run.push(l),u&&(y.preventDefault=!0),d&&(y.stopPropagation=!0)};for(let s of n){let o=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let u of o){let d=t[u]||(t[u]=Object.create(null));d._any||(d._any={preventDefault:!1,stopPropagation:!1,run:[]});for(let f in d)d[f].run.push(s.any)}let l=s[e]||s.key;if(l)for(let u of o)a(u,l,s.run,s.preventDefault,s.stopPropagation),s.shift&&a(u,"Shift-"+l,s.shift,s.preventDefault,s.stopPropagation)}return t}function hI(n,e,t,r){let i=HA(e),a=pr(i,0),s=an(a)==i.length&&i!=" ",o="",l=!1,u=!1,d=!1;hi&&hi.view==t&&hi.scope==r&&(o=hi.prefix+" ",RC.indexOf(e.keyCode)<0&&(u=!0,hi=null));let f=new Set,m=y=>{if(y){for(let N of y.run)if(!f.has(N)&&(f.add(N),N(t,e)))return y.stopPropagation&&(d=!0),!0;y.preventDefault&&(y.stopPropagation&&(d=!0),u=!0)}return!1},g=n[r],b,v;return g&&(m(g[o+mo(i,e,!s)])?l=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(Ne.windows&&e.ctrlKey&&e.altKey)&&(b=Ei[e.keyCode])&&b!=i?(m(g[o+mo(b,e,!0)])||e.shiftKey&&(v=bs[e.keyCode])!=i&&v!=b&&m(g[o+mo(v,e,!1)]))&&(l=!0):s&&e.shiftKey&&m(g[o+mo(i,e,!0)])&&(l=!0),!l&&m(g._any)&&(l=!0)),u&&(l=!0),l&&d&&e.stopPropagation(),l}class zs{constructor(e,t,r,i,a){this.className=e,this.left=t,this.top=r,this.width=i,this.height=a}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,r){if(r.empty){let i=e.coordsAtPos(r.head,r.assoc||1);if(!i)return[];let a=YC(e);return[new zs(t,i.left-a.left,i.top-a.top,null,i.bottom-i.top)]}else return mI(e,t,r)}}function YC(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==Bt.LTR?e.left:e.right-n.scrollDOM.clientWidth)-n.scrollDOM.scrollLeft,top:e.top-n.scrollDOM.scrollTop}}function V_(n,e,t){let r=de.cursor(e);return{from:Math.max(t.from,n.moveToLineBoundary(r,!1,!0).from),to:Math.min(t.to,n.moveToLineBoundary(r,!0,!0).from),type:Yt.Text}}function mI(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let r=Math.max(t.from,n.viewport.from),i=Math.min(t.to,n.viewport.to),a=n.textDirection==Bt.LTR,s=n.contentDOM,o=s.getBoundingClientRect(),l=YC(n),u=s.querySelector(".cm-line"),d=u&&window.getComputedStyle(u),f=o.left+(d?parseInt(d.paddingLeft)+Math.min(0,parseInt(d.textIndent)):0),m=o.right-(d?parseInt(d.paddingRight):0),g=Zf(n,r),b=Zf(n,i),v=g.type==Yt.Text?g:null,y=b.type==Yt.Text?b:null;if(v&&(n.lineWrapping||g.widgetLineBreaks)&&(v=V_(n,r,v)),y&&(n.lineWrapping||b.widgetLineBreaks)&&(y=V_(n,i,y)),v&&y&&v.from==y.from)return F(X(t.from,t.to,v));{let E=v?X(t.from,null,v):p(g,!1),O=y?X(null,t.to,y):p(b,!0),A=[];return(v||g).to<(y||b).from-(v&&y?1:0)||g.widgetLineBreaks>1&&E.bottom+n.defaultLineHeight/2re&&j.from=L)break;ce>J&&B(Math.max(z,J),E==null&&z<=re,Math.min(ce,L),O==null&&ce>=ie,Z.dir)}if(J=G.to+1,J>=L)break}return w.length==0&&B(re,E==null,ie,O==null,n.textDirection),{top:D,bottom:M,horizontal:w}}function p(E,O){let A=o.top+(O?E.top:E.bottom);return{top:A,bottom:A,horizontal:[]}}}function _I(n,e){return n.constructor==e.constructor&&n.eq(e)}class gI{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Mo)!=e.state.facet(Mo)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&e.view.requestMeasure(this.measureReq)}setOrder(e){let t=0,r=e.facet(Mo);for(;t!_I(t,this.drawn[r]))){let t=this.dom.firstChild,r=0;for(let i of e)i.update&&t&&i.constructor&&this.drawn[r].constructor&&i.update(t,this.drawn[r])?(t=t.nextSibling,r++):this.dom.insertBefore(i.draw(),t);for(;t;){let i=t.nextSibling;t.remove(),t=i}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Mo=De.define();function GC(n){return[lr.define(e=>new gI(e,n)),Mo.of(n)]}const QC=!Ne.ios,vs=De.define({combine(n){return ti(n,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function SI(n={}){return[vs.of(n),OI,EI,bI,_C.of(!0)]}function $C(n){return n.startState.facet(vs)!=n.state.facet(vs)}const OI=GC({above:!0,markers(n){let{state:e}=n,t=e.facet(vs),r=[];for(let i of e.selection.ranges){let a=i==e.selection.main;if(i.empty?!a||QC:t.drawRangeCursor){let s=a?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",o=i.empty?i:de.cursor(i.head,i.head>i.anchor?-1:1);for(let l of zs.forRange(n,s,o))r.push(l)}}return r},update(n,e){n.transactions.some(r=>r.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=$C(n);return t&&H_(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){H_(e.state,n)},class:"cm-cursorLayer"});function H_(n,e){e.style.animationDuration=n.facet(vs).cursorBlinkRate+"ms"}const EI=GC({above:!1,markers(n){return n.state.selection.ranges.map(e=>e.empty?[]:zs.forRange(n,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||$C(n)},class:"cm-selectionLayer"}),qC={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};QC&&(qC[".cm-line"].caretColor="transparent !important");const bI=Jn.highest(Ae.theme(qC)),VC=it.define({map(n,e){return n==null?null:e.mapPos(n)}}),us=hr.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,r)=>r.is(VC)?r.value:t,n)}}),TI=lr.fromClass(class{constructor(n){this.view=n,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(n){var e;let t=n.state.field(us);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(n.startState.field(us)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let n=this.view.state.field(us),e=n!=null&&this.view.coordsAtPos(n);if(!e)return null;let t=this.view.scrollDOM.getBoundingClientRect();return{left:e.left-t.left+this.view.scrollDOM.scrollLeft,top:e.top-t.top+this.view.scrollDOM.scrollTop,height:e.bottom-e.top}}drawCursor(n){this.cursor&&(n?(this.cursor.style.left=n.left+"px",this.cursor.style.top=n.top+"px",this.cursor.style.height=n.height+"px"):this.cursor.style.left="-100000px")}destroy(){this.cursor&&this.cursor.remove()}setDropPos(n){this.view.state.field(us)!=n&&this.view.dispatch({effects:VC.of(n)})}},{eventHandlers:{dragover(n){this.setDropPos(this.view.posAtCoords({x:n.clientX,y:n.clientY}))},dragleave(n){(n.target==this.view.contentDOM||!this.view.contentDOM.contains(n.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function CI(){return[us,TI]}function z_(n,e,t,r,i){e.lastIndex=0;for(let a=n.iterRange(t,r),s=t,o;!a.next().done;s+=a.value.length)if(!a.lineBreak)for(;o=e.exec(a.value);)i(s+o.index,o)}function vI(n,e){let t=n.visibleRanges;if(t.length==1&&t[0].from==n.viewport.from&&t[0].to==n.viewport.to)return t;let r=[];for(let{from:i,to:a}of t)i=Math.max(n.state.doc.lineAt(i).from,i-e),a=Math.min(n.state.doc.lineAt(a).to,a+e),r.length&&r[r.length-1].to>=i?r[r.length-1].to=a:r.push({from:i,to:a});return r}class yI{constructor(e){const{regexp:t,decoration:r,decorate:i,boundary:a,maxLength:s=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,i)this.addMatch=(o,l,u,d)=>i(d,u,u+o[0].length,o,l);else if(typeof r=="function")this.addMatch=(o,l,u,d)=>{let f=r(o,l,u);f&&d(u,u+o[0].length,f)};else if(r)this.addMatch=(o,l,u,d)=>d(u,u+o[0].length,r);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=a,this.maxLength=s}createDeco(e){let t=new zi,r=t.add.bind(t);for(let{from:i,to:a}of vI(e,this.maxLength))z_(e.state.doc,this.regexp,i,a,(s,o)=>this.addMatch(o,e,s,r));return t.finish()}updateDeco(e,t){let r=1e9,i=-1;return e.docChanged&&e.changes.iterChanges((a,s,o,l)=>{l>e.view.viewport.from&&o1e3?this.createDeco(e.view):i>-1?this.updateRange(e.view,t.map(e.changes),r,i):t}updateRange(e,t,r,i){for(let a of e.visibleRanges){let s=Math.max(a.from,r),o=Math.min(a.to,i);if(o>s){let l=e.state.doc.lineAt(s),u=l.tol.from;s--)if(this.boundary.test(l.text[s-1-l.from])){d=s;break}for(;om.push(N.range(v,y));if(l==u)for(this.regexp.lastIndex=d-l.from;(g=this.regexp.exec(l.text))&&g.indexthis.addMatch(y,e,v,b));t=t.update({filterFrom:d,filterTo:f,filter:(v,y)=>vf,add:m})}}return t}}const rh=/x/.unicode!=null?"gu":"g",AI=new RegExp(`[\0-\b +--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,rh),RI={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let fc=null;function II(){var n;if(fc==null&&typeof document<"u"&&document.body){let e=document.body.style;fc=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return fc||!1}const Po=De.define({combine(n){let e=ti(n,{render:null,specialChars:AI,addSpecialChars:null});return(e.replaceTabs=!II())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,rh)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,rh)),e}});function NI(n={}){return[Po.of(n),DI()]}let W_=null;function DI(){return W_||(W_=lr.fromClass(class{constructor(n){this.view=n,this.decorations=qe.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(Po)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new yI({regexp:n.specialChars,decoration:(e,t,r)=>{let{doc:i}=t.state,a=pr(e[0],0);if(a==9){let s=i.lineAt(r),o=t.state.tabSize,l=qs(s.text,o,r-s.from);return qe.replace({widget:new kI((o-l%o)*this.view.defaultCharacterWidth)})}return this.decorationCache[a]||(this.decorationCache[a]=qe.replace({widget:new LI(n,a)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(Po);n.startState.facet(Po)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}const wI="•";function xI(n){return n>=32?wI:n==10?"␤":String.fromCharCode(9216+n)}class LI extends ri{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=xI(this.code),r=e.state.phrase("Control character")+" "+(RI[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,r,t);if(i)return i;let a=document.createElement("span");return a.textContent=t,a.title=r,a.setAttribute("aria-label",r),a.className="cm-specialChar",a}ignoreEvent(){return!1}}class kI extends ri{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function MI(){return BI}const PI=qe.line({class:"cm-activeLine"}),BI=lr.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let r of n.state.selection.ranges){let i=n.lineBlockAt(r.head);i.from>e&&(t.push(PI.range(i.from)),e=i.from)}return qe.set(t)}},{decorations:n=>n.decorations}),nh=2e3;function UI(n,e,t){let r=Math.min(e.line,t.line),i=Math.max(e.line,t.line),a=[];if(e.off>nh||t.off>nh||e.col<0||t.col<0){let s=Math.min(e.off,t.off),o=Math.max(e.off,t.off);for(let l=r;l<=i;l++){let u=n.doc.line(l);u.length<=o&&a.push(de.range(u.from+s,u.to+o))}}else{let s=Math.min(e.col,t.col),o=Math.max(e.col,t.col);for(let l=r;l<=i;l++){let u=n.doc.line(l),d=Pf(u.text,s,n.tabSize,!0);if(d<0)a.push(de.cursor(u.to));else{let f=Pf(u.text,o,n.tabSize);a.push(de.range(u.from+d,u.from+f))}}}return a}function FI(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function X_(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1),r=n.state.doc.lineAt(t),i=t-r.from,a=i>nh?-1:i==r.length?FI(n,e.clientX):qs(r.text,n.state.tabSize,t-r.from);return{line:r.number,col:a,off:i}}function YI(n,e){let t=X_(n,e),r=n.state.selection;return t?{update(i){if(i.docChanged){let a=i.changes.mapPos(i.startState.doc.line(t.line).from),s=i.state.doc.lineAt(a);t={line:s.number,col:t.col,off:Math.min(t.off,s.length)},r=r.map(i.changes)}},get(i,a,s){let o=X_(n,i);if(!o)return r;let l=UI(n.state,t,o);return l.length?s?de.create(l.concat(r.ranges)):de.create(l):r}}:null}function GI(n){let e=(n==null?void 0:n.eventFilter)||(t=>t.altKey&&t.button==0);return Ae.mouseSelectionStyle.of((t,r)=>e(r)?YI(t,r):null)}const QI={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},$I={style:"cursor: crosshair"};function qI(n={}){let[e,t]=QI[n.key||"Alt"],r=lr.fromClass(class{constructor(i){this.view=i,this.isDown=!1}set(i){this.isDown!=i&&(this.isDown=i,this.view.update([]))}},{eventHandlers:{keydown(i){this.set(i.keyCode==e||t(i))},keyup(i){(i.keyCode==e||!t(i))&&this.set(!1)},mousemove(i){this.set(t(i))}}});return[r,Ae.contentAttributes.of(i=>{var a;return!((a=i.plugin(r))===null||a===void 0)&&a.isDown?$I:null})]}const _o="-10000px";class HC{constructor(e,t,r){this.facet=t,this.createTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter(i=>i),this.tooltipViews=this.tooltips.map(r)}update(e){var t;let r=e.state.facet(this.facet),i=r.filter(s=>s);if(r===this.input){for(let s of this.tooltipViews)s.update&&s.update(e);return!1}let a=[];for(let s=0;s{var e,t,r;return{position:Ne.ios?"absolute":((e=n.find(i=>i.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=n.find(i=>i.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((r=n.find(i=>i.tooltipSpace))===null||r===void 0?void 0:r.tooltipSpace)||VI}}}),Z_=new WeakMap,zC=lr.fromClass(class{constructor(n){this.view=n,this.inView=!0,this.lastTransaction=0,this.measureTimeout=-1;let e=n.state.facet(hc);this.position=e.position,this.parent=e.parent,this.classes=n.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.manager=new HC(n,zh,t=>this.createTooltip(t)),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),n.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let n of this.manager.tooltipViews)this.intersectionObserver.observe(n.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(n){n.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(n);e&&this.observeIntersection();let t=e||n.geometryChanged,r=n.state.facet(hc);if(r.position!=this.position){this.position=r.position;for(let i of this.manager.tooltipViews)i.dom.style.position=this.position;t=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let i of this.manager.tooltipViews)this.container.appendChild(i.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(n){let e=n.create(this.view);if(e.dom.classList.add("cm-tooltip"),n.arrow&&!e.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let t=document.createElement("div");t.className="cm-tooltip-arrow",e.dom.appendChild(t)}return e.dom.style.position=this.position,e.dom.style.top=_o,this.container.appendChild(e.dom),e.mount&&e.mount(this.view),e}destroy(){var n,e;this.view.win.removeEventListener("resize",this.measureSoon);for(let t of this.manager.tooltipViews)t.dom.remove(),(n=t.destroy)===null||n===void 0||n.call(t);(e=this.intersectionObserver)===null||e===void 0||e.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let n=this.view.dom.getBoundingClientRect();return{editor:n,parent:this.parent?this.container.getBoundingClientRect():n,pos:this.manager.tooltips.map((e,t)=>{let r=this.manager.tooltipViews[t];return r.getCoords?r.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet(hc).tooltipSpace(this.view)}}writeMeasure(n){var e;let{editor:t,space:r}=n,i=[];for(let a=0;a=Math.min(t.bottom,r.bottom)||u.rightMath.min(t.right,r.right)+.1){l.style.top=_o;continue}let f=s.arrow?o.dom.querySelector(".cm-tooltip-arrow"):null,m=f?7:0,g=d.right-d.left,b=(e=Z_.get(o))!==null&&e!==void 0?e:d.bottom-d.top,v=o.offset||zI,y=this.view.textDirection==Bt.LTR,N=d.width>r.right-r.left?y?r.left:r.right-d.width:y?Math.min(u.left-(f?14:0)+v.x,r.right-g):Math.max(r.left,u.left-g+(f?14:0)-v.x),F=!!s.above;!s.strictSide&&(F?u.top-(d.bottom-d.top)-v.yr.bottom)&&F==r.bottom-u.bottom>u.top-r.top&&(F=!F);let X=(F?u.top-r.top:r.bottom-u.bottom)-m;if(XN&&O.topp&&(p=F?O.top-b-2-m:O.bottom+m+2);this.position=="absolute"?(l.style.top=p-n.parent.top+"px",l.style.left=N-n.parent.left+"px"):(l.style.top=p+"px",l.style.left=N+"px"),f&&(f.style.left=`${u.left+(y?v.x:-v.x)-(N+14-7)}px`),o.overlap!==!0&&i.push({left:N,top:p,right:E,bottom:p+b}),l.classList.toggle("cm-tooltip-above",F),l.classList.toggle("cm-tooltip-below",!F),o.positioned&&o.positioned(n.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let n of this.manager.tooltipViews)n.dom.style.top=_o}},{eventHandlers:{scroll(){this.maybeMeasure()}}}),HI=Ae.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),zI={x:0,y:0},zh=De.define({enables:[zC,HI]}),nl=De.define();class Wh{constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new HC(e,nl,t=>this.createHostedView(t))}static create(e){return new Wh(e)}createHostedView(e){let t=e.create(this.view);return t.dom.classList.add("cm-tooltip-section"),this.dom.appendChild(t.dom),this.mounted&&t.mount&&t.mount(this.view),t}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}}const WI=zh.compute([nl],n=>{let e=n.facet(nl).filter(t=>t);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.filter(t=>t.end!=null).map(t=>t.end)),create:Wh.create,above:e[0].above,arrow:e.some(t=>t.arrow)}});class XI{constructor(e,t,r,i,a){this.view=e,this.source=t,this.field=r,this.setHover=i,this.hoverTime=a,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active)return;let e=Date.now()-this.lastMove.time;er.bottom||e.xr.right+this.view.defaultCharacterWidth)return;let i=this.view.bidiSpans(this.view.state.doc.lineAt(t)).find(o=>o.from<=t&&o.to>=t),a=i&&i.dir==Bt.RTL?-1:1,s=this.source(this.view,t,e.x{this.pending==o&&(this.pending=null,l&&this.view.dispatch({effects:this.setHover.of(l)}))},l=>cn(this.view.state,l,"hover tooltip"))}else s&&this.view.dispatch({effects:this.setHover.of(s)})}mousemove(e){var t;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let r=this.active;if(r&&!K_(this.lastMove.target)||this.pending){let{pos:i}=r||this.pending,a=(t=r==null?void 0:r.end)!==null&&t!==void 0?t:i;(i==a?this.view.posAtCoords(this.lastMove)!=i:!ZI(this.view,i,a,e.clientX,e.clientY,6))&&(this.view.dispatch({effects:this.setHover.of(null)}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1,this.active&&!K_(e.relatedTarget)&&this.view.dispatch({effects:this.setHover.of(null)})}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}function K_(n){for(let e=n;e;e=e.parentNode)if(e.nodeType==1&&e.classList.contains("cm-tooltip"))return!0;return!1}function ZI(n,e,t,r,i,a){let s=document.createRange(),o=n.domAtPos(e),l=n.domAtPos(t);s.setEnd(l.node,l.offset),s.setStart(o.node,o.offset);let u=s.getClientRects();s.detach();for(let d=0;dnl.from(i)});return[r,lr.define(i=>new XI(i,n,r,t,e.hoverTime||300)),WI]}function WC(n,e){let t=n.plugin(zC);if(!t)return null;let r=t.manager.tooltips.indexOf(e);return r<0?null:t.manager.tooltipViews[r]}const jI=it.define(),j_=De.define({combine(n){let e,t;for(let r of n)e=e||r.topContainer,t=t||r.bottomContainer;return{topContainer:e,bottomContainer:t}}});function JI(n,e){let t=n.plugin(XC),r=t?t.specs.indexOf(e):-1;return r>-1?t.panels[r]:null}const XC=lr.fromClass(class{constructor(n){this.input=n.state.facet(ys),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(j_);this.top=new go(n,!0,e.topContainer),this.bottom=new go(n,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(n){let e=n.state.facet(j_);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new go(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new go(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(ys);if(t!=this.input){let r=t.filter(l=>l),i=[],a=[],s=[],o=[];for(let l of r){let u=this.specs.indexOf(l),d;u<0?(d=l(n.view),o.push(d)):(d=this.panels[u],d.update&&d.update(n)),i.push(d),(d.top?a:s).push(d)}this.specs=r,this.panels=i,this.top.sync(a),this.bottom.sync(s);for(let l of o)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let r of this.panels)r.update&&r.update(n)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:n=>Ae.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class go{constructor(e,t,r){this.view=e,this.top=t,this.container=r,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=J_(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=J_(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function J_(n){let e=n.nextSibling;return n.remove(),e}const ys=De.define({enables:XC});class Ci extends Hi{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Ci.prototype.elementClass="";Ci.prototype.toDOM=void 0;Ci.prototype.mapMode=er.TrackBefore;Ci.prototype.startSide=Ci.prototype.endSide=-1;Ci.prototype.point=!0;const Bo=De.define(),Uo=De.define(),ih=De.define({combine:n=>n.some(e=>e)});function eN(n){let e=[tN];return n&&n.fixed===!1&&e.push(ih.of(!0)),e}const tN=lr.fromClass(class{constructor(n){this.view=n,this.prevViewport=n.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight+"px",this.gutters=n.state.facet(Uo).map(e=>new tg(n,e));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!n.state.facet(ih),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),n.scrollDOM.insertBefore(this.dom,n.contentDOM)}update(n){if(this.updateGutters(n)){let e=this.prevViewport,t=n.view.viewport,r=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(r<(t.to-t.from)*.8)}n.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(ih)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=n.view.viewport}syncGutters(n){let e=this.dom.nextSibling;n&&this.dom.remove();let t=yt.iter(this.view.state.facet(Bo),this.view.viewport.from),r=[],i=this.gutters.map(a=>new rN(a,this.view.viewport,-this.view.documentPadding.top));for(let a of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(a.type)){let s=!0;for(let o of a.type)if(o.type==Yt.Text&&s){ah(t,r,o.from);for(let l of i)l.line(this.view,o,r);s=!1}else if(o.widget)for(let l of i)l.widget(this.view,o)}else if(a.type==Yt.Text){ah(t,r,a.from);for(let s of i)s.line(this.view,a,r)}for(let a of i)a.finish();n&&this.view.scrollDOM.insertBefore(this.dom,e)}updateGutters(n){let e=n.startState.facet(Uo),t=n.state.facet(Uo),r=n.docChanged||n.heightChanged||n.viewportChanged||!yt.eq(n.startState.facet(Bo),n.state.facet(Bo),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let i of this.gutters)i.update(n)&&(r=!0);else{r=!0;let i=[];for(let a of t){let s=e.indexOf(a);s<0?i.push(new tg(this.view,a)):(this.gutters[s].update(n),i.push(this.gutters[s]))}for(let a of this.gutters)a.dom.remove(),i.indexOf(a)<0&&a.destroy();for(let a of i)this.dom.appendChild(a.dom);this.gutters=i}return r}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove()}},{provide:n=>Ae.scrollMargins.of(e=>{let t=e.plugin(n);return!t||t.gutters.length==0||!t.fixed?null:e.textDirection==Bt.LTR?{left:t.dom.offsetWidth}:{right:t.dom.offsetWidth}})});function eg(n){return Array.isArray(n)?n:[n]}function ah(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class rN{constructor(e,t,r){this.gutter=e,this.height=r,this.i=0,this.cursor=yt.iter(e.markers,t.from)}addElement(e,t,r){let{gutter:i}=this,a=t.top-this.height;if(this.i==i.elements.length){let s=new ZC(e,t.height,a,r);i.elements.push(s),i.dom.appendChild(s.dom)}else i.elements[this.i].update(e,t.height,a,r);this.height=t.bottom,this.i++}line(e,t,r){let i=[];ah(this.cursor,i,t.from),r.length&&(i=i.concat(r));let a=this.gutter.config.lineMarker(e,t,i);a&&i.unshift(a);let s=this.gutter;i.length==0&&!s.config.renderEmptyElements||this.addElement(e,t,i)}widget(e,t){let r=this.gutter.config.widgetMarker(e,t.widget,t);r&&this.addElement(e,t,[r])}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class tg{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let r in t.domEventHandlers)this.dom.addEventListener(r,i=>{let a=i.target,s;if(a!=this.dom&&this.dom.contains(a)){for(;a.parentNode!=this.dom;)a=a.parentNode;let l=a.getBoundingClientRect();s=(l.top+l.bottom)/2}else s=i.clientY;let o=e.lineBlockAtHeight(s-e.documentTop);t.domEventHandlers[r](e,o,i)&&i.preventDefault()});this.markers=eg(t.markers(e)),t.initialSpacer&&(this.spacer=new ZC(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=eg(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let i=this.config.updateSpacer(this.spacer.markers[0],e);i!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[i])}let r=e.view.viewport;return!yt.eq(this.markers,t,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class ZC{constructor(e,t,r,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,r,i)}update(e,t,r,i){this.height!=t&&(this.dom.style.height=(this.height=t)+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),nN(this.markers,i)||this.setMarkers(e,i)}setMarkers(e,t){let r="cm-gutterElement",i=this.dom.firstChild;for(let a=0,s=0;;){let o=s,l=aa(o,l,u)||s(o,l,u):s}return r}})}});class mc extends Ci{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function _c(n,e){return n.state.facet(ha).formatNumber(e,n.state)}const aN=Uo.compute([ha],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(iN)},lineMarker(e,t,r){return r.some(i=>i.toDOM)?null:new mc(_c(e,e.state.doc.lineAt(t.from).number))},widgetMarker:()=>null,lineMarkerChange:e=>e.startState.facet(ha)!=e.state.facet(ha),initialSpacer(e){return new mc(_c(e,ng(e.state.doc.lines)))},updateSpacer(e,t){let r=_c(t.view,ng(t.view.state.doc.lines));return r==e.number?e:new mc(r)},domEventHandlers:n.facet(ha).domEventHandlers}));function rg(n={}){return[ha.of(n),eN(),aN]}function ng(n){let e=9;for(;e{let e=[],t=-1;for(let r of n.selection.ranges){let i=n.doc.lineAt(r.head).from;i>t&&(t=i,e.push(sN.range(i)))}return yt.of(e)});function lN(){return oN}const KC=1024;let cN=0;class sn{constructor(e,t){this.from=e,this.to=t}}class Ze{constructor(e={}){this.id=cN++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=rr.match(e)),t=>{let r=e(t);return r===void 0?null:[this,r]}}}Ze.closedBy=new Ze({deserialize:n=>n.split(" ")});Ze.openedBy=new Ze({deserialize:n=>n.split(" ")});Ze.group=new Ze({deserialize:n=>n.split(" ")});Ze.contextHash=new Ze({perNode:!0});Ze.lookAhead=new Ze({perNode:!0});Ze.mounted=new Ze({perNode:!0});class uN{constructor(e,t,r){this.tree=e,this.overlay=t,this.parser=r}}const dN=Object.create(null);class rr{constructor(e,t,r,i=0){this.name=e,this.props=t,this.id=r,this.flags=i}static define(e){let t=e.props&&e.props.length?Object.create(null):dN,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),i=new rr(e.name||"",t,e.id,r);if(e.props){for(let a of e.props)if(Array.isArray(a)||(a=a(i)),a){if(a[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[a[0].id]=a[1]}}return i}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(Ze.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let r in e)for(let i of r.split(" "))t[i]=e[r];return r=>{for(let i=r.prop(Ze.group),a=-1;a<(i?i.length:0);a++){let s=t[a<0?r.name:i[a]];if(s)return s}}}}rr.none=new rr("",Object.create(null),0,8);class Ws{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(s|Rt.IncludeAnonymous);;){let u=!1;if(l.from<=a&&l.to>=i&&(!o&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;u=!0}for(;u&&r&&(o||!l.type.isAnonymous)&&r(l),!l.nextSibling();){if(!l.parent())return;u=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Kh(rr.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,i)=>new St(this.type,t,r,i,this.propValues),e.makeTree||((t,r,i)=>new St(rr.none,t,r,i)))}static build(e){return fN(e)}}St.empty=new St(rr.none,[],[],0);class Xh{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new Xh(this.buffer,this.index)}}class ji{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return rr.none}toString(){let e=[];for(let t=0;t0));l=s[l+3]);return o}slice(e,t,r){let i=this.buffer,a=new Uint16Array(t-e),s=0;for(let o=e,l=0;o=e&&te;case 1:return t<=e&&r>e;case 2:return r>e;case 4:return!0}}function JC(n,e){let t=n.childBefore(e);for(;t;){let r=t.lastChild;if(!r||r.to!=t.to)break;r.type.isError&&r.from==r.to?(n=t,t=r.prevSibling):t=r}return n}function Da(n,e,t,r){for(var i;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to0?o.length:-1;e!=u;e+=t){let d=o[e],f=l[e]+s.from;if(jC(i,r,f,f+d.length)){if(d instanceof ji){if(a&Rt.ExcludeBuffers)continue;let m=d.findChild(0,d.buffer.length,t,r-f,i);if(m>-1)return new Bn(new pN(s,d,e,f),null,m)}else if(a&Rt.IncludeAnonymous||!d.type.isAnonymous||Zh(d)){let m;if(!(a&Rt.IgnoreMounts)&&d.props&&(m=d.prop(Ze.mounted))&&!m.overlay)return new dn(m.tree,f,e,s);let g=new dn(d,f,e,s);return a&Rt.IncludeAnonymous||!g.type.isAnonymous?g:g.nextChild(t<0?d.children.length-1:0,t,r,i)}}}if(a&Rt.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+t:e=t<0?-1:s._parent._tree.children.length,s=s._parent,!s))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,r=0){let i;if(!(r&Rt.IgnoreOverlays)&&(i=this._tree.prop(Ze.mounted))&&i.overlay){let a=e-this.from;for(let{from:s,to:o}of i.overlay)if((t>0?s<=a:s=a:o>a))return new dn(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}cursor(e=0){return new As(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,t=0){return Da(this,e,t,!1)}resolveInner(e,t=0){return Da(this,e,t,!0)}enterUnfinishedNodesBefore(e){return JC(this,e)}getChild(e,t=null,r=null){let i=il(this,e,t,r);return i.length?i[0]:null}getChildren(e,t=null,r=null){return il(this,e,t,r)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return al(this,e)}}function il(n,e,t,r){let i=n.cursor(),a=[];if(!i.firstChild())return a;if(t!=null){for(;!i.type.is(t);)if(!i.nextSibling())return a}for(;;){if(r!=null&&i.type.is(r))return a;if(i.type.is(e)&&a.push(i.node),!i.nextSibling())return r==null?a:[]}}function al(n,e,t=e.length-1){for(let r=n.parent;t>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[t]&&e[t]!=r.name)return!1;t--}}return!0}class pN{constructor(e,t,r,i){this.parent=e,this.buffer=t,this.index=r,this.start=i}}class Bn{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,r){this.context=e,this._parent=t,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:i}=this.context,a=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.context.start,r);return a<0?null:new Bn(this.context,this,a)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,r=0){if(r&Rt.ExcludeBuffers)return null;let{buffer:i}=this.context,a=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return a<0?null:new Bn(this.context,this,a)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Bn(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new Bn(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}cursor(e=0){return new As(this,e)}get tree(){return null}toTree(){let e=[],t=[],{buffer:r}=this.context,i=this.index+4,a=r.buffer[this.index+3];if(a>i){let s=r.buffer[this.index+1];e.push(r.slice(i,a,s)),t.push(0)}return new St(this.type,e,t,this.to-this.from)}resolve(e,t=0){return Da(this,e,t,!1)}resolveInner(e,t=0){return Da(this,e,t,!0)}enterUnfinishedNodesBefore(e){return JC(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,t=null,r=null){let i=il(this,e,t,r);return i.length?i[0]:null}getChildren(e,t=null,r=null){return il(this,e,t,r)}get node(){return this}matchContext(e){return al(this,e)}}class As{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof dn)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:r,buffer:i}=this.buffer;return this.type=t||i.set.types[i.buffer[e]],this.from=r+i.buffer[e+1],this.to=r+i.buffer[e+2],!0}yield(e){return e?e instanceof dn?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:i}=this.buffer,a=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.buffer.start,r);return a<0?!1:(this.stack.push(this.index),this.yieldBuf(a))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,r=this.mode){return this.buffer?r&Rt.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Rt.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Rt.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,r=this.stack.length-1;if(e<0){let i=r<0?0:this.stack[r]+4;if(this.index!=i)return this.yieldBuf(t.findChild(i,this.index,-1,0,4))}else{let i=t.buffer[this.index+3];if(i<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(i)}return r<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,r,{buffer:i}=this;if(i){if(e>0){if(this.index-1)for(let a=t+e,s=e<0?-1:r._tree.children.length;a!=s;a+=e){let o=r._tree.children[a];if(this.mode&Rt.IncludeAnonymous||o instanceof ji||!o.type.isAnonymous||Zh(o))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let s=e;s;s=s._parent)if(s.index==i){if(i==this.index)return s;t=s,r=a+1;break e}i=this.stack[--a]}for(let i=r;i=0;a--){if(a<0)return al(this.node,e,i);let s=r[t.buffer[this.stack[a]]];if(!s.isAnonymous){if(e[i]&&e[i]!=s.name)return!1;i--}}return!0}}function Zh(n){return n.children.some(e=>e instanceof ji||!e.type.isAnonymous||Zh(e))}function fN(n){var e;let{buffer:t,nodeSet:r,maxBufferLength:i=KC,reused:a=[],minRepeatType:s=r.types.length}=n,o=Array.isArray(t)?new Xh(t,t.length):t,l=r.types,u=0,d=0;function f(p,E,O,A,D){let{id:M,start:w,end:B,size:re}=o,ie=d;for(;re<0;)if(o.next(),re==-1){let Z=a[M];O.push(Z),A.push(w-p);return}else if(re==-3){u=M;return}else if(re==-4){d=M;return}else throw new RangeError(`Unrecognized record size: ${re}`);let j=l[M],J,L,G=w-p;if(B-w<=i&&(L=v(o.pos-E,D))){let Z=new Uint16Array(L.size-L.skip),z=o.pos-L.size,ce=Z.length;for(;o.pos>z;)ce=y(L.start,Z,ce);J=new ji(Z,B-L.start,r),G=L.start-p}else{let Z=o.pos-re;o.next();let z=[],ce=[],ue=M>=s?M:-1,Te=0,Pe=B;for(;o.pos>Z;)ue>=0&&o.id==ue&&o.size>=0?(o.end<=Pe-i&&(g(z,ce,w,Te,o.end,Pe,ue,ie),Te=z.length,Pe=o.end),o.next()):f(w,Z,z,ce,ue);if(ue>=0&&Te>0&&Te-1&&Te>0){let Ve=m(j);J=Kh(j,z,ce,0,z.length,0,B-w,Ve,Ve)}else J=b(j,z,ce,B-w,ie-B)}O.push(J),A.push(G)}function m(p){return(E,O,A)=>{let D=0,M=E.length-1,w,B;if(M>=0&&(w=E[M])instanceof St){if(!M&&w.type==p&&w.length==A)return w;(B=w.prop(Ze.lookAhead))&&(D=O[M]+w.length+B)}return b(p,E,O,A,D)}}function g(p,E,O,A,D,M,w,B){let re=[],ie=[];for(;p.length>A;)re.push(p.pop()),ie.push(E.pop()+O-D);p.push(b(r.types[w],re,ie,M-D,B-M)),E.push(D-O)}function b(p,E,O,A,D=0,M){if(u){let w=[Ze.contextHash,u];M=M?[w].concat(M):[w]}if(D>25){let w=[Ze.lookAhead,D];M=M?[w].concat(M):[w]}return new St(p,E,O,A,M)}function v(p,E){let O=o.fork(),A=0,D=0,M=0,w=O.end-i,B={size:0,start:0,skip:0};e:for(let re=O.pos-p;O.pos>re;){let ie=O.size;if(O.id==E&&ie>=0){B.size=A,B.start=D,B.skip=M,M+=4,A+=4,O.next();continue}let j=O.pos-ie;if(ie<0||j=s?4:0,L=O.start;for(O.next();O.pos>j;){if(O.size<0)if(O.size==-3)J+=4;else break e;else O.id>=s&&(J+=4);O.next()}D=L,A+=ie,M+=J}return(E<0||A==p)&&(B.size=A,B.start=D,B.skip=M),B.size>4?B:void 0}function y(p,E,O){let{id:A,start:D,end:M,size:w}=o;if(o.next(),w>=0&&A4){let re=o.pos-(w-4);for(;o.pos>re;)O=y(p,E,O)}E[--O]=B,E[--O]=M-p,E[--O]=D-p,E[--O]=A}else w==-3?u=A:w==-4&&(d=A);return O}let N=[],F=[];for(;o.pos>0;)f(n.start||0,n.bufferStart||0,N,F,-1);let X=(e=n.length)!==null&&e!==void 0?e:N.length?F[0]+N[0].length:0;return new St(l[n.topID],N.reverse(),F.reverse(),X)}const ag=new WeakMap;function Fo(n,e){if(!n.isAnonymous||e instanceof ji||e.type!=n)return 1;let t=ag.get(e);if(t==null){t=1;for(let r of e.children){if(r.type!=n||!(r instanceof St)){t=1;break}t+=Fo(n,r)}ag.set(e,t)}return t}function Kh(n,e,t,r,i,a,s,o,l){let u=0;for(let b=r;b=d)break;O+=A}if(X==p+1){if(O>d){let A=b[p];g(A.children,A.positions,0,A.children.length,v[p]+F);continue}f.push(b[p])}else{let A=v[X-1]+b[X-1].length-E;f.push(Kh(n,b,v,p,X,E,A,null,l))}m.push(E+F-a)}}return g(e,t,r,i,0),(o||l)(f,m,s)}class ev{constructor(){this.map=new WeakMap}setBuffer(e,t,r){let i=this.map.get(e);i||this.map.set(e,i=new Map),i.set(t,r)}getBuffer(e,t){let r=this.map.get(e);return r&&r.get(t)}set(e,t){e instanceof Bn?this.setBuffer(e.context.buffer,e.index,t):e instanceof dn&&this.map.set(e.tree,t)}get(e){return e instanceof Bn?this.getBuffer(e.context.buffer,e.index):e instanceof dn?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class Zn{constructor(e,t,r,i,a=!1,s=!1){this.from=e,this.to=t,this.tree=r,this.offset=i,this.open=(a?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],r=!1){let i=[new Zn(0,e.length,e,0,!1,r)];for(let a of t)a.to>e.length&&i.push(a);return i}static applyChanges(e,t,r=128){if(!t.length)return e;let i=[],a=1,s=e.length?e[0]:null;for(let o=0,l=0,u=0;;o++){let d=o=r)for(;s&&s.from=m.from||f<=m.to||u){let g=Math.max(m.from,l)-u,b=Math.min(m.to,f)-u;m=g>=b?null:new Zn(g,b,m.tree,m.offset+u,o>0,!!d)}if(m&&i.push(m),s.to>f)break;s=anew sn(i.from,i.to)):[new sn(0,0)]:[new sn(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let i=this.startParse(e,t,r);for(;;){let a=i.advance();if(a)return a}}}class hN{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}function tv(n){return(e,t,r,i)=>new _N(e,n,t,r,i)}class sg{constructor(e,t,r,i,a){if(this.parser=e,this.parse=t,this.overlay=r,this.target=i,this.ranges=a,!a.length||a.some(s=>s.from>=s.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(a))}}class mN{constructor(e,t,r,i,a,s,o){this.parser=e,this.predicate=t,this.mounts=r,this.index=i,this.start=a,this.target=s,this.prev=o,this.depth=0,this.ranges=[]}}const sh=new Ze({perNode:!0});class _N{constructor(e,t,r,i,a){this.nest=t,this.input=r,this.fragments=i,this.ranges=a,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let r=this.baseParse.advance();if(!r)return null;if(this.baseParse=null,this.baseTree=r,this.startInner(),this.stoppedAt!=null)for(let i of this.inner)i.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let r=this.baseTree;return this.stoppedAt!=null&&(r=new St(r.type,r.children,r.positions,r.length,r.propValues.concat([[sh,this.stoppedAt]]))),r}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let r=Object.assign(Object.create(null),e.target.props);r[Ze.mounted.id]=new uN(t,e.overlay,e.parser),e.target.props=r}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;td.frag.from<=i.from&&d.frag.to>=i.to&&d.mount.overlay);if(u)for(let d of u.mount.overlay){let f=d.from+u.pos,m=d.to+u.pos;f>=i.from&&m<=i.to&&!t.ranges.some(g=>g.fromf)&&t.ranges.push({from:f,to:m})}}o=!1}else if(r&&(s=gN(r.ranges,i.from,i.to)))o=s!=2;else if(!i.type.isAnonymous&&i.fromnew sn(f.from-i.from,f.to-i.from)):null,i.tree,d)),a.overlay?d.length&&(r={ranges:d,depth:0,prev:r}):o=!1}}else t&&(l=t.predicate(i))&&(l===!0&&(l=new sn(i.from,i.to)),l.fromnew sn(d.from-t.start,d.to-t.start)),t.target,u)),t=t.prev}r&&!--r.depth&&(r=r.prev)}}}}function gN(n,e,t){for(let r of n){if(r.from>=t)break;if(r.to>e)return r.from<=e&&r.to>=t?2:1}return 0}function og(n,e,t,r,i,a){if(e=e.to);r++);let s=i.children[r],o=s.buffer;function l(u,d,f,m,g){let b=u;for(;o[b+2]+a<=e.from;)b=o[b+3];let v=[],y=[];og(s,u,b,v,y,m);let N=o[b+1],F=o[b+2],X=N+a==e.from&&F+a==e.to&&o[b]==e.type.id;return v.push(X?e.toTree():l(b+4,o[b+3],s.set.types[o[b]],N,F-N)),y.push(N-m),og(s,o[b+3],d,v,y,m),new St(f,v,y,g)}i.children[r]=l(0,o.length,rr.none,0,s.length);for(let u=0;u<=t;u++)n.childAfter(e.from)}class lg{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.cursor(Rt.IncludeAnonymous|Rt.IgnoreMounts)}moveTo(e){let{cursor:t}=this,r=e-this.offset;for(;!this.done&&t.from=e&&t.enter(r,1,Rt.IgnoreOverlays|Rt.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof St)t=t.children[0];else break}return!1}}let ON=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let r=this.curFrag=e[0];this.curTo=(t=r.tree.prop(sh))!==null&&t!==void 0?t:r.to,this.inner=new lg(r.tree,-r.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(sh))!==null&&e!==void 0?e:t.to,this.inner=new lg(t.tree,-t.offset)}}findMounts(e,t){var r;let i=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let a=this.inner.cursor.node;a;a=a.parent){let s=(r=a.tree)===null||r===void 0?void 0:r.prop(Ze.mounted);if(s&&s.parser==t)for(let o=this.fragI;o=a.to)break;l.tree==this.curFrag.tree&&i.push({frag:l,pos:a.from-l.offset,mount:s})}}}return i}};function cg(n,e){let t=null,r=e;for(let i=1,a=0;i=o)break;l.to<=s||(t||(r=t=e.slice()),l.fromo&&t.splice(a+1,0,new sn(o,l.to))):l.to>o?t[a--]=new sn(o,l.to):t.splice(a--,1))}}return r}function EN(n,e,t,r){let i=0,a=0,s=!1,o=!1,l=-1e9,u=[];for(;;){let d=i==n.length?1e9:s?n[i].to:n[i].from,f=a==e.length?1e9:o?e[a].to:e[a].from;if(s!=o){let m=Math.max(l,t),g=Math.min(d,f,r);mnew sn(m.from+r,m.to+r)),f=EN(e,d,l,u);for(let m=0,g=l;;m++){let b=m==f.length,v=b?u:f[m].from;if(v>g&&t.push(new Zn(g,v,i.tree,-s,a.from>=g||a.openStart,a.to<=v||a.openEnd)),b)break;g=f[m].to}}else t.push(new Zn(l,u,i.tree,-s,a.from>=s||a.openStart,a.to<=o||a.openEnd))}return t}let bN=class oh{constructor(e,t,r,i,a,s,o,l,u,d=0,f){this.p=e,this.stack=t,this.state=r,this.reducePos=i,this.pos=a,this.score=s,this.buffer=o,this.bufferBase=l,this.curContext=u,this.lookAhead=d,this.parent=f}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let i=e.parser.context;return new oh(e,[],t,r,r,0,[],0,i?new dg(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let r=e>>19,i=e&65535,{parser:a}=this.p,s=a.dynamicPrecedence(i);if(s&&(this.score+=s),r==0){this.pushState(a.getGoto(this.state,i,!0),this.reducePos),i=2e3&&!(!((t=this.p.parser.nodeSet.types[i])===null||t===void 0)&&t.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=u):this.p.lastBigReductionSizeo;)this.stack.pop();this.reduceContext(i,l)}storeNode(e,t,r,i=4,a=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&s.buffer[o-4]==0&&s.buffer[o-1]>-1){if(t==r)return;if(s.buffer[o-2]>=t){s.buffer[o-2]=r;return}}}if(!a||this.pos==r)this.buffer.push(e,t,r,i);else{let s=this.buffer.length;if(s>0&&this.buffer[s-4]!=0)for(;s>0&&this.buffer[s-2]>r;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,i>4&&(i-=4);this.buffer[s]=e,this.buffer[s+1]=t,this.buffer[s+2]=r,this.buffer[s+3]=i}}shift(e,t,r){let i=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=r,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,r,4);else{let a=e,{parser:s}=this.p;(r>this.pos||t<=s.maxNode)&&(this.pos=r,s.stateFlag(a,1)||(this.reducePos=r)),this.pushState(a,i),this.shiftContext(t,i),t<=s.maxNode&&this.buffer.push(t,i,r,4)}}apply(e,t,r){e&65536?this.reduce(e):this.shift(e,t,r)}useNode(e,t){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let i=this.pos;this.reducePos=this.pos=i+e.length,this.pushState(t,i),this.buffer.push(r,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let r=e.buffer.slice(t),i=e.bufferBase+t;for(;e&&i==e.bufferBase;)e=e.parent;return new oh(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,i,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,r?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new TN(this);;){let r=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(r==0)return!1;if(!(r&65536))return!0;t.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let i=[];for(let a=0,s;al&1&&o==s)||i.push(t[a],s)}t=i}let r=[];for(let i=0;i>19,i=t&65535,a=this.stack.length-r*3;if(a<0||e.getGoto(this.stack[a],i,!1)<0){let s=this.findForcedReduction();if(s==null)return!1;t=s}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],r=(i,a)=>{if(!t.includes(i))return t.push(i),e.allActions(i,s=>{if(!(s&393216))if(s&65536){let o=(s>>19)-a;if(o>1){let l=s&65535,u=this.stack.length-o*3;if(u>=0&&e.getGoto(this.stack[u],l,!1)>=0)return o<<19|65536|l}}else{let o=r(s,a+1);if(o!=null)return o}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}};class dg{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class TN{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let i=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=i}}class sl{constructor(e,t,r){this.stack=e,this.pos=t,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new sl(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new sl(this.stack,this.pos,this.index)}}function ds(n,e=Uint16Array){if(typeof n!="string")return n;let t=null;for(let r=0,i=0;r=92&&s--,s>=34&&s--;let l=s-32;if(l>=46&&(l-=46,o=!0),a+=l,o)break;a*=46}t?t[i++]=a:t=new e(a)}return t}class Yo{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const pg=new Yo;class CN{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=pg,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let r=this.range,i=this.rangeIndex,a=this.pos+e;for(;ar.to:a>=r.to;){if(i==this.ranges.length-1)return null;let s=this.ranges[++i];a+=s.from-r.to,r=s}return a}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,r,i;if(t>=0&&t=this.chunk2Pos&&ro.to&&(this.chunk2=this.chunk2.slice(0,o.to-r)),i=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),i}acceptToken(e,t=0){let r=t?this.resolveOffset(t,-1):this.pos;if(r==null||r=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=pg,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let r="";for(let i of this.ranges){if(i.from>=t)break;i.to>e&&(r+=this.input.read(Math.max(i.from,e),Math.min(i.to,t)))}return r}}class ba{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;rv(this.data,e,t,this.id,r.data,r.tokenPrecTable)}}ba.prototype.contextual=ba.prototype.fallback=ba.prototype.extend=!1;class ol{constructor(e,t,r){this.precTable=t,this.elseToken=r,this.data=typeof e=="string"?ds(e):e}token(e,t){let r=e.pos,i=0;for(;;){let a=e.next<0,s=e.resolveOffset(1,1);if(rv(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(a||i++,s==null)break;e.reset(s,e.token)}i&&(e.reset(r,e.token),e.acceptToken(this.elseToken,i))}}ol.prototype.contextual=ba.prototype.fallback=ba.prototype.extend=!1;class Gn{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function rv(n,e,t,r,i,a){let s=0,o=1<0){let b=n[g];if(l.allows(b)&&(e.token.value==-1||e.token.value==b||vN(b,e.token.value,i,a))){e.acceptToken(b);break}}let d=e.next,f=0,m=n[s+2];if(e.next<0&&m>f&&n[u+m*3-3]==65535&&n[u+m*3-3]==65535){s=n[u+m*3-1];continue e}for(;f>1,b=u+g+(g<<1),v=n[b],y=n[b+1]||65536;if(d=y)f=g+1;else{s=n[b+2],e.advance();continue e}}break}}function fg(n,e,t){for(let r=e,i;(i=n[r])!=65535;r++)if(i==t)return r-e;return-1}function vN(n,e,t,r){let i=fg(t,r,e);return i<0||fg(t,r,n)e)&&!r.type.isError)return t<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(n.length,Math.max(r.from+1,e+25));if(t<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return t<0?0:n.length}}let yN=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?hg(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?hg(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=s,null;if(a instanceof St){if(s==e){if(s=Math.max(this.safeFrom,e)&&(this.trees.push(a),this.start.push(s),this.index.push(0))}else this.index[t]++,this.nextStart=s+a.length}}};class AN{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Yo)}getActions(e){let t=0,r=null,{parser:i}=e.p,{tokenizers:a}=i,s=i.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,l=0;for(let u=0;uf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let m=t;if(f.extended>-1&&(t=this.addActions(e,f.extended,f.end,t)),t=this.addActions(e,f.value,f.end,t),!d.extend&&(r=f,t>m))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!r&&e.pos==this.stream.end&&(r=new Yo,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,t=this.addActions(e,r.value,r.end,t)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Yo,{pos:r,p:i}=e;return t.start=r,t.end=Math.min(r+1,i.stream.end),t.value=r==i.stream.end?i.parser.eofTerm:0,t}updateCachedToken(e,t,r){let i=this.stream.clipPos(r.pos);if(t.token(this.stream.reset(i,e),r),e.value>-1){let{parser:a}=r.p;for(let s=0;s=0&&r.p.parser.dialect.allows(o>>1)){o&1?e.extended=o>>1:e.value=o>>1;break}}}else e.value=0,e.end=this.stream.clipPos(i+1)}putAction(e,t,r,i){for(let a=0;ae.bufferLength*4?new yN(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,r=this.stacks=[],i,a;if(this.bigReductionCount>300&&e.length==1){let[s]=e;for(;s.forceReduce()&&s.stack.length&&s.stack[s.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;st)r.push(o);else{if(this.advanceStack(o,r,e))continue;{i||(i=[],a=[]),i.push(o);let l=this.tokens.getMainToken(o);a.push(l.value,l.end)}}break}}if(!r.length){let s=i&&NN(i);if(s)return qr&&console.log("Finish with "+this.stackID(s)),this.stackToTree(s);if(this.parser.strict)throw qr&&i&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&i){let s=this.stoppedAt!=null&&i[0].pos>this.stoppedAt?i[0]:this.runRecovery(i,a,r);if(s)return qr&&console.log("Force-finish "+this.stackID(s)),this.stackToTree(s.forceAll())}if(this.recovering){let s=this.recovering==1?1:this.recovering*3;if(r.length>s)for(r.sort((o,l)=>l.score-o.score);r.length>s;)r.pop();r.some(o=>o.reducePos>t)&&this.recovering--}else if(r.length>1){e:for(let s=0;s500&&u.buffer.length>500)if((o.score-u.score||o.buffer.length-u.buffer.length)>0)r.splice(l--,1);else{r.splice(s--,1);continue e}}}r.length>12&&r.splice(12,r.length-12)}this.minStackPos=r[0].pos;for(let s=1;s ":"";if(this.stoppedAt!=null&&i>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let u=e.curContext&&e.curContext.tracker.strict,d=u?e.curContext.hash:0;for(let f=this.fragments.nodeAt(i);f;){let m=this.parser.nodeSet.types[f.type.id]==f.type?a.getGoto(e.state,f.type.id):-1;if(m>-1&&f.length&&(!u||(f.prop(Ze.contextHash)||0)==d))return e.useNode(f,m),qr&&console.log(s+this.stackID(e)+` (via reuse of ${a.getName(f.type.id)})`),!0;if(!(f instanceof St)||f.children.length==0||f.positions[0]>0)break;let g=f.children[0];if(g instanceof St&&f.positions[0]==0)f=g;else break}}let o=a.stateSlot(e.state,4);if(o>0)return e.reduce(o),qr&&console.log(s+this.stackID(e)+` (via always-reduce ${a.getName(o&65535)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let u=0;ui?t.push(b):r.push(b)}return!1}advanceFully(e,t){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return mg(e,t),!0}}runRecovery(e,t,r){let i=null,a=!1;for(let s=0;s ":"";if(o.deadEnd&&(a||(a=!0,o.restart(),qr&&console.log(d+this.stackID(o)+" (restarted)"),this.advanceFully(o,r))))continue;let f=o.split(),m=d;for(let g=0;f.forceReduce()&&g<10&&(qr&&console.log(m+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,r));g++)qr&&(m=this.stackID(f)+" -> ");for(let g of o.recoverByInsert(l))qr&&console.log(d+this.stackID(g)+" (via recover-insert)"),this.advanceFully(g,r);this.stream.end>o.pos?(u==o.pos&&(u++,l=0),o.recoverByDelete(l,u),qr&&console.log(d+this.stackID(o)+` (via recover-delete ${this.parser.getName(l)})`),mg(o,r)):(!i||i.scoren;class nv{constructor(e){this.start=e.start,this.shift=e.shift||Sc,this.reduce=e.reduce||Sc,this.reuse=e.reuse||Sc,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class wa extends jh{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let o=0;oe.topRules[o][1]),i=[];for(let o=0;o=0)a(d,l,o[u++]);else{let f=o[u+-d];for(let m=-d;m>0;m--)a(o[u++],l,f);u++}}}this.nodeSet=new Ws(t.map((o,l)=>rr.define({name:l>=this.minRepeatTerm?void 0:o,id:l,props:i[l],top:r.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=KC;let s=ds(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let o=0;otypeof o=="number"?new ba(s,o):o),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,r){let i=new RN(this,e,t,r);for(let a of this.wrappers)i=a(i,e,t,r);return i}getGoto(e,t,r=!1){let i=this.goto;if(t>=i[0])return-1;for(let a=i[t+1];;){let s=i[a++],o=s&1,l=i[a++];if(o&&r)return l;for(let u=a+(s>>1);a0}validAction(e,t){return!!this.allActions(e,r=>r==t?!0:null)}allActions(e,t){let r=this.stateSlot(e,4),i=r?t(r):void 0;for(let a=this.stateSlot(e,1);i==null;a+=3){if(this.data[a]==65535)if(this.data[a+1]==1)a=Vn(this.data,a+2);else break;i=t(Vn(this.data,a+1))}return i}nextStates(e){let t=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=Vn(this.data,r+2);else break;if(!(this.data[r+2]&1)){let i=this.data[r+1];t.some((a,s)=>s&1&&a==i)||t.push(this.data[r],i)}}return t}configure(e){let t=Object.assign(Object.create(wa.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=r}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(r=>{let i=e.tokenizers.find(a=>a.from==r);return i?i.to:r})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((r,i)=>{let a=e.specializers.find(o=>o.from==r.external);if(!a)return r;let s=Object.assign(Object.assign({},r),{external:a.to});return t.specializers[i]=_g(s),s})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),r=t.map(()=>!1);if(e)for(let a of e.split(" ")){let s=t.indexOf(a);s>=0&&(r[s]=!0)}let i=null;for(let a=0;ar)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scoren.external(t,r)<<1|e}return n.get}let DN=0;class Cn{constructor(e,t,r){this.set=e,this.base=t,this.modified=r,this.id=DN++}static define(e){if(e!=null&&e.base)throw new Error("Can not derive from a modified tag");let t=new Cn([],null,[]);if(t.set.push(t),e)for(let r of e.set)t.set.push(r);return t}static defineModifier(){let e=new ll;return t=>t.modified.indexOf(e)>-1?t:ll.get(t.base||t,t.modified.concat(e).sort((r,i)=>r.id-i.id))}}let wN=0;class ll{constructor(){this.instances=[],this.id=wN++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find(o=>o.base==e&&xN(t,o.modified));if(r)return r;let i=[],a=new Cn(i,e,t);for(let o of t)o.instances.push(a);let s=LN(t);for(let o of e.set)if(!o.modified.length)for(let l of s)i.push(ll.get(o,l));return a}}function xN(n,e){return n.length==e.length&&n.every((t,r)=>t==e[r])}function LN(n){let e=[[]];for(let t=0;tr.length-t.length)}function Qa(n){let e=Object.create(null);for(let t in n){let r=n[t];Array.isArray(r)||(r=[r]);for(let i of t.split(" "))if(i){let a=[],s=2,o=i;for(let f=0;;){if(o=="..."&&f>0&&f+3==i.length){s=1;break}let m=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(o);if(!m)throw new RangeError("Invalid path: "+i);if(a.push(m[0]=="*"?"":m[0][0]=='"'?JSON.parse(m[0]):m[0]),f+=m[0].length,f==i.length)break;let g=i[f++];if(f==i.length&&g=="!"){s=0;break}if(g!="/")throw new RangeError("Invalid path: "+i);o=i.slice(f)}let l=a.length-1,u=a[l];if(!u)throw new RangeError("Invalid path: "+i);let d=new cl(r,s,l>0?a.slice(0,l):null);e[u]=d.sort(e[u])}}return iv.add(e)}const iv=new Ze;class cl{constructor(e,t,r,i){this.tags=e,this.mode=t,this.context=r,this.next=i}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let s=i;for(let o of a)for(let l of o.set){let u=t[l.id];if(u){s=s?s+" "+u:u;break}}return s},scope:r}}function kN(n,e){let t=null;for(let r of n){let i=r.style(e);i&&(t=t?t+" "+i:i)}return t}function MN(n,e,t,r=0,i=n.length){let a=new PN(r,Array.isArray(e)?e:[e],t);a.highlightRange(n.cursor(),r,i,"",a.highlighters),a.flush(i)}class PN{constructor(e,t,r){this.at=e,this.highlighters=t,this.span=r,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,r,i,a){let{type:s,from:o,to:l}=e;if(o>=r||l<=t)return;s.isTop&&(a=this.highlighters.filter(g=>!g.scope||g.scope(s)));let u=i,d=BN(e)||cl.empty,f=kN(a,d.tags);if(f&&(u&&(u+=" "),u+=f,d.mode==1&&(i+=(i?" ":"")+f)),this.startSpan(Math.max(t,o),u),d.opaque)return;let m=e.tree&&e.tree.prop(Ze.mounted);if(m&&m.overlay){let g=e.node.enter(m.overlay[0].from+o,1),b=this.highlighters.filter(y=>!y.scope||y.scope(m.tree.type)),v=e.firstChild();for(let y=0,N=o;;y++){let F=y=X||!e.nextSibling())););if(!F||X>r)break;N=F.to+o,N>t&&(this.highlightRange(g.cursor(),Math.max(t,F.from+o),Math.min(r,N),"",b),this.startSpan(Math.min(r,N),u))}v&&e.parent()}else if(e.firstChild()){m&&(i="");do if(!(e.to<=t)){if(e.from>=r)break;this.highlightRange(e,t,r,i,a),this.startSpan(Math.min(r,e.to),u)}while(e.nextSibling());e.parent()}}}function BN(n){let e=n.type.prop(iv);for(;e&&e.context&&!n.matchContext(e.context);)e=e.next;return e||null}const Oe=Cn.define,Oo=Oe(),pi=Oe(),gg=Oe(pi),Sg=Oe(pi),fi=Oe(),Eo=Oe(fi),Oc=Oe(fi),wn=Oe(),Di=Oe(wn),Nn=Oe(),Dn=Oe(),lh=Oe(),ja=Oe(lh),bo=Oe(),P={comment:Oo,lineComment:Oe(Oo),blockComment:Oe(Oo),docComment:Oe(Oo),name:pi,variableName:Oe(pi),typeName:gg,tagName:Oe(gg),propertyName:Sg,attributeName:Oe(Sg),className:Oe(pi),labelName:Oe(pi),namespace:Oe(pi),macroName:Oe(pi),literal:fi,string:Eo,docString:Oe(Eo),character:Oe(Eo),attributeValue:Oe(Eo),number:Oc,integer:Oe(Oc),float:Oe(Oc),bool:Oe(fi),regexp:Oe(fi),escape:Oe(fi),color:Oe(fi),url:Oe(fi),keyword:Nn,self:Oe(Nn),null:Oe(Nn),atom:Oe(Nn),unit:Oe(Nn),modifier:Oe(Nn),operatorKeyword:Oe(Nn),controlKeyword:Oe(Nn),definitionKeyword:Oe(Nn),moduleKeyword:Oe(Nn),operator:Dn,derefOperator:Oe(Dn),arithmeticOperator:Oe(Dn),logicOperator:Oe(Dn),bitwiseOperator:Oe(Dn),compareOperator:Oe(Dn),updateOperator:Oe(Dn),definitionOperator:Oe(Dn),typeOperator:Oe(Dn),controlOperator:Oe(Dn),punctuation:lh,separator:Oe(lh),bracket:ja,angleBracket:Oe(ja),squareBracket:Oe(ja),paren:Oe(ja),brace:Oe(ja),content:wn,heading:Di,heading1:Oe(Di),heading2:Oe(Di),heading3:Oe(Di),heading4:Oe(Di),heading5:Oe(Di),heading6:Oe(Di),contentSeparator:Oe(wn),list:Oe(wn),quote:Oe(wn),emphasis:Oe(wn),strong:Oe(wn),link:Oe(wn),monospace:Oe(wn),strikethrough:Oe(wn),inserted:Oe(),deleted:Oe(),changed:Oe(),invalid:Oe(),meta:bo,documentMeta:Oe(bo),annotation:Oe(bo),processingInstruction:Oe(bo),definition:Cn.defineModifier(),constant:Cn.defineModifier(),function:Cn.defineModifier(),standard:Cn.defineModifier(),local:Cn.defineModifier(),special:Cn.defineModifier()};av([{tag:P.link,class:"tok-link"},{tag:P.heading,class:"tok-heading"},{tag:P.emphasis,class:"tok-emphasis"},{tag:P.strong,class:"tok-strong"},{tag:P.keyword,class:"tok-keyword"},{tag:P.atom,class:"tok-atom"},{tag:P.bool,class:"tok-bool"},{tag:P.url,class:"tok-url"},{tag:P.labelName,class:"tok-labelName"},{tag:P.inserted,class:"tok-inserted"},{tag:P.deleted,class:"tok-deleted"},{tag:P.literal,class:"tok-literal"},{tag:P.string,class:"tok-string"},{tag:P.number,class:"tok-number"},{tag:[P.regexp,P.escape,P.special(P.string)],class:"tok-string2"},{tag:P.variableName,class:"tok-variableName"},{tag:P.local(P.variableName),class:"tok-variableName tok-local"},{tag:P.definition(P.variableName),class:"tok-variableName tok-definition"},{tag:P.special(P.variableName),class:"tok-variableName2"},{tag:P.definition(P.propertyName),class:"tok-propertyName tok-definition"},{tag:P.typeName,class:"tok-typeName"},{tag:P.namespace,class:"tok-namespace"},{tag:P.className,class:"tok-className"},{tag:P.macroName,class:"tok-macroName"},{tag:P.propertyName,class:"tok-propertyName"},{tag:P.operator,class:"tok-operator"},{tag:P.comment,class:"tok-comment"},{tag:P.meta,class:"tok-meta"},{tag:P.invalid,class:"tok-invalid"},{tag:P.punctuation,class:"tok-punctuation"}]);const UN=303,Og=1,FN=2,YN=304,GN=306,QN=307,$N=3,qN=4,VN=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],sv=125,HN=59,Eg=47,zN=42,WN=43,XN=45,ZN=new nv({start:!1,shift(n,e){return e==$N||e==qN||e==GN?n:e==QN},strict:!1}),KN=new Gn((n,e)=>{let{next:t}=n;(t==sv||t==-1||e.context)&&n.acceptToken(YN)},{contextual:!0,fallback:!0}),jN=new Gn((n,e)=>{let{next:t}=n,r;VN.indexOf(t)>-1||t==Eg&&((r=n.peek(1))==Eg||r==zN)||t!=sv&&t!=HN&&t!=-1&&!e.context&&n.acceptToken(UN)},{contextual:!0}),JN=new Gn((n,e)=>{let{next:t}=n;if((t==WN||t==XN)&&(n.advance(),t==n.next)){n.advance();let r=!e.context&&e.canShift(Og);n.acceptToken(r?Og:FN)}},{contextual:!0}),e2=Qa({"get set async static":P.modifier,"for while do if else switch try catch finally return throw break continue default case":P.controlKeyword,"in of await yield void typeof delete instanceof":P.operatorKeyword,"let var const function class extends":P.definitionKeyword,"import export from":P.moduleKeyword,"with debugger as new":P.keyword,TemplateString:P.special(P.string),super:P.atom,BooleanLiteral:P.bool,this:P.self,null:P.null,Star:P.modifier,VariableName:P.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":P.function(P.variableName),VariableDefinition:P.definition(P.variableName),Label:P.labelName,PropertyName:P.propertyName,PrivatePropertyName:P.special(P.propertyName),"CallExpression/MemberExpression/PropertyName":P.function(P.propertyName),"FunctionDeclaration/VariableDefinition":P.function(P.definition(P.variableName)),"ClassDeclaration/VariableDefinition":P.definition(P.className),PropertyDefinition:P.definition(P.propertyName),PrivatePropertyDefinition:P.definition(P.special(P.propertyName)),UpdateOp:P.updateOperator,LineComment:P.lineComment,BlockComment:P.blockComment,Number:P.number,String:P.string,Escape:P.escape,ArithOp:P.arithmeticOperator,LogicOp:P.logicOperator,BitOp:P.bitwiseOperator,CompareOp:P.compareOperator,RegExp:P.regexp,Equals:P.definitionOperator,Arrow:P.function(P.punctuation),": Spread":P.punctuation,"( )":P.paren,"[ ]":P.squareBracket,"{ }":P.brace,"InterpolationStart InterpolationEnd":P.special(P.brace),".":P.derefOperator,", ;":P.separator,"@":P.meta,TypeName:P.typeName,TypeDefinition:P.definition(P.typeName),"type enum interface implements namespace module declare":P.definitionKeyword,"abstract global Privacy readonly override":P.modifier,"is keyof unique infer":P.operatorKeyword,JSXAttributeValue:P.attributeValue,JSXText:P.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":P.angleBracket,"JSXIdentifier JSXNameSpacedName":P.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":P.attributeName,"JSXBuiltin/JSXIdentifier":P.standard(P.tagName)}),t2={__proto__:null,export:14,as:19,from:27,default:30,async:35,function:36,extends:46,this:50,true:58,false:58,null:70,void:74,typeof:78,super:96,new:130,delete:146,yield:155,await:159,class:164,public:221,private:221,protected:221,readonly:223,instanceof:242,satisfies:245,in:246,const:248,import:280,keyof:335,unique:339,infer:345,is:381,abstract:401,implements:403,type:405,let:408,var:410,using:413,interface:419,enum:423,namespace:429,module:431,declare:435,global:439,for:458,of:467,while:470,with:474,do:478,if:482,else:484,switch:488,case:494,try:500,catch:504,finally:508,return:512,throw:516,break:520,continue:524,debugger:528},r2={__proto__:null,async:117,get:119,set:121,declare:181,public:183,private:183,protected:183,static:185,abstract:187,override:189,readonly:195,accessor:197,new:385},n2={__proto__:null,"<":137},i2=wa.deserialize({version:14,states:"$6tO`QUOOO%TQUOOO'WQWOOP(eOSOOO*sQ(CjO'#CfO*zOpO'#CgO+YO!bO'#CgO+hO07`O'#DZO-yQUO'#DaO.ZQUO'#DlO%TQUO'#DvO0_QUO'#EOOOQ(CY'#EW'#EWO0xQSO'#ETOOQO'#Ei'#EiOOQO'#Ic'#IcO1QQSO'#GkO1]QSO'#EhO1bQSO'#EhO3dQ(CjO'#JdO6TQ(CjO'#JeO6qQSO'#FWO6vQ#tO'#FoOOQ(CY'#F`'#F`O7RO&jO'#F`O7aQ,UO'#FvO8wQSO'#FuOOQ(CY'#Je'#JeOOQ(CW'#Jd'#JdO8|QSO'#GoOOQQ'#KP'#KPO9XQSO'#IPO9^Q(C[O'#IQOOQQ'#JQ'#JQOOQQ'#IU'#IUQ`QUOOO%TQUO'#DnO9fQUO'#DzO9mQUO'#D|O9SQSO'#GkO9tQ,UO'#ClO:SQSO'#EgO:_QSO'#ErO:dQ,UO'#F_O;RQSO'#GkOOQO'#KQ'#KQO;WQSO'#KQO;fQSO'#GsO;fQSO'#GtO;fQSO'#GvO9SQSO'#GyO<]QSO'#G|O=tQSO'#CbO>UQSO'#HYO>^QSO'#H`O>^QSO'#HbO`QUO'#HdO>^QSO'#HfO>^QSO'#HiO>cQSO'#HoO>hQ(C]O'#HuO%TQUO'#HwO>sQ(C]O'#HyO?OQ(C]O'#H{O9^Q(C[O'#H}O?ZQ(CjO'#CfO@]QWO'#DfQOQSOOO%TQUO'#D|O@sQSO'#EPO9tQ,UO'#EgOAOQSO'#EgOAZQ`O'#F_OOQQ'#Cd'#CdOOQ(CW'#Dk'#DkOOQ(CW'#Jh'#JhO%TQUO'#JhOOQO'#Jl'#JlOOQO'#I`'#I`OBZQWO'#E`OOQ(CW'#E_'#E_OCVQ(C`O'#E`OCaQWO'#ESOOQO'#Jk'#JkOCuQWO'#JlOESQWO'#ESOCaQWO'#E`PEaO?MpO'#C`POOO)CDo)CDoOOOO'#IV'#IVOElOpO,59ROOQ(CY,59R,59ROOOO'#IW'#IWOEzO!bO,59RO%TQUO'#D]OOOO'#IY'#IYOFYO07`O,59uOOQ(CY,59u,59uOFhQUO'#IZOF{QSO'#JfOH}QbO'#JfO+vQUO'#JfOIUQSO,59{OIlQSO'#EiOIyQSO'#JtOJUQSO'#JsOJUQSO'#JsOJ^QSO,5;VOJcQSO'#JrOOQ(CY,5:W,5:WOJjQUO,5:WOLkQ(CjO,5:bOM[QSO,5:jOMuQ(C[O'#JqOM|QSO'#JpO8|QSO'#JpONbQSO'#JpONjQSO,5;UONoQSO'#JpO!!wQbO'#JeOOQ(CY'#Cf'#CfO%TQUO'#EOO!#gQ`O,5:oOOQO'#Jm'#JmOOQO-EkOOQQ'#JY'#JYOOQQ,5>l,5>lOOQQ-EqQ(CjO,5:hOOQO,5@l,5@lO!?bQ,UO,5=VO!?pQ(C[O'#JZO8wQSO'#JZO!@RQ(C[O,59WO!@^QWO,59WO!@fQ,UO,59WO9tQ,UO,59WO!@qQSO,5;SO!@yQSO'#HXO!A[QSO'#KUO%TQUO,5;wO!7[QWO,5;yO!AdQSO,5=rO!AiQSO,5=rO!AnQSO,5=rO9^Q(C[O,5=rO;fQSO,5=bOOQO'#Cr'#CrO!A|QWO,5=_O!BUQ,UO,5=`O!BaQSO,5=bO!BfQ`O,5=eO!BnQSO'#KQO>cQSO'#HOO9SQSO'#HQO!BsQSO'#HQO9tQ,UO'#HSO!BxQSO'#HSOOQQ,5=h,5=hO!B}QSO'#HTO!CVQSO'#ClO!C[QSO,58|O!CfQSO,58|O!EkQUO,58|OOQQ,58|,58|O!E{Q(C[O,58|O%TQUO,58|O!HWQUO'#H[OOQQ'#H]'#H]OOQQ'#H^'#H^O`QUO,5=tO!HnQSO,5=tO`QUO,5=zO`QUO,5=|O!HsQSO,5>OO`QUO,5>QO!HxQSO,5>TO!H}QUO,5>ZOOQQ,5>a,5>aO%TQUO,5>aO9^Q(C[O,5>cOOQQ,5>e,5>eO!MXQSO,5>eOOQQ,5>g,5>gO!MXQSO,5>gOOQQ,5>i,5>iO!M^QWO'#DXO%TQUO'#JhO!M{QWO'#JhO!NjQWO'#DgO!N{QWO'#DgO##^QUO'#DgO##eQSO'#JgO##mQSO,5:QO##rQSO'#EmO#$QQSO'#JuO#$YQSO,5;WO#$_QWO'#DgO#$lQWO'#EROOQ(CY,5:k,5:kO%TQUO,5:kO#$sQSO,5:kO>cQSO,5;RO!@^QWO,5;RO!@fQ,UO,5;RO9tQ,UO,5;RO#${QSO,5@SO#%QQ!LQO,5:oOOQO-E<^-E<^O#&WQ(C`O,5:zOCaQWO,5:nO#&bQWO,5:nOCaQWO,5:zO!@RQ(C[O,5:nOOQ(CW'#Ec'#EcOOQO,5:z,5:zO%TQUO,5:zO#&oQ(C[O,5:zO#&zQ(C[O,5:zO!@^QWO,5:nOOQO,5;Q,5;QO#'YQ(C[O,5:zPOOO'#IT'#ITP#'nO?MpO,58zPOOO,58z,58zOOOO-EuO+vQUO,5>uOOQO,5>{,5>{O#(YQUO'#IZOOQO-E^QSO1G3jO$.OQUO1G3lO$2SQUO'#HkOOQQ1G3o1G3oO$2aQSO'#HqO>cQSO'#HsOOQQ1G3u1G3uO$2iQUO1G3uO9^Q(C[O1G3{OOQQ1G3}1G3}OOQ(CW'#GW'#GWO9^Q(C[O1G4PO9^Q(C[O1G4RO$6pQSO,5@SO!){QUO,5;XO8|QSO,5;XO>cQSO,5:RO!){QUO,5:RO!@^QWO,5:RO$6uQ$IUO,5:ROOQO,5;X,5;XO$7PQWO'#I[O$7gQSO,5@ROOQ(CY1G/l1G/lO$7oQWO'#IbO$7yQSO,5@aOOQ(CW1G0r1G0rO!N{QWO,5:ROOQO'#I_'#I_O$8RQWO,5:mOOQ(CY,5:m,5:mO#$vQSO1G0VOOQ(CY1G0V1G0VO%TQUO1G0VOOQ(CY1G0m1G0mO>cQSO1G0mO!@^QWO1G0mO!@fQ,UO1G0mOOQ(CW1G5n1G5nO!@RQ(C[O1G0YOOQO1G0f1G0fO%TQUO1G0fO$8YQ(C[O1G0fO$8eQ(C[O1G0fO!@^QWO1G0YOCaQWO1G0YO$8sQ(C[O1G0fOOQO1G0Y1G0YO$9XQ(CjO1G0fPOOO-EuO$9uQSO1G5lO$9}QSO1G5yO$:VQbO1G5zO8|QSO,5>{O$:aQ(CjO1G5wO%TQUO1G5wO$:qQ(C[O1G5wO$;SQSO1G5vO$;SQSO1G5vO8|QSO1G5vO$;[QSO,5?OO8|QSO,5?OOOQO,5?O,5?OO$;pQSO,5?OO$$QQSO,5?OOOQO-EqQ(CjO,5VOOQQ,5>V,5>VO%TQUO'#HlO%(SQSO'#HnOOQQ,5>],5>]O8|QSO,5>]OOQQ,5>_,5>_OOQQ7+)a7+)aOOQQ7+)g7+)gOOQQ7+)k7+)kOOQQ7+)m7+)mO%(XQWO1G5nO%(mQ$IUO1G0sO%(wQSO1G0sOOQO1G/m1G/mO%)SQ$IUO1G/mO>cQSO1G/mO!){QUO'#DgOOQO,5>v,5>vOOQO-E|,5>|OOQO-E<`-E<`O!@^QWO1G/mOOQO-E<]-E<]OOQ(CY1G0X1G0XOOQ(CY7+%q7+%qO#$vQSO7+%qOOQ(CY7+&X7+&XO>cQSO7+&XO!@^QWO7+&XOOQO7+%t7+%tO$9XQ(CjO7+&QOOQO7+&Q7+&QO%TQUO7+&QO%)^Q(C[O7+&QO!@RQ(C[O7+%tO!@^QWO7+%tO%)iQ(C[O7+&QO%)wQ(CjO7++cO%TQUO7++cO%*XQSO7++bO%*XQSO7++bOOQO1G4j1G4jO8|QSO1G4jO%*aQSO1G4jOOQO7+%y7+%yO#$vQSO<wOOQO-ExO%TQUO,5>xOOQO-E<[-E<[O%2aQSO1G5pOOQ(CY<QQ$IUO1G0xO%>XQ$IUO1G0xO%@PQ$IUO1G0xO%@dQ(CjO<WOOQQ,5>Y,5>YO%M}QSO1G3wO8|QSO7+&_O!){QUO7+&_OOQO7+%X7+%XO%NSQ$IUO1G5zO>cQSO7+%XOOQ(CY<cQSO<cQSO7+)cO&5kQSO<zAN>zO%TQUOAN?WOOQO<TQSOANAxOOQQANAzANAzO9^Q(C[OANAzO#MsQSOANAzOOQO'#HV'#HVOOQO7+*d7+*dOOQQG22tG22tOOQQANEOANEOOOQQANEPANEPOOQQANBSANBSO&>]QSOANBSOOQQ<bQSOLD,iO&>jQ$IUO7+'sO&@`Q$IUO7+'uO&BUQ,UOG26{OOQO<ROPYXXYXkYXyYXzYX|YX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(SYX(cYX(jYX(kYX!VYX!WYX~O#yYX~P#@lOP$[OX:XOk9{Oy#xOz#yO|#zO!e9}O!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO#k9|O#l9}O#m9}O#n:WO#o9}O#q:OO#s:QO#u:SO#v:TO(SVO(c$YO(j#{O(k#|O~O#y.hO~P#ByO#X:YO#{:YO#y(XX!W(XX~PN}O^'Za!V'Za'l'Za'j'Za!g'Za!S'Zao'Za!X'Za%a'Za!a'Za~P!7sOP#fiX#fi^#fik#fiz#fi!V#fi!e#fi!f#fi!h#fi!l#fi#g#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'l#fi(S#fi(c#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~P#,`O^#zi!V#zi'l#zi'j#zi!S#zi!g#zio#zi!X#zi%a#zi!a#zi~P!7sO$W.mO$Y.mO~O$W.nO$Y.nO~O!a)^O#X.oO!X$^X$T$^X$W$^X$Y$^X$a$^X~O!U.pO~O!X)aO$T.rO$W)`O$Y)`O$a.sO~O!V:UO!W(WX~P#ByO!W.tO~O!a)^O$a(lX~O$a.vO~Oq)pO(T)qO(U.yO~O!S.}O~P!&VO!VcX!acX!gcX!g$sX(ccX~P!/ZO!g/TO~P#,`O!V/UO!a#tO(c'fO!g(pX~O!g/ZO~O!U*RO'u%_O!g(pP~O#d/]O~O!S$sX!V$sX!a$zX~P!/ZO!V/^O!S(qX~P#,`O!a/`O~O!S/bO~Ok/fO!a#tO!h%]O(O%QO(c'fO~O'u/hO~O!a+XO~O^%fO!V/lO'l%fO~O!W/nO~P!3XO!]/oO!^/oO'v!kO(V!lO~O|/qO(V!lO~O#T/rO~O'u&POd'`X!V'`X~O!V*kOd(Pa~Od/wO~Oy/xOz/xO|/yOgva(jva(kva!Vva#Xva~Odva#yva~P$ aOy)uO|)vOg$la(j$la(k$la!V$la#X$la~Od$la#y$la~P$!VOy)uO|)vOg$na(j$na(k$na!V$na#X$na~Od$na#y$na~P$!xO#d/{O~Od$|a!V$|a#X$|a#y$|a~P!0dO!a#tO~O#d0OO~O!V*|O^(ua'l(ua~Oy#xOz#yO|#zO!f#vO!h#wO(SVOP!niX!nik!ni!V!ni!e!ni!l!ni#g!ni#h!ni#i!ni#j!ni#k!ni#l!ni#m!ni#n!ni#o!ni#q!ni#s!ni#u!ni#v!ni(c!ni(j!ni(k!ni~O^!ni'l!ni'j!ni!S!ni!g!nio!ni!X!ni%a!ni!a!ni~P$$gOg.TO!X'UO%a.SO~Oi0YO'u0XO~P!1UO!a+XO^'}a!X'}a'l'}a!V'}a~O#d0`O~OXYX!VcX!WcX~O!V0aO!W(yX~O!W0cO~OX0dO~O'u+aO'wTO'zUO~O!X%vO'u%_O]'hX!V'hX~O!V+fO](xa~O!g0iO~P!7sOX0lO~O]0mO~O#X0pO~Og0sO!X${O~O(V(sO!W(vP~Og0|O!X0yO%a0{O(O%QO~OX1WO!V1UO!W(wX~O!W1XO~O]1ZO^%fO'l%fO~O'u#lO'wTO'zUO~O#X$dO#{$dOP(XXX(XXk(XXy(XXz(XX|(XX!V(XX!e(XX!h(XX!l(XX#g(XX#h(XX#i(XX#j(XX#k(XX#l(XX#m(XX#n(XX#q(XX#s(XX#u(XX#v(XX(S(XX(c(XX(j(XX(k(XX~O#o1^O&R1_O^(XX!f(XX~P$+]O#X$dO#o1^O&R1_O~O^1aO~P%TO^1cO~O&[1fOP&YiQ&YiV&Yi^&Yia&Yib&Yii&Yik&Yil&Yim&Yis&Yiu&Yiw&Yi|&Yi!Q&Yi!R&Yi!X&Yi!c&Yi!h&Yi!k&Yi!l&Yi!m&Yi!o&Yi!q&Yi!t&Yi!x&Yi#p&Yi$Q&Yi$U&Yi%`&Yi%b&Yi%d&Yi%e&Yi%f&Yi%i&Yi%k&Yi%n&Yi%o&Yi%q&Yi%}&Yi&T&Yi&V&Yi&X&Yi&Z&Yi&^&Yi&d&Yi&j&Yi&l&Yi&n&Yi&p&Yi&r&Yi'j&Yi'u&Yi'w&Yi'z&Yi(S&Yi(b&Yi(o&Yi!W&Yi_&Yi&a&Yi~O_1lO!W1jO&a1kO~P`O!XXO!h1nO~O&h,iOP&ciQ&ciV&ci^&cia&cib&cii&cik&cil&cim&cis&ciu&ciw&ci|&ci!Q&ci!R&ci!X&ci!c&ci!h&ci!k&ci!l&ci!m&ci!o&ci!q&ci!t&ci!x&ci#p&ci$Q&ci$U&ci%`&ci%b&ci%d&ci%e&ci%f&ci%i&ci%k&ci%n&ci%o&ci%q&ci%}&ci&T&ci&V&ci&X&ci&Z&ci&^&ci&d&ci&j&ci&l&ci&n&ci&p&ci&r&ci'j&ci'u&ci'w&ci'z&ci(S&ci(b&ci(o&ci!W&ci&[&ci_&ci&a&ci~O!S1tO~O!V!Za!W!Za~P#ByOl!mO|!nO!U1zO(V!lO!V'OX!W'OX~P?wO!V,yO!W(Za~O!V'UX!W'UX~P!6{O!V,|O!W(ia~O!W2RO~P'WO^%fO#X2[O'l%fO~O^%fO!a#tO#X2[O'l%fO~O^%fO!a#tO!l2`O#X2[O'l%fO(c'fO~O^%fO'l%fO~P!7sO!V$`Oo$ka~O!S&}i!V&}i~P!7sO!V'zO!S(Yi~O!V(RO!S(gi~O!S(hi!V(hi~P!7sO!V(ei!g(ei^(ei'l(ei~P!7sO#X2bO!V(ei!g(ei^(ei'l(ei~O!V(_O!g(di~O|%`O!X%aO!x]O#b2gO#c2fO'u%_O~O|%`O!X%aO#c2fO'u%_O~Og2nO!X'UO%a2mO~Og2nO!X'UO%a2mO(O%QO~O#dvaPvaXva^vakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva'lva(Sva(cva!gva!Sva'jvaova!Xva%ava!ava~P$ aO#d$laP$laX$la^$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la'l$la(S$la(c$la!g$la!S$la'j$lao$la!X$la%a$la!a$la~P$!VO#d$naP$naX$na^$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na'l$na(S$na(c$na!g$na!S$na'j$nao$na!X$na%a$na!a$na~P$!xO#d$|aP$|aX$|a^$|ak$|az$|a!V$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a'l$|a(S$|a(c$|a!g$|a!S$|a'j$|a#X$|ao$|a!X$|a%a$|a!a$|a~P#,`O^#[q!V#[q'l#[q'j#[q!S#[q!g#[qo#[q!X#[q%a#[q!a#[q~P!7sOd'PX!V'PX~P!'oO!V.^Od(]a~O!U2vO!V'QX!g'QX~P%TO!V.aO!g(^a~O!V.aO!g(^a~P!7sO!S2yO~O#y!ja!W!ja~PJqO#y!ba!V!ba!W!ba~P#ByO#y!na!W!na~P!:^O#y!pa!W!pa~P!`O^#wy!V#wy'l#wy'j#wy!S#wy!g#wyo#wy!X#wy%a#wy!a#wy~P!7sOg;lOy)uO|)vO(j)xO(k)zO~OP#fiX#fik#fiz#fi!e#fi!f#fi!h#fi!l#fi#g#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(S#fi(c#fi!V#fi!W#fi~P%AWO!f#vOP(RXX(RXg(RXk(RXy(RXz(RX|(RX!e(RX!h(RX!l(RX#g(RX#h(RX#i(RX#j(RX#k(RX#l(RX#m(RX#n(RX#o(RX#q(RX#s(RX#u(RX#v(RX#y(RX(S(RX(c(RX(j(RX(k(RX!V(RX!W(RX~O#y#zi!V#zi!W#zi~P#ByO#y!ni!W!ni~P$$gO!W6_O~O!V'Za!W'Za~P#ByO!a#tO(c'fO!V'[a!g'[a~O!V/UO!g(pi~O!V/UO!a#tO!g(pi~Od$uq!V$uq#X$uq#y$uq~P!0dO!S'^a!V'^a~P#,`O!a6fO~O!V/^O!S(qi~P#,`O!V/^O!S(qi~O!S6jO~O!a#tO#o6oO~Ok6pO!a#tO(c'fO~O!S6rO~Od$wq!V$wq#X$wq#y$wq~P!0dO^$iy!V$iy'l$iy'j$iy!S$iy!g$iyo$iy!X$iy%a$iy!a$iy~P!7sO!a5jO~O!V4VO!X(ra~O^#[y!V#[y'l#[y'j#[y!S#[y!g#[yo#[y!X#[y%a#[y!a#[y~P!7sOX6wO~O!V0aO!W(yi~O]6}O~O(V(sO!V'cX!W'cX~O!V4mO!W(va~OikO'u7UO~P.bO!W7XO~P%$gOl!mO|7YO'wTO'zUO(V!lO(b!rO~O!X0yO~O!X0yO%a7[O~Og7_O!X0yO%a7[O~OX7dO!V'fa!W'fa~O!V1UO!W(wi~O!g7hO~O!g7iO~O!g7lO~O!g7lO~P%TO^7nO~O!a7oO~O!g7pO~O!V(hi!W(hi~P#ByO^%fO#X7xO'l%fO~O!V(ey!g(ey^(ey'l(ey~P!7sO!V(_O!g(dy~O!X'UO%a7{O~O#d$uqP$uqX$uq^$uqk$uqz$uq!V$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq'l$uq(S$uq(c$uq!g$uq!S$uq'j$uq#X$uqo$uq!X$uq%a$uq!a$uq~P#,`O#d$wqP$wqX$wq^$wqk$wqz$wq!V$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq'l$wq(S$wq(c$wq!g$wq!S$wq'j$wq#X$wqo$wq!X$wq%a$wq!a$wq~P#,`O!V'Qi!g'Qi~P!7sO#y#[q!V#[q!W#[q~P#ByOy/xOz/xO|/yOPvaXvagvakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva#yva(Sva(cva(jva(kva!Vva!Wva~Oy)uO|)vOP$laX$lag$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la#y$la(S$la(c$la(j$la(k$la!V$la!W$la~Oy)uO|)vOP$naX$nag$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na#y$na(S$na(c$na(j$na(k$na!V$na!W$na~OP$|aX$|ak$|az$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a#y$|a(S$|a(c$|a!V$|a!W$|a~P%AWO#y$hq!V$hq!W$hq~P#ByO#y$iq!V$iq!W$iq~P#ByO!W8VO~O#y8WO~P!0dO!a#tO!V'[i!g'[i~O!a#tO(c'fO!V'[i!g'[i~O!V/UO!g(pq~O!S'^i!V'^i~P#,`O!V/^O!S(qq~O!S8^O~P#,`O!S8^O~Od(Qy!V(Qy~P!0dO!V'aa!X'aa~P#,`O^%Tq!X%Tq'l%Tq!V%Tq~P#,`OX8cO~O!V0aO!W(yq~O#X8gO!V'ca!W'ca~O!V4mO!W(vi~P#ByOPYXXYXkYXyYXzYX|YX!SYX!VYX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(SYX(cYX(jYX(kYX~O!a%RX#o%RX~P&2WO!X0yO%a8kO~O'wTO'zUO(V8pO~O!V1UO!W(wq~O!g8sO~O!g8tO~O!g8uO~O!g8uO~P%TO#X8xO!V#ay!W#ay~O!V#ay!W#ay~P#ByO!X'UO%a8}O~O#y#wy!V#wy!W#wy~P#ByOP$uiX$uik$uiz$ui!e$ui!f$ui!h$ui!l$ui#g$ui#h$ui#i$ui#j$ui#k$ui#l$ui#m$ui#n$ui#o$ui#q$ui#s$ui#u$ui#v$ui#y$ui(S$ui(c$ui!V$ui!W$ui~P%AWOy)uO|)vO(k)zOP%XiX%Xig%Xik%Xiz%Xi!e%Xi!f%Xi!h%Xi!l%Xi#g%Xi#h%Xi#i%Xi#j%Xi#k%Xi#l%Xi#m%Xi#n%Xi#o%Xi#q%Xi#s%Xi#u%Xi#v%Xi#y%Xi(S%Xi(c%Xi(j%Xi!V%Xi!W%Xi~Oy)uO|)vOP%ZiX%Zig%Zik%Ziz%Zi!e%Zi!f%Zi!h%Zi!l%Zi#g%Zi#h%Zi#i%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#q%Zi#s%Zi#u%Zi#v%Zi#y%Zi(S%Zi(c%Zi(j%Zi(k%Zi!V%Zi!W%Zi~O#y$iy!V$iy!W$iy~P#ByO#y#[y!V#[y!W#[y~P#ByO!a#tO!V'[q!g'[q~O!V/UO!g(py~O!S'^q!V'^q~P#,`O!S9UO~P#,`O!V0aO!W(yy~O!V4mO!W(vq~O!X0yO%a9]O~O!g9`O~O!X'UO%a9eO~OP$uqX$uqk$uqz$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq#y$uq(S$uq(c$uq!V$uq!W$uq~P%AWOP$wqX$wqk$wqz$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq#y$wq(S$wq(c$wq!V$wq!W$wq~P%AWOd%]!Z!V%]!Z#X%]!Z#y%]!Z~P!0dO!V'cq!W'cq~P#ByO!V#a!Z!W#a!Z~P#ByO#d%]!ZP%]!ZX%]!Z^%]!Zk%]!Zz%]!Z!V%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z'l%]!Z(S%]!Z(c%]!Z!g%]!Z!S%]!Z'j%]!Z#X%]!Zo%]!Z!X%]!Z%a%]!Z!a%]!Z~P#,`OP%]!ZX%]!Zk%]!Zz%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z#y%]!Z(S%]!Z(c%]!Z!V%]!Z!W%]!Z~P%AWOo(WX~P1jO'v!kO~P!){O!ScX!VcX#XcX~P&2WOPYXXYXkYXyYXzYX|YX!VYX!VcX!eYX!fYX!hYX!lYX#XYX#XcX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(SYX(cYX(jYX(kYX~O!acX!gYX!gcX(ccX~P&GnOP9pOQ9pOa;aOb!hOikOk9pOlkOmkOskOu9pOw9pO|WO!QkO!RkO!XXO!c9sO!hZO!k9pO!l9pO!m9pO!o9tO!q9wO!t!gO$Q!jO$UfO'u)TO'wTO'zUO(SVO(b[O(o;_O~O!V:UO!W$ka~Oi%ROk$sOl$rOm$rOs%SOu%TOw:[O|$zO!X${O!c;fO!h$wO#c:bO$Q%XO$m:^O$o:`O$r%YO'u(kO'wTO'zUO(O%QO(S$tO~O#p)[O~P&LdO!WYX!WcX~P&GnO#d9xO~O!a#tO#d9xO~O#X:YO~O#o9}O~O#X:dO!V(hX!W(hX~O#X:YO!V(fX!W(fX~O#d:eO~Od:gO~P!0dO#d:lO~O#d:mO~O!a#tO#d:nO~O!a#tO#d:eO~O#y:oO~P#ByO#d:pO~O#d:qO~O#d:rO~O#d:sO~O#d:tO~O#d:uO~O#y:vO~P!0dO#y:wO~P!0dO$U~!f!|!}#P#Q#T#b#c#n(o$m$o$r%U%`%a%b%i%k%n%o%q%s~'pR$U(o#h!R'n'v#il#g#jky'o(V'o'u$W$Y$W~",goto:"$&a(}PPPP)OP)RP)cP*r.uPPPP5UPP5kP;f>mP?QP?QPPP?QP@rP?QP?QP?QP@vPP@{PAfPF]PPPFaPPPPFaIaPPPIgJbPFaPLoPPPPN}FaPPPFaPFaP!#]FaP!&p!'r!'{P!(n!(r!(nPPPPP!+|!'rPP!,j!-dP!0WFaFa!0]!3f!7z!7z!;oPPP!;vFaPPPPPPPPPPP!?SP!@ePPFa!ArPFaPFaFaFaFaPFa!CUPP!F]P!I`P!Id!In!Ir!IrP!FYP!Iv!IvP!LyP!L}FaFa!MT#!V?QP?QP?Q?QP##a?Q?Q#%]?Q#'l?Q#)b?Q?Q#*O#+|#+|#,Q#,Y#+|#,bP#+|P?Q#,z?Q#.T?Q?Q5UPPP#/aPPP#/y#/yP#/yP#0`#/yPP#0fP#0]P#0]#0x#0]#1d#1j5R)R#1m)RP#1t#1t#1tP)RP)RP)RP)RPP)RP#1z#1}P#1})RP#2RP#2UP)RP)RP)RP)RP)RP)R)RPP#2[#2b#2l#2r#2x#3O#3U#3d#3j#3p#3z#4Q#4[#4k#4q#5b#5t#5z#6Q#6`#6u#8W#8f#8l#8r#8x#9O#9Y#9`#9f#9p#:S#:YPPPPPPPPPP#:`PPPPPPP#;S#>ZP#?j#?q#?yPPPP#DX#F}#Me#Mh#Mk#Nd#Ng#Nj#Nq#NyPP$ P$ T$ {$!z$#O$#dPP$#h$#n$#rP$#u$#y$#|$$r$%Y$%p$%t$%w$%z$&Q$&T$&X$&]R!zRmqOXs!Y#b%e&h&j&k&m,a,f1f1iY!tQ'U-R0y4tQ%kuQ%sxQ%z{Q&`!US&|!d,yQ'[!hS'b!q!wS*^${*cQ+_%tQ+l%|Q,Q&YQ-P'TQ-Z']Q-c'cQ/o*eQ1T,RR:c9t$|dOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{,^,a,f-V-_-m-s.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2v4q4{5]5^5a5t7Y7_7n7xS#o]9q!r)V$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ*n%UQ+d%vQ,S&]Q,Z&eQ.W:ZQ0V+VQ0Z+XQ0f+eQ1],XQ2j.TQ4_0aQ5S1UQ6Q2nQ6W:[Q6y4`R8O6R&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bt!mQ!q!t!w!x&|'T'U'b'c'd,y-P-R-c0y4t4v$^$ri#t#v$b$c$w$z%V%W%[)p)v)y){)|*T*Z*i*j+U+X+p+s.S.^/O/]/^/`/{0p0s0{2m3e3o3w3}4V4X4z6O6f6o7[7{8W8k8}9]9e:W:X:]:^:_:`:a:b:h:i:j:k:l:m:p:q:r:s:v:w;_;g;h;k;lQ%}{Q&z!dS'Q%a,|Q+d%vQ/z*rQ0f+eQ0k+kQ1[,WQ1],XQ4_0aQ4h0mQ5V1WQ5W1ZQ6y4`Q6|4eQ7g5YQ8f6}R8q7dpnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iR,U&a&t^OPXYstuvy!Y!_!f!i!n#Q#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y'W'h'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;a;b[#ZWZ#U#X&}'x!S%bm#f#g#j%]%`(R(](^(_*y*z*|,],s-q-w-x-y-{1n2f2g5j5{Q%nwQ%rxS%w{%|Q&T!SQ'X!gQ'Z!hQ(f#qS*Q$w*US+^%s%tQ+b%vQ+{&WQ,P&YS-Y'[']Q.V(gQ/Y*RQ0_+_Q0e+eQ0g+fQ0j+jQ1O+|S1S,Q,RQ2W-ZQ3f/UQ4^0aQ4b0dQ4g0lQ5R1TQ6c3gQ6x4`Q6{4dQ8b6wR9W8cv$yi#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;h!S%px!h!s%r%s%t&{'Z'[']'a'k*]+^+_,v-Y-Z-b/g0_2P2W2_3yQ+W%nQ+q&QQ+t&RQ,O&YQ.U(fQ0}+{U1R,P,Q,RQ2o.VQ4|1OS5Q1S1TQ7c5R#O;c#t$b$c$w$z)p)v)|*Z+U+X+p+s.S/O/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lg;d:W:X:^:`:b:i:k:m:q:s:wW%Oi%Q*k;_S&Q!P&_Q&R!QQ&S!RR+o&O$_$}i#t#v$b$c$w$z%V%W%[)p)v)y){)|*T*Z*i*j+U+X+p+s.S.^/O/]/^/`/{0p0s0{2m3e3o3w3}4V4X4z6O6f6o7[7{8W8k8}9]9e:W:X:]:^:_:`:a:b:h:i:j:k:l:m:p:q:r:s:v:w;_;g;h;k;lT)q$t)rV*o%U:Z:[U'Q!d%a,|S(t#x#yQ+i%yS.O(b(cQ0t+uQ4O/xR7R4m&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;b$i$_c#W#c%i%j%l'w'}(i(p(x(y(z({(|(})O)P)Q)R)S)U)X)])g+S+h,w-f-k-p-r.].c.g.i.j.k.z/|1u1x2Y2a2u2z2{2|2}3O3P3Q3R3S3T3U3V3W3Z3[3a4S4[5m5s5x6U6V6[6]7T7r7v8P8T8U8z9Y9a9r;UT#RV#S&{kOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ'O!dR1{,yv!mQ!d!q!t!w!x&|'T'U'b'c'd,y-P-R-c0y4t4vS*]${*cS/g*^*eQ/p*fQ0v+wQ3y/oR3|/rlqOXs!Y#b%e&h&j&k&m,a,f1f1iQ&o!]Q'l!vS(h#s9xQ+[%qQ+y&TQ+z&VQ-W'YQ-e'eS.[(m:eS/}*w:nQ0]+]Q0x+xQ1m,hQ1o,iQ1w,tQ2U-XQ2X-]S4T0O:tQ4Y0^S4]0`:uQ5l1yQ5p2VQ5u2^Q6v4ZQ7s5nQ7t5qQ7w5vR8w7p$d$^c#W#c%j%l'w'}(i(p(x(y(z({(|(})O)P)Q)R)S)U)X)])g+S+h,w-f-k-p-r.].c.g.j.k.z/|1u1x2Y2a2u2z2{2|2}3O3P3Q3R3S3T3U3V3W3Z3[3a4S4[5m5s5x6U6V6[6]7T7r7v8P8T8U8z9Y9a9r;US(e#n'_U*h$|(l3YS+R%i.iQ2k0VQ5}2jQ7}6QR9O8O$d$]c#W#c%j%l'w'}(i(p(x(y(z({(|(})O)P)Q)R)S)U)X)])g+S+h,w-f-k-p-r.].c.g.j.k.z/|1u1x2Y2a2u2z2{2|2}3O3P3Q3R3S3T3U3V3W3Z3[3a4S4[5m5s5x6U6V6[6]7T7r7v8P8T8U8z9Y9a9r;US(d#n'_S(v#y$^S+Q%i.iS.P(c(eQ.l)WQ0S+RR2h.Q&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bS#o]9qQ&j!WQ&k!XQ&m!ZQ&n![R1e,dQ'V!gQ+T%nQ-U'XS.R(f+WQ2S-TW2l.U.V0U0WQ5o2TU5|2i2k2oS7z5}6PS8|7|7}S9c8{9OQ9k9dR9n9lU!uQ'U-RT4r0y4t!O_OXZ`s!U!Y#b#f%]%e&_&a&h&j&k&m(_,a,f-x1f1i]!oQ!q'U-R0y4tT#o]9q%WzOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xS(t#x#yS.O(b(c!s:{$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bY!sQ'U-R0y4tQ'a!qS'k!t!wS'm!x4vS-b'b'cQ-d'dR2_-cQ'j!sS(Z#e1`S-a'a'mQ/X*QQ/e*]Q2`-dQ3k/YS3t/f/pQ6b3fS6m3z3|Q8Y6cR8a6pQ#ubQ'i!sS(Y#e1`S([#k*vQ*x%^Q+Y%oQ+`%uU-`'a'j'mQ-t(ZQ/W*QQ/d*]Q/j*`Q0[+ZQ1P+}S2]-a-dQ2e-|S3j/X/YS3s/e/pQ3v/iQ3x/kQ5O1QQ5w2`Q6a3fQ6e3kS6i3t3|Q6n3{Q7a5PS8X6b6cQ8]6jQ8_6mQ8n7bQ9S8YQ9T8^Q9V8aQ9_8oQ9g9UQ;O:yQ;Z;SR;[;TV!uQ'U-R%WaOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xS#uy!i!r:x$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bR;O;a%WbOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xQ%^j!S%ox!h!s%r%s%t&{'Z'[']'a'k*]+^+_,v-Y-Z-b/g0_2P2W2_3yS%uy!iQ+Z%pQ+}&YW1Q,O,P,Q,RU5P1R1S1TS7b5Q5RQ8o7c!r:y$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ;S;`R;T;a$zeOPXYstuv!Y!_!f!n#Q#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&h&j&k&m&q&y'W'h'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xY#`WZ#U#X'x!S%bm#f#g#j%]%`(R(](^(_*y*z*|,],s-q-w-x-y-{1n2f2g5j5{Q,[&e!p:z$Z$l)i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bR:}&}S'R!d%aR1},|$|dOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{,^,a,f-V-_-m-s.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2v4q4{5]5^5a5t7Y7_7n7x!r)V$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ,Z&eQ0V+VQ2j.TQ6Q2nR8O6R!f$Tc#W%i'w'}(i(p)P)Q)R)S)X)]+h-f-k-p-r.].c.z/|2Y2a2u3W4S4[5s5x6U7v8z9r!T:P)U)g,w.i1u1x2z3S3T3U3V3Z3a5m6V6[6]7T7r8P8T8U9Y9a;U!b$Vc#W%i'w'}(i(p)R)S)X)]+h-f-k-p-r.].c.z/|2Y2a2u3W4S4[5s5x6U7v8z9r!P:R)U)g,w.i1u1x2z3U3V3Z3a5m6V6[6]7T7r8P8T8U9Y9a;U!^$Zc#W%i'w'}(i(p)X)]+h-f-k-p-r.].c.z/|2Y2a2u3W4S4[5s5x6U7v8z9rQ3e/Sz;b)U)g,w.i1u1x2z3Z3a5m6V6[6]7T7r8P8T8U9Y9a;UQ;g;iR;h;j&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bS$mh$nR3^.o'RgOPWXYZhstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l$n%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.o.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bT$if$oQ$gfS)`$j)dR)l$oT$hf$oT)b$j)d'RhOPWXYZhstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l$n%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.o.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bT$mh$nQ$phR)k$n%WjOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7x!s;`$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;b#alOPXZs!Y!_!n#Q#b#m#z$l%e&a&d&e&h&j&k&m&q&y'W(u)i*{+V,^,a,f-V.T.p/y0|1^1_1a1c1f1i1k2n3]4q4{5]5^5a6R7Y7_7nv$|i#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;h#O(l#t$b$c$w$z)p)v)|*Z+U+X+p+s.S/O/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lQ*s%YQ.{)ug3Y:W:X:^:`:b:i:k:m:q:s:wv$xi#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;hQ*V$yS*`${*cQ*t%ZQ/k*a#O;Q#t$b$c$w$z)p)v)|*Z+U+X+p+s.S/O/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lf;R:W:X:^:`:b:i:k:m:q:s:wQ;V;cQ;W;dQ;X;eR;Y;fv$|i#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;h#O(l#t$b$c$w$z)p)v)|*Z+U+X+p+s.S/O/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lg3Y:W:X:^:`:b:i:k:m:q:s:wloOXs!Y#b%e&h&j&k&m,a,f1f1iQ*Y$zQ,o&tQ,p&vR3n/^$^$}i#t#v$b$c$w$z%V%W%[)p)v)y){)|*T*Z*i*j+U+X+p+s.S.^/O/]/^/`/{0p0s0{2m3e3o3w3}4V4X4z6O6f6o7[7{8W8k8}9]9e:W:X:]:^:_:`:a:b:h:i:j:k:l:m:p:q:r:s:v:w;_;g;h;k;lQ+r&RQ0r+tQ4k0qR7Q4lT*b${*cS*b${*cT4s0y4tS/i*_4qT3{/q7YQ+Y%oQ/j*`Q0[+ZQ1P+}Q5O1QQ7a5PQ8n7bR9_8on)y$u(n*u/[/s/t2s3l4R6`6q9R;P;];^!Y:h(j)Z*P*X.Z.w.|/S/a0T0o0q2r3m3q4j4l6S6T6g6k6s6u8[8`9f;i;j]:i3X6Z8Q9P9Q9op){$u(n*u/Q/[/s/t2s3l4R6`6q9R;P;];^![:j(j)Z*P*X.Z.w.|/S/a0T0o0q2p2r3m3q4j4l6S6T6g6k6s6u8[8`9f;i;j_:k3X6Z8Q8R9P9Q9opnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iQ&[!TR,^&epnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iR&[!TQ+v&SR0n+oqnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iQ0z+{S4y0}1OU7Z4w4x4|S8j7]7^S9Z8i8lQ9h9[R9m9iQ&c!UR,V&_R5V1WS%w{%|R0g+fQ&h!VR,a&iR,g&nT1g,f1iR,k&oQ,j&oR1p,kQ'o!yR-g'oQsOQ#bXT%hs#bQ!|TR'q!|Q#PUR's#PQ)r$tR.x)rQ#SVR'u#SQ#VWU'{#V'|-nQ'|#WR-n'}Q,z'OR1|,zQ._(nR2t._Q.b(pS2w.b2xR2x.cQ-R'UR2Q-RY!qQ'U-R0y4tR'`!qS#]W%`U(S#](T-oQ(T#^R-o(OQ,}'RR2O,}r`OXs!U!Y#b%e&_&a&h&j&k&m,a,f1f1iS#fZ%]U#p`#f-xR-x(_Q(`#hQ-u([W-}(`-u2c5yQ2c-vR5y2dQ)d$jR.q)dQ$nhR)j$nQ$acU)Y$a-j:VQ-j9rR:V)gQ/V*QW3h/V3i6d8ZU3i/W/X/YS6d3j3kR8Z6e#o)w$u(j(n)Z*P*X*p*q*u.X.Y.Z.w.|/Q/R/S/[/a/s/t0T0o0q2p2q2r2s3X3l3m3q4R4j4l6S6T6X6Y6Z6`6g6k6q6s6u8Q8R8S8[8`9P9Q9R9f9o;P;];^;i;jQ/_*XU3p/_3r6hQ3r/aR6h3qQ*c${R/m*cQ*l%PR/v*lQ4W0TR6t4WQ*}%cR0R*}Q4n0tS7S4n8hR8h7TQ+x&TR0w+xQ4t0yR7W4tQ1V,SS5T1V7eR7e5VQ0b+bW4a0b4c6z8dQ4c0eQ6z4bR8d6{Q+g%wR0h+gQ1i,fR5e1iWrOXs#bQ&l!YQ+P%eQ,`&hQ,b&jQ,c&kQ,e&mQ1d,aS1g,f1iR5d1fQ%gpQ&p!^Q&s!`Q&u!aQ&w!bQ'g!sQ+O%dQ+[%qQ+n%}Q,U&cQ,m&rW-^'a'i'j'mQ-e'eQ/l*bQ0]+]S1Y,V,YQ1q,lQ1r,oQ1s,pQ2X-]W2Z-`-a-d-fQ4Y0^Q4f0kQ4i0oQ4}1PQ5X1[Q5c1eU5r2Y2]2`Q5u2^Q6v4ZQ7O4hQ7P4jQ7V4sQ7`5OQ7f5WS7u5s5wQ7w5vQ8e6|Q8m7aQ8r7gQ8y7vQ9X8fQ9^8nQ9b8zR9j9_Q%qxQ'Y!hQ'e!sU+]%r%s%tQ,t&{U-X'Z'[']S-]'a'kQ/c*]S0^+^+_Q1y,vS2V-Y-ZQ2^-bQ3u/gQ4Z0_Q5n2PQ5q2WQ5v2_R6l3yS$vi;_R*m%QU%Pi%Q;_R/u*kQ$uiS(j#t+XQ(n#vS)Z$b$cQ*P$wQ*X$zQ*p%VQ*q%WQ*u%[Q.X:]Q.Y:_Q.Z:aQ.w)pS.|)v/OQ/Q)yQ/R){Q/S)|Q/[*TQ/a*ZQ/s*iQ/t*jh0T+U.S0{2m4z6O7[7{8k8}9]9eQ0o+pQ0q+sQ2p:hQ2q:jQ2r:lQ2s.^S3X:W:XQ3l/]Q3m/^Q3q/`Q4R/{Q4j0pQ4l0sQ6S:pQ6T:rQ6X:^Q6Y:`Q6Z:bQ6`3eQ6g3oQ6k3wQ6q3}Q6s4VQ6u4XQ8Q:mQ8R:iQ8S:kQ8[6fQ8`6oQ9P:qQ9Q:sQ9R8WQ9f:vQ9o:wQ;P;_Q;];gQ;^;hQ;i;kR;j;llpOXs!Y#b%e&h&j&k&m,a,f1f1iQ!ePS#dZ#mQ&r!_U'^!n4q7YQ't#QQ(w#zQ)h$lS,Y&a&dQ,_&eQ,l&qQ,q&yQ-T'WQ.e(uQ.u)iQ0P*{Q0W+VQ1b,^Q2T-VQ2k.TQ3`.pQ4P/yQ4x0|Q5Z1^Q5[1_Q5`1aQ5b1cQ5g1kQ5}2nQ6^3]Q7^4{Q7j5]Q7k5^Q7m5aQ7}6RQ8l7_R8v7n#UcOPXZs!Y!_!n#b#m#z%e&a&d&e&h&j&k&m&q&y'W(u*{+V,^,a,f-V.T/y0|1^1_1a1c1f1i1k2n4q4{5]5^5a6R7Y7_7nQ#WWQ#cYQ%itQ%juS%lv!fS'w#U'zQ'}#XQ(i#sQ(p#wQ(x#}Q(y$OQ(z$PQ({$QQ(|$RQ(}$SQ)O$TQ)P$UQ)Q$VQ)R$WQ)S$XQ)U$ZQ)X$`Q)]$dW)g$l)i.p3]Q+S%kQ+h%xS,w&}1zQ-f'hS-k'x-mQ-p(QQ-r(XQ.](mQ.c(qQ.g9pQ.i9sQ.j9tQ.k9wQ.z)tQ/|*wQ1u,rQ1x,uQ2Y-_Q2a-sQ2u.aQ2z9xQ2{9yQ2|9zQ2}9{Q3O9|Q3P9}Q3Q:OQ3R:PQ3S:QQ3T:RQ3U:SQ3V:TQ3W.hQ3Z:YQ3[:cQ3a:UQ4S0OQ4[0`Q5m:dQ5s2[Q5x2bQ6U2vQ6V:eQ6[:gQ6]:nQ7T4oQ7r5kQ7v5tQ8P:oQ8T:tQ8U:uQ8z7xQ9Y8gQ9a8xQ9r#QR;U;bR#YWR'P!dY!sQ'U-R0y4tS&{!d,yQ'a!qS'k!t!wS'm!x4vS,v&|'TS-b'b'cQ-d'dQ2P-PR2_-cR(o#vR(r#wQ!eQT-Q'U-R]!pQ!q'U-R0y4tQ#n]R'_9qT#iZ%]S#hZ%]S%cm,]U([#f#g#jS-v(](^Q-z(_Q0Q*|Q2d-wU2e-x-y-{S5z2f2gR7y5{`#[W#U#X%`'x(R*y-qr#eZm#f#g#j%](](^(_*|-w-x-y-{2f2g5{Q1`,]Q1v,sQ5i1nQ7q5jT:|&}*zT#_W%`S#^W%`S'y#U(RS(O#X*yS,x&}*zT-l'x-qT'S!d%aQ$jfR)n$oT)c$j)dR3_.oT*S$w*UR*[$zQ0U+UQ2i.SQ4w0{Q6P2mQ7]4zQ7|6OQ8i7[Q8{7{Q9[8kQ9d8}Q9i9]R9l9elqOXs!Y#b%e&h&j&k&m,a,f1f1iQ&b!UR,U&_rmOXs!T!U!Y#b%e&_&h&j&k&m,a,f1f1iR,]&eT%dm,]R0u+uR,T&]Q%{{R+m%|R+c%vT&f!V&iT&g!V&iT1h,f1i",nodeNames:"⚠ ArithOp ArithOp LineComment BlockComment Script ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:366,context:ZN,nodeProps:[["group",-26,6,14,16,62,199,203,207,208,210,213,216,226,228,234,236,238,240,243,249,255,257,259,261,263,265,266,"Statement",-32,10,11,25,28,29,35,45,48,49,51,56,64,72,76,78,80,81,103,104,113,114,131,134,136,137,138,139,141,142,162,163,165,"Expression",-23,24,26,30,34,36,38,166,168,170,171,173,174,175,177,178,179,181,182,183,193,195,197,198,"Type",-3,84,96,102,"ClassItem"],["openedBy",31,"InterpolationStart",50,"[",54,"{",69,"(",143,"JSXStartTag",155,"JSXStartTag JSXStartCloseTag"],["closedBy",33,"InterpolationEnd",44,"]",55,"}",70,")",144,"JSXSelfCloseEndTag JSXEndTag",160,"JSXEndTag"]],propSources:[e2],skippedNodes:[0,3,4,269],repeatNodeCount:33,tokenData:"$>y(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tu>PuvBavwDxwxGgxyMvyz! Qz{!![{|!%O|}!&]}!O!%O!O!P!'g!P!Q!1w!Q!R#0t!R![#3T![!]#@T!]!^#Aa!^!_#Bk!_!`#GS!`!a#In!a!b#N{!b!c$$z!c!}>P!}#O$&U#O#P$'`#P#Q$,w#Q#R$.R#R#S>P#S#T$/`#T#o$0j#o#p$4z#p#q$5p#q#r$7Q#r#s$8^#s$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$I|>P$I|$I}$P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(n%d_$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$d&j'{!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU'{!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$d&j'xpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU'xpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX'xp'{!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$d&j'xp'{!b'n(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST'y#S$d&j'o(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$d&j'xp'{!b'o(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$d&j!l$Ip'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#q$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#q$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b3l_'w$(n$d&j'{!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$d&j'{!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$d&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$_#t$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$_#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$_#t$d&j'{!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ'{!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$_#t'{!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hg$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}st%Ztu`k$d&j'xp'{!b(V!LY'u&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P+d@`k$d&j'xp'{!b$W#tOY%ZYZ&cZr%Zrs&}st%Ztu@Tuw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![@T![!^%Z!^!_*g!_!c%Z!c!}@T!}#O%Z#O#P&c#P#R%Z#R#S@T#S#T%Z#T#o@T#o#p*g#p$g%Z$g;'S@T;'S;=`BT<%lO@T+dBWP;=`<%l@T(CSB^P;=`<%l>P%#SBl`$d&j'xp'{!b#i$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SCy_$d&j#{$Id'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%DfETa(k%Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#>fi$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#>Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#@b_!a$b$d&j#y%Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$JT>P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(CS$=Uk$d&j'xp'{!b'o(;d(V!LY'u&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P",tokenizers:[jN,JN,2,3,4,5,6,7,8,9,10,11,12,13,KN,new ol("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOq~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!O~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(U~~",141,327),new ol("j~RQYZXz{^~^O'r~~aP!P!Qd~iO's~~",25,309)],topRules:{Script:[0,5],SingleExpression:[1,267],SingleClassItem:[2,268]},dialects:{jsx:12794,ts:12796},dynamicPrecedences:{76:1,78:1,163:1,191:1},specialized:[{term:313,get:n=>t2[n]||-1},{term:329,get:n=>r2[n]||-1},{term:67,get:n=>n2[n]||-1}],tokenPrec:12820});var Ec;const Fi=new Ze;function Jh(n){return De.define({combine:n?e=>e.concat(n):void 0})}const em=new Ze;class jr{constructor(e,t,r=[],i=""){this.data=e,this.name=i,ut.prototype.hasOwnProperty("tree")||Object.defineProperty(ut.prototype,"tree",{get(){return Ut(this)}}),this.parser=t,this.extension=[ka.of(this),ut.languageData.of((a,s,o)=>{let l=bg(a,s,o),u=l.type.prop(Fi);if(!u)return[];let d=a.facet(u),f=l.type.prop(em);if(f){let m=l.resolve(s-l.from,o);for(let g of f)if(g.test(m,a)){let b=a.facet(g.facet);return g.type=="replace"?b:b.concat(d)}}return d})].concat(r)}isActiveAt(e,t,r=-1){return bg(e,t,r).type.prop(Fi)==this.data}findRegions(e){let t=e.facet(ka);if((t==null?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let r=[],i=(a,s)=>{if(a.prop(Fi)==this.data){r.push({from:s,to:s+a.length});return}let o=a.prop(Ze.mounted);if(o){if(o.tree.prop(Fi)==this.data){if(o.overlay)for(let l of o.overlay)r.push({from:l.from+s,to:l.to+s});else r.push({from:s,to:s+a.length});return}else if(o.overlay){let l=r.length;if(i(o.tree,o.overlay[0].from+s),r.length>l)return}}for(let l=0;lr.isTop?t:void 0)]}),e.name)}configure(e,t){return new xa(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function Ut(n){let e=n.field(jr.state,!1);return e?e.tree:St.empty}function ov(n,e,t=50){var r;let i=(r=n.field(jr.state,!1))===null||r===void 0?void 0:r.context;if(!i)return null;let a=i.viewport;i.updateViewport({from:0,to:e});let s=i.isDone(e)||i.work(t,e)?i.tree:null;return i.updateViewport(a),s}class a2{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let r=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-r,t-r)}}let Ja=null;class Rs{constructor(e,t,r=[],i,a,s,o,l){this.parser=e,this.state=t,this.fragments=r,this.tree=i,this.treeLen=a,this.viewport=s,this.skipped=o,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,r){return new Rs(e,t,[],St.empty,0,r,[],null)}startParse(){return this.parser.startParse(new a2(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=St.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let i=Date.now()+e;e=()=>Date.now()>i}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Zn.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Ja;Ja=this;try{return e()}finally{Ja=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Tg(e,t.from,t.to);return e}changes(e,t){let{fragments:r,tree:i,treeLen:a,viewport:s,skipped:o}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((u,d,f,m)=>l.push({fromA:u,toA:d,fromB:f,toB:m})),r=Zn.applyChanges(r,l),i=St.empty,a=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){o=[];for(let u of this.skipped){let d=e.mapPos(u.from,1),f=e.mapPos(u.to,-1);de.from&&(this.fragments=Tg(this.fragments,i,a),this.skipped.splice(r--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends jh{createParse(t,r,i){let a=i[0].from,s=i[i.length-1].to;return{parsedPos:a,advance(){let l=Ja;if(l){for(let u of i)l.tempSkipped.push(u);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=s,new St(rr.none,[],[],s-a)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return Ja}}function Tg(n,e,t){return Zn.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class La{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,r)||t.takeTree(),new La(t)}static init(e){let t=Math.min(3e3,e.doc.length),r=Rs.create(e.facet(ka).parser,e,{from:0,to:t});return r.work(20,t)||r.takeTree(),new La(r)}}jr.state=hr.define({create:La.init,update(n,e){for(let t of e.effects)if(t.is(jr.setState))return t.value;return e.startState.facet(ka)!=e.state.facet(ka)?La.init(e.state):n.apply(e)}});let lv=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(lv=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:500-100})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const bc=typeof navigator<"u"&&(!((Ec=navigator.scheduling)===null||Ec===void 0)&&Ec.isInputPending)?()=>navigator.scheduling.isInputPending():null,s2=lr.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(jr.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),e.docChanged&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(jr.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=lv(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndi+1e3,l=a.context.work(()=>bc&&bc()||Date.now()>s,i+(o?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(a.context.takeTree(),this.view.dispatch({effects:jr.setState.of(new La(a.context))})),this.chunkBudget>0&&!(l&&!o)&&this.scheduleWork(),this.checkAsyncSchedule(a.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>cn(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),ka=De.define({combine(n){return n.length?n[0]:null},enables:n=>[jr.state,s2,Ae.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});class Is{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}class ul{constructor(e,t,r,i,a,s=void 0){this.name=e,this.alias=t,this.extensions=r,this.filename=i,this.loadFunc=a,this.support=s,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:r}=e;if(!t){if(!r)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(r)}return new ul(e.name,(e.alias||[]).concat(e.name).map(i=>i.toLowerCase()),e.extensions||[],e.filename,t,r)}static matchFilename(e,t){for(let i of e)if(i.filename&&i.filename.test(t))return i;let r=/\.([^.]+)$/.exec(t);if(r){for(let i of e)if(i.extensions.indexOf(r[1])>-1)return i}return null}static matchLanguageName(e,t,r=!0){t=t.toLowerCase();for(let i of e)if(i.alias.some(a=>a==t))return i;if(r)for(let i of e)for(let a of i.alias){let s=t.indexOf(a);if(s>-1&&(a.length>2||!/\w/.test(t[s-1])&&!/\w/.test(t[s+a.length])))return i}return null}}const o2=De.define(),Ma=De.define({combine:n=>{if(!n.length)return" ";let e=n[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(n[0]));return e}});function dl(n){let e=n.facet(Ma);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function Ns(n,e){let t="",r=n.tabSize,i=n.facet(Ma)[0];if(i==" "){for(;e>=r;)t+=" ",e-=r;i=" "}for(let a=0;a=e?l2(n,t,e):null}class Yl{constructor(e,t={}){this.state=e,this.options=t,this.unit=dl(e)}lineAt(e,t=1){let r=this.state.doc.lineAt(e),{simulateBreak:i,simulateDoubleBreak:a}=this.options;return i!=null&&i>=r.from&&i<=r.to?a&&i==e?{text:"",from:e}:(t<0?i-1&&(a+=s-this.countColumn(r,r.search(/\S|$/))),a}countColumn(e,t=e.length){return qs(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:r,from:i}=this.lineAt(e,t),a=this.options.overrideIndentation;if(a){let s=a(i);if(s>-1)return s}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Xs=new Ze;function l2(n,e,t){return cv(e.resolveInner(t).enterUnfinishedNodesBefore(t),t,n)}function c2(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function u2(n){let e=n.type.prop(Xs);if(e)return e;let t=n.firstChild,r;if(t&&(r=t.type.prop(Ze.closedBy))){let i=n.lastChild,a=i&&r.indexOf(i.name)>-1;return s=>uv(s,!0,1,void 0,a&&!c2(s)?i.from:void 0)}return n.parent==null?d2:null}function cv(n,e,t){for(;n;n=n.parent){let r=u2(n);if(r)return r(rm.create(t,e,n))}return null}function d2(){return 0}class rm extends Yl{constructor(e,t,r){super(e.state,e.options),this.base=e,this.pos=t,this.node=r}static create(e,t,r){return new rm(e,t,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(t.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(p2(r,e))break;t=this.state.doc.lineAt(r.from)}return this.lineIndent(t.from)}continue(){let e=this.node.parent;return e?cv(e,this.pos,this.base):0}}function p2(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function f2(n){let e=n.node,t=e.childAfter(e.from),r=e.lastChild;if(!t)return null;let i=n.options.simulateBreak,a=n.state.doc.lineAt(t.from),s=i==null||i<=a.from?a.to:Math.min(a.to,i);for(let o=t.to;;){let l=e.childAfter(o);if(!l||l==r)return null;if(!l.type.isSkipped)return l.fromuv(r,e,t,n)}function uv(n,e,t,r,i){let a=n.textAfter,s=a.match(/^\s*/)[0].length,o=r&&a.slice(s,s+r.length)==r||i==n.pos+s,l=e?f2(n):null;return l?o?n.column(l.from):n.column(l.to):n.baseIndent+(o?0:n.unit*t)}const m2=n=>n.baseIndent;function Go({except:n,units:e=1}={}){return t=>{let r=n&&n.test(t.textAfter);return t.baseIndent+(r?0:e*t.unit)}}const _2=200;function g2(){return ut.transactionFilter.of(n=>{if(!n.docChanged||!n.isUserEvent("input.type")&&!n.isUserEvent("input.complete"))return n;let e=n.startState.languageDataAt("indentOnInput",n.startState.selection.main.head);if(!e.length)return n;let t=n.newDoc,{head:r}=n.newSelection.main,i=t.lineAt(r);if(r>i.from+_2)return n;let a=t.sliceString(i.from,r);if(!e.some(u=>u.test(a)))return n;let{state:s}=n,o=-1,l=[];for(let{head:u}of s.selection.ranges){let d=s.doc.lineAt(u);if(d.from==o)continue;o=d.from;let f=tm(s,d.from);if(f==null)continue;let m=/^\s*/.exec(d.text)[0],g=Ns(s,f);m!=g&&l.push({from:d.from,to:d.from+m.length,insert:g})}return l.length?[n,{changes:l,sequential:!0}]:n})}const dv=De.define(),Zs=new Ze;function pv(n){let e=n.firstChild,t=n.lastChild;return e&&e.tot)continue;if(a&&s.from=e&&l.to>t&&(a=l)}}return a}function O2(n){let e=n.lastChild;return e&&e.to==n.to&&e.type.isError}function E2(n,e,t){for(let r of n.facet(dv)){let i=r(n,e,t);if(i)return i}return S2(n,e,t)}function fv(n,e){let t=e.mapPos(n.from,1),r=e.mapPos(n.to,-1);return t>=r?void 0:{from:t,to:r}}const hv=it.define({map:fv}),mv=it.define({map:fv});function b2(n){let e=[];for(let{head:t}of n.state.selection.ranges)e.some(r=>r.from<=t&&r.to>=t)||e.push(n.lineBlockAt(t));return e}const nm=hr.define({create(){return qe.none},update(n,e){n=n.map(e.changes);for(let t of e.effects)if(t.is(hv)&&!C2(n,t.value.from,t.value.to)){let{preparePlaceholder:r}=e.state.facet(im),i=r?qe.replace({widget:new N2(r(e.state,t.value))}):Cg;n=n.update({add:[i.range(t.value.from,t.value.to)]})}else t.is(mv)&&(n=n.update({filter:(r,i)=>t.value.from!=r||t.value.to!=i,filterFrom:t.value.from,filterTo:t.value.to}));if(e.selection){let t=!1,{head:r}=e.selection.main;n.between(r,r,(i,a)=>{ir&&(t=!0)}),t&&(n=n.update({filterFrom:r,filterTo:r,filter:(i,a)=>a<=r||i>=r}))}return n},provide:n=>Ae.decorations.from(n),toJSON(n,e){let t=[];return n.between(0,e.doc.length,(r,i)=>{t.push(r,i)}),t},fromJSON(n){if(!Array.isArray(n)||n.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t{(!i||i.from>a)&&(i={from:a,to:s})}),i}function C2(n,e,t){let r=!1;return n.between(e,e,(i,a)=>{i==e&&a==t&&(r=!0)}),r}function v2(n,e){return n.field(nm,!1)?e:e.concat(it.appendConfig.of(I2()))}const y2=n=>{for(let e of b2(n)){let t=E2(n.state,e.from,e.to);if(t)return n.dispatch({effects:v2(n.state,[hv.of(t),A2(n,t)])}),!0}return!1};function A2(n,e,t=!0){let r=n.state.doc.lineAt(e.from).number,i=n.state.doc.lineAt(e.to).number;return Ae.announce.of(`${n.state.phrase(t?"Folded lines":"Unfolded lines")} ${r} ${n.state.phrase("to")} ${i}.`)}const R2={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},im=De.define({combine(n){return ti(n,R2)}});function I2(n){let e=[nm,D2];return n&&e.push(im.of(n)),e}function _v(n,e){let{state:t}=n,r=t.facet(im),i=s=>{let o=n.lineBlockAt(n.posAtDOM(s.target)),l=T2(n.state,o.from,o.to);l&&n.dispatch({effects:mv.of(l)}),s.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(n,i,e);let a=document.createElement("span");return a.textContent=r.placeholderText,a.setAttribute("aria-label",t.phrase("folded code")),a.title=t.phrase("unfold"),a.className="cm-foldPlaceholder",a.onclick=i,a}const Cg=qe.replace({widget:new class extends ri{toDOM(n){return _v(n,null)}}});class N2 extends ri{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return _v(e,this.value)}}const D2=Ae.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Ks{constructor(e,t){this.specs=e;let r;function i(o){let l=Oi.newName();return(r||(r=Object.create(null)))["."+l]=o,l}const a=typeof t.all=="string"?t.all:t.all?i(t.all):void 0,s=t.scope;this.scope=s instanceof jr?o=>o.prop(Fi)==s.data:s?o=>o==s:void 0,this.style=av(e.map(o=>({tag:o.tag,class:o.class||i(Object.assign({},o,{tag:null}))})),{all:a}).style,this.module=r?new Oi(r):null,this.themeType=t.themeType}static define(e,t){return new Ks(e,t||{})}}const ch=De.define(),gv=De.define({combine(n){return n.length?[n[0]]:null}});function Tc(n){let e=n.facet(ch);return e.length?e:n.facet(gv)}function Sv(n,e){let t=[x2],r;return n instanceof Ks&&(n.module&&t.push(Ae.styleModule.of(n.module)),r=n.themeType),e!=null&&e.fallback?t.push(gv.of(n)):r?t.push(ch.computeN([Ae.darkTheme],i=>i.facet(Ae.darkTheme)==(r=="dark")?[n]:[])):t.push(ch.of(n)),t}class w2{constructor(e){this.markCache=Object.create(null),this.tree=Ut(e.state),this.decorations=this.buildDeco(e,Tc(e.state))}update(e){let t=Ut(e.state),r=Tc(e.state),i=r!=Tc(e.startState);t.length{r.add(s,o,this.markCache[l]||(this.markCache[l]=qe.mark({class:l})))},i,a);return r.finish()}}const x2=Jn.high(lr.fromClass(w2,{decorations:n=>n.decorations})),L2=Ks.define([{tag:P.meta,color:"#404740"},{tag:P.link,textDecoration:"underline"},{tag:P.heading,textDecoration:"underline",fontWeight:"bold"},{tag:P.emphasis,fontStyle:"italic"},{tag:P.strong,fontWeight:"bold"},{tag:P.strikethrough,textDecoration:"line-through"},{tag:P.keyword,color:"#708"},{tag:[P.atom,P.bool,P.url,P.contentSeparator,P.labelName],color:"#219"},{tag:[P.literal,P.inserted],color:"#164"},{tag:[P.string,P.deleted],color:"#a11"},{tag:[P.regexp,P.escape,P.special(P.string)],color:"#e40"},{tag:P.definition(P.variableName),color:"#00f"},{tag:P.local(P.variableName),color:"#30a"},{tag:[P.typeName,P.namespace],color:"#085"},{tag:P.className,color:"#167"},{tag:[P.special(P.variableName),P.macroName],color:"#256"},{tag:P.definition(P.propertyName),color:"#00c"},{tag:P.comment,color:"#940"},{tag:P.invalid,color:"#f00"}]),k2=Ae.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Ov=1e4,Ev="()[]{}",bv=De.define({combine(n){return ti(n,{afterCursor:!0,brackets:Ev,maxScanDistance:Ov,renderMatch:B2})}}),M2=qe.mark({class:"cm-matchingBracket"}),P2=qe.mark({class:"cm-nonmatchingBracket"});function B2(n){let e=[],t=n.matched?M2:P2;return e.push(t.range(n.start.from,n.start.to)),n.end&&e.push(t.range(n.end.from,n.end.to)),e}const U2=hr.define({create(){return qe.none},update(n,e){if(!e.docChanged&&!e.selection)return n;let t=[],r=e.state.facet(bv);for(let i of e.state.selection.ranges){if(!i.empty)continue;let a=on(e.state,i.head,-1,r)||i.head>0&&on(e.state,i.head-1,1,r)||r.afterCursor&&(on(e.state,i.head,1,r)||i.headAe.decorations.from(n)}),F2=[U2,k2];function Y2(n={}){return[bv.of(n),F2]}const Tv=new Ze;function uh(n,e,t){let r=n.prop(e<0?Ze.openedBy:Ze.closedBy);if(r)return r;if(n.name.length==1){let i=t.indexOf(n.name);if(i>-1&&i%2==(e<0?1:0))return[t[i+e]]}return null}function dh(n){let e=n.type.prop(Tv);return e?e(n.node):n}function on(n,e,t,r={}){let i=r.maxScanDistance||Ov,a=r.brackets||Ev,s=Ut(n),o=s.resolveInner(e,t);for(let l=o;l;l=l.parent){let u=uh(l.type,t,a);if(u&&l.from0?e>=d.from&&ed.from&&e<=d.to))return G2(n,e,t,l,d,u,a)}}return Q2(n,e,t,s,o.type,i,a)}function G2(n,e,t,r,i,a,s){let o=r.parent,l={from:i.from,to:i.to},u=0,d=o==null?void 0:o.cursor();if(d&&(t<0?d.childBefore(r.from):d.childAfter(r.to)))do if(t<0?d.to<=r.from:d.from>=r.to){if(u==0&&a.indexOf(d.type.name)>-1&&d.from0)return null;let u={from:t<0?e-1:e,to:t>0?e+1:e},d=n.doc.iterRange(e,t>0?n.doc.length:0),f=0;for(let m=0;!d.next().done&&m<=a;){let g=d.value;t<0&&(m+=g.length);let b=e+m*t;for(let v=t>0?0:g.length-1,y=t>0?g.length:-1;v!=y;v+=t){let N=s.indexOf(g[v]);if(!(N<0||r.resolveInner(b+v,1).type!=i))if(N%2==0==t>0)f++;else{if(f==1)return{start:u,end:{from:b+v,to:b+v+1},matched:N>>1==l>>1};f--}}t>0&&(m+=g.length)}return d.done?{start:u,matched:!1}:null}function vg(n,e,t,r=0,i=0){e==null&&(e=n.search(/[^\s\u00a0]/),e==-1&&(e=n.length));let a=i;for(let s=r;s=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosr?s.toLowerCase():s,a=this.string.substr(this.pos,e.length);return i(a)==i(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let i=this.string.slice(this.pos).match(e);return i&&i.index>0?null:(i&&t!==!1&&(this.pos+=i[0].length),i)}}current(){return this.string.slice(this.start,this.pos)}}const q2=Object.create(null),yg=[rr.none],Ag=[],V2=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])V2[n]=H2(q2,e);function Cc(n,e){Ag.indexOf(n)>-1||(Ag.push(n),console.warn(e))}function H2(n,e){let t=null;for(let a of e.split(".")){let s=n[a]||P[a];s?typeof s=="function"?t?t=s(t):Cc(a,`Modifier ${a} used at start of tag`):t?Cc(a,`Tag ${a} used as modifier`):t=s:Cc(a,`Unknown highlighting tag ${a}`)}if(!t)return 0;let r=e.replace(/ /g,"_"),i=rr.define({id:yg.length,name:r,props:[Qa({[r]:t})]});return yg.push(i),i.id}class am{constructor(e,t,r){this.state=e,this.pos=t,this.explicit=r,this.abortListeners=[]}tokenBefore(e){let t=Ut(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),r=Math.max(t.from,this.pos-250),i=t.text.slice(r-t.from,this.pos-t.from),a=i.search(vv(e,!1));return a<0?null:{from:r+a,to:this.pos,text:i.slice(a)}}get aborted(){return this.abortListeners==null}addEventListener(e,t){e=="abort"&&this.abortListeners&&this.abortListeners.push(t)}}function Rg(n){let e=Object.keys(n).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function z2(n){let e=Object.create(null),t=Object.create(null);for(let{label:i}of n){e[i[0]]=!0;for(let a=1;atypeof i=="string"?{label:i}:i),[t,r]=e.every(i=>/^\w+$/.test(i.label))?[/\w*$/,/\w+$/]:z2(e);return i=>{let a=i.matchBefore(r);return a||i.explicit?{from:a?a.from:i.pos,options:e,validFor:t}:null}}function W2(n,e){return t=>{for(let r=Ut(t.state).resolveInner(t.pos,-1);r;r=r.parent){if(n.indexOf(r.name)>-1)return null;if(r.type.isTop)break}return e(t)}}class Ig{constructor(e,t,r,i){this.completion=e,this.source=t,this.match=r,this.score=i}}function Si(n){return n.selection.main.from}function vv(n,e){var t;let{source:r}=n,i=e&&r[0]!="^",a=r[r.length-1]!="$";return!i&&!a?n:new RegExp(`${i?"^":""}(?:${r})${a?"$":""}`,(t=n.flags)!==null&&t!==void 0?t:n.ignoreCase?"i":"")}const yv=ei.define();function X2(n,e,t,r){let{main:i}=n.selection,a=t-i.from,s=r-i.from;return Object.assign(Object.assign({},n.changeByRange(o=>o!=i&&t!=r&&n.sliceDoc(o.from+a,o.from+s)!=n.sliceDoc(t,r)?{range:o}:{changes:{from:o.from+a,to:r==i.from?o.to:o.from+s,insert:e},range:de.cursor(o.from+a+e.length)})),{userEvent:"input.complete"})}const Ng=new WeakMap;function Z2(n){if(!Array.isArray(n))return n;let e=Ng.get(n);return e||Ng.set(n,e=Cv(n)),e}const sm=it.define(),Ds=it.define();class K2{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&E<=57||E>=97&&E<=122?2:E>=65&&E<=90?1:0:(O=Bh(E))!=O.toLowerCase()?1:O!=O.toUpperCase()?2:0;(!F||A==1&&y||p==0&&A!=0)&&(t[f]==E||r[f]==E&&(m=!0)?s[f++]=F:s.length&&(N=!1)),p=A,F+=an(E)}return f==l&&s[0]==0&&N?this.result(-100+(m?-200:0),s,e):g==l&&b==0?this.ret(-200-e.length+(v==e.length?0:-100),[0,v]):o>-1?this.ret(-700-e.length,[o,o+this.pattern.length]):g==l?this.ret(-200+-700-e.length,[b,v]):f==l?this.result(-100+(m?-200:0)+-700+(N?0:-1100),s,e):t.length==2?!1:this.result((i[0]?-700:0)+-200+-1100,i,e)}result(e,t,r){let i=[],a=0;for(let s of t){let o=s+(this.astral?an(pr(r,s)):1);a&&i[a-1]==s?i[a-1]=o:(i[a++]=s,i[a++]=o)}return this.ret(e-r.length,i)}}const Fr=De.define({combine(n){return ti(n,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:j2,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>r=>Dg(e(r),t(r)),optionClass:(e,t)=>r=>Dg(e(r),t(r)),addToOptions:(e,t)=>e.concat(t)})}});function Dg(n,e){return n?e?n+" "+e:n:e}function j2(n,e,t,r,i){let a=n.textDirection==Bt.RTL,s=a,o=!1,l="top",u,d,f=e.left-i.left,m=i.right-e.right,g=r.right-r.left,b=r.bottom-r.top;if(s&&f=b||v>e.top?u=t.bottom-e.top:(l="bottom",u=e.bottom-t.top)}return{style:`${l}: ${u}px; max-width: ${d}px`,class:"cm-completionInfo-"+(o?a?"left-narrow":"right-narrow":s?"left":"right")}}function J2(n){let e=n.addToOptions.slice();return n.icons&&e.push({render(t){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),t.type&&r.classList.add(...t.type.split(/\s+/g).map(i=>"cm-completionIcon-"+i)),r.setAttribute("aria-hidden","true"),r},position:20}),e.push({render(t,r,i){let a=document.createElement("span");a.className="cm-completionLabel";let s=t.displayLabel||t.label,o=0;for(let l=0;lo&&a.appendChild(document.createTextNode(s.slice(o,u)));let f=a.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(s.slice(u,d))),f.className="cm-completionMatchedText",o=d}return ot.position-r.position).map(t=>t.render)}function wg(n,e,t){if(n<=t)return{from:0,to:n};if(e<0&&(e=0),e<=n>>1){let i=Math.floor(e/t);return{from:i*t,to:(i+1)*t}}let r=Math.floor((n-e)/t);return{from:n-(r+1)*t,to:n-r*t}}class eD{constructor(e,t,r){this.view=e,this.stateField=t,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let i=e.state.field(t),{options:a,selected:s}=i.open,o=e.state.facet(Fr);this.optionContent=J2(o),this.optionClass=o.optionClass,this.tooltipClass=o.tooltipClass,this.range=wg(a.length,s,o.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{for(let u=l.target,d;u&&u!=this.dom;u=u.parentNode)if(u.nodeName=="LI"&&(d=/-(\d+)$/.exec(u.id))&&+d[1]{let u=e.state.field(this.stateField,!1);u&&u.tooltip&&e.state.facet(Fr).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:Ds.of(null)})}),this.list=this.dom.appendChild(this.createListBox(a,i.id,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}mount(){this.updateSel()}update(e){var t,r,i;let a=e.state.field(this.stateField),s=e.startState.field(this.stateField);this.updateTooltipClass(e.state),a!=s&&(this.updateSel(),((t=a.open)===null||t===void 0?void 0:t.disabled)!=((r=s.open)===null||r===void 0?void 0:r.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!(!((i=a.open)===null||i===void 0)&&i.disabled)))}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let r of this.currentClass.split(" "))r&&this.dom.classList.remove(r);for(let r of t.split(" "))r&&this.dom.classList.add(r);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected=this.range.to)&&(this.range=wg(t.options.length,t.selected,this.view.state.facet(Fr).maxRenderedOptions),this.list.remove(),this.list=this.dom.appendChild(this.createListBox(t.options,e.id,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:r}=t.options[t.selected],{info:i}=r;if(!i)return;let a=typeof i=="string"?document.createTextNode(i):i(r);if(!a)return;"then"in a?a.then(s=>{s&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(s,r)}).catch(s=>cn(this.view.state,s,"completion info")):this.addInfoPane(a,r)}}addInfoPane(e,t){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",e.nodeType!=null)r.appendChild(e),this.infoDestroy=null;else{let{dom:i,destroy:a}=e;r.appendChild(i),this.infoDestroy=a||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let r=this.list.firstChild,i=this.range.from;r;r=r.nextSibling,i++)r.nodeName!="LI"||!r.id?i--:i==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),t=r):r.hasAttribute("aria-selected")&&r.removeAttribute("aria-selected");return t&&rD(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),i=e.getBoundingClientRect(),a=this.space;if(!a){let s=this.dom.ownerDocument.defaultView||window;a={left:0,top:0,right:s.innerWidth,bottom:s.innerHeight}}return i.top>Math.min(a.bottom,t.bottom)-10||i.bottomr.from||r.from==0))if(a=m,typeof u!="string"&&u.header)i.appendChild(u.header(u));else{let g=i.appendChild(document.createElement("completion-section"));g.textContent=m}}const d=i.appendChild(document.createElement("li"));d.id=t+"-"+s,d.setAttribute("role","option");let f=this.optionClass(o);f&&(d.className=f);for(let m of this.optionContent){let g=m(o,this.view.state,l);g&&d.appendChild(g)}}return r.from&&i.classList.add("cm-completionListIncompleteTop"),r.tonew eD(t,n,e)}function rD(n,e){let t=n.getBoundingClientRect(),r=e.getBoundingClientRect();r.topt.bottom&&(n.scrollTop+=r.bottom-t.bottom)}function xg(n){return(n.boost||0)*100+(n.apply?10:0)+(n.info?5:0)+(n.type?1:0)}function nD(n,e){let t=[],r=null,i=l=>{t.push(l);let{section:u}=l.completion;if(u){r||(r=[]);let d=typeof u=="string"?u:u.name;r.some(f=>f.name==d)||r.push(typeof u=="string"?{name:d}:u)}};for(let l of n)if(l.hasResult()){let u=l.result.getMatch;if(l.result.filter===!1)for(let d of l.result.options)i(new Ig(d,l.source,u?u(d):[],1e9-t.length));else{let d=new K2(e.sliceDoc(l.from,l.to));for(let f of l.result.options)if(d.match(f.label)){let m=f.displayLabel?u?u(f,d.matched):[]:d.matched;i(new Ig(f,l.source,m,d.score+(f.boost||0)))}}}if(r){let l=Object.create(null),u=0,d=(f,m)=>{var g,b;return((g=f.rank)!==null&&g!==void 0?g:1e9)-((b=m.rank)!==null&&b!==void 0?b:1e9)||(f.named.score-u.score||o(u.completion,d.completion))){let u=l.completion;!s||s.label!=u.label||s.detail!=u.detail||s.type!=null&&u.type!=null&&s.type!=u.type||s.apply!=u.apply||s.boost!=u.boost?a.push(l):xg(l.completion)>xg(s)&&(a[a.length-1]=l),s=l.completion}return a}class ma{constructor(e,t,r,i,a,s){this.options=e,this.attrs=t,this.tooltip=r,this.timestamp=i,this.selected=a,this.disabled=s}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new ma(this.options,Lg(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,r,i,a){let s=nD(e,t);if(!s.length)return i&&e.some(l=>l.state==1)?new ma(i.options,i.attrs,i.tooltip,i.timestamp,i.selected,!0):null;let o=t.facet(Fr).selectOnOpen?0:-1;if(i&&i.selected!=o&&i.selected!=-1){let l=i.options[i.selected].completion;for(let u=0;uu.hasResult()?Math.min(l,u.from):l,1e8),create:tD(Zr,Iv),above:a.aboveCursor},i?i.timestamp:Date.now(),o,!1)}map(e){return new ma(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class pl{constructor(e,t,r){this.active=e,this.id=t,this.open=r}static start(){return new pl(sD,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,r=t.facet(Fr),a=(r.override||t.languageDataAt("autocomplete",Si(t)).map(Z2)).map(o=>(this.active.find(u=>u.source==o)||new Ur(o,this.active.some(u=>u.state!=0)?1:0)).update(e,r));a.length==this.active.length&&a.every((o,l)=>o==this.active[l])&&(a=this.active);let s=this.open;s&&e.docChanged&&(s=s.map(e.changes)),e.selection||a.some(o=>o.hasResult()&&e.changes.touchesRange(o.from,o.to))||!iD(a,this.active)?s=ma.build(a,t,this.id,s,r):s&&s.disabled&&!a.some(o=>o.state==1)&&(s=null),!s&&a.every(o=>o.state!=1)&&a.some(o=>o.hasResult())&&(a=a.map(o=>o.hasResult()?new Ur(o.source,0):o));for(let o of e.effects)o.is(Rv)&&(s=s&&s.setSelected(o.value,this.id));return a==this.active&&s==this.open?this:new pl(a,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:aD}}function iD(n,e){if(n==e)return!0;for(let t=0,r=0;;){for(;t-1&&(t["aria-activedescendant"]=n+"-"+e),t}const sD=[];function ph(n){return n.isUserEvent("input.type")?"input":n.isUserEvent("delete.backward")?"delete":null}class Ur{constructor(e,t,r=-1){this.source=e,this.state=t,this.explicitPos=r}hasResult(){return!1}update(e,t){let r=ph(e),i=this;r?i=i.handleUserEvent(e,r,t):e.docChanged?i=i.handleChange(e):e.selection&&i.state!=0&&(i=new Ur(i.source,0));for(let a of e.effects)if(a.is(sm))i=new Ur(i.source,1,a.value?Si(e.state):-1);else if(a.is(Ds))i=new Ur(i.source,0);else if(a.is(Av))for(let s of a.value)s.source==i.source&&(i=s);return i}handleUserEvent(e,t,r){return t=="delete"||!r.activateOnTyping?this.map(e.changes):new Ur(this.source,1)}handleChange(e){return e.changes.touchesRange(Si(e.startState))?new Ur(this.source,0):this.map(e.changes)}map(e){return e.empty||this.explicitPos<0?this:new Ur(this.source,this.state,e.mapPos(this.explicitPos))}}class Ta extends Ur{constructor(e,t,r,i,a){super(e,2,t),this.result=r,this.from=i,this.to=a}hasResult(){return!0}handleUserEvent(e,t,r){var i;let a=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),o=Si(e.state);if((this.explicitPos<0?o<=a:os||t=="delete"&&Si(e.startState)==this.from)return new Ur(this.source,t=="input"&&r.activateOnTyping?1:0);let l=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos),u;return oD(this.result.validFor,e.state,a,s)?new Ta(this.source,l,this.result,a,s):this.result.update&&(u=this.result.update(this.result,a,s,new am(e.state,o,l>=0)))?new Ta(this.source,l,u,u.from,(i=u.to)!==null&&i!==void 0?i:Si(e.state)):new Ur(this.source,1,l)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new Ur(this.source,0):this.map(e.changes)}map(e){return e.empty?this:new Ta(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}}function oD(n,e,t,r){if(!n)return!1;let i=e.sliceDoc(t,r);return typeof n=="function"?n(i,t,r,e):vv(n,!0).test(i)}const Av=it.define({map(n,e){return n.map(t=>t.map(e))}}),Rv=it.define(),Zr=hr.define({create(){return pl.start()},update(n,e){return n.update(e)},provide:n=>[zh.from(n,e=>e.tooltip),Ae.contentAttributes.from(n,e=>e.attrs)]});function Iv(n,e){const t=e.completion.apply||e.completion.label;let r=n.state.field(Zr).active.find(i=>i.source==e.source);return r instanceof Ta?(typeof t=="string"?n.dispatch(Object.assign(Object.assign({},X2(n.state,t,r.from,r.to)),{annotations:yv.of(e.completion)})):t(n,e.completion,r.from,r.to),!0):!1}function To(n,e="option"){return t=>{let r=t.state.field(Zr,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp-1?r.open.selected+i*(n?1:-1):n?0:s-1;return o<0?o=e=="page"?0:s-1:o>=s&&(o=e=="page"?s-1:0),t.dispatch({effects:Rv.of(o)}),!0}}const lD=n=>{let e=n.state.field(Zr,!1);return n.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestampn.state.field(Zr,!1)?(n.dispatch({effects:sm.of(!0)}),!0):!1,uD=n=>{let e=n.state.field(Zr,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(n.dispatch({effects:Ds.of(null)}),!0)};class dD{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const kg=50,pD=50,fD=1e3,hD=lr.fromClass(class{constructor(n){this.view=n,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.composing=0;for(let e of n.state.field(Zr).active)e.state==1&&this.startQuery(e)}update(n){let e=n.state.field(Zr);if(!n.selectionSet&&!n.docChanged&&n.startState.field(Zr)==e)return;let t=n.transactions.some(r=>(r.selection||r.docChanged)&&!ph(r));for(let r=0;rpD&&Date.now()-i.time>fD){for(let a of i.context.abortListeners)try{a()}catch(s){cn(this.view.state,s)}i.context.abortListeners=null,this.running.splice(r--,1)}else i.updates.push(...n.transactions)}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=e.active.some(r=>r.state==1&&!this.running.some(i=>i.active.source==r.source))?setTimeout(()=>this.startUpdate(),kg):-1,this.composing!=0)for(let r of n.transactions)ph(r)=="input"?this.composing=2:this.composing==2&&r.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:n}=this.view,e=n.field(Zr);for(let t of e.active)t.state==1&&!this.running.some(r=>r.active.source==t.source)&&this.startQuery(t)}startQuery(n){let{state:e}=this.view,t=Si(e),r=new am(e,t,n.explicitPos==t),i=new dD(n,r);this.running.push(i),Promise.resolve(n.source(r)).then(a=>{i.context.aborted||(i.done=a||null,this.scheduleAccept())},a=>{this.view.dispatch({effects:Ds.of(null)}),cn(this.view.state,a)})}scheduleAccept(){this.running.every(n=>n.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),kg))}accept(){var n;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(Fr);for(let r=0;rs.source==i.active.source);if(a&&a.state==1)if(i.done==null){let s=new Ur(i.active.source,0);for(let o of i.updates)s=s.update(o,t);s.state!=1&&e.push(s)}else this.startQuery(a)}e.length&&this.view.dispatch({effects:Av.of(e)})}},{eventHandlers:{blur(n){let e=this.view.state.field(Zr,!1);if(e&&e.tooltip&&this.view.state.facet(Fr).closeOnBlur){let t=e.open&&WC(this.view,e.open.tooltip);(!t||!t.dom.contains(n.relatedTarget))&&this.view.dispatch({effects:Ds.of(null)})}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:sm.of(!1)}),20),this.composing=0}}}),Nv=Ae.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class mD{constructor(e,t,r,i){this.field=e,this.line=t,this.from=r,this.to=i}}class om{constructor(e,t,r){this.field=e,this.from=t,this.to=r}map(e){let t=e.mapPos(this.from,-1,er.TrackDel),r=e.mapPos(this.to,1,er.TrackDel);return t==null||r==null?null:new om(this.field,t,r)}}class lm{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let r=[],i=[t],a=e.doc.lineAt(t),s=/^\s*/.exec(a.text)[0];for(let l of this.lines){if(r.length){let u=s,d=/^\t*/.exec(l)[0].length;for(let f=0;fnew om(l.field,i[l.line]+l.from,i[l.line]+l.to));return{text:r,ranges:o}}static parse(e){let t=[],r=[],i=[],a;for(let s of e.split(/\r\n?|\n/)){for(;a=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(s);){let o=a[1]?+a[1]:null,l=a[2]||a[3]||"",u=-1;for(let d=0;d=u&&f.field++}i.push(new mD(u,r.length,a.index,a.index+l.length)),s=s.slice(0,a.index)+l+s.slice(a.index+a[0].length)}for(let o;o=/\\([{}])/.exec(s);){s=s.slice(0,o.index)+o[1]+s.slice(o.index+o[0].length);for(let l of i)l.line==r.length&&l.from>o.index&&(l.from--,l.to--)}r.push(s)}return new lm(r,i)}}let _D=qe.widget({widget:new class extends ri{toDOM(){let n=document.createElement("span");return n.className="cm-snippetFieldPosition",n}ignoreEvent(){return!1}}}),gD=qe.mark({class:"cm-snippetField"});class $a{constructor(e,t){this.ranges=e,this.active=t,this.deco=qe.set(e.map(r=>(r.from==r.to?_D:gD).range(r.from,r.to)))}map(e){let t=[];for(let r of this.ranges){let i=r.map(e);if(!i)return null;t.push(i)}return new $a(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(r=>r.field==this.active&&r.from<=t.from&&r.to>=t.to))}}const js=it.define({map(n,e){return n&&n.map(e)}}),SD=it.define(),ws=hr.define({create(){return null},update(n,e){for(let t of e.effects){if(t.is(js))return t.value;if(t.is(SD)&&n)return new $a(n.ranges,t.value)}return n&&e.docChanged&&(n=n.map(e.changes)),n&&e.selection&&!n.selectionInsideField(e.selection)&&(n=null),n},provide:n=>Ae.decorations.from(n,e=>e?e.deco:qe.none)});function cm(n,e){return de.create(n.filter(t=>t.field==e).map(t=>de.range(t.from,t.to)))}function OD(n){let e=lm.parse(n);return(t,r,i,a)=>{let{text:s,ranges:o}=e.instantiate(t.state,i),l={changes:{from:i,to:a,insert:mt.of(s)},scrollIntoView:!0,annotations:r?yv.of(r):void 0};if(o.length&&(l.selection=cm(o,0)),o.length>1){let u=new $a(o,0),d=l.effects=[js.of(u)];t.state.field(ws,!1)===void 0&&d.push(it.appendConfig.of([ws,vD,yD,Nv]))}t.dispatch(t.state.update(l))}}function Dv(n){return({state:e,dispatch:t})=>{let r=e.field(ws,!1);if(!r||n<0&&r.active==0)return!1;let i=r.active+n,a=n>0&&!r.ranges.some(s=>s.field==i+n);return t(e.update({selection:cm(r.ranges,i),effects:js.of(a?null:new $a(r.ranges,i))})),!0}}const ED=({state:n,dispatch:e})=>n.field(ws,!1)?(e(n.update({effects:js.of(null)})),!0):!1,bD=Dv(1),TD=Dv(-1),CD=[{key:"Tab",run:bD,shift:TD},{key:"Escape",run:ED}],Mg=De.define({combine(n){return n.length?n[0]:CD}}),vD=Jn.highest(Xi.compute([Mg],n=>n.facet(Mg)));function mn(n,e){return Object.assign(Object.assign({},e),{apply:OD(n)})}const yD=Ae.domEventHandlers({mousedown(n,e){let t=e.state.field(ws,!1),r;if(!t||(r=e.posAtCoords({x:n.clientX,y:n.clientY}))==null)return!1;let i=t.ranges.find(a=>a.from<=r&&a.to>=r);return!i||i.field==t.active?!1:(e.dispatch({selection:cm(t.ranges,i.field),effects:js.of(t.ranges.some(a=>a.field>i.field)?new $a(t.ranges,i.field):null)}),!0)}}),xs={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Yi=it.define({map(n,e){let t=e.mapPos(n,-1,er.TrackAfter);return t??void 0}}),um=new class extends Hi{};um.startSide=1;um.endSide=-1;const wv=hr.define({create(){return yt.empty},update(n,e){if(e.selection){let t=e.state.doc.lineAt(e.selection.main.head).from,r=e.startState.doc.lineAt(e.startState.selection.main.head).from;t!=e.changes.mapPos(r,-1)&&(n=yt.empty)}n=n.map(e.changes);for(let t of e.effects)t.is(Yi)&&(n=n.update({add:[um.range(t.value,t.value+1)]}));return n}});function AD(){return[ID,wv]}const vc="()[]{}<>";function xv(n){for(let e=0;e{if((RD?n.composing:n.compositionStarted)||n.state.readOnly)return!1;let i=n.state.selection.main;if(r.length>2||r.length==2&&an(pr(r,0))==1||e!=i.from||t!=i.to)return!1;let a=wD(n.state,r);return a?(n.dispatch(a),!0):!1}),ND=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let r=Lv(n,n.selection.main.head).brackets||xs.brackets,i=null,a=n.changeByRange(s=>{if(s.empty){let o=xD(n.doc,s.head);for(let l of r)if(l==o&&Gl(n.doc,s.head)==xv(pr(l,0)))return{changes:{from:s.head-l.length,to:s.head+l.length},range:de.cursor(s.head-l.length)}}return{range:i=s}});return i||e(n.update(a,{scrollIntoView:!0,userEvent:"delete.backward"})),!i},DD=[{key:"Backspace",run:ND}];function wD(n,e){let t=Lv(n,n.selection.main.head),r=t.brackets||xs.brackets;for(let i of r){let a=xv(pr(i,0));if(e==i)return a==i?MD(n,i,r.indexOf(i+i+i)>-1,t):LD(n,i,a,t.before||xs.before);if(e==a&&kv(n,n.selection.main.from))return kD(n,i,a)}return null}function kv(n,e){let t=!1;return n.field(wv).between(0,n.doc.length,r=>{r==e&&(t=!0)}),t}function Gl(n,e){let t=n.sliceString(e,e+2);return t.slice(0,an(pr(t,0)))}function xD(n,e){let t=n.sliceString(e-2,e);return an(pr(t,0))==t.length?t:t.slice(1)}function LD(n,e,t,r){let i=null,a=n.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:t,from:s.to}],effects:Yi.of(s.to+e.length),range:de.range(s.anchor+e.length,s.head+e.length)};let o=Gl(n.doc,s.head);return!o||/\s/.test(o)||r.indexOf(o)>-1?{changes:{insert:e+t,from:s.head},effects:Yi.of(s.head+e.length),range:de.cursor(s.head+e.length)}:{range:i=s}});return i?null:n.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function kD(n,e,t){let r=null,i=n.changeByRange(a=>a.empty&&Gl(n.doc,a.head)==t?{changes:{from:a.head,to:a.head+t.length,insert:t},range:de.cursor(a.head+t.length)}:r={range:a});return r?null:n.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function MD(n,e,t,r){let i=r.stringPrefixes||xs.stringPrefixes,a=null,s=n.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:e,from:o.to}],effects:Yi.of(o.to+e.length),range:de.range(o.anchor+e.length,o.head+e.length)};let l=o.head,u=Gl(n.doc,l),d;if(u==e){if(Pg(n,l))return{changes:{insert:e+e,from:l},effects:Yi.of(l+e.length),range:de.cursor(l+e.length)};if(kv(n,l)){let m=t&&n.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+m.length,insert:m},range:de.cursor(l+m.length)}}}else{if(t&&n.sliceDoc(l-2*e.length,l)==e+e&&(d=Bg(n,l-2*e.length,i))>-1&&Pg(n,d))return{changes:{insert:e+e+e+e,from:l},effects:Yi.of(l+e.length),range:de.cursor(l+e.length)};if(n.charCategorizer(l)(u)!=Pt.Word&&Bg(n,l,i)>-1&&!PD(n,l,e,i))return{changes:{insert:e+e,from:l},effects:Yi.of(l+e.length),range:de.cursor(l+e.length)}}return{range:a=o}});return a?null:n.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function Pg(n,e){let t=Ut(n).resolveInner(e+1);return t.parent&&t.from==e}function PD(n,e,t,r){let i=Ut(n).resolveInner(e,-1),a=r.reduce((s,o)=>Math.max(s,o.length),0);for(let s=0;s<5;s++){let o=n.sliceDoc(i.from,Math.min(i.to,i.from+t.length+a)),l=o.indexOf(t);if(!l||l>-1&&r.indexOf(o.slice(0,l))>-1){let d=i.firstChild;for(;d&&d.from==i.from&&d.to-d.from>t.length+l;){if(n.sliceDoc(d.to-t.length,d.to)==t)return!1;d=d.firstChild}return!0}let u=i.to==e&&i.parent;if(!u)break;i=u}return!1}function Bg(n,e,t){let r=n.charCategorizer(e);if(r(n.sliceDoc(e-1,e))!=Pt.Word)return e;for(let i of t){let a=e-i.length;if(n.sliceDoc(a,e)==i&&r(n.sliceDoc(a-1,a))!=Pt.Word)return a}return-1}function BD(n={}){return[Zr,Fr.of(n),hD,FD,Nv]}const UD=[{key:"Ctrl-Space",run:cD},{key:"Escape",run:uD},{key:"ArrowDown",run:To(!0)},{key:"ArrowUp",run:To(!1)},{key:"PageDown",run:To(!0,"page")},{key:"PageUp",run:To(!1,"page")},{key:"Enter",run:lD}],FD=Jn.highest(Xi.computeN([Fr],n=>n.facet(Fr).defaultKeymap?[UD]:[])),YD=[mn("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),mn("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),mn("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),mn("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),mn("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),mn(`try { \${} } catch (\${error}) { \${} @@ -25,7 +25,7 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction `+e.scrub();for(let r of e.markers)t.marks.push(r)}return this.finishLeaf(t),null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}moveRangeI(){for(;this.rangeI=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let t=pw;if(t.end=e,e>=this.to)t.text="";else if(t.text=this.lineChunkAt(e),t.end+=t.text.length,this.ranges.length>1){let r=this.absoluteLineStart,i=this.rangeI;for(;this.ranges[i].tothis.to?r.slice(0,this.to-e):r}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,r=0){this.block=fl.create(e,r,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,r=0){this.startContext(this.parser.getNodeType(e),t,r)}addNode(e,t,r){typeof e=="number"&&(e=new St(this.parser.nodeSet.types[e],Pa,Pa,(r??this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(Sh(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?Kv(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let r of e.parsers)if(r.finish(this,e))return;let t=Sh(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(ge.Paragraph,e.content.length),e.start)}elt(e,t,r,i){return typeof e=="string"?gt(this.parser.getNodeType(e),t,r,i):new e1(e,t)}get buffer(){return new Jv(this.parser.nodeSet)}}function Kv(n,e,t,r,i){let a=n[e].to,s=[],o=[],l=t.from+r;function u(d,f){for(;f?d>=a:d>a;){let m=n[e+1].from-a;r+=m,d+=m,e++,a=n[e].to}}for(let d=t.firstChild;d;d=d.nextSibling){u(d.from+r,!0);let f=d.from+r,m,g=i.get(d.tree);g?m=g:d.to+r>a?(m=Kv(n,e,d,r,i),u(d.to+r,!1)):m=d.toTree(),s.push(m),o.push(f-l)}return u(t.to+r,!1),new St(t.type,s,o,t.to+r-l,t.tree?t.tree.propValues:void 0)}class Ql extends jh{constructor(e,t,r,i,a,s,o,l,u){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=r,this.blockNames=i,this.endLeafBlock=a,this.skipContextMarkup=s,this.inlineParsers=o,this.inlineNames=l,this.wrappers=u,this.nodeTypes=Object.create(null);for(let d of e.types)this.nodeTypes[d.name]=d.id}createParse(e,t,r){let i=new fw(this,e,t,r);for(let a of this.wrappers)i=a(i,e,t,r);return i}configure(e){let t=gh(e);if(!t)return this;let{nodeSet:r,skipContextMarkup:i}=this,a=this.blockParsers.slice(),s=this.leafBlockParsers.slice(),o=this.blockNames.slice(),l=this.inlineParsers.slice(),u=this.inlineNames.slice(),d=this.endLeafBlock.slice(),f=this.wrappers;if(ts(t.defineNodes)){i=Object.assign({},i);let m=r.types.slice(),g;for(let b of t.defineNodes){let{name:v,block:y,composite:N,style:F}=typeof b=="string"?{name:b}:b;if(m.some(E=>E.name==v))continue;N&&(i[m.length]=(E,O,A)=>N(O,A,E.value));let X=m.length,p=N?["Block","BlockContext"]:y?X>=ge.ATXHeading1&&X<=ge.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;m.push(rr.define({id:X,name:v,props:p&&[[Ze.group,p]]})),F&&(g||(g={}),Array.isArray(F)||F instanceof Cn?g[v]=F:Object.assign(g,F))}r=new Ws(m),g&&(r=r.extend(Qa(g)))}if(ts(t.props)&&(r=r.extend(...t.props)),ts(t.remove))for(let m of t.remove){let g=this.blockNames.indexOf(m),b=this.inlineNames.indexOf(m);g>-1&&(a[g]=s[g]=void 0),b>-1&&(l[b]=void 0)}if(ts(t.parseBlock))for(let m of t.parseBlock){let g=o.indexOf(m.name);if(g>-1)a[g]=m.parse,s[g]=m.leaf;else{let b=m.before?vo(o,m.before):m.after?vo(o,m.after)+1:o.length-1;a.splice(b,0,m.parse),s.splice(b,0,m.leaf),o.splice(b,0,m.name)}m.endLeaf&&d.push(m.endLeaf)}if(ts(t.parseInline))for(let m of t.parseInline){let g=u.indexOf(m.name);if(g>-1)l[g]=m.parse;else{let b=m.before?vo(u,m.before):m.after?vo(u,m.after)+1:u.length-1;l.splice(b,0,m.parse),u.splice(b,0,m.name)}}return t.wrap&&(f=f.concat(t.wrap)),new Ql(r,a,s,o,d,i,l,u,f)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let r=new mw(this,e,t);e:for(let i=t;i=0){i=o;continue e}}i++}return r.resolveMarkers(0)}}function ts(n){return n!=null&&n.length>0}function gh(n){if(!Array.isArray(n))return n;if(n.length==0)return null;let e=gh(n[0]);if(n.length==1)return e;let t=gh(n.slice(1));if(!t||!e)return e||t;let r=(s,o)=>(s||Pa).concat(o||Pa),i=e.wrap,a=t.wrap;return{props:r(e.props,t.props),defineNodes:r(e.defineNodes,t.defineNodes),parseBlock:r(e.parseBlock,t.parseBlock),parseInline:r(e.parseInline,t.parseInline),remove:r(e.remove,t.remove),wrap:i?a?(s,o,l,u)=>i(a(s,o,l,u),o,l,u):i:a}}function vo(n,e){let t=n.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}let jv=[rr.none];for(let n=1,e;e=ge[n];n++)jv[n]=rr.define({id:n,name:e,props:n>=ge.Escape?[]:[[Ze.group,n in Qv?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});const Pa=[];class Jv{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,r,i=0){return this.content.push(e,t,r,4+i*4),this}writeElements(e,t=0){for(let r of e)r.writeTo(this,t);return this}finish(e,t){return St.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}}let Ls=class{constructor(e,t,r,i=Pa){this.type=e,this.from=t,this.to=r,this.children=i}writeTo(e,t){let r=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-r)}toTree(e){return new Jv(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}};class e1{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return Pa}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}}function gt(n,e,t,r){return new Ls(n,e,t,r)}const t1={resolve:"Emphasis",mark:"EmphasisMark"},r1={resolve:"Emphasis",mark:"EmphasisMark"},rs={},Xg={};class vn{constructor(e,t,r,i){this.type=e,this.from=t,this.to=r,this.side=i}}const Zg="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";let ks=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{ks=new RegExp("[\\p{Pc}|\\p{Pd}|\\p{Pe}|\\p{Pf}|\\p{Pi}|\\p{Po}|\\p{Ps}]","u")}catch{}const Rc={Escape(n,e,t){if(e!=92||t==n.end-1)return-1;let r=n.char(t+1);for(let i=0;i]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(r);if(i)return n.append(gt(ge.URL,t,t+1+i[0].length));let a=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(r);if(a)return n.append(gt(ge.Comment,t,t+1+a[0].length));let s=/^\?[^]*?\?>/.exec(r);if(s)return n.append(gt(ge.ProcessingInstruction,t,t+1+s[0].length));let o=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(r);return o?n.append(gt(ge.HTMLTag,t,t+1+o[0].length)):-1},Emphasis(n,e,t){if(e!=95&&e!=42)return-1;let r=t+1;for(;n.char(r)==e;)r++;let i=n.slice(t-1,t),a=n.slice(r,r+1),s=ks.test(i),o=ks.test(a),l=/\s|^$/.test(i),u=/\s|^$/.test(a),d=!u&&(!o||l||s),f=!l&&(!s||u||o),m=d&&(e==42||!f||s),g=f&&(e==42||!d||o);return n.append(new vn(e==95?t1:r1,t,r,(m?1:0)|(g?2:0)))},HardBreak(n,e,t){if(e==92&&n.char(t+1)==10)return n.append(gt(ge.HardBreak,t,t+2));if(e==32){let r=t+1;for(;n.char(r)==32;)r++;if(n.char(r)==10&&r>=t+2)return n.append(gt(ge.HardBreak,t,r+1))}return-1},Link(n,e,t){return e==91?n.append(new vn(rs,t,t+1,1)):-1},Image(n,e,t){return e==33&&n.char(t+1)==91?n.append(new vn(Xg,t,t+2,1)):-1},LinkEnd(n,e,t){if(e!=93)return-1;for(let r=n.parts.length-1;r>=0;r--){let i=n.parts[r];if(i instanceof vn&&(i.type==rs||i.type==Xg)){if(!i.side||n.skipSpace(i.to)==t&&!/[(\[]/.test(n.slice(t+1,t+2)))return n.parts[r]=null,-1;let a=n.takeContent(r),s=n.parts[r]=hw(n,a,i.type==rs?ge.Link:ge.Image,i.from,t+1);if(i.type==rs)for(let o=0;oe?gt(ge.URL,e+t,a+t):a==n.length?null:!1}}function i1(n,e,t){let r=n.charCodeAt(e);if(r!=39&&r!=34&&r!=40)return!1;let i=r==40?41:r;for(let a=e+1,s=!1;a=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,r,i,a){return this.append(new vn(e,t,r,(i?1:0)|(a?2:0)))}addElement(e){return this.append(e)}resolveMarkers(e){for(let r=e;r=e;l--){let v=this.parts[l];if(v instanceof vn&&v.side&1&&v.type==i.type&&!(a&&(i.side&1||v.side&2)&&(v.to-v.from+s)%3==0&&((v.to-v.from)%3||s%3))){o=v;break}}if(!o)continue;let u=i.type.resolve,d=[],f=o.from,m=i.to;if(a){let v=Math.min(2,o.to-o.from,s);f=o.to-v,m=i.from+v,u=v==1?"Emphasis":"StrongEmphasis"}o.type.mark&&d.push(this.elt(o.type.mark,f,o.to));for(let v=l+1;v=0;t--){let r=this.parts[t];if(r instanceof vn&&r.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return gs(this.text,e-this.offset)+this.offset}elt(e,t,r,i){return typeof e=="string"?gt(this.parser.getNodeType(e),t,r,i):new e1(e,t)}}function Sh(n,e){if(!e.length)return n;if(!n.length)return e;let t=n.slice(),r=0;for(let i of e){for(;r(e?e-1:0))return!1;if(this.fragmentEnd<0){let a=this.fragment.to;for(;a>0&&this.input.read(a-1,a)!=` -`;)a--;this.fragmentEnd=a?a-1:0}let r=this.cursor;r||(r=this.cursor=this.fragment.tree.cursor(),r.firstChild());let i=e+this.fragment.offset;for(;r.to<=i;)if(!r.parent())return!1;for(;;){if(r.from>=i)return this.fragment.from<=t;if(!r.childAfter(i))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(Ze.contextHash)==e}takeNodes(e){let t=this.cursor,r=this.fragment.offset,i=this.fragmentEnd-(this.fragment.openEnd?1:0),a=e.absoluteLineStart,s=a,o=e.block.children.length,l=s,u=o;for(;;){if(t.to-r>i){if(t.type.isAnonymous&&t.firstChild())continue;break}let d=s1(t.from-r,e.ranges);if(t.to-r<=e.ranges[e.rangeI].to)e.addNode(t.tree,d);else{let f=new St(e.parser.nodeSet.types[ge.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,d)}if(t.type.is("Block")&&(_w.indexOf(t.type.id)<0?(s=t.to-r,o=e.block.children.length):(s=l,o=u,l=t.to-r,u=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>o;)e.block.children.pop(),e.block.positions.pop();return s-a}}function s1(n,e){let t=n;for(let r=1;rCo[n]),Object.keys(Co).map(n=>uw[n]),Object.keys(Co),dw,Qv,Object.keys(Rc).map(n=>Rc[n]),Object.keys(Rc),[]);function Ew(n,e,t){let r=[];for(let i=n.firstChild,a=e;;i=i.nextSibling){let s=i?i.from:t;if(s>a&&r.push({from:a,to:s}),!i)break;a=i.to}return r}function bw(n){let{codeParser:e,htmlParser:t}=n;return{wrap:tv((i,a)=>{let s=i.type.id;if(e&&(s==ge.CodeBlock||s==ge.FencedCode)){let o="";if(s==ge.FencedCode){let u=i.node.getChild(ge.CodeInfo);u&&(o=a.read(u.from,u.to))}let l=e(o);if(l)return{parser:l,overlay:u=>u.type.id==ge.CodeText}}else if(t&&(s==ge.HTMLBlock||s==ge.HTMLTag))return{parser:t,overlay:Ew(i.node,i.from,i.to)};return null})}}const Tw={resolve:"Strikethrough",mark:"StrikethroughMark"},Cw={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":P.strikethrough}},{name:"StrikethroughMark",style:P.processingInstruction}],parseInline:[{name:"Strikethrough",parse(n,e,t){if(e!=126||n.char(t+1)!=126||n.char(t+2)==126)return-1;let r=n.slice(t-1,t),i=n.slice(t+2,t+3),a=/\s|^$/.test(r),s=/\s|^$/.test(i),o=ks.test(r),l=ks.test(i);return n.addDelimiter(Tw,t,t+2,!s&&(!l||a||o),!a&&(!o||s||l))},after:"Emphasis"}]};function Ss(n,e,t=0,r,i=0){let a=0,s=!0,o=-1,l=-1,u=!1,d=()=>{r.push(n.elt("TableCell",i+o,i+l,n.parser.parseInline(e.slice(o,l),i+o)))};for(let f=t;f-1)&&a++,s=!1,r&&(o>-1&&d(),r.push(n.elt("TableDelimiter",f+i,f+i+1))),o=l=-1):(u||m!=32&&m!=9)&&(o<0&&(o=f),l=f+1),u=!u&&m==92}return o>-1&&(a++,r&&d()),a}function Kg(n,e){for(let t=e;ti instanceof jg)||!Kg(e.text,e.basePos))return!1;let r=n.scanLine(n.absoluteLineEnd+1).text;return o1.test(r)&&Ss(n,e.text,e.basePos)==Ss(n,r,e.basePos)},before:"SetextHeading"}]};class yw{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}}const Aw={defineNodes:[{name:"Task",block:!0,style:P.list},{name:"TaskMarker",style:P.atom}],parseBlock:[{name:"TaskList",leaf(n,e){return/^\[[ xX]\][ \t]/.test(e.content)&&n.parentType().name=="ListItem"?new yw:null},after:"SetextHeading"}]},Jg=/(www\.)|(https?:\/\/)|([\w.+-]+@)|(mailto:|xmpp:)/gy,eS=/[\w-]+(\.\w+(\.\w+)?)(\/[^\s<]*)?/gy,tS=/[\w.+-]+@[\w-]+\.[\w.-]+/gy,rS=/\/[a-zA-Z\d@.]+/gy;function nS(n,e,t,r){let i=0;for(let a=e;anS(n,e,r,"("))r--;else if(i==";"&&(a=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(n.slice(e,r))))r=e+a.index;else break}return r}function iS(n,e){tS.lastIndex=e;let t=tS.exec(n);if(!t)return-1;let r=t[0][t[0].length-1];return r=="_"||r=="-"?-1:e+t[0].length-(r=="."?1:0)}const Iw={parseInline:[{name:"Autolink",parse(n,e,t){let r=t-n.offset;Jg.lastIndex=r;let i=Jg.exec(n.text),a=-1;return!i||(i[1]||i[2]?a=Rw(n.text,r+i[0].length):i[3]?a=iS(n.text,r):(a=iS(n.text,r+i[0].length),a>-1&&i[0]=="xmpp:"&&(rS.lastIndex=a,i=rS.exec(n.text),i&&(a=i.index+i[0].length))),a<0)?-1:(n.addElement(n.elt("URL",t,a+n.offset)),a+n.offset)}}]},Nw=[vw,Aw,Cw,Iw];function l1(n,e,t){return(r,i,a)=>{if(i!=n||r.char(a+1)==n)return-1;let s=[r.elt(t,a,a+1)];for(let o=a+1;o=65&&n<=90||n==95||n>=97&&n<=122||n>=161}function _1(n){return n==9||n==10||n==13||n==32}let lS=null,cS=null,uS=0;function Eh(n,e){let t=n.pos+e;if(uS==t&&cS==n)return lS;let r=n.peek(e);for(;_1(r);)r=n.peek(++e);let i="";for(;t0(r);)i+=String.fromCharCode(r),r=n.peek(++e);return cS=n,uS=t,lS=i?i.toLowerCase():r==r0||r==n0?void 0:null}const g1=60,ml=62,hm=47,r0=63,n0=33,i0=45;function dS(n,e){this.name=n,this.parent=e,this.hash=e?e.hash:0;for(let t=0;t-1?new dS(Eh(r,1)||"",n):n},reduce(n,e){return e==f1&&n?n.parent:n},reuse(n,e,t,r){let i=e.type.id;return i==hl||i==Xw?new dS(Eh(r,1)||"",n):n},hash(n){return n?n.hash:0},strict:!1}),o0=new Gn((n,e)=>{if(n.next!=g1){n.next<0&&e.context&&n.acceptToken(Ic);return}n.advance();let t=n.next==hm;t&&n.advance();let r=Eh(n,0);if(r===void 0)return;if(!r)return n.acceptToken(t?$w:hl);let i=e.context?e.context.name:null;if(t){if(r==i)return n.acceptToken(Yw);if(i&&e0[i])return n.acceptToken(Ic,-2);if(e.dialectEnabled(Kw))return n.acceptToken(Gw);for(let a=e.context;a;a=a.parent)if(a.name==r)return;n.acceptToken(Qw)}else{if(r=="script")return n.acceptToken(c1);if(r=="style")return n.acceptToken(u1);if(r=="textarea")return n.acceptToken(d1);if(Jw.hasOwnProperty(r))return n.acceptToken(p1);i&&oS[i]&&oS[i][r]?n.acceptToken(Ic,-1):n.acceptToken(hl)}},{contextual:!0}),l0=new Gn(n=>{for(let e=0,t=0;;t++){if(n.next<0){t&&n.acceptToken(sS);break}if(n.next==i0)e++;else if(n.next==ml&&e>=2){t>3&&n.acceptToken(sS,-2);break}else e=0;n.advance()}});function c0(n){for(;n;n=n.parent)if(n.name=="svg"||n.name=="math")return!0;return!1}const u0=new Gn((n,e)=>{if(n.next==hm&&n.peek(1)==ml){let t=e.dialectEnabled(jw)||c0(e.context);n.acceptToken(t?Fw:aS,2)}else n.next==ml&&n.acceptToken(aS,1)});function mm(n,e,t){let r=2+n.length;return new Gn(i=>{for(let a=0,s=0,o=0;;o++){if(i.next<0){o&&i.acceptToken(e);break}if(a==0&&i.next==g1||a==1&&i.next==hm||a>=2&&as?i.acceptToken(e,-s):i.acceptToken(t,-(s-2));break}else if((i.next==10||i.next==13)&&o){i.acceptToken(e,1);break}else a=s=0;i.advance()}})}const d0=mm("script",Lw,kw),p0=mm("style",Mw,Pw),f0=mm("textarea",Bw,Uw),h0=Qa({"Text RawText":P.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":P.angleBracket,TagName:P.tagName,"MismatchedCloseTag/TagName":[P.tagName,P.invalid],AttributeName:P.attributeName,"AttributeValue UnquotedAttributeValue":P.attributeValue,Is:P.definitionOperator,"EntityReference CharacterReference":P.character,Comment:P.blockComment,ProcessingInst:P.processingInstruction,DoctypeDecl:P.documentMeta}),m0=wa.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:"+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:s0,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"]],propSources:[h0],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let u=o.type.id;if(u==Hw)return Nc(o,l,t);if(u==zw)return Nc(o,l,r);if(u==Ww)return Nc(o,l,i);if(u==f1&&a.length){let d=o.node,f=d.firstChild,m=f&&pS(f,l),g;if(m){for(let b of a)if(b.tag==m&&(!b.attrs||b.attrs(g||(g=S1(d,l))))){let v=d.lastChild;return{parser:b.parser,overlay:[{from:f.to,to:v.type.id==Zw?v.from:d.to}]}}}}if(s&&u==h1){let d=o.node,f;if(f=d.firstChild){let m=s[l.read(f.from,f.to)];if(m)for(let g of m){if(g.tagName&&g.tagName!=pS(d.parent,l))continue;let b=d.lastChild;if(b.type.id==Oh){let v=b.from+1,y=b.lastChild,N=b.to-(y&&y.isError?0:1);if(N>v)return{parser:g.parser,overlay:[{from:v,to:N}]}}else if(b.type.id==m1)return{parser:g.parser,overlay:[{from:b.from,to:b.to}]}}}}return null})}const _0=96,fS=1,g0=97,S0=98,hS=2,E1=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],O0=58,E0=40,b1=95,b0=91,$o=45,T0=46,C0=35,v0=37;function _l(n){return n>=65&&n<=90||n>=97&&n<=122||n>=161}function y0(n){return n>=48&&n<=57}const A0=new Gn((n,e)=>{for(let t=!1,r=0,i=0;;i++){let{next:a}=n;if(_l(a)||a==$o||a==b1||t&&y0(a))!t&&(a!=$o||i>0)&&(t=!0),r===i&&a==$o&&r++,n.advance();else{t&&n.acceptToken(a==E0?g0:r==2&&e.canShift(hS)?hS:S0);break}}}),R0=new Gn(n=>{if(E1.includes(n.peek(-1))){let{next:e}=n;(_l(e)||e==b1||e==C0||e==T0||e==b0||e==O0||e==$o)&&n.acceptToken(_0)}}),I0=new Gn(n=>{if(!E1.includes(n.peek(-1))){let{next:e}=n;if(e==v0&&(n.advance(),n.acceptToken(fS)),_l(e)){do n.advance();while(_l(n.next));n.acceptToken(fS)}}}),N0=Qa({"AtKeyword import charset namespace keyframes media supports":P.definitionKeyword,"from to selector":P.keyword,NamespaceName:P.namespace,KeyframeName:P.labelName,KeyframeRangeName:P.operatorKeyword,TagName:P.tagName,ClassName:P.className,PseudoClassName:P.constant(P.className),IdName:P.labelName,"FeatureName PropertyName":P.propertyName,AttributeName:P.attributeName,NumberLiteral:P.number,KeywordQuery:P.keyword,UnaryQueryOp:P.operatorKeyword,"CallTag ValueName":P.atom,VariableName:P.variableName,Callee:P.operatorKeyword,Unit:P.unit,"UniversalSelector NestingSelector":P.definitionOperator,MatchOp:P.compareOperator,"ChildOp SiblingOp, LogicOp":P.logicOperator,BinOp:P.arithmeticOperator,Important:P.modifier,Comment:P.blockComment,ColorLiteral:P.color,"ParenthesizedContent StringLiteral":P.string,":":P.punctuation,"PseudoOp #":P.derefOperator,"; ,":P.separator,"( )":P.paren,"[ ]":P.squareBracket,"{ }":P.brace}),D0={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:134},w0={__proto__:null,"@import":114,"@media":138,"@charset":142,"@namespace":146,"@keyframes":152,"@supports":164},x0={__proto__:null,not:128,only:128},L0=wa.deserialize({version:14,states:"9bQYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DPO$vQ[O'#DTOOQP'#Ej'#EjO${QdO'#DeO%gQ[O'#DrO${QdO'#DtO%xQ[O'#DvO&TQ[O'#DyO&]Q[O'#EPO&kQ[O'#EROOQS'#Ei'#EiOOQS'#EU'#EUQYQ[OOO&rQXO'#CdO'gQWO'#DaO'lQWO'#EpO'wQ[O'#EpQOQWOOP(RO#tO'#C_POOO)C@X)C@XOOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(^Q[O'#EXO(xQWO,58{O)QQ[O,59SO$qQ[O,59kO$vQ[O,59oO(^Q[O,59sO(^Q[O,59uO(^Q[O,59vO)]Q[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)dQWO,59SO)iQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)nQ`O,59oOOQS'#Cp'#CpO${QdO'#CqO)vQvO'#CsO+TQtO,5:POOQO'#Cx'#CxO)iQWO'#CwO+iQWO'#CyOOQS'#Em'#EmOOQO'#Dh'#DhO+nQ[O'#DoO+|QWO'#EqO&]Q[O'#DmO,[QWO'#DpOOQO'#Er'#ErO({QWO,5:^O,aQpO,5:`OOQS'#Dx'#DxO,iQWO,5:bO,nQ[O,5:bOOQO'#D{'#D{O,vQWO,5:eO,{QWO,5:kO-TQWO,5:mOOQS-E8S-E8SO${QdO,59{O-]Q[O'#EZO-jQWO,5;[O-jQWO,5;[POOO'#ET'#ETP-uO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.lQXO,5:sOOQO-E8V-E8VOOQS1G.g1G.gOOQP1G.n1G.nO)dQWO1G.nO)iQWO1G.nOOQP1G/V1G/VO.yQ`O1G/ZO/dQXO1G/_O/zQXO1G/aO0bQXO1G/bO0xQWO,59zO0}Q[O'#DOO1UQdO'#CoOOQP1G/Z1G/ZO${QdO1G/ZO1]QpO,59]OOQS,59_,59_O${QdO,59aO1eQWO1G/kOOQS,59c,59cO1jQ!bO,59eO1rQWO'#DhO1}QWO,5:TO2SQWO,5:ZO&]Q[O,5:VO&]Q[O'#E[O2[QWO,5;]O2gQWO,5:XO(^Q[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2xQWO1G/|O2}QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO3YQtO1G/gOOQO,5:u,5:uO3pQ[O,5:uOOQO-E8X-E8XO3}QWO1G0vPOOO-E8R-E8RPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$u7+$uO${QdO7+$uOOQS1G/f1G/fO4YQXO'#EoO4aQWO,59jO4fQtO'#EVO5ZQdO'#ElO5eQWO,59ZO5jQpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5rQWO1G/PO${QdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5wQWO,5:vOOQO-E8Y-E8YO6VQXO1G/vOOQS7+%h7+%hO6^QYO'#CsOOQO'#EO'#EOO6iQ`O'#D}OOQO'#D}'#D}O6tQWO'#E]O6|QdO,5:hOOQS,5:h,5:hO7XQtO'#EYO${QdO'#EYO8VQdO7+%ROOQO7+%R7+%ROOQO1G0a1G0aO8jQpO<T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#b[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l[[o`#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSp^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#_QOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#X~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!W^Oy%^z;'S%^;'S;=`%o<%lO%^dCoSzSOy%^z;'S%^;'S;=`%o<%lO%^bDQU|QOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS|Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[!YQo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bFfSxQOy%^z;'S%^;'S;=`%o<%lO%^lFwSv[Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!`Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!RUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!Q^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!PQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[R0,I0,A0,1,2,3,4,new ol("m~RRYZ[z{a~~g~aO#Z~~dP!P!Qg~lO#[~~",28,102)],topRules:{StyleSheet:[0,4],Styles:[1,84]},specialized:[{term:97,get:n=>D0[n]||-1},{term:56,get:n=>w0[n]||-1},{term:98,get:n=>x0[n]||-1}],tokenPrec:1169});let Dc=null;function wc(){if(!Dc&&typeof document=="object"&&document.body){let{style:n}=document.body,e=[],t=new Set;for(let r in n)r!="cssText"&&r!="cssFloat"&&typeof n[r]=="string"&&(/[A-Z]/.test(r)&&(r=r.replace(/[A-Z]/g,i=>"-"+i.toLowerCase())),t.has(r)||(e.push(r),t.add(r)));Dc=e.sort().map(r=>({type:"property",label:r}))}return Dc||[]}const mS=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(n=>({type:"class",label:n})),_S=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(n=>({type:"keyword",label:n})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(n=>({type:"constant",label:n}))),k0=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(n=>({type:"type",label:n})),li=/^(\w[\w-]*|-\w[\w-]*|)$/,M0=/^-(-[\w-]*)?$/;function P0(n,e){var t;if((n.name=="("||n.type.isError)&&(n=n.parent||n),n.name!="ArgList")return!1;let r=(t=n.parent)===null||t===void 0?void 0:t.firstChild;return(r==null?void 0:r.name)!="Callee"?!1:e.sliceString(r.from,r.to)=="var"}const gS=new ev,B0=["Declaration"];function U0(n){for(let e=n;;){if(e.type.isTop)return e;if(!(e=e.parent))return n}}function T1(n,e,t){if(e.to-e.from>4096){let r=gS.get(e);if(r)return r;let i=[],a=new Set,s=e.cursor(Rt.IncludeAnonymous);if(s.firstChild())do for(let o of T1(n,s.node,t))a.has(o.label)||(a.add(o.label),i.push(o));while(s.nextSibling());return gS.set(e,i),i}else{let r=[],i=new Set;return e.cursor().iterate(a=>{var s;if(t(a)&&a.matchContext(B0)&&((s=a.node.nextSibling)===null||s===void 0?void 0:s.name)==":"){let o=n.sliceString(a.from,a.to);i.has(o)||(i.add(o),r.push({label:o,type:"variable"}))}}),r}}const F0=n=>e=>{let{state:t,pos:r}=e,i=Ut(t).resolveInner(r,-1),a=i.type.isError&&i.from==i.to-1&&t.doc.sliceString(i.from,i.to)=="-";if(i.name=="PropertyName"||(a||i.name=="TagName")&&/^(Block|Styles)$/.test(i.resolve(i.to).name))return{from:i.from,options:wc(),validFor:li};if(i.name=="ValueName")return{from:i.from,options:_S,validFor:li};if(i.name=="PseudoClassName")return{from:i.from,options:mS,validFor:li};if(n(i)||(e.explicit||a)&&P0(i,t.doc))return{from:n(i)||a?i.from:r,options:T1(t.doc,U0(i),n),validFor:M0};if(i.name=="TagName"){for(let{parent:l}=i;l;l=l.parent)if(l.name=="Block")return{from:i.from,options:wc(),validFor:li};return{from:i.from,options:k0,validFor:li}}if(!e.explicit)return null;let s=i.resolve(r),o=s.childBefore(r);return o&&o.name==":"&&s.name=="PseudoClassSelector"?{from:r,options:mS,validFor:li}:o&&o.name==":"&&s.name=="Declaration"||s.name=="ArgList"?{from:r,options:_S,validFor:li}:s.name=="Block"||s.name=="Styles"?{from:r,options:wc(),validFor:li}:null},Y0=F0(n=>n.name=="VariableName"),gl=xa.define({name:"css",parser:L0.configure({props:[Xs.add({Declaration:Go()}),Zs.add({"Block KeyframeList":pv})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function G0(){return new Is(gl,gl.data.of({autocomplete:Y0}))}const ns=["_blank","_self","_top","_parent"],xc=["ascii","utf-8","utf-16","latin1","latin1"],Lc=["get","post","put","delete"],kc=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Vr=["true","false"],ke={},Q0={a:{attrs:{href:null,ping:null,type:null,media:null,target:ns,hreflang:null}},abbr:ke,address:ke,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:ke,aside:ke,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:ke,base:{attrs:{href:null,target:ns}},bdi:ke,bdo:ke,blockquote:{attrs:{cite:null}},body:ke,br:ke,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:kc,formmethod:Lc,formnovalidate:["novalidate"],formtarget:ns,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:ke,center:ke,cite:ke,code:ke,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:ke,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:ke,div:ke,dl:ke,dt:ke,em:ke,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:ke,figure:ke,footer:ke,form:{attrs:{action:null,name:null,"accept-charset":xc,autocomplete:["on","off"],enctype:kc,method:Lc,novalidate:["novalidate"],target:ns}},h1:ke,h2:ke,h3:ke,h4:ke,h5:ke,h6:ke,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:ke,hgroup:ke,hr:ke,html:{attrs:{manifest:null}},i:ke,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:kc,formmethod:Lc,formnovalidate:["novalidate"],formtarget:ns,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:ke,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:ke,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:ke,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:xc,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:ke,noscript:ke,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:ke,param:{attrs:{name:null,value:null}},pre:ke,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:ke,rt:ke,ruby:ke,samp:ke,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:xc}},section:ke,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:ke,source:{attrs:{src:null,type:null,media:null}},span:ke,strong:ke,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:ke,summary:ke,sup:ke,table:ke,tbody:ke,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:ke,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:ke,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:ke,time:{attrs:{datetime:null}},title:ke,tr:ke,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:ke,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:ke},C1={accesskey:null,class:null,contenteditable:Vr,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Vr,autocorrect:Vr,autocapitalize:Vr,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Vr,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Vr,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Vr,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Vr,"aria-hidden":Vr,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Vr,"aria-multiselectable":Vr,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Vr,"aria-relevant":null,"aria-required":Vr,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},v1="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(n=>"on"+n);for(let n of v1)C1[n]=null;class Ms{constructor(e,t){this.tags=Object.assign(Object.assign({},Q0),e),this.globalAttrs=Object.assign(Object.assign({},C1),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}Ms.default=new Ms;function Ba(n,e,t=n.length){if(!e)return"";let r=e.firstChild,i=r&&r.getChild("TagName");return i?n.sliceString(i.from,Math.min(i.to,t)):""}function Ua(n,e=!1){for(;n;n=n.parent)if(n.name=="Element")if(e)e=!1;else return n;return null}function y1(n,e,t){let r=t.tags[Ba(n,Ua(e))];return(r==null?void 0:r.children)||t.allTags}function _m(n,e){let t=[];for(let r=Ua(e);r&&!r.type.isTop;r=Ua(r.parent)){let i=Ba(n,r);if(i&&r.lastChild.name=="CloseTag")break;i&&t.indexOf(i)<0&&(e.name=="EndTag"||e.from>=r.firstChild.to)&&t.push(i)}return t}const A1=/^[:\-\.\w\u00b7-\uffff]*$/;function SS(n,e,t,r,i){let a=/\s*>/.test(n.sliceDoc(i,i+5))?"":">",s=Ua(t,!0);return{from:r,to:i,options:y1(n.doc,s,e).map(o=>({label:o,type:"type"})).concat(_m(n.doc,t).map((o,l)=>({label:"/"+o,apply:"/"+o+a,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function OS(n,e,t,r){let i=/\s*>/.test(n.sliceDoc(r,r+5))?"":">";return{from:t,to:r,options:_m(n.doc,e).map((a,s)=>({label:a,apply:a+i,type:"type",boost:99-s})),validFor:A1}}function $0(n,e,t,r){let i=[],a=0;for(let s of y1(n.doc,t,e))i.push({label:"<"+s,type:"type"});for(let s of _m(n.doc,t))i.push({label:"",type:"type",boost:99-a++});return{from:r,to:r,options:i,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function q0(n,e,t,r,i){let a=Ua(t),s=a?e.tags[Ba(n.doc,a)]:null,o=s&&s.attrs?Object.keys(s.attrs):[],l=s&&s.globalAttrs===!1?o:o.length?o.concat(e.globalAttrNames):e.globalAttrNames;return{from:r,to:i,options:l.map(u=>({label:u,type:"property"})),validFor:A1}}function V0(n,e,t,r,i){var a;let s=(a=t.parent)===null||a===void 0?void 0:a.getChild("AttributeName"),o=[],l;if(s){let u=n.sliceDoc(s.from,s.to),d=e.globalAttrs[u];if(!d){let f=Ua(t),m=f?e.tags[Ba(n.doc,f)]:null;d=(m==null?void 0:m.attrs)&&m.attrs[u]}if(d){let f=n.sliceDoc(r,i).toLowerCase(),m='"',g='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,m="",g=n.sliceDoc(i,i+1)==f[0]?"":f[0],f=f.slice(1),r++):l=/^[^\s<>='"]*$/;for(let b of d)o.push({label:b,apply:m+b+g,type:"constant"})}}return{from:r,to:i,options:o,validFor:l}}function R1(n,e){let{state:t,pos:r}=e,i=Ut(t).resolveInner(r,-1),a=i.resolve(r);for(let s=r,o;a==i&&(o=i.childBefore(s));){let l=o.lastChild;if(!l||!l.type.isError||l.fromR1(r,i)}const I1=[{tag:"script",attrs:n=>n.type=="text/typescript"||n.lang=="ts",parser:Fv.parser},{tag:"script",attrs:n=>n.type=="text/babel"||n.type=="text/jsx",parser:Yv.parser},{tag:"script",attrs:n=>n.type=="text/typescript-jsx",parser:Gv.parser},{tag:"script",attrs(n){return!n.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(n.type)},parser:Kn.parser},{tag:"style",attrs(n){return(!n.lang||n.lang=="css")&&(!n.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(n.type))},parser:gl.parser}],N1=[{name:"style",parser:gl.parser.configure({top:"Styles"})}].concat(v1.map(n=>({name:n,parser:Kn.parser}))),D1=xa.define({name:"html",parser:m0.configure({props:[Xs.add({Element(n){let e=/^(\s*)(<\/)?/.exec(n.textAfter);return n.node.to<=n.pos+e[0].length?n.continue():n.lineIndent(n.node.from)+(e[2]?0:n.unit)},"OpenTag CloseTag SelfClosingTag"(n){return n.column(n.node.from)+n.unit},Document(n){if(n.pos+/\s*/.exec(n.textAfter)[0].lengthn.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),qo=D1.configure({wrap:O1(I1,N1)});function W0(n={}){let e="",t;n.matchClosingTags===!1&&(e="noMatch"),n.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(n.nestedLanguages&&n.nestedLanguages.length||n.nestedAttributes&&n.nestedAttributes.length)&&(t=O1((n.nestedLanguages||[]).concat(I1),(n.nestedAttributes||[]).concat(N1)));let r=t?D1.configure({wrap:t,dialect:e}):e?qo.configure({dialect:e}):qo;return new Is(r,[qo.data.of({autocomplete:z0(n)}),n.autoCloseTags!==!1?X0:[],fh().support,G0().support])}const ES=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),X0=Ae.inputHandler.of((n,e,t,r)=>{if(n.composing||n.state.readOnly||e!=t||r!=">"&&r!="/"||!qo.isActiveAt(n.state,e,-1))return!1;let{state:i}=n,a=i.changeByRange(s=>{var o,l,u;let{head:d}=s,f=Ut(i).resolveInner(d,-1),m;if((f.name=="TagName"||f.name=="StartTag")&&(f=f.parent),r==">"&&f.name=="OpenTag"){if(((l=(o=f.parent)===null||o===void 0?void 0:o.lastChild)===null||l===void 0?void 0:l.name)!="CloseTag"&&(m=Ba(i.doc,f.parent,d))&&!ES.has(m)){let g=n.state.doc.sliceString(d,d+1)===">",b=`${g?"":">"}`;return{range:de.cursor(d+1),changes:{from:d+(g?1:0),insert:b}}}}else if(r=="/"&&f.name=="OpenTag"){let g=f.parent,b=g==null?void 0:g.parent;if(g.from==d-1&&((u=b.lastChild)===null||u===void 0?void 0:u.name)!="CloseTag"&&(m=Ba(i.doc,b,d))&&!ES.has(m)){let v=n.state.doc.sliceString(d,d+1)===">",y=`/${m}${v?"":">"}`,N=d+y.length+(v?1:0);return{range:de.cursor(N),changes:{from:d,insert:y}}}}return{range:s}});return a.changes.empty?!1:(n.dispatch(a,{userEvent:"input.type",scrollIntoView:!0}),!0)}),w1=Jh({commentTokens:{block:{open:""}}}),x1=new Ze,L1=Ow.configure({props:[Zs.add(n=>!n.is("Block")||n.is("Document")||bh(n)!=null?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),x1.add(bh),Xs.add({Document:()=>null}),Fi.add({Document:w1})]});function bh(n){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(n.name);return e?+e[1]:void 0}function Z0(n,e){let t=n;for(;;){let r=t.nextSibling,i;if(!r||(i=bh(r.type))!=null&&i<=e)break;t=r}return t.to}const K0=dv.of((n,e,t)=>{for(let r=Ut(n).resolveInner(t,-1);r&&!(r.fromt)return{from:t,to:a}}return null});function gm(n){return new jr(w1,n,[K0],"markdown")}const j0=gm(L1),J0=L1.configure([Nw,ww,Dw,xw]),k1=gm(J0);function ex(n,e){return t=>{if(t&&n){let r=null;if(t=/\S*/.exec(t)[0],typeof n=="function"?r=n(t):r=ul.matchLanguageName(n,t,!0),r instanceof ul)return r.support?r.support.language.parser:Rs.getSkippingParser(r.load());if(r)return r.parser}return e?e.parser:null}}class yo{constructor(e,t,r,i,a,s,o){this.node=e,this.from=t,this.to=r,this.spaceBefore=i,this.spaceAfter=a,this.type=s,this.item=o}blank(e,t=!0){let r=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;r.length0;i--)r+=" ";return r+(t?this.spaceAfter:"")}}marker(e,t){let r=this.node.name=="OrderedList"?String(+P1(this.item,e)[2]+t):"";return this.spaceBefore+r+this.type+this.spaceAfter}}function M1(n,e){let t=[];for(let i=n;i&&i.name!="Document";i=i.parent)(i.name=="ListItem"||i.name=="Blockquote"||i.name=="FencedCode")&&t.push(i);let r=[];for(let i=t.length-1;i>=0;i--){let a=t[i],s,o=e.lineAt(a.from),l=a.from-o.from;if(a.name=="FencedCode")r.push(new yo(a,l,l,"","","",null));else if(a.name=="Blockquote"&&(s=/^[ \t]*>( ?)/.exec(o.text.slice(l))))r.push(new yo(a,l,l+s[0].length,"",s[1],">",null));else if(a.name=="ListItem"&&a.parent.name=="OrderedList"&&(s=/^([ \t]*)\d+([.)])([ \t]*)/.exec(o.text.slice(l)))){let u=s[3],d=s[0].length;u.length>=4&&(u=u.slice(0,u.length-4),d-=4),r.push(new yo(a.parent,l,l+d,s[1],u,s[2],a))}else if(a.name=="ListItem"&&a.parent.name=="BulletList"&&(s=/^([ \t]*)([-+*])([ \t]{1,4}\[[ xX]\])?([ \t]+)/.exec(o.text.slice(l)))){let u=s[4],d=s[0].length;u.length>4&&(u=u.slice(0,u.length-4),d-=4);let f=s[2];s[3]&&(f+=s[3].replace(/[xX]/," ")),r.push(new yo(a.parent,l,l+d,s[1],u,f,a))}}return r}function P1(n,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(n.from,n.from+10))}function Mc(n,e,t,r=0){for(let i=-1,a=n;;){if(a.name=="ListItem"){let o=P1(a,e),l=+o[2];if(i>=0){if(l!=i+1)return;t.push({from:a.from+o[1].length,to:a.from+o[0].length,insert:String(i+2+r)})}i=l}let s=a.nextSibling;if(!s)break;a=s}}const tx=({state:n,dispatch:e})=>{let t=Ut(n),{doc:r}=n,i=null,a=n.changeByRange(s=>{if(!s.empty||!k1.isActiveAt(n,s.from))return i={range:s};let o=s.from,l=r.lineAt(o),u=M1(t.resolveInner(o,-1),r);for(;u.length&&u[u.length-1].from>o-l.from;)u.pop();if(!u.length)return i={range:s};let d=u[u.length-1];if(d.to-d.spaceAfter.length>o-l.from)return i={range:s};let f=o>=d.to-d.spaceAfter.length&&!/\S/.test(l.text.slice(d.to));if(d.item&&f)if(d.node.firstChild.to>=o||l.from>0&&!/[^\s>]/.test(r.lineAt(l.from-1).text)){let y=u.length>1?u[u.length-2]:null,N,F="";y&&y.item?(N=l.from+y.from,F=y.marker(r,1)):N=l.from+(y?y.to:0);let X=[{from:N,to:o,insert:F}];return d.node.name=="OrderedList"&&Mc(d.item,r,X,-2),y&&y.node.name=="OrderedList"&&Mc(y.item,r,X),{range:de.cursor(N+F.length),changes:X}}else{let y="";for(let N=0,F=u.length-2;N<=F;N++)y+=u[N].blank(N\s*$/.exec(y.text);if(N&&N.index==d.from){let F=n.changes([{from:y.from+N.index,to:y.to},{from:l.from+d.from,to:l.to}]);return{range:s.map(F),changes:F}}}let m=[];d.node.name=="OrderedList"&&Mc(d.item,r,m);let g=d.item&&d.item.from]*/.exec(l.text)[0].length>=d.to)for(let y=0,N=u.length-1;y<=N;y++)b+=y==N&&!g?u[y].marker(r,1):u[y].blank(yl.from&&/\s/.test(l.text.charAt(v-l.from-1));)v--;return b=n.lineBreak+b,m.push({from:v,to:o,insert:b}),{range:de.cursor(v+b.length),changes:m}});return i?!1:(e(n.update(a,{scrollIntoView:!0,userEvent:"input"})),!0)};function bS(n){return n.name=="QuoteMark"||n.name=="ListMark"}function rx(n,e){let t=n.resolveInner(e,-1),r=e;bS(t)&&(r=t.from,t=t.parent);for(let i;i=t.childBefore(r);)if(bS(i))r=i.from;else if(i.name=="OrderedList"||i.name=="BulletList")t=i.lastChild,r=t.to;else break;return t}const nx=({state:n,dispatch:e})=>{let t=Ut(n),r=null,i=n.changeByRange(a=>{let s=a.from,{doc:o}=n;if(a.empty&&k1.isActiveAt(n,a.from)){let l=o.lineAt(s),u=M1(rx(t,s),o);if(u.length){let d=u[u.length-1],f=d.to-d.spaceAfter.length+(d.spaceAfter?1:0);if(s-l.from>f&&!/\S/.test(l.text.slice(f,s-l.from)))return{range:de.cursor(l.from+f),changes:{from:l.from+f,to:s}};if(s-l.from==f&&(!d.item||l.from<=d.item.from||!/\S/.test(l.text.slice(0,d.to)))){let m=l.from+d.from;if(d.item&&d.node.from{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),r=Om(n.state,t.from);return r.line?cx(n):r.block?dx(n):!1};function Sm(n,e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let i=n(e,t);return i?(r(t.update(i)),!0):!1}}const cx=Sm(hx,0),ux=Sm(B1,0),dx=Sm((n,e)=>B1(n,e,fx(e)),0);function Om(n,e){let t=n.languageDataAt("commentTokens",e);return t.length?t[0]:{}}const is=50;function px(n,{open:e,close:t},r,i){let a=n.sliceDoc(r-is,r),s=n.sliceDoc(i,i+is),o=/\s*$/.exec(a)[0].length,l=/^\s*/.exec(s)[0].length,u=a.length-o;if(a.slice(u-e.length,u)==e&&s.slice(l,l+t.length)==t)return{open:{pos:r-o,margin:o&&1},close:{pos:i+l,margin:l&&1}};let d,f;i-r<=2*is?d=f=n.sliceDoc(r,i):(d=n.sliceDoc(r,r+is),f=n.sliceDoc(i-is,i));let m=/^\s*/.exec(d)[0].length,g=/\s*$/.exec(f)[0].length,b=f.length-g-t.length;return d.slice(m,m+e.length)==e&&f.slice(b,b+t.length)==t?{open:{pos:r+m+e.length,margin:/\s/.test(d.charAt(m+e.length))?1:0},close:{pos:i-g-t.length,margin:/\s/.test(f.charAt(b-1))?1:0}}:null}function fx(n){let e=[];for(let t of n.selection.ranges){let r=n.doc.lineAt(t.from),i=t.to<=r.to?r:n.doc.lineAt(t.to),a=e.length-1;a>=0&&e[a].to>r.from?e[a].to=i.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return e}function B1(n,e,t=e.selection.ranges){let r=t.map(a=>Om(e,a.from).block);if(!r.every(a=>a))return null;let i=t.map((a,s)=>px(e,r[s],a.from,a.to));if(n!=2&&!i.every(a=>a))return{changes:e.changes(t.map((a,s)=>i[s]?[]:[{from:a.from,insert:r[s].open+" "},{from:a.to,insert:" "+r[s].close}]))};if(n!=1&&i.some(a=>a)){let a=[];for(let s=0,o;si&&(a==s||s>f.from)){i=f.from;let m=/^\s*/.exec(f.text)[0].length,g=m==f.length,b=f.text.slice(m,m+u.length)==u?m:-1;ma.comment<0&&(!a.empty||a.single))){let a=[];for(let{line:o,token:l,indent:u,empty:d,single:f}of r)(f||!d)&&a.push({from:o.from+u,insert:l+" "});let s=e.changes(a);return{changes:s,selection:e.selection.map(s,1)}}else if(n!=1&&r.some(a=>a.comment>=0)){let a=[];for(let{line:s,comment:o,token:l}of r)if(o>=0){let u=s.from+o,d=u+l.length;s.text[d-s.from]==" "&&d++,a.push({from:u,to:d})}return{changes:a}}return null}const Ch=ei.define(),mx=ei.define(),_x=De.define(),U1=De.define({combine(n){return ti(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(r,i)=>e(r,i)||t(r,i)})}});function gx(n){let e=0;return n.iterChangedRanges((t,r)=>e=r),e}const F1=hr.define({create(){return Un.empty},update(n,e){let t=e.state.facet(U1),r=e.annotation(Ch);if(r){let l=e.docChanged?de.single(gx(e.changes)):void 0,u=Yr.fromTransaction(e,l),d=r.side,f=d==0?n.undone:n.done;return u?f=Ol(f,f.length,t.minDepth,u):f=G1(f,e.startState.selection),new Un(d==0?r.rest:f,d==0?f:r.rest)}let i=e.annotation(mx);if((i=="full"||i=="before")&&(n=n.isolate()),e.annotation(tr.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let a=Yr.fromTransaction(e),s=e.annotation(tr.time),o=e.annotation(tr.userEvent);return a?n=n.addChanges(a,s,o,t,e):e.selection&&(n=n.addSelection(e.startState.selection,s,o,t.newGroupDelay)),(i=="full"||i=="after")&&(n=n.isolate()),n},toJSON(n){return{done:n.done.map(e=>e.toJSON()),undone:n.undone.map(e=>e.toJSON())}},fromJSON(n){return new Un(n.done.map(Yr.fromJSON),n.undone.map(Yr.fromJSON))}});function Sx(n={}){return[F1,U1.of(n),Ae.domEventHandlers({beforeinput(e,t){let r=e.inputType=="historyUndo"?Em:e.inputType=="historyRedo"?Sl:null;return r?(e.preventDefault(),r(t)):!1}})]}function $l(n,e){return function({state:t,dispatch:r}){if(!e&&t.readOnly)return!1;let i=t.field(F1,!1);if(!i)return!1;let a=i.pop(n,t,e);return a?(r(a),!0):!1}}const Em=$l(0,!1),Sl=$l(1,!1),Ox=$l(0,!0),Ex=$l(1,!0);class Yr{constructor(e,t,r,i,a){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=i,this.selectionsAfter=a}setSelAfter(e){return new Yr(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(i=>i.toJSON())}}static fromJSON(e){return new Yr(e.changes&&Jt.fromJSON(e.changes),[],e.mapped&&Fn.fromJSON(e.mapped),e.startSelection&&de.fromJSON(e.startSelection),e.selectionsAfter.map(de.fromJSON))}static fromTransaction(e,t){let r=ln;for(let i of e.startState.facet(_x)){let a=i(e);a.length&&(r=r.concat(a))}return!r.length&&e.changes.empty?null:new Yr(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,ln)}static selection(e){return new Yr(void 0,ln,void 0,void 0,e)}}function Ol(n,e,t,r){let i=e+1>t+20?e-t-1:0,a=n.slice(i,e);return a.push(r),a}function bx(n,e){let t=[],r=!1;return n.iterChangedRanges((i,a)=>t.push(i,a)),e.iterChangedRanges((i,a,s,o)=>{for(let l=0;l=u&&s<=d&&(r=!0)}}),r}function Tx(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,r)=>t.empty!=e.ranges[r].empty).length===0}function Y1(n,e){return n.length?e.length?n.concat(e):n:e}const ln=[],Cx=200;function G1(n,e){if(n.length){let t=n[n.length-1],r=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-Cx));return r.length&&r[r.length-1].eq(e)?n:(r.push(e),Ol(n,n.length-1,1e9,t.setSelAfter(r)))}else return[Yr.selection([e])]}function vx(n){let e=n[n.length-1],t=n.slice();return t[n.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Bc(n,e){if(!n.length)return n;let t=n.length,r=ln;for(;t;){let i=yx(n[t-1],e,r);if(i.changes&&!i.changes.empty||i.effects.length){let a=n.slice(0,t);return a[t-1]=i,a}else e=i.mapped,t--,r=i.selectionsAfter}return r.length?[Yr.selection(r)]:ln}function yx(n,e,t){let r=Y1(n.selectionsAfter.length?n.selectionsAfter.map(o=>o.map(e)):ln,t);if(!n.changes)return Yr.selection(r);let i=n.changes.map(e),a=e.mapDesc(n.changes,!0),s=n.mapped?n.mapped.composeDesc(a):a;return new Yr(i,it.mapEffects(n.effects,e),s,n.startSelection.map(a),r)}const Ax=/^(input\.type|delete)($|\.)/;class Un{constructor(e,t,r=0,i=void 0){this.done=e,this.undone=t,this.prevTime=r,this.prevUserEvent=i}isolate(){return this.prevTime?new Un(this.done,this.undone):this}addChanges(e,t,r,i,a){let s=this.done,o=s[s.length-1];return o&&o.changes&&!o.changes.empty&&e.changes&&(!r||Ax.test(r))&&(!o.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?n.moveByChar(t,e):ql(t,e))}function br(n){return n.textDirectionAt(n.state.selection.main.head)==Bt.LTR}const Tm=n=>bm(n,!br(n)),Q1=n=>bm(n,br(n)),Ix=n=>bm(n,!1);function $1(n,e){return yn(n,t=>t.empty?n.moveByGroup(t,e):ql(t,e))}const Nx=n=>$1(n,!br(n)),Dx=n=>$1(n,br(n));function wx(n,e,t){if(e.type.prop(t))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function Vl(n,e,t){let r=Ut(n).resolveInner(e.head),i=t?Ze.closedBy:Ze.openedBy;for(let l=e.head;;){let u=t?r.childAfter(l):r.childBefore(l);if(!u)break;wx(n,u,i)?r=u:l=t?u.to:u.from}let a=r.type.prop(i),s,o;return a&&(s=t?on(n,r.from,1):on(n,r.to,-1))&&s.matched?o=t?s.end.to:s.end.from:o=t?r.to:r.from,de.cursor(o,t?-1:1)}const xx=n=>yn(n,e=>Vl(n.state,e,!br(n))),Lx=n=>yn(n,e=>Vl(n.state,e,br(n)));function q1(n,e){return yn(n,t=>{if(!t.empty)return ql(t,e);let r=n.moveVertically(t,e);return r.head!=t.head?r:n.moveToLineBoundary(t,e)})}const V1=n=>q1(n,!1),H1=n=>q1(n,!0);function z1(n){let e=n.scrollDOM.clientHeights.empty?n.moveVertically(s,e,t.height):ql(s,e));if(i.eq(r.selection))return!1;let a;if(t.selfScroll){let s=n.coordsAtPos(r.selection.main.head),o=n.scrollDOM.getBoundingClientRect(),l=o.top+t.marginTop,u=o.bottom-t.marginBottom;s&&s.top>l&&s.bottomW1(n,!1),vh=n=>W1(n,!0);function vi(n,e,t){let r=n.lineBlockAt(e.head),i=n.moveToLineBoundary(e,t);if(i.head==e.head&&i.head!=(t?r.to:r.from)&&(i=n.moveToLineBoundary(e,t,!1)),!t&&i.head==r.from&&r.length){let a=/^\s*/.exec(n.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;a&&e.head!=r.from+a&&(i=de.cursor(r.from+a))}return i}const X1=n=>yn(n,e=>vi(n,e,!0)),Z1=n=>yn(n,e=>vi(n,e,!1)),kx=n=>yn(n,e=>vi(n,e,!br(n))),Mx=n=>yn(n,e=>vi(n,e,br(n))),Px=n=>yn(n,e=>de.cursor(n.lineBlockAt(e.head).from,1)),Bx=n=>yn(n,e=>de.cursor(n.lineBlockAt(e.head).to,-1));function Ux(n,e,t){let r=!1,i=qa(n.selection,a=>{let s=on(n,a.head,-1)||on(n,a.head,1)||a.head>0&&on(n,a.head-1,1)||a.headUx(n,e,!1);function fn(n,e){let t=qa(n.state.selection,r=>{let i=e(r);return de.range(r.anchor,i.head,i.goalColumn,i.bidiLevel||void 0)});return t.eq(n.state.selection)?!1:(n.dispatch(Qn(n.state,t)),!0)}function K1(n,e){return fn(n,t=>n.moveByChar(t,e))}const j1=n=>K1(n,!br(n)),J1=n=>K1(n,br(n));function ey(n,e){return fn(n,t=>n.moveByGroup(t,e))}const Yx=n=>ey(n,!br(n)),Gx=n=>ey(n,br(n)),Qx=n=>fn(n,e=>Vl(n.state,e,!br(n))),$x=n=>fn(n,e=>Vl(n.state,e,br(n)));function ty(n,e){return fn(n,t=>n.moveVertically(t,e))}const ry=n=>ty(n,!1),ny=n=>ty(n,!0);function iy(n,e){return fn(n,t=>n.moveVertically(t,e,z1(n).height))}const CS=n=>iy(n,!1),vS=n=>iy(n,!0),qx=n=>fn(n,e=>vi(n,e,!0)),Vx=n=>fn(n,e=>vi(n,e,!1)),Hx=n=>fn(n,e=>vi(n,e,!br(n))),zx=n=>fn(n,e=>vi(n,e,br(n))),Wx=n=>fn(n,e=>de.cursor(n.lineBlockAt(e.head).from)),Xx=n=>fn(n,e=>de.cursor(n.lineBlockAt(e.head).to)),yS=({state:n,dispatch:e})=>(e(Qn(n,{anchor:0})),!0),AS=({state:n,dispatch:e})=>(e(Qn(n,{anchor:n.doc.length})),!0),RS=({state:n,dispatch:e})=>(e(Qn(n,{anchor:n.selection.main.anchor,head:0})),!0),IS=({state:n,dispatch:e})=>(e(Qn(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),Zx=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),Kx=({state:n,dispatch:e})=>{let t=zl(n).map(({from:r,to:i})=>de.range(r,Math.min(i+1,n.doc.length)));return e(n.update({selection:de.create(t),userEvent:"select"})),!0},jx=({state:n,dispatch:e})=>{let t=qa(n.selection,r=>{var i;let a=Ut(n).resolveInner(r.head,1);for(;!(a.from=r.to||a.to>r.to&&a.from<=r.from||!(!((i=a.parent)===null||i===void 0)&&i.parent));)a=a.parent;return de.range(a.to,a.from)});return e(Qn(n,t)),!0},Jx=({state:n,dispatch:e})=>{let t=n.selection,r=null;return t.ranges.length>1?r=de.create([t.main]):t.main.empty||(r=de.create([de.cursor(t.main.head)])),r?(e(Qn(n,r)),!0):!1};function Hl(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:r}=n,i=r.changeByRange(a=>{let{from:s,to:o}=a;if(s==o){let l=e(s);ls&&(t="delete.forward",l=Ao(n,l,!0)),s=Math.min(s,l),o=Math.max(o,l)}else s=Ao(n,s,!1),o=Ao(n,o,!0);return s==o?{range:a}:{changes:{from:s,to:o},range:de.cursor(s)}});return i.changes.empty?!1:(n.dispatch(r.update(i,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?Ae.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function Ao(n,e,t){if(n instanceof Ae)for(let r of n.state.facet(Ae.atomicRanges).map(i=>i(n)))r.between(e,e,(i,a)=>{ie&&(e=t?a:i)});return e}const ay=(n,e)=>Hl(n,t=>{let{state:r}=n,i=r.doc.lineAt(t),a,s;if(!e&&t>i.from&&tay(n,!1),sy=n=>ay(n,!0),oy=(n,e)=>Hl(n,t=>{let r=t,{state:i}=n,a=i.doc.lineAt(r),s=i.charCategorizer(r);for(let o=null;;){if(r==(e?a.to:a.from)){r==t&&a.number!=(e?i.doc.lines:1)&&(r+=e?1:-1);break}let l=Er(a.text,r-a.from,e)+a.from,u=a.text.slice(Math.min(r,l)-a.from,Math.max(r,l)-a.from),d=s(u);if(o!=null&&d!=o)break;(u!=" "||r!=t)&&(o=d),r=l}return r}),ly=n=>oy(n,!1),eL=n=>oy(n,!0),cy=n=>Hl(n,e=>{let t=n.lineBlockAt(e).to;return eHl(n,e=>{let t=n.lineBlockAt(e).from;return e>t?t:Math.max(0,e-1)}),rL=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:_t.of(["",""])},range:de.cursor(r.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},nL=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(r=>{if(!r.empty||r.from==0||r.from==n.doc.length)return{range:r};let i=r.from,a=n.doc.lineAt(i),s=i==a.from?i-1:Er(a.text,i-a.from,!1)+a.from,o=i==a.to?i+1:Er(a.text,i-a.from,!0)+a.from;return{changes:{from:s,to:o,insert:n.doc.slice(i,o).append(n.doc.slice(s,i))},range:de.cursor(o)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function zl(n){let e=[],t=-1;for(let r of n.selection.ranges){let i=n.doc.lineAt(r.from),a=n.doc.lineAt(r.to);if(!r.empty&&r.to==a.from&&(a=n.doc.lineAt(r.to-1)),t>=i.number){let s=e[e.length-1];s.to=a.to,s.ranges.push(r)}else e.push({from:i.from,to:a.to,ranges:[r]});t=a.number+1}return e}function uy(n,e,t){if(n.readOnly)return!1;let r=[],i=[];for(let a of zl(n)){if(t?a.to==n.doc.length:a.from==0)continue;let s=n.doc.lineAt(t?a.to+1:a.from-1),o=s.length+1;if(t){r.push({from:a.to,to:s.to},{from:a.from,insert:s.text+n.lineBreak});for(let l of a.ranges)i.push(de.range(Math.min(n.doc.length,l.anchor+o),Math.min(n.doc.length,l.head+o)))}else{r.push({from:s.from,to:a.from},{from:a.to,insert:n.lineBreak+s.text});for(let l of a.ranges)i.push(de.range(l.anchor-o,l.head-o))}}return r.length?(e(n.update({changes:r,scrollIntoView:!0,selection:de.create(i,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const iL=({state:n,dispatch:e})=>uy(n,e,!1),aL=({state:n,dispatch:e})=>uy(n,e,!0);function dy(n,e,t){if(n.readOnly)return!1;let r=[];for(let i of zl(n))t?r.push({from:i.from,insert:n.doc.slice(i.from,i.to)+n.lineBreak}):r.push({from:i.to,insert:n.lineBreak+n.doc.slice(i.from,i.to)});return e(n.update({changes:r,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const sL=({state:n,dispatch:e})=>dy(n,e,!1),oL=({state:n,dispatch:e})=>dy(n,e,!0),lL=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(zl(e).map(({from:i,to:a})=>(i>0?i--:an.moveVertically(i,!0)).map(t);return n.dispatch({changes:t,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function cL(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=Ut(n).resolveInner(e),r=t.childBefore(e),i=t.childAfter(e),a;return r&&i&&r.to<=e&&i.from>=e&&(a=r.type.prop(Ze.closedBy))&&a.indexOf(i.name)>-1&&n.doc.lineAt(r.to).from==n.doc.lineAt(i.from).from?{from:r.to,to:i.from}:null}const py=fy(!1),uL=fy(!0);function fy(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange(i=>{let{from:a,to:s}=i,o=e.doc.lineAt(a),l=!n&&a==s&&cL(e,a);n&&(a=s=(s<=o.to?o:e.doc.lineAt(s)).to);let u=new Yl(e,{simulateBreak:a,simulateDoubleBreak:!!l}),d=tm(u,a);for(d==null&&(d=/^\s*/.exec(e.doc.lineAt(a).text)[0].length);so.from&&a{let i=[];for(let s=r.from;s<=r.to;){let o=n.doc.lineAt(s);o.number>t&&(r.empty||r.to>o.from)&&(e(o,i,r),t=o.number),s=o.to+1}let a=n.changes(i);return{changes:i,range:de.range(a.mapPos(r.anchor,1),a.mapPos(r.head,1))}})}const hy=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),r=new Yl(n,{overrideIndentation:a=>{let s=t[a];return s??-1}}),i=Cm(n,(a,s,o)=>{let l=tm(r,a.from);if(l==null)return;/\S/.test(a.text)||(l=0);let u=/^\s*/.exec(a.text)[0],d=Ns(n,l);(u!=d||o.fromn.readOnly?!1:(e(n.update(Cm(n,(t,r)=>{r.push({from:t.from,insert:n.facet(Ma)})}),{userEvent:"input.indent"})),!0),ym=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Cm(n,(t,r)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let a=qs(i,n.tabSize),s=0,o=Ns(n,Math.max(0,a-dl(n)));for(;s({mac:n.key,run:n.run,shift:n.shift}))),fL=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:xx,shift:Qx},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Lx,shift:$x},{key:"Alt-ArrowUp",run:iL},{key:"Shift-Alt-ArrowUp",run:sL},{key:"Alt-ArrowDown",run:aL},{key:"Shift-Alt-ArrowDown",run:oL},{key:"Escape",run:Jx},{key:"Mod-Enter",run:uL},{key:"Alt-l",mac:"Ctrl-l",run:Kx},{key:"Mod-i",run:jx,preventDefault:!0},{key:"Mod-[",run:ym},{key:"Mod-]",run:vm},{key:"Mod-Alt-\\",run:hy},{key:"Shift-Mod-k",run:lL},{key:"Shift-Mod-\\",run:Fx},{key:"Mod-/",run:lx},{key:"Alt-A",run:ux}].concat(pL),hL={key:"Tab",run:vm,shift:ym};function Pn(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){var i=t[r];typeof i=="string"?n.setAttribute(r,i):i!=null&&(n[r]=i)}e++}for(;en.normalize("NFKD"):n=>n;class Am{constructor(e,t,r=0,i=e.length,a,s){this.test=s,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,i),this.bufferStart=r,this.normalize=a?o=>a(NS(o)):NS,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return pr(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=Bh(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=an(e);let i=this.normalize(t);for(let a=0,s=r;;a++){let o=i.charCodeAt(a),l=this.match(o,s);if(a==i.length-1){if(l)return this.value=l,this;break}s==r&&athis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let r=this.curLineStart+t.index,i=r+t[0].length;if(this.matchPos=El(this.text,i+(r==i?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(rthis.value.to)&&(!this.test||this.test(r,i,t)))return this.value={from:r,to:i,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=r||i.to<=t){let o=new Ca(t,e.sliceString(t,r));return Uc.set(e,o),o}if(i.from==t&&i.to==r)return i;let{text:a,from:s}=i;return s>t&&(a=e.sliceString(t,s)+a,s=t),i.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let r=this.flat.from+t.index,i=r+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,i,t)))return this.value={from:r,to:i,match:t},this.matchPos=El(this.text,i+(r==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Ca.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(Im.prototype[Symbol.iterator]=gy.prototype[Symbol.iterator]=function(){return this});function mL(n){try{return new RegExp(n,Rm),!0}catch{return!1}}function El(n,e){if(e>=n.length)return e;let t=n.lineAt(e),r;for(;e=56320&&r<57344;)e++;return e}const _L={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Sy=De.define({combine(n){return ti(n,_L,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function gL(n){let e=[TL,bL];return n&&e.push(Sy.of(n)),e}const SL=qe.mark({class:"cm-selectionMatch"}),OL=qe.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function DS(n,e,t,r){return(t==0||n(e.sliceDoc(t-1,t))!=Pt.Word)&&(r==e.doc.length||n(e.sliceDoc(r,r+1))!=Pt.Word)}function EL(n,e,t,r){return n(e.sliceDoc(t,t+1))==Pt.Word&&n(e.sliceDoc(r-1,r))==Pt.Word}const bL=lr.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.selectionSet||n.docChanged||n.viewportChanged)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=n.state.facet(Sy),{state:t}=n,r=t.selection;if(r.ranges.length>1)return qe.none;let i=r.main,a,s=null;if(i.empty){if(!e.highlightWordAroundCursor)return qe.none;let l=t.wordAt(i.head);if(!l)return qe.none;s=t.charCategorizer(i.head),a=t.sliceDoc(l.from,l.to)}else{let l=i.to-i.from;if(l200)return qe.none;if(e.wholeWords){if(a=t.sliceDoc(i.from,i.to),s=t.charCategorizer(i.head),!(DS(s,t,i.from,i.to)&&EL(s,t,i.from,i.to)))return qe.none}else if(a=t.sliceDoc(i.from,i.to).trim(),!a)return qe.none}let o=[];for(let l of n.visibleRanges){let u=new Am(t.doc,a,l.from,l.to);for(;!u.next().done;){let{from:d,to:f}=u.value;if((!s||DS(s,t,d,f))&&(i.empty&&d<=i.from&&f>=i.to?o.push(OL.range(d,f)):(d>=i.to||f<=i.from)&&o.push(SL.range(d,f)),o.length>e.maxMatches))return qe.none}}return qe.set(o)}},{decorations:n=>n.decorations}),TL=Ae.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}});class CL{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||mL(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,r)=>r=="n"?` +`;)a--;this.fragmentEnd=a?a-1:0}let r=this.cursor;r||(r=this.cursor=this.fragment.tree.cursor(),r.firstChild());let i=e+this.fragment.offset;for(;r.to<=i;)if(!r.parent())return!1;for(;;){if(r.from>=i)return this.fragment.from<=t;if(!r.childAfter(i))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(Ze.contextHash)==e}takeNodes(e){let t=this.cursor,r=this.fragment.offset,i=this.fragmentEnd-(this.fragment.openEnd?1:0),a=e.absoluteLineStart,s=a,o=e.block.children.length,l=s,u=o;for(;;){if(t.to-r>i){if(t.type.isAnonymous&&t.firstChild())continue;break}let d=s1(t.from-r,e.ranges);if(t.to-r<=e.ranges[e.rangeI].to)e.addNode(t.tree,d);else{let f=new St(e.parser.nodeSet.types[ge.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(f,t.tree),e.addNode(f,d)}if(t.type.is("Block")&&(_w.indexOf(t.type.id)<0?(s=t.to-r,o=e.block.children.length):(s=l,o=u,l=t.to-r,u=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>o;)e.block.children.pop(),e.block.positions.pop();return s-a}}function s1(n,e){let t=n;for(let r=1;rCo[n]),Object.keys(Co).map(n=>uw[n]),Object.keys(Co),dw,Qv,Object.keys(Rc).map(n=>Rc[n]),Object.keys(Rc),[]);function Ew(n,e,t){let r=[];for(let i=n.firstChild,a=e;;i=i.nextSibling){let s=i?i.from:t;if(s>a&&r.push({from:a,to:s}),!i)break;a=i.to}return r}function bw(n){let{codeParser:e,htmlParser:t}=n;return{wrap:tv((i,a)=>{let s=i.type.id;if(e&&(s==ge.CodeBlock||s==ge.FencedCode)){let o="";if(s==ge.FencedCode){let u=i.node.getChild(ge.CodeInfo);u&&(o=a.read(u.from,u.to))}let l=e(o);if(l)return{parser:l,overlay:u=>u.type.id==ge.CodeText}}else if(t&&(s==ge.HTMLBlock||s==ge.HTMLTag))return{parser:t,overlay:Ew(i.node,i.from,i.to)};return null})}}const Tw={resolve:"Strikethrough",mark:"StrikethroughMark"},Cw={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":P.strikethrough}},{name:"StrikethroughMark",style:P.processingInstruction}],parseInline:[{name:"Strikethrough",parse(n,e,t){if(e!=126||n.char(t+1)!=126||n.char(t+2)==126)return-1;let r=n.slice(t-1,t),i=n.slice(t+2,t+3),a=/\s|^$/.test(r),s=/\s|^$/.test(i),o=ks.test(r),l=ks.test(i);return n.addDelimiter(Tw,t,t+2,!s&&(!l||a||o),!a&&(!o||s||l))},after:"Emphasis"}]};function Ss(n,e,t=0,r,i=0){let a=0,s=!0,o=-1,l=-1,u=!1,d=()=>{r.push(n.elt("TableCell",i+o,i+l,n.parser.parseInline(e.slice(o,l),i+o)))};for(let f=t;f-1)&&a++,s=!1,r&&(o>-1&&d(),r.push(n.elt("TableDelimiter",f+i,f+i+1))),o=l=-1):(u||m!=32&&m!=9)&&(o<0&&(o=f),l=f+1),u=!u&&m==92}return o>-1&&(a++,r&&d()),a}function Kg(n,e){for(let t=e;ti instanceof jg)||!Kg(e.text,e.basePos))return!1;let r=n.scanLine(n.absoluteLineEnd+1).text;return o1.test(r)&&Ss(n,e.text,e.basePos)==Ss(n,r,e.basePos)},before:"SetextHeading"}]};class yw{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}}const Aw={defineNodes:[{name:"Task",block:!0,style:P.list},{name:"TaskMarker",style:P.atom}],parseBlock:[{name:"TaskList",leaf(n,e){return/^\[[ xX]\][ \t]/.test(e.content)&&n.parentType().name=="ListItem"?new yw:null},after:"SetextHeading"}]},Jg=/(www\.)|(https?:\/\/)|([\w.+-]+@)|(mailto:|xmpp:)/gy,eS=/[\w-]+(\.\w+(\.\w+)?)(\/[^\s<]*)?/gy,tS=/[\w.+-]+@[\w-]+\.[\w.-]+/gy,rS=/\/[a-zA-Z\d@.]+/gy;function nS(n,e,t,r){let i=0;for(let a=e;anS(n,e,r,"("))r--;else if(i==";"&&(a=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(n.slice(e,r))))r=e+a.index;else break}return r}function iS(n,e){tS.lastIndex=e;let t=tS.exec(n);if(!t)return-1;let r=t[0][t[0].length-1];return r=="_"||r=="-"?-1:e+t[0].length-(r=="."?1:0)}const Iw={parseInline:[{name:"Autolink",parse(n,e,t){let r=t-n.offset;Jg.lastIndex=r;let i=Jg.exec(n.text),a=-1;return!i||(i[1]||i[2]?a=Rw(n.text,r+i[0].length):i[3]?a=iS(n.text,r):(a=iS(n.text,r+i[0].length),a>-1&&i[0]=="xmpp:"&&(rS.lastIndex=a,i=rS.exec(n.text),i&&(a=i.index+i[0].length))),a<0)?-1:(n.addElement(n.elt("URL",t,a+n.offset)),a+n.offset)}}]},Nw=[vw,Aw,Cw,Iw];function l1(n,e,t){return(r,i,a)=>{if(i!=n||r.char(a+1)==n)return-1;let s=[r.elt(t,a,a+1)];for(let o=a+1;o=65&&n<=90||n==95||n>=97&&n<=122||n>=161}function _1(n){return n==9||n==10||n==13||n==32}let lS=null,cS=null,uS=0;function Eh(n,e){let t=n.pos+e;if(uS==t&&cS==n)return lS;let r=n.peek(e);for(;_1(r);)r=n.peek(++e);let i="";for(;t0(r);)i+=String.fromCharCode(r),r=n.peek(++e);return cS=n,uS=t,lS=i?i.toLowerCase():r==r0||r==n0?void 0:null}const g1=60,ml=62,hm=47,r0=63,n0=33,i0=45;function dS(n,e){this.name=n,this.parent=e,this.hash=e?e.hash:0;for(let t=0;t-1?new dS(Eh(r,1)||"",n):n},reduce(n,e){return e==f1&&n?n.parent:n},reuse(n,e,t,r){let i=e.type.id;return i==hl||i==Xw?new dS(Eh(r,1)||"",n):n},hash(n){return n?n.hash:0},strict:!1}),o0=new Gn((n,e)=>{if(n.next!=g1){n.next<0&&e.context&&n.acceptToken(Ic);return}n.advance();let t=n.next==hm;t&&n.advance();let r=Eh(n,0);if(r===void 0)return;if(!r)return n.acceptToken(t?$w:hl);let i=e.context?e.context.name:null;if(t){if(r==i)return n.acceptToken(Yw);if(i&&e0[i])return n.acceptToken(Ic,-2);if(e.dialectEnabled(Kw))return n.acceptToken(Gw);for(let a=e.context;a;a=a.parent)if(a.name==r)return;n.acceptToken(Qw)}else{if(r=="script")return n.acceptToken(c1);if(r=="style")return n.acceptToken(u1);if(r=="textarea")return n.acceptToken(d1);if(Jw.hasOwnProperty(r))return n.acceptToken(p1);i&&oS[i]&&oS[i][r]?n.acceptToken(Ic,-1):n.acceptToken(hl)}},{contextual:!0}),l0=new Gn(n=>{for(let e=0,t=0;;t++){if(n.next<0){t&&n.acceptToken(sS);break}if(n.next==i0)e++;else if(n.next==ml&&e>=2){t>3&&n.acceptToken(sS,-2);break}else e=0;n.advance()}});function c0(n){for(;n;n=n.parent)if(n.name=="svg"||n.name=="math")return!0;return!1}const u0=new Gn((n,e)=>{if(n.next==hm&&n.peek(1)==ml){let t=e.dialectEnabled(jw)||c0(e.context);n.acceptToken(t?Fw:aS,2)}else n.next==ml&&n.acceptToken(aS,1)});function mm(n,e,t){let r=2+n.length;return new Gn(i=>{for(let a=0,s=0,o=0;;o++){if(i.next<0){o&&i.acceptToken(e);break}if(a==0&&i.next==g1||a==1&&i.next==hm||a>=2&&as?i.acceptToken(e,-s):i.acceptToken(t,-(s-2));break}else if((i.next==10||i.next==13)&&o){i.acceptToken(e,1);break}else a=s=0;i.advance()}})}const d0=mm("script",Lw,kw),p0=mm("style",Mw,Pw),f0=mm("textarea",Bw,Uw),h0=Qa({"Text RawText":P.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":P.angleBracket,TagName:P.tagName,"MismatchedCloseTag/TagName":[P.tagName,P.invalid],AttributeName:P.attributeName,"AttributeValue UnquotedAttributeValue":P.attributeValue,Is:P.definitionOperator,"EntityReference CharacterReference":P.character,Comment:P.blockComment,ProcessingInst:P.processingInstruction,DoctypeDecl:P.documentMeta}),m0=wa.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:"+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:s0,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"]],propSources:[h0],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let u=o.type.id;if(u==Hw)return Nc(o,l,t);if(u==zw)return Nc(o,l,r);if(u==Ww)return Nc(o,l,i);if(u==f1&&a.length){let d=o.node,f=d.firstChild,m=f&&pS(f,l),g;if(m){for(let b of a)if(b.tag==m&&(!b.attrs||b.attrs(g||(g=S1(d,l))))){let v=d.lastChild;return{parser:b.parser,overlay:[{from:f.to,to:v.type.id==Zw?v.from:d.to}]}}}}if(s&&u==h1){let d=o.node,f;if(f=d.firstChild){let m=s[l.read(f.from,f.to)];if(m)for(let g of m){if(g.tagName&&g.tagName!=pS(d.parent,l))continue;let b=d.lastChild;if(b.type.id==Oh){let v=b.from+1,y=b.lastChild,N=b.to-(y&&y.isError?0:1);if(N>v)return{parser:g.parser,overlay:[{from:v,to:N}]}}else if(b.type.id==m1)return{parser:g.parser,overlay:[{from:b.from,to:b.to}]}}}}return null})}const _0=96,fS=1,g0=97,S0=98,hS=2,E1=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],O0=58,E0=40,b1=95,b0=91,$o=45,T0=46,C0=35,v0=37;function _l(n){return n>=65&&n<=90||n>=97&&n<=122||n>=161}function y0(n){return n>=48&&n<=57}const A0=new Gn((n,e)=>{for(let t=!1,r=0,i=0;;i++){let{next:a}=n;if(_l(a)||a==$o||a==b1||t&&y0(a))!t&&(a!=$o||i>0)&&(t=!0),r===i&&a==$o&&r++,n.advance();else{t&&n.acceptToken(a==E0?g0:r==2&&e.canShift(hS)?hS:S0);break}}}),R0=new Gn(n=>{if(E1.includes(n.peek(-1))){let{next:e}=n;(_l(e)||e==b1||e==C0||e==T0||e==b0||e==O0||e==$o)&&n.acceptToken(_0)}}),I0=new Gn(n=>{if(!E1.includes(n.peek(-1))){let{next:e}=n;if(e==v0&&(n.advance(),n.acceptToken(fS)),_l(e)){do n.advance();while(_l(n.next));n.acceptToken(fS)}}}),N0=Qa({"AtKeyword import charset namespace keyframes media supports":P.definitionKeyword,"from to selector":P.keyword,NamespaceName:P.namespace,KeyframeName:P.labelName,KeyframeRangeName:P.operatorKeyword,TagName:P.tagName,ClassName:P.className,PseudoClassName:P.constant(P.className),IdName:P.labelName,"FeatureName PropertyName":P.propertyName,AttributeName:P.attributeName,NumberLiteral:P.number,KeywordQuery:P.keyword,UnaryQueryOp:P.operatorKeyword,"CallTag ValueName":P.atom,VariableName:P.variableName,Callee:P.operatorKeyword,Unit:P.unit,"UniversalSelector NestingSelector":P.definitionOperator,MatchOp:P.compareOperator,"ChildOp SiblingOp, LogicOp":P.logicOperator,BinOp:P.arithmeticOperator,Important:P.modifier,Comment:P.blockComment,ColorLiteral:P.color,"ParenthesizedContent StringLiteral":P.string,":":P.punctuation,"PseudoOp #":P.derefOperator,"; ,":P.separator,"( )":P.paren,"[ ]":P.squareBracket,"{ }":P.brace}),D0={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:134},w0={__proto__:null,"@import":114,"@media":138,"@charset":142,"@namespace":146,"@keyframes":152,"@supports":164},x0={__proto__:null,not:128,only:128},L0=wa.deserialize({version:14,states:"9bQYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DPO$vQ[O'#DTOOQP'#Ej'#EjO${QdO'#DeO%gQ[O'#DrO${QdO'#DtO%xQ[O'#DvO&TQ[O'#DyO&]Q[O'#EPO&kQ[O'#EROOQS'#Ei'#EiOOQS'#EU'#EUQYQ[OOO&rQXO'#CdO'gQWO'#DaO'lQWO'#EpO'wQ[O'#EpQOQWOOP(RO#tO'#C_POOO)C@X)C@XOOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(^Q[O'#EXO(xQWO,58{O)QQ[O,59SO$qQ[O,59kO$vQ[O,59oO(^Q[O,59sO(^Q[O,59uO(^Q[O,59vO)]Q[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)dQWO,59SO)iQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)nQ`O,59oOOQS'#Cp'#CpO${QdO'#CqO)vQvO'#CsO+TQtO,5:POOQO'#Cx'#CxO)iQWO'#CwO+iQWO'#CyOOQS'#Em'#EmOOQO'#Dh'#DhO+nQ[O'#DoO+|QWO'#EqO&]Q[O'#DmO,[QWO'#DpOOQO'#Er'#ErO({QWO,5:^O,aQpO,5:`OOQS'#Dx'#DxO,iQWO,5:bO,nQ[O,5:bOOQO'#D{'#D{O,vQWO,5:eO,{QWO,5:kO-TQWO,5:mOOQS-E8S-E8SO${QdO,59{O-]Q[O'#EZO-jQWO,5;[O-jQWO,5;[POOO'#ET'#ETP-uO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.lQXO,5:sOOQO-E8V-E8VOOQS1G.g1G.gOOQP1G.n1G.nO)dQWO1G.nO)iQWO1G.nOOQP1G/V1G/VO.yQ`O1G/ZO/dQXO1G/_O/zQXO1G/aO0bQXO1G/bO0xQWO,59zO0}Q[O'#DOO1UQdO'#CoOOQP1G/Z1G/ZO${QdO1G/ZO1]QpO,59]OOQS,59_,59_O${QdO,59aO1eQWO1G/kOOQS,59c,59cO1jQ!bO,59eO1rQWO'#DhO1}QWO,5:TO2SQWO,5:ZO&]Q[O,5:VO&]Q[O'#E[O2[QWO,5;]O2gQWO,5:XO(^Q[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2xQWO1G/|O2}QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO3YQtO1G/gOOQO,5:u,5:uO3pQ[O,5:uOOQO-E8X-E8XO3}QWO1G0vPOOO-E8R-E8RPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$u7+$uO${QdO7+$uOOQS1G/f1G/fO4YQXO'#EoO4aQWO,59jO4fQtO'#EVO5ZQdO'#ElO5eQWO,59ZO5jQpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5rQWO1G/PO${QdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5wQWO,5:vOOQO-E8Y-E8YO6VQXO1G/vOOQS7+%h7+%hO6^QYO'#CsOOQO'#EO'#EOO6iQ`O'#D}OOQO'#D}'#D}O6tQWO'#E]O6|QdO,5:hOOQS,5:h,5:hO7XQtO'#EYO${QdO'#EYO8VQdO7+%ROOQO7+%R7+%ROOQO1G0a1G0aO8jQpO<T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#b[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l[[o`#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSp^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#_QOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#X~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!W^Oy%^z;'S%^;'S;=`%o<%lO%^dCoSzSOy%^z;'S%^;'S;=`%o<%lO%^bDQU|QOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS|Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[!YQo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bFfSxQOy%^z;'S%^;'S;=`%o<%lO%^lFwSv[Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!`Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!RUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!Q^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!PQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[R0,I0,A0,1,2,3,4,new ol("m~RRYZ[z{a~~g~aO#Z~~dP!P!Qg~lO#[~~",28,102)],topRules:{StyleSheet:[0,4],Styles:[1,84]},specialized:[{term:97,get:n=>D0[n]||-1},{term:56,get:n=>w0[n]||-1},{term:98,get:n=>x0[n]||-1}],tokenPrec:1169});let Dc=null;function wc(){if(!Dc&&typeof document=="object"&&document.body){let{style:n}=document.body,e=[],t=new Set;for(let r in n)r!="cssText"&&r!="cssFloat"&&typeof n[r]=="string"&&(/[A-Z]/.test(r)&&(r=r.replace(/[A-Z]/g,i=>"-"+i.toLowerCase())),t.has(r)||(e.push(r),t.add(r)));Dc=e.sort().map(r=>({type:"property",label:r}))}return Dc||[]}const mS=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(n=>({type:"class",label:n})),_S=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(n=>({type:"keyword",label:n})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(n=>({type:"constant",label:n}))),k0=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(n=>({type:"type",label:n})),li=/^(\w[\w-]*|-\w[\w-]*|)$/,M0=/^-(-[\w-]*)?$/;function P0(n,e){var t;if((n.name=="("||n.type.isError)&&(n=n.parent||n),n.name!="ArgList")return!1;let r=(t=n.parent)===null||t===void 0?void 0:t.firstChild;return(r==null?void 0:r.name)!="Callee"?!1:e.sliceString(r.from,r.to)=="var"}const gS=new ev,B0=["Declaration"];function U0(n){for(let e=n;;){if(e.type.isTop)return e;if(!(e=e.parent))return n}}function T1(n,e,t){if(e.to-e.from>4096){let r=gS.get(e);if(r)return r;let i=[],a=new Set,s=e.cursor(Rt.IncludeAnonymous);if(s.firstChild())do for(let o of T1(n,s.node,t))a.has(o.label)||(a.add(o.label),i.push(o));while(s.nextSibling());return gS.set(e,i),i}else{let r=[],i=new Set;return e.cursor().iterate(a=>{var s;if(t(a)&&a.matchContext(B0)&&((s=a.node.nextSibling)===null||s===void 0?void 0:s.name)==":"){let o=n.sliceString(a.from,a.to);i.has(o)||(i.add(o),r.push({label:o,type:"variable"}))}}),r}}const F0=n=>e=>{let{state:t,pos:r}=e,i=Ut(t).resolveInner(r,-1),a=i.type.isError&&i.from==i.to-1&&t.doc.sliceString(i.from,i.to)=="-";if(i.name=="PropertyName"||(a||i.name=="TagName")&&/^(Block|Styles)$/.test(i.resolve(i.to).name))return{from:i.from,options:wc(),validFor:li};if(i.name=="ValueName")return{from:i.from,options:_S,validFor:li};if(i.name=="PseudoClassName")return{from:i.from,options:mS,validFor:li};if(n(i)||(e.explicit||a)&&P0(i,t.doc))return{from:n(i)||a?i.from:r,options:T1(t.doc,U0(i),n),validFor:M0};if(i.name=="TagName"){for(let{parent:l}=i;l;l=l.parent)if(l.name=="Block")return{from:i.from,options:wc(),validFor:li};return{from:i.from,options:k0,validFor:li}}if(!e.explicit)return null;let s=i.resolve(r),o=s.childBefore(r);return o&&o.name==":"&&s.name=="PseudoClassSelector"?{from:r,options:mS,validFor:li}:o&&o.name==":"&&s.name=="Declaration"||s.name=="ArgList"?{from:r,options:_S,validFor:li}:s.name=="Block"||s.name=="Styles"?{from:r,options:wc(),validFor:li}:null},Y0=F0(n=>n.name=="VariableName"),gl=xa.define({name:"css",parser:L0.configure({props:[Xs.add({Declaration:Go()}),Zs.add({"Block KeyframeList":pv})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function G0(){return new Is(gl,gl.data.of({autocomplete:Y0}))}const ns=["_blank","_self","_top","_parent"],xc=["ascii","utf-8","utf-16","latin1","latin1"],Lc=["get","post","put","delete"],kc=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Vr=["true","false"],ke={},Q0={a:{attrs:{href:null,ping:null,type:null,media:null,target:ns,hreflang:null}},abbr:ke,address:ke,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:ke,aside:ke,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:ke,base:{attrs:{href:null,target:ns}},bdi:ke,bdo:ke,blockquote:{attrs:{cite:null}},body:ke,br:ke,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:kc,formmethod:Lc,formnovalidate:["novalidate"],formtarget:ns,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:ke,center:ke,cite:ke,code:ke,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:ke,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:ke,div:ke,dl:ke,dt:ke,em:ke,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:ke,figure:ke,footer:ke,form:{attrs:{action:null,name:null,"accept-charset":xc,autocomplete:["on","off"],enctype:kc,method:Lc,novalidate:["novalidate"],target:ns}},h1:ke,h2:ke,h3:ke,h4:ke,h5:ke,h6:ke,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:ke,hgroup:ke,hr:ke,html:{attrs:{manifest:null}},i:ke,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:kc,formmethod:Lc,formnovalidate:["novalidate"],formtarget:ns,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:ke,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:ke,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:ke,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:xc,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:ke,noscript:ke,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:ke,param:{attrs:{name:null,value:null}},pre:ke,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:ke,rt:ke,ruby:ke,samp:ke,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:xc}},section:ke,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:ke,source:{attrs:{src:null,type:null,media:null}},span:ke,strong:ke,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:ke,summary:ke,sup:ke,table:ke,tbody:ke,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:ke,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:ke,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:ke,time:{attrs:{datetime:null}},title:ke,tr:ke,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:ke,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:ke},C1={accesskey:null,class:null,contenteditable:Vr,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Vr,autocorrect:Vr,autocapitalize:Vr,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Vr,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Vr,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Vr,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Vr,"aria-hidden":Vr,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Vr,"aria-multiselectable":Vr,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Vr,"aria-relevant":null,"aria-required":Vr,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},v1="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(n=>"on"+n);for(let n of v1)C1[n]=null;class Ms{constructor(e,t){this.tags=Object.assign(Object.assign({},Q0),e),this.globalAttrs=Object.assign(Object.assign({},C1),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}Ms.default=new Ms;function Ba(n,e,t=n.length){if(!e)return"";let r=e.firstChild,i=r&&r.getChild("TagName");return i?n.sliceString(i.from,Math.min(i.to,t)):""}function Ua(n,e=!1){for(;n;n=n.parent)if(n.name=="Element")if(e)e=!1;else return n;return null}function y1(n,e,t){let r=t.tags[Ba(n,Ua(e))];return(r==null?void 0:r.children)||t.allTags}function _m(n,e){let t=[];for(let r=Ua(e);r&&!r.type.isTop;r=Ua(r.parent)){let i=Ba(n,r);if(i&&r.lastChild.name=="CloseTag")break;i&&t.indexOf(i)<0&&(e.name=="EndTag"||e.from>=r.firstChild.to)&&t.push(i)}return t}const A1=/^[:\-\.\w\u00b7-\uffff]*$/;function SS(n,e,t,r,i){let a=/\s*>/.test(n.sliceDoc(i,i+5))?"":">",s=Ua(t,!0);return{from:r,to:i,options:y1(n.doc,s,e).map(o=>({label:o,type:"type"})).concat(_m(n.doc,t).map((o,l)=>({label:"/"+o,apply:"/"+o+a,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function OS(n,e,t,r){let i=/\s*>/.test(n.sliceDoc(r,r+5))?"":">";return{from:t,to:r,options:_m(n.doc,e).map((a,s)=>({label:a,apply:a+i,type:"type",boost:99-s})),validFor:A1}}function $0(n,e,t,r){let i=[],a=0;for(let s of y1(n.doc,t,e))i.push({label:"<"+s,type:"type"});for(let s of _m(n.doc,t))i.push({label:"",type:"type",boost:99-a++});return{from:r,to:r,options:i,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function q0(n,e,t,r,i){let a=Ua(t),s=a?e.tags[Ba(n.doc,a)]:null,o=s&&s.attrs?Object.keys(s.attrs):[],l=s&&s.globalAttrs===!1?o:o.length?o.concat(e.globalAttrNames):e.globalAttrNames;return{from:r,to:i,options:l.map(u=>({label:u,type:"property"})),validFor:A1}}function V0(n,e,t,r,i){var a;let s=(a=t.parent)===null||a===void 0?void 0:a.getChild("AttributeName"),o=[],l;if(s){let u=n.sliceDoc(s.from,s.to),d=e.globalAttrs[u];if(!d){let f=Ua(t),m=f?e.tags[Ba(n.doc,f)]:null;d=(m==null?void 0:m.attrs)&&m.attrs[u]}if(d){let f=n.sliceDoc(r,i).toLowerCase(),m='"',g='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,m="",g=n.sliceDoc(i,i+1)==f[0]?"":f[0],f=f.slice(1),r++):l=/^[^\s<>='"]*$/;for(let b of d)o.push({label:b,apply:m+b+g,type:"constant"})}}return{from:r,to:i,options:o,validFor:l}}function R1(n,e){let{state:t,pos:r}=e,i=Ut(t).resolveInner(r,-1),a=i.resolve(r);for(let s=r,o;a==i&&(o=i.childBefore(s));){let l=o.lastChild;if(!l||!l.type.isError||l.fromR1(r,i)}const I1=[{tag:"script",attrs:n=>n.type=="text/typescript"||n.lang=="ts",parser:Fv.parser},{tag:"script",attrs:n=>n.type=="text/babel"||n.type=="text/jsx",parser:Yv.parser},{tag:"script",attrs:n=>n.type=="text/typescript-jsx",parser:Gv.parser},{tag:"script",attrs(n){return!n.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(n.type)},parser:Kn.parser},{tag:"style",attrs(n){return(!n.lang||n.lang=="css")&&(!n.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(n.type))},parser:gl.parser}],N1=[{name:"style",parser:gl.parser.configure({top:"Styles"})}].concat(v1.map(n=>({name:n,parser:Kn.parser}))),D1=xa.define({name:"html",parser:m0.configure({props:[Xs.add({Element(n){let e=/^(\s*)(<\/)?/.exec(n.textAfter);return n.node.to<=n.pos+e[0].length?n.continue():n.lineIndent(n.node.from)+(e[2]?0:n.unit)},"OpenTag CloseTag SelfClosingTag"(n){return n.column(n.node.from)+n.unit},Document(n){if(n.pos+/\s*/.exec(n.textAfter)[0].lengthn.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),qo=D1.configure({wrap:O1(I1,N1)});function W0(n={}){let e="",t;n.matchClosingTags===!1&&(e="noMatch"),n.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(n.nestedLanguages&&n.nestedLanguages.length||n.nestedAttributes&&n.nestedAttributes.length)&&(t=O1((n.nestedLanguages||[]).concat(I1),(n.nestedAttributes||[]).concat(N1)));let r=t?D1.configure({wrap:t,dialect:e}):e?qo.configure({dialect:e}):qo;return new Is(r,[qo.data.of({autocomplete:z0(n)}),n.autoCloseTags!==!1?X0:[],fh().support,G0().support])}const ES=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),X0=Ae.inputHandler.of((n,e,t,r)=>{if(n.composing||n.state.readOnly||e!=t||r!=">"&&r!="/"||!qo.isActiveAt(n.state,e,-1))return!1;let{state:i}=n,a=i.changeByRange(s=>{var o,l,u;let{head:d}=s,f=Ut(i).resolveInner(d,-1),m;if((f.name=="TagName"||f.name=="StartTag")&&(f=f.parent),r==">"&&f.name=="OpenTag"){if(((l=(o=f.parent)===null||o===void 0?void 0:o.lastChild)===null||l===void 0?void 0:l.name)!="CloseTag"&&(m=Ba(i.doc,f.parent,d))&&!ES.has(m)){let g=n.state.doc.sliceString(d,d+1)===">",b=`${g?"":">"}`;return{range:de.cursor(d+1),changes:{from:d+(g?1:0),insert:b}}}}else if(r=="/"&&f.name=="OpenTag"){let g=f.parent,b=g==null?void 0:g.parent;if(g.from==d-1&&((u=b.lastChild)===null||u===void 0?void 0:u.name)!="CloseTag"&&(m=Ba(i.doc,b,d))&&!ES.has(m)){let v=n.state.doc.sliceString(d,d+1)===">",y=`/${m}${v?"":">"}`,N=d+y.length+(v?1:0);return{range:de.cursor(N),changes:{from:d,insert:y}}}}return{range:s}});return a.changes.empty?!1:(n.dispatch(a,{userEvent:"input.type",scrollIntoView:!0}),!0)}),w1=Jh({commentTokens:{block:{open:""}}}),x1=new Ze,L1=Ow.configure({props:[Zs.add(n=>!n.is("Block")||n.is("Document")||bh(n)!=null?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),x1.add(bh),Xs.add({Document:()=>null}),Fi.add({Document:w1})]});function bh(n){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(n.name);return e?+e[1]:void 0}function Z0(n,e){let t=n;for(;;){let r=t.nextSibling,i;if(!r||(i=bh(r.type))!=null&&i<=e)break;t=r}return t.to}const K0=dv.of((n,e,t)=>{for(let r=Ut(n).resolveInner(t,-1);r&&!(r.fromt)return{from:t,to:a}}return null});function gm(n){return new jr(w1,n,[K0],"markdown")}const j0=gm(L1),J0=L1.configure([Nw,ww,Dw,xw]),k1=gm(J0);function ex(n,e){return t=>{if(t&&n){let r=null;if(t=/\S*/.exec(t)[0],typeof n=="function"?r=n(t):r=ul.matchLanguageName(n,t,!0),r instanceof ul)return r.support?r.support.language.parser:Rs.getSkippingParser(r.load());if(r)return r.parser}return e?e.parser:null}}class yo{constructor(e,t,r,i,a,s,o){this.node=e,this.from=t,this.to=r,this.spaceBefore=i,this.spaceAfter=a,this.type=s,this.item=o}blank(e,t=!0){let r=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;r.length0;i--)r+=" ";return r+(t?this.spaceAfter:"")}}marker(e,t){let r=this.node.name=="OrderedList"?String(+P1(this.item,e)[2]+t):"";return this.spaceBefore+r+this.type+this.spaceAfter}}function M1(n,e){let t=[];for(let i=n;i&&i.name!="Document";i=i.parent)(i.name=="ListItem"||i.name=="Blockquote"||i.name=="FencedCode")&&t.push(i);let r=[];for(let i=t.length-1;i>=0;i--){let a=t[i],s,o=e.lineAt(a.from),l=a.from-o.from;if(a.name=="FencedCode")r.push(new yo(a,l,l,"","","",null));else if(a.name=="Blockquote"&&(s=/^[ \t]*>( ?)/.exec(o.text.slice(l))))r.push(new yo(a,l,l+s[0].length,"",s[1],">",null));else if(a.name=="ListItem"&&a.parent.name=="OrderedList"&&(s=/^([ \t]*)\d+([.)])([ \t]*)/.exec(o.text.slice(l)))){let u=s[3],d=s[0].length;u.length>=4&&(u=u.slice(0,u.length-4),d-=4),r.push(new yo(a.parent,l,l+d,s[1],u,s[2],a))}else if(a.name=="ListItem"&&a.parent.name=="BulletList"&&(s=/^([ \t]*)([-+*])([ \t]{1,4}\[[ xX]\])?([ \t]+)/.exec(o.text.slice(l)))){let u=s[4],d=s[0].length;u.length>4&&(u=u.slice(0,u.length-4),d-=4);let f=s[2];s[3]&&(f+=s[3].replace(/[xX]/," ")),r.push(new yo(a.parent,l,l+d,s[1],u,f,a))}}return r}function P1(n,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(n.from,n.from+10))}function Mc(n,e,t,r=0){for(let i=-1,a=n;;){if(a.name=="ListItem"){let o=P1(a,e),l=+o[2];if(i>=0){if(l!=i+1)return;t.push({from:a.from+o[1].length,to:a.from+o[0].length,insert:String(i+2+r)})}i=l}let s=a.nextSibling;if(!s)break;a=s}}const tx=({state:n,dispatch:e})=>{let t=Ut(n),{doc:r}=n,i=null,a=n.changeByRange(s=>{if(!s.empty||!k1.isActiveAt(n,s.from))return i={range:s};let o=s.from,l=r.lineAt(o),u=M1(t.resolveInner(o,-1),r);for(;u.length&&u[u.length-1].from>o-l.from;)u.pop();if(!u.length)return i={range:s};let d=u[u.length-1];if(d.to-d.spaceAfter.length>o-l.from)return i={range:s};let f=o>=d.to-d.spaceAfter.length&&!/\S/.test(l.text.slice(d.to));if(d.item&&f)if(d.node.firstChild.to>=o||l.from>0&&!/[^\s>]/.test(r.lineAt(l.from-1).text)){let y=u.length>1?u[u.length-2]:null,N,F="";y&&y.item?(N=l.from+y.from,F=y.marker(r,1)):N=l.from+(y?y.to:0);let X=[{from:N,to:o,insert:F}];return d.node.name=="OrderedList"&&Mc(d.item,r,X,-2),y&&y.node.name=="OrderedList"&&Mc(y.item,r,X),{range:de.cursor(N+F.length),changes:X}}else{let y="";for(let N=0,F=u.length-2;N<=F;N++)y+=u[N].blank(N\s*$/.exec(y.text);if(N&&N.index==d.from){let F=n.changes([{from:y.from+N.index,to:y.to},{from:l.from+d.from,to:l.to}]);return{range:s.map(F),changes:F}}}let m=[];d.node.name=="OrderedList"&&Mc(d.item,r,m);let g=d.item&&d.item.from]*/.exec(l.text)[0].length>=d.to)for(let y=0,N=u.length-1;y<=N;y++)b+=y==N&&!g?u[y].marker(r,1):u[y].blank(yl.from&&/\s/.test(l.text.charAt(v-l.from-1));)v--;return b=n.lineBreak+b,m.push({from:v,to:o,insert:b}),{range:de.cursor(v+b.length),changes:m}});return i?!1:(e(n.update(a,{scrollIntoView:!0,userEvent:"input"})),!0)};function bS(n){return n.name=="QuoteMark"||n.name=="ListMark"}function rx(n,e){let t=n.resolveInner(e,-1),r=e;bS(t)&&(r=t.from,t=t.parent);for(let i;i=t.childBefore(r);)if(bS(i))r=i.from;else if(i.name=="OrderedList"||i.name=="BulletList")t=i.lastChild,r=t.to;else break;return t}const nx=({state:n,dispatch:e})=>{let t=Ut(n),r=null,i=n.changeByRange(a=>{let s=a.from,{doc:o}=n;if(a.empty&&k1.isActiveAt(n,a.from)){let l=o.lineAt(s),u=M1(rx(t,s),o);if(u.length){let d=u[u.length-1],f=d.to-d.spaceAfter.length+(d.spaceAfter?1:0);if(s-l.from>f&&!/\S/.test(l.text.slice(f,s-l.from)))return{range:de.cursor(l.from+f),changes:{from:l.from+f,to:s}};if(s-l.from==f&&(!d.item||l.from<=d.item.from||!/\S/.test(l.text.slice(0,d.to)))){let m=l.from+d.from;if(d.item&&d.node.from{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),r=Om(n.state,t.from);return r.line?cx(n):r.block?dx(n):!1};function Sm(n,e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let i=n(e,t);return i?(r(t.update(i)),!0):!1}}const cx=Sm(hx,0),ux=Sm(B1,0),dx=Sm((n,e)=>B1(n,e,fx(e)),0);function Om(n,e){let t=n.languageDataAt("commentTokens",e);return t.length?t[0]:{}}const is=50;function px(n,{open:e,close:t},r,i){let a=n.sliceDoc(r-is,r),s=n.sliceDoc(i,i+is),o=/\s*$/.exec(a)[0].length,l=/^\s*/.exec(s)[0].length,u=a.length-o;if(a.slice(u-e.length,u)==e&&s.slice(l,l+t.length)==t)return{open:{pos:r-o,margin:o&&1},close:{pos:i+l,margin:l&&1}};let d,f;i-r<=2*is?d=f=n.sliceDoc(r,i):(d=n.sliceDoc(r,r+is),f=n.sliceDoc(i-is,i));let m=/^\s*/.exec(d)[0].length,g=/\s*$/.exec(f)[0].length,b=f.length-g-t.length;return d.slice(m,m+e.length)==e&&f.slice(b,b+t.length)==t?{open:{pos:r+m+e.length,margin:/\s/.test(d.charAt(m+e.length))?1:0},close:{pos:i-g-t.length,margin:/\s/.test(f.charAt(b-1))?1:0}}:null}function fx(n){let e=[];for(let t of n.selection.ranges){let r=n.doc.lineAt(t.from),i=t.to<=r.to?r:n.doc.lineAt(t.to),a=e.length-1;a>=0&&e[a].to>r.from?e[a].to=i.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return e}function B1(n,e,t=e.selection.ranges){let r=t.map(a=>Om(e,a.from).block);if(!r.every(a=>a))return null;let i=t.map((a,s)=>px(e,r[s],a.from,a.to));if(n!=2&&!i.every(a=>a))return{changes:e.changes(t.map((a,s)=>i[s]?[]:[{from:a.from,insert:r[s].open+" "},{from:a.to,insert:" "+r[s].close}]))};if(n!=1&&i.some(a=>a)){let a=[];for(let s=0,o;si&&(a==s||s>f.from)){i=f.from;let m=/^\s*/.exec(f.text)[0].length,g=m==f.length,b=f.text.slice(m,m+u.length)==u?m:-1;ma.comment<0&&(!a.empty||a.single))){let a=[];for(let{line:o,token:l,indent:u,empty:d,single:f}of r)(f||!d)&&a.push({from:o.from+u,insert:l+" "});let s=e.changes(a);return{changes:s,selection:e.selection.map(s,1)}}else if(n!=1&&r.some(a=>a.comment>=0)){let a=[];for(let{line:s,comment:o,token:l}of r)if(o>=0){let u=s.from+o,d=u+l.length;s.text[d-s.from]==" "&&d++,a.push({from:u,to:d})}return{changes:a}}return null}const Ch=ei.define(),mx=ei.define(),_x=De.define(),U1=De.define({combine(n){return ti(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(r,i)=>e(r,i)||t(r,i)})}});function gx(n){let e=0;return n.iterChangedRanges((t,r)=>e=r),e}const F1=hr.define({create(){return Un.empty},update(n,e){let t=e.state.facet(U1),r=e.annotation(Ch);if(r){let l=e.docChanged?de.single(gx(e.changes)):void 0,u=Yr.fromTransaction(e,l),d=r.side,f=d==0?n.undone:n.done;return u?f=Ol(f,f.length,t.minDepth,u):f=G1(f,e.startState.selection),new Un(d==0?r.rest:f,d==0?f:r.rest)}let i=e.annotation(mx);if((i=="full"||i=="before")&&(n=n.isolate()),e.annotation(tr.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let a=Yr.fromTransaction(e),s=e.annotation(tr.time),o=e.annotation(tr.userEvent);return a?n=n.addChanges(a,s,o,t,e):e.selection&&(n=n.addSelection(e.startState.selection,s,o,t.newGroupDelay)),(i=="full"||i=="after")&&(n=n.isolate()),n},toJSON(n){return{done:n.done.map(e=>e.toJSON()),undone:n.undone.map(e=>e.toJSON())}},fromJSON(n){return new Un(n.done.map(Yr.fromJSON),n.undone.map(Yr.fromJSON))}});function Sx(n={}){return[F1,U1.of(n),Ae.domEventHandlers({beforeinput(e,t){let r=e.inputType=="historyUndo"?Em:e.inputType=="historyRedo"?Sl:null;return r?(e.preventDefault(),r(t)):!1}})]}function $l(n,e){return function({state:t,dispatch:r}){if(!e&&t.readOnly)return!1;let i=t.field(F1,!1);if(!i)return!1;let a=i.pop(n,t,e);return a?(r(a),!0):!1}}const Em=$l(0,!1),Sl=$l(1,!1),Ox=$l(0,!0),Ex=$l(1,!0);class Yr{constructor(e,t,r,i,a){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=i,this.selectionsAfter=a}setSelAfter(e){return new Yr(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(i=>i.toJSON())}}static fromJSON(e){return new Yr(e.changes&&Jt.fromJSON(e.changes),[],e.mapped&&Fn.fromJSON(e.mapped),e.startSelection&&de.fromJSON(e.startSelection),e.selectionsAfter.map(de.fromJSON))}static fromTransaction(e,t){let r=ln;for(let i of e.startState.facet(_x)){let a=i(e);a.length&&(r=r.concat(a))}return!r.length&&e.changes.empty?null:new Yr(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,ln)}static selection(e){return new Yr(void 0,ln,void 0,void 0,e)}}function Ol(n,e,t,r){let i=e+1>t+20?e-t-1:0,a=n.slice(i,e);return a.push(r),a}function bx(n,e){let t=[],r=!1;return n.iterChangedRanges((i,a)=>t.push(i,a)),e.iterChangedRanges((i,a,s,o)=>{for(let l=0;l=u&&s<=d&&(r=!0)}}),r}function Tx(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,r)=>t.empty!=e.ranges[r].empty).length===0}function Y1(n,e){return n.length?e.length?n.concat(e):n:e}const ln=[],Cx=200;function G1(n,e){if(n.length){let t=n[n.length-1],r=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-Cx));return r.length&&r[r.length-1].eq(e)?n:(r.push(e),Ol(n,n.length-1,1e9,t.setSelAfter(r)))}else return[Yr.selection([e])]}function vx(n){let e=n[n.length-1],t=n.slice();return t[n.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Bc(n,e){if(!n.length)return n;let t=n.length,r=ln;for(;t;){let i=yx(n[t-1],e,r);if(i.changes&&!i.changes.empty||i.effects.length){let a=n.slice(0,t);return a[t-1]=i,a}else e=i.mapped,t--,r=i.selectionsAfter}return r.length?[Yr.selection(r)]:ln}function yx(n,e,t){let r=Y1(n.selectionsAfter.length?n.selectionsAfter.map(o=>o.map(e)):ln,t);if(!n.changes)return Yr.selection(r);let i=n.changes.map(e),a=e.mapDesc(n.changes,!0),s=n.mapped?n.mapped.composeDesc(a):a;return new Yr(i,it.mapEffects(n.effects,e),s,n.startSelection.map(a),r)}const Ax=/^(input\.type|delete)($|\.)/;class Un{constructor(e,t,r=0,i=void 0){this.done=e,this.undone=t,this.prevTime=r,this.prevUserEvent=i}isolate(){return this.prevTime?new Un(this.done,this.undone):this}addChanges(e,t,r,i,a){let s=this.done,o=s[s.length-1];return o&&o.changes&&!o.changes.empty&&e.changes&&(!r||Ax.test(r))&&(!o.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?n.moveByChar(t,e):ql(t,e))}function br(n){return n.textDirectionAt(n.state.selection.main.head)==Bt.LTR}const Tm=n=>bm(n,!br(n)),Q1=n=>bm(n,br(n)),Ix=n=>bm(n,!1);function $1(n,e){return yn(n,t=>t.empty?n.moveByGroup(t,e):ql(t,e))}const Nx=n=>$1(n,!br(n)),Dx=n=>$1(n,br(n));function wx(n,e,t){if(e.type.prop(t))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function Vl(n,e,t){let r=Ut(n).resolveInner(e.head),i=t?Ze.closedBy:Ze.openedBy;for(let l=e.head;;){let u=t?r.childAfter(l):r.childBefore(l);if(!u)break;wx(n,u,i)?r=u:l=t?u.to:u.from}let a=r.type.prop(i),s,o;return a&&(s=t?on(n,r.from,1):on(n,r.to,-1))&&s.matched?o=t?s.end.to:s.end.from:o=t?r.to:r.from,de.cursor(o,t?-1:1)}const xx=n=>yn(n,e=>Vl(n.state,e,!br(n))),Lx=n=>yn(n,e=>Vl(n.state,e,br(n)));function q1(n,e){return yn(n,t=>{if(!t.empty)return ql(t,e);let r=n.moveVertically(t,e);return r.head!=t.head?r:n.moveToLineBoundary(t,e)})}const V1=n=>q1(n,!1),H1=n=>q1(n,!0);function z1(n){let e=n.scrollDOM.clientHeights.empty?n.moveVertically(s,e,t.height):ql(s,e));if(i.eq(r.selection))return!1;let a;if(t.selfScroll){let s=n.coordsAtPos(r.selection.main.head),o=n.scrollDOM.getBoundingClientRect(),l=o.top+t.marginTop,u=o.bottom-t.marginBottom;s&&s.top>l&&s.bottomW1(n,!1),vh=n=>W1(n,!0);function vi(n,e,t){let r=n.lineBlockAt(e.head),i=n.moveToLineBoundary(e,t);if(i.head==e.head&&i.head!=(t?r.to:r.from)&&(i=n.moveToLineBoundary(e,t,!1)),!t&&i.head==r.from&&r.length){let a=/^\s*/.exec(n.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;a&&e.head!=r.from+a&&(i=de.cursor(r.from+a))}return i}const X1=n=>yn(n,e=>vi(n,e,!0)),Z1=n=>yn(n,e=>vi(n,e,!1)),kx=n=>yn(n,e=>vi(n,e,!br(n))),Mx=n=>yn(n,e=>vi(n,e,br(n))),Px=n=>yn(n,e=>de.cursor(n.lineBlockAt(e.head).from,1)),Bx=n=>yn(n,e=>de.cursor(n.lineBlockAt(e.head).to,-1));function Ux(n,e,t){let r=!1,i=qa(n.selection,a=>{let s=on(n,a.head,-1)||on(n,a.head,1)||a.head>0&&on(n,a.head-1,1)||a.headUx(n,e,!1);function fn(n,e){let t=qa(n.state.selection,r=>{let i=e(r);return de.range(r.anchor,i.head,i.goalColumn,i.bidiLevel||void 0)});return t.eq(n.state.selection)?!1:(n.dispatch(Qn(n.state,t)),!0)}function K1(n,e){return fn(n,t=>n.moveByChar(t,e))}const j1=n=>K1(n,!br(n)),J1=n=>K1(n,br(n));function ey(n,e){return fn(n,t=>n.moveByGroup(t,e))}const Yx=n=>ey(n,!br(n)),Gx=n=>ey(n,br(n)),Qx=n=>fn(n,e=>Vl(n.state,e,!br(n))),$x=n=>fn(n,e=>Vl(n.state,e,br(n)));function ty(n,e){return fn(n,t=>n.moveVertically(t,e))}const ry=n=>ty(n,!1),ny=n=>ty(n,!0);function iy(n,e){return fn(n,t=>n.moveVertically(t,e,z1(n).height))}const CS=n=>iy(n,!1),vS=n=>iy(n,!0),qx=n=>fn(n,e=>vi(n,e,!0)),Vx=n=>fn(n,e=>vi(n,e,!1)),Hx=n=>fn(n,e=>vi(n,e,!br(n))),zx=n=>fn(n,e=>vi(n,e,br(n))),Wx=n=>fn(n,e=>de.cursor(n.lineBlockAt(e.head).from)),Xx=n=>fn(n,e=>de.cursor(n.lineBlockAt(e.head).to)),yS=({state:n,dispatch:e})=>(e(Qn(n,{anchor:0})),!0),AS=({state:n,dispatch:e})=>(e(Qn(n,{anchor:n.doc.length})),!0),RS=({state:n,dispatch:e})=>(e(Qn(n,{anchor:n.selection.main.anchor,head:0})),!0),IS=({state:n,dispatch:e})=>(e(Qn(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),Zx=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),Kx=({state:n,dispatch:e})=>{let t=zl(n).map(({from:r,to:i})=>de.range(r,Math.min(i+1,n.doc.length)));return e(n.update({selection:de.create(t),userEvent:"select"})),!0},jx=({state:n,dispatch:e})=>{let t=qa(n.selection,r=>{var i;let a=Ut(n).resolveInner(r.head,1);for(;!(a.from=r.to||a.to>r.to&&a.from<=r.from||!(!((i=a.parent)===null||i===void 0)&&i.parent));)a=a.parent;return de.range(a.to,a.from)});return e(Qn(n,t)),!0},Jx=({state:n,dispatch:e})=>{let t=n.selection,r=null;return t.ranges.length>1?r=de.create([t.main]):t.main.empty||(r=de.create([de.cursor(t.main.head)])),r?(e(Qn(n,r)),!0):!1};function Hl(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:r}=n,i=r.changeByRange(a=>{let{from:s,to:o}=a;if(s==o){let l=e(s);ls&&(t="delete.forward",l=Ao(n,l,!0)),s=Math.min(s,l),o=Math.max(o,l)}else s=Ao(n,s,!1),o=Ao(n,o,!0);return s==o?{range:a}:{changes:{from:s,to:o},range:de.cursor(s)}});return i.changes.empty?!1:(n.dispatch(r.update(i,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?Ae.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function Ao(n,e,t){if(n instanceof Ae)for(let r of n.state.facet(Ae.atomicRanges).map(i=>i(n)))r.between(e,e,(i,a)=>{ie&&(e=t?a:i)});return e}const ay=(n,e)=>Hl(n,t=>{let{state:r}=n,i=r.doc.lineAt(t),a,s;if(!e&&t>i.from&&tay(n,!1),sy=n=>ay(n,!0),oy=(n,e)=>Hl(n,t=>{let r=t,{state:i}=n,a=i.doc.lineAt(r),s=i.charCategorizer(r);for(let o=null;;){if(r==(e?a.to:a.from)){r==t&&a.number!=(e?i.doc.lines:1)&&(r+=e?1:-1);break}let l=Er(a.text,r-a.from,e)+a.from,u=a.text.slice(Math.min(r,l)-a.from,Math.max(r,l)-a.from),d=s(u);if(o!=null&&d!=o)break;(u!=" "||r!=t)&&(o=d),r=l}return r}),ly=n=>oy(n,!1),eL=n=>oy(n,!0),cy=n=>Hl(n,e=>{let t=n.lineBlockAt(e).to;return eHl(n,e=>{let t=n.lineBlockAt(e).from;return e>t?t:Math.max(0,e-1)}),rL=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:mt.of(["",""])},range:de.cursor(r.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},nL=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(r=>{if(!r.empty||r.from==0||r.from==n.doc.length)return{range:r};let i=r.from,a=n.doc.lineAt(i),s=i==a.from?i-1:Er(a.text,i-a.from,!1)+a.from,o=i==a.to?i+1:Er(a.text,i-a.from,!0)+a.from;return{changes:{from:s,to:o,insert:n.doc.slice(i,o).append(n.doc.slice(s,i))},range:de.cursor(o)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function zl(n){let e=[],t=-1;for(let r of n.selection.ranges){let i=n.doc.lineAt(r.from),a=n.doc.lineAt(r.to);if(!r.empty&&r.to==a.from&&(a=n.doc.lineAt(r.to-1)),t>=i.number){let s=e[e.length-1];s.to=a.to,s.ranges.push(r)}else e.push({from:i.from,to:a.to,ranges:[r]});t=a.number+1}return e}function uy(n,e,t){if(n.readOnly)return!1;let r=[],i=[];for(let a of zl(n)){if(t?a.to==n.doc.length:a.from==0)continue;let s=n.doc.lineAt(t?a.to+1:a.from-1),o=s.length+1;if(t){r.push({from:a.to,to:s.to},{from:a.from,insert:s.text+n.lineBreak});for(let l of a.ranges)i.push(de.range(Math.min(n.doc.length,l.anchor+o),Math.min(n.doc.length,l.head+o)))}else{r.push({from:s.from,to:a.from},{from:a.to,insert:n.lineBreak+s.text});for(let l of a.ranges)i.push(de.range(l.anchor-o,l.head-o))}}return r.length?(e(n.update({changes:r,scrollIntoView:!0,selection:de.create(i,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const iL=({state:n,dispatch:e})=>uy(n,e,!1),aL=({state:n,dispatch:e})=>uy(n,e,!0);function dy(n,e,t){if(n.readOnly)return!1;let r=[];for(let i of zl(n))t?r.push({from:i.from,insert:n.doc.slice(i.from,i.to)+n.lineBreak}):r.push({from:i.to,insert:n.lineBreak+n.doc.slice(i.from,i.to)});return e(n.update({changes:r,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const sL=({state:n,dispatch:e})=>dy(n,e,!1),oL=({state:n,dispatch:e})=>dy(n,e,!0),lL=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(zl(e).map(({from:i,to:a})=>(i>0?i--:an.moveVertically(i,!0)).map(t);return n.dispatch({changes:t,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function cL(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=Ut(n).resolveInner(e),r=t.childBefore(e),i=t.childAfter(e),a;return r&&i&&r.to<=e&&i.from>=e&&(a=r.type.prop(Ze.closedBy))&&a.indexOf(i.name)>-1&&n.doc.lineAt(r.to).from==n.doc.lineAt(i.from).from?{from:r.to,to:i.from}:null}const py=fy(!1),uL=fy(!0);function fy(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange(i=>{let{from:a,to:s}=i,o=e.doc.lineAt(a),l=!n&&a==s&&cL(e,a);n&&(a=s=(s<=o.to?o:e.doc.lineAt(s)).to);let u=new Yl(e,{simulateBreak:a,simulateDoubleBreak:!!l}),d=tm(u,a);for(d==null&&(d=/^\s*/.exec(e.doc.lineAt(a).text)[0].length);so.from&&a{let i=[];for(let s=r.from;s<=r.to;){let o=n.doc.lineAt(s);o.number>t&&(r.empty||r.to>o.from)&&(e(o,i,r),t=o.number),s=o.to+1}let a=n.changes(i);return{changes:i,range:de.range(a.mapPos(r.anchor,1),a.mapPos(r.head,1))}})}const hy=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),r=new Yl(n,{overrideIndentation:a=>{let s=t[a];return s??-1}}),i=Cm(n,(a,s,o)=>{let l=tm(r,a.from);if(l==null)return;/\S/.test(a.text)||(l=0);let u=/^\s*/.exec(a.text)[0],d=Ns(n,l);(u!=d||o.fromn.readOnly?!1:(e(n.update(Cm(n,(t,r)=>{r.push({from:t.from,insert:n.facet(Ma)})}),{userEvent:"input.indent"})),!0),ym=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Cm(n,(t,r)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let a=qs(i,n.tabSize),s=0,o=Ns(n,Math.max(0,a-dl(n)));for(;s({mac:n.key,run:n.run,shift:n.shift}))),fL=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:xx,shift:Qx},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Lx,shift:$x},{key:"Alt-ArrowUp",run:iL},{key:"Shift-Alt-ArrowUp",run:sL},{key:"Alt-ArrowDown",run:aL},{key:"Shift-Alt-ArrowDown",run:oL},{key:"Escape",run:Jx},{key:"Mod-Enter",run:uL},{key:"Alt-l",mac:"Ctrl-l",run:Kx},{key:"Mod-i",run:jx,preventDefault:!0},{key:"Mod-[",run:ym},{key:"Mod-]",run:vm},{key:"Mod-Alt-\\",run:hy},{key:"Shift-Mod-k",run:lL},{key:"Shift-Mod-\\",run:Fx},{key:"Mod-/",run:lx},{key:"Alt-A",run:ux}].concat(pL),hL={key:"Tab",run:vm,shift:ym};function Pn(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){var i=t[r];typeof i=="string"?n.setAttribute(r,i):i!=null&&(n[r]=i)}e++}for(;en.normalize("NFKD"):n=>n;class Am{constructor(e,t,r=0,i=e.length,a,s){this.test=s,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,i),this.bufferStart=r,this.normalize=a?o=>a(NS(o)):NS,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return pr(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=Bh(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=an(e);let i=this.normalize(t);for(let a=0,s=r;;a++){let o=i.charCodeAt(a),l=this.match(o,s);if(a==i.length-1){if(l)return this.value=l,this;break}s==r&&athis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let r=this.curLineStart+t.index,i=r+t[0].length;if(this.matchPos=El(this.text,i+(r==i?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(rthis.value.to)&&(!this.test||this.test(r,i,t)))return this.value={from:r,to:i,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=r||i.to<=t){let o=new Ca(t,e.sliceString(t,r));return Uc.set(e,o),o}if(i.from==t&&i.to==r)return i;let{text:a,from:s}=i;return s>t&&(a=e.sliceString(t,s)+a,s=t),i.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let r=this.flat.from+t.index,i=r+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,i,t)))return this.value={from:r,to:i,match:t},this.matchPos=El(this.text,i+(r==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Ca.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(Im.prototype[Symbol.iterator]=gy.prototype[Symbol.iterator]=function(){return this});function mL(n){try{return new RegExp(n,Rm),!0}catch{return!1}}function El(n,e){if(e>=n.length)return e;let t=n.lineAt(e),r;for(;e=56320&&r<57344;)e++;return e}const _L={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Sy=De.define({combine(n){return ti(n,_L,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function gL(n){let e=[TL,bL];return n&&e.push(Sy.of(n)),e}const SL=qe.mark({class:"cm-selectionMatch"}),OL=qe.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function DS(n,e,t,r){return(t==0||n(e.sliceDoc(t-1,t))!=Pt.Word)&&(r==e.doc.length||n(e.sliceDoc(r,r+1))!=Pt.Word)}function EL(n,e,t,r){return n(e.sliceDoc(t,t+1))==Pt.Word&&n(e.sliceDoc(r-1,r))==Pt.Word}const bL=lr.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.selectionSet||n.docChanged||n.viewportChanged)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=n.state.facet(Sy),{state:t}=n,r=t.selection;if(r.ranges.length>1)return qe.none;let i=r.main,a,s=null;if(i.empty){if(!e.highlightWordAroundCursor)return qe.none;let l=t.wordAt(i.head);if(!l)return qe.none;s=t.charCategorizer(i.head),a=t.sliceDoc(l.from,l.to)}else{let l=i.to-i.from;if(l200)return qe.none;if(e.wholeWords){if(a=t.sliceDoc(i.from,i.to),s=t.charCategorizer(i.head),!(DS(s,t,i.from,i.to)&&EL(s,t,i.from,i.to)))return qe.none}else if(a=t.sliceDoc(i.from,i.to).trim(),!a)return qe.none}let o=[];for(let l of n.visibleRanges){let u=new Am(t.doc,a,l.from,l.to);for(;!u.next().done;){let{from:d,to:f}=u.value;if((!s||DS(s,t,d,f))&&(i.empty&&d<=i.from&&f>=i.to?o.push(OL.range(d,f)):(d>=i.to||f<=i.from)&&o.push(SL.range(d,f)),o.length>e.maxMatches))return qe.none}}return qe.set(o)}},{decorations:n=>n.decorations}),TL=Ae.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}});class CL{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||mL(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,r)=>r=="n"?` `:r=="r"?"\r":r=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new RL(this):new yL(this)}getCursor(e,t=0,r){let i=e.doc?e:ut.create({doc:e});return r==null&&(r=i.doc.length),this.regexp?pa(this,i,t,r):da(this,i,t,r)}}class Oy{constructor(e){this.spec=e}}function da(n,e,t,r){return new Am(e.doc,n.unquoted,t,r,n.caseSensitive?void 0:i=>i.toLowerCase(),n.wholeWord?vL(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function vL(n,e){return(t,r,i,a)=>((a>t||a+i.length=t)return null;i.push(r.value)}return i}highlight(e,t,r,i){let a=da(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!a.next().done;)i(a.value.from,a.value.to)}}function pa(n,e,t,r){return new Im(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:n.wholeWord?AL(e.charCategorizer(e.selection.main.head)):void 0},t,r)}function bl(n,e){return n.slice(Er(n,e,!1),e)}function Tl(n,e){return n.slice(e,Er(n,e))}function AL(n){return(e,t,r)=>!r[0].length||(n(bl(r.input,r.index))!=Pt.Word||n(Tl(r.input,r.index))!=Pt.Word)&&(n(Tl(r.input,r.index+r[0].length))!=Pt.Word||n(bl(r.input,r.index+r[0].length))!=Pt.Word)}class RL extends Oy{nextMatch(e,t,r){let i=pa(this.spec,e,r,e.doc.length).next();return i.done&&(i=pa(this.spec,e,0,t).next()),i.done?null:i.value}prevMatchInRange(e,t,r){for(let i=1;;i++){let a=Math.max(t,r-i*1e4),s=pa(this.spec,e,a,r),o=null;for(;!s.next().done;)o=s.value;if(o&&(a==t||o.from>a+10))return o;if(a==t)return null}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace.replace(/\$([$&\d+])/g,(t,r)=>r=="$"?"$":r=="&"?e.match[0]:r!="0"&&+r=t)return null;i.push(r.value)}return i}highlight(e,t,r,i){let a=pa(this.spec,e,Math.max(0,t-250),Math.min(r+250,e.doc.length));for(;!a.next().done;)i(a.value.from,a.value.to)}}const Ah=it.define();function IL(n){var e=n.Pos;function t(c,h){var _=c.state.vim;if(!_||_.insertMode)return h.head;var S=_.sel.head;if(!S)return h.head;if(!(_.visualBlock&&h.head.line!=S.line))return h.from()==h.anchor&&!h.empty()&&h.head.line==S.line&&h.head.ch!=S.ch?new e(h.head.line,h.head.ch-1):h.head}function r(c,h,_){if(h.line===_.line&&h.ch>=_.ch-1){var S=c.getLine(h.line),T=S.charCodeAt(h.ch);55296<=T&&T<=55551&&(_.ch+=1)}return{start:h,end:_}}var i=[{keys:"",type:"keyToKey",toKeys:"h"},{keys:"",type:"keyToKey",toKeys:"l"},{keys:"",type:"keyToKey",toKeys:"k"},{keys:"",type:"keyToKey",toKeys:"j"},{keys:"g",type:"keyToKey",toKeys:"gk"},{keys:"g",type:"keyToKey",toKeys:"gj"},{keys:"",type:"keyToKey",toKeys:"l"},{keys:"",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"",type:"keyToKey",toKeys:"x",context:"normal"},{keys:"",type:"keyToKey",toKeys:"W"},{keys:"",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"",type:"keyToKey",toKeys:"w"},{keys:"",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"",type:"keyToKey",toKeys:"j"},{keys:"",type:"keyToKey",toKeys:"k"},{keys:"",type:"keyToKey",toKeys:""},{keys:"",type:"keyToKey",toKeys:""},{keys:"",type:"keyToKey",toKeys:"",context:"insert"},{keys:"",type:"keyToKey",toKeys:"",context:"insert"},{keys:"",type:"keyToKey",toKeys:""},{keys:"",type:"keyToKey",toKeys:"",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"",type:"keyToKey",toKeys:"0"},{keys:"",type:"keyToKey",toKeys:"$"},{keys:"",type:"keyToKey",toKeys:""},{keys:"",type:"keyToKey",toKeys:""},{keys:"",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"",type:"keyToKey",toKeys:"i",context:"normal"},{keys:"",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"(",type:"motion",motion:"moveBySentence",motionArgs:{forward:!1}},{keys:")",type:"motion",motion:"moveBySentence",motionArgs:{forward:!0}},{keys:"",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"g$",type:"motion",motion:"moveToEndOfDisplayLine"},{keys:"g^",type:"motion",motion:"moveToStartOfDisplayLine"},{keys:"g0",type:"motion",motion:"moveToStartOfDisplayLine"},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:"=",type:"operator",operator:"indentAuto"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"gn",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!0}},{keys:"gN",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!1}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"",type:"operatorMotion",operator:"delete",motion:"moveToStartOfLine",context:"insert"},{keys:"",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"",type:"idle",context:"normal"},{keys:"",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"gi",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"lastEdit"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"gI",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"bol"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"gJ",type:"action",action:"joinLines",actionArgs:{keepSpaces:!0},isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r",type:"action",action:"replace",isEdit:!0},{keys:"@",type:"action",action:"replayMacro"},{keys:"q",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0},context:"normal"},{keys:"R",type:"operator",operator:"change",operatorArgs:{linewise:!0,fullLine:!0},context:"visual",exitVisualBlock:!0},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"",type:"action",action:"redo"},{keys:"m",type:"action",action:"setMark"},{keys:'"',type:"action",action:"setRegister"},{keys:"",type:"action",action:"insertRegister",context:"insert",isEdit:!0},{keys:"",type:"action",action:"oneNormalCommand",context:"insert"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a",type:"motion",motion:"textObjectManipulation"},{keys:"i",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],a=i.length,s=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"omap",shortName:"om"},{name:"noremap",shortName:"no"},{name:"nnoremap",shortName:"nn"},{name:"vnoremap",shortName:"vn"},{name:"inoremap",shortName:"ino"},{name:"onoremap",shortName:"ono"},{name:"unmap"},{name:"mapclear",shortName:"mapc"},{name:"nmapclear",shortName:"nmapc"},{name:"vmapclear",shortName:"vmapc"},{name:"imapclear",shortName:"imapc"},{name:"omapclear",shortName:"omapc"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"vglobal",shortName:"v"},{name:"delete",shortName:"d"},{name:"join",shortName:"j"},{name:"normal",shortName:"norm"},{name:"global",shortName:"g"}];function o(c){c.setOption("disableInput",!0),c.setOption("showCursorWhenSelecting",!1),n.signal(c,"vim-mode-change",{mode:"normal"}),c.on("cursorActivity",Hm),Ie(c),n.on(c.getInputField(),"paste",y(c))}function l(c){c.setOption("disableInput",!1),c.off("cursorActivity",Hm),n.off(c.getInputField(),"paste",y(c)),c.state.vim=null,aa&&clearTimeout(aa)}function u(c,h){this==n.keyMap.vim&&(c.options.$customCursor=null,n.rmClass(c.getWrapperElement(),"cm-fat-cursor")),(!h||h.attach!=d)&&l(c)}function d(c,h){this==n.keyMap.vim&&(c.curOp&&(c.curOp.selectionChanged=!0),c.options.$customCursor=t,n.addClass(c.getWrapperElement(),"cm-fat-cursor")),(!h||h.attach!=d)&&o(c)}n.defineOption("vimMode",!1,function(c,h,_){h&&c.getOption("keyMap")!="vim"?c.setOption("keyMap","vim"):!h&&_!=n.Init&&/^vim/.test(c.getOption("keyMap"))&&c.setOption("keyMap","default")});function f(c,h){if(h){if(this[c])return this[c];var _=v(c);if(!_)return!1;var S=He.findKey(h,_);return typeof S=="function"&&n.signal(h,"vim-keypress",_),S}}var m={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A",CapsLock:""},g={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"},b={};"Left|Right|Up|Down|End|Home".split("|").concat(Object.keys(g)).forEach(function(c){b[(g[c]||"").toLowerCase()]=b[c.toLowerCase()]=c});function v(c){if(c.charAt(0)=="'")return c.charAt(1);var h=c.split(/-(?!$)/),_=h[h.length-1];if(h.length==1&&h[0].length==1)return!1;if(h.length==2&&h[0]=="Shift"&&_.length==1)return!1;for(var S=!1,T=0;T"):!1}function y(c){var h=c.state.vim;return h.onPasteFn||(h.onPasteFn=function(){h.insertMode||(c.setCursor(Ee(c.getCursor(),0,1)),he.enterInsertMode(c,{},h))}),h.onPasteFn}var N=/[\d]/,F=[n.isWordChar,function(c){return c&&!n.isWordChar(c)&&!/\s/.test(c)}],X=[function(c){return/\S/.test(c)}];function p(c,h){for(var _=[],S=c;S"]),M=[].concat(E,O,A,["-",'"',".",":","_","/","+"]),w;try{w=new RegExp("^[\\p{Lu}]$","u")}catch{w=/^[A-Z]$/}function B(c,h){return h>=c.firstLine()&&h<=c.lastLine()}function re(c){return/^[a-z]$/.test(c)}function ie(c){return"()[]{}".indexOf(c)!=-1}function j(c){return N.test(c)}function J(c){return w.test(c)}function L(c){return/^\s*$/.test(c)}function G(c){return".?!".indexOf(c)!=-1}function Z(c,h){for(var _=0;__?h=_:h0?1:-1,pe,ne=x.getCursor();do if(h+=oe,$=T[(c+h)%c],$&&(pe=$.find())&&!Wt(ne,pe))break;while(h<_&&h>S)}return $}function k(x,q){var $=h,oe=I(x,q);return h=$,oe&&oe.find()}return{cachedCursor:void 0,add:C,find:k,move:I}},Ve=function(c){return c?{changes:c.changes,expectCursorActivityForChange:c.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};function Re(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=Ve()}Re.prototype={exitMacroRecordMode:function(){var c=le.macroModeState;c.onRecordingDone&&c.onRecordingDone(),c.onRecordingDone=void 0,c.isRecording=!1},enterMacroRecordMode:function(c,h){var _=le.registerController.getRegister(h);if(_){if(_.clear(),this.latestRegister=h,c.openDialog){var S=Rn("span",{class:"cm-vim-message"},"recording @"+h);this.onRecordingDone=c.openDialog(S,null,{bottom:!0})}this.isRecording=!0}}};function Ie(c){return c.state.vim||(c.state.vim={inputState:new Vt,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},insertMode:!1,insertModeReturn:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),c.state.vim}var le;function Me(){le={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:Pe(),macroModeState:new Re,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new Fe({}),searchHistoryController:new Mr,exCommandHistoryController:new Mr};for(var c in z){var h=z[c];h.value=h.defaultValue}}var je,He={enterVimMode:o,leaveVimMode:l,buildKeyMap:function(){},getRegisterController:function(){return le.registerController},resetVimGlobalState_:Me,getVimGlobalState_:function(){return le},maybeInitVimState_:Ie,suppressErrorLogging:!1,InsertModeKey:tc,map:function(c,h,_){Ar.map(c,h,_)},unmap:function(c,h){return Ar.unmap(c,h)},noremap:function(c,h,_){Ar.map(c,h,_,!0)},mapclear:function(c){var h=i.length,_=a,S=i.slice(0,h-_);if(i=i.slice(h-_),c)for(var T=S.length-1;T>=0;T--){var C=S[T];if(c!==C.context)if(C.context)this._mapCommand(C);else{var I=["normal","insert","visual"];for(var k in I)if(I[k]!==c){var x={};for(var q in C)x[q]=C[q];x.context=I[k],this._mapCommand(x)}}}},setOption:ue,getOption:Te,defineOption:ce,defineEx:function(c,h,_){if(!h)h=c;else if(c.indexOf(h)!==0)throw new Error('(Vim.defineEx) "'+h+'" is not a prefix of "'+c+'", command not registered');Ni[c]=_,Ar.commandMap_[h]={name:c,shortName:h,type:"api"}},handleKey:function(c,h,_){var S=this.findKey(c,h,_);if(typeof S=="function")return S()},multiSelectHandleKey:gA,findKey:function(c,h,_){var S=Ie(c);function T(){var q=le.macroModeState;if(q.isRecording){if(h=="q")return q.exitMacroRecordMode(),ht(c),!0;_!="mapping"&&hA(q,h)}}function C(){if(h==""){if(S.visualMode)$t(c);else if(S.insertMode)hn(c);else return;return ht(c),!0}}function I(){if(C())return!0;S.inputState.keyBuffer.push(h);var q=S.inputState.keyBuffer.join(""),$=h.length==1,oe=st.matchCommand(q,i,S.inputState,"insert"),pe=S.inputState.changeQueue;if(oe.type=="none")return ht(c),!1;if(oe.type=="partial"){if(je&&window.clearTimeout(je),je=$&&window.setTimeout(function(){S.insertMode&&S.inputState.keyBuffer.length&&ht(c)},Te("insertModeEscKeysTimeout")),$){var ne=c.listSelections();(!pe||pe.removed.length!=ne.length)&&(pe=S.inputState.changeQueue=new Nt),pe.inserted+=h;for(var te=0;te|./gi,C;C=T.exec(h);){var I=C[0],k=S.insertMode,x=He.handleKey(c,I,"mapping");if(!x&&k&&S.insertMode){if(I[0]=="<"){var $=I.toLowerCase().slice(1,-1),q=$.split("-"),$=q.pop();if($=="lt")I="<";else if($=="space")I=" ";else if($=="cr")I=` `;else if(b.hasOwnProperty($)){I=b[$],Zm(c,I);continue}else I=I[0],T.lastIndex=C.index+1}c.replaceSelection(I)}}}finally{ft=!1,rt.length=0}}function Vt(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null,this.changeQueue=null}Vt.prototype.pushRepeatDigit=function(c){this.operator?this.motionRepeat=this.motionRepeat.concat(c):this.prefixRepeat=this.prefixRepeat.concat(c)},Vt.prototype.getRepeat=function(){var c=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(c=1,this.prefixRepeat.length>0&&(c*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(c*=parseInt(this.motionRepeat.join(""),10))),c};function ht(c,h){c.state.vim.inputState=new Vt,n.signal(c,"vim-command-done",h)}function Nt(){this.removed=[],this.inserted=""}function kt(c,h,_){this.clear(),this.keyBuffer=[c||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!h,this.blockwise=!!_}kt.prototype={setText:function(c,h,_){this.keyBuffer=[c||""],this.linewise=!!h,this.blockwise=!!_},pushText:function(c,h){h&&(this.linewise||this.keyBuffer.push(` `),this.linewise=!0),this.keyBuffer.push(c)},pushInsertModeChanges:function(c){this.insertModeChanges.push(Ve(c))},pushSearchQuery:function(c){this.searchQueries.push(c)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}};function Qr(c,h){var _=le.registerController.registers;if(!c||c.length!=1)throw Error("Register name must be 1 character");if(_[c])throw Error("Register already defined "+c);_[c]=h,M.push(c)}function Fe(c){this.registers=c,this.unnamedRegister=c['"']=new kt,c["."]=new kt,c[":"]=new kt,c["/"]=new kt,c["+"]=new kt}Fe.prototype={pushText:function(c,h,_,S,T){if(c!=="_"){S&&_.charAt(_.length-1)!==` @@ -69,10 +69,10 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction // Init buffer: a buffer to initialize the universe. // This universe is runned once when the universe is // loaded! -`,tk="// Notes buffer: a buffer to write your notes.",rk={global:{candidate:kS,committed:kS,evaluations:0},locals:{1:{candidate:ar,committed:ar,evaluations:0},2:{candidate:ar,committed:ar,evaluations:0},3:{candidate:ar,committed:ar,evaluations:0},4:{candidate:ar,committed:ar,evaluations:0},5:{candidate:ar,committed:ar,evaluations:0},6:{candidate:ar,committed:ar,evaluations:0},7:{candidate:ar,committed:ar,evaluations:0},8:{candidate:ar,committed:ar,evaluations:0},9:{candidate:ar,committed:ar,evaluations:0}},init:{candidate:MS,committed:MS,evaluations:0},notes:{candidate:tk}},PS={global:{candidate:"",committed:"",evaluations:0},locals:{1:{candidate:"",committed:"",evaluations:0},2:{candidate:"",committed:"",evaluations:0},3:{candidate:"",committed:"",evaluations:0},4:{candidate:"",committed:"",evaluations:0},5:{candidate:"",committed:"",evaluations:0},6:{candidate:"",committed:"",evaluations:0},7:{candidate:"",committed:"",evaluations:0},8:{candidate:"",committed:"",evaluations:0},9:{candidate:"",committed:"",evaluations:0}},init:{candidate:"",committed:"",evaluations:0},notes:{candidate:""}},Ih={Default:{global:{candidate:"",committed:"",evaluations:0},locals:{1:{candidate:"",committed:"",evaluations:0},2:{candidate:"",committed:"",evaluations:0},3:{candidate:"",committed:"",evaluations:0},4:{candidate:"",committed:"",evaluations:0},5:{candidate:"",committed:"",evaluations:0},6:{candidate:"",committed:"",evaluations:0},7:{candidate:"",committed:"",evaluations:0},8:{candidate:"",committed:"",evaluations:0},9:{candidate:"",committed:"",evaluations:0}},init:{candidate:"",committed:"",evaluations:0},notes:{candidate:"// NOTES"}},Help:rk};class nk{constructor(){R(this,"vimMode",!1);R(this,"theme","materialDark");R(this,"font","SpaceMono");R(this,"font_size",22);R(this,"universes");R(this,"selected_universe","Default");R(this,"line_numbers",!0);const e=JSON.parse(localStorage.getItem("topos")||"{}");e&&Object.keys(e).length!==0?(this.vimMode=e.vimMode,this.theme=e.theme,this.font=e.font,this.font_size=e.font_size,this.universes=e.universes,this.selected_universe=e.selected_universe,this.line_numbers=e.line_numbers):this.universes=Ih}get_universe(){this.universes.universe_name}get data(){return{vimMode:this.vimMode,theme:this.theme,font:this.font,font_size:this.font_size,universes:this.universes,selected_universe:this.selected_universe,line_numbers:this.line_numbers}}saveApplicationToLocalStorage(e,t){this.universes=e,this.vimMode=t.vimMode,this.font=t.font,this.font_size=t.font_size,this.selected_universe=t.selected_universe,this.line_numbers=t.line_numbers,localStorage.setItem("topos",JSON.stringify(this.data))}}class ik{constructor(e,t,r){this.from=e,this.to=t,this.diagnostic=r}}class Mi{constructor(e,t,r){this.diagnostics=e,this.panel=t,this.selected=r}static init(e,t,r){let i=e,a=r.facet(wy).markerFilter;a&&(i=a(i));let s=qe.set(i.map(o=>o.from==o.to||o.from==o.to-1&&r.doc.lineAt(o.from).to==o.from?qe.widget({widget:new fk(o),diagnostic:o}).range(o.from):qe.mark({attributes:{class:"cm-lintRange cm-lintRange-"+o.severity+(o.markClass?" "+o.markClass:"")},diagnostic:o}).range(o.from,o.to)),!0);return new Mi(s,t,Fa(s))}}function Fa(n,e=null,t=0){let r=null;return n.between(t,1e9,(i,a,{spec:s})=>{if(!(e&&s.diagnostic!=e))return r=new ik(i,a,s.diagnostic),!1}),r}function ak(n,e){let t=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(r=>r.is(Ny))||n.changes.touchesRange(t.from,t.to))}function sk(n,e){return n.field(Jr,!1)?e:e.concat(it.appendConfig.of(_k))}const Ny=it.define(),Nm=it.define(),Dy=it.define(),Jr=hr.define({create(){return new Mi(qe.none,null,null)},update(n,e){if(e.docChanged){let t=n.diagnostics.map(e.changes),r=null;if(n.selected){let i=e.changes.mapPos(n.selected.from,1);r=Fa(t,n.selected.diagnostic,i)||Fa(t,null,i)}n=new Mi(t,n.panel,r)}for(let t of e.effects)t.is(Ny)?n=Mi.init(t.value,n.panel,e.state):t.is(Nm)?n=new Mi(n.diagnostics,t.value?Wl.open:null,n.selected):t.is(Dy)&&(n=new Mi(n.diagnostics,n.panel,t.value));return n},provide:n=>[ys.from(n,e=>e.panel),Ae.decorations.from(n,e=>e.diagnostics)]}),ok=qe.mark({class:"cm-lintRange cm-lintRange-active"});function lk(n,e,t){let{diagnostics:r}=n.state.field(Jr),i=[],a=2e8,s=0;r.between(e-(t<0?1:0),e+(t>0?1:0),(l,u,{spec:d})=>{e>=l&&e<=u&&(l==u||(e>l||t>0)&&(eLy(n,t,!1)))}const uk=n=>{let e=n.state.field(Jr,!1);(!e||!e.panel)&&n.dispatch({effects:sk(n.state,[Nm.of(!0)])});let t=JI(n,Wl.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},BS=n=>{let e=n.state.field(Jr,!1);return!e||!e.panel?!1:(n.dispatch({effects:Nm.of(!1)}),!0)},dk=n=>{let e=n.state.field(Jr,!1);if(!e)return!1;let t=n.state.selection.main,r=e.diagnostics.iter(t.to+1);return!r.value&&(r=e.diagnostics.iter(0),!r.value||r.from==t.from&&r.to==t.to)?!1:(n.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},pk=[{key:"Mod-Shift-m",run:uk,preventDefault:!0},{key:"F8",run:dk}],wy=De.define({combine(n){return Object.assign({sources:n.map(e=>e.source)},ti(n.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null},{needsRefresh:(e,t)=>e?t?r=>e(r)||t(r):e:t}))}});function xy(n){let e=[];if(n)e:for(let{name:t}of n){for(let r=0;ra.toLowerCase()==i.toLowerCase())){e.push(i);continue e}}e.push("")}return e}function Ly(n,e,t){var r;let i=t?xy(e.actions):[];return Pn("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},Pn("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage():e.message),(r=e.actions)===null||r===void 0?void 0:r.map((a,s)=>{let o=!1,l=m=>{if(m.preventDefault(),o)return;o=!0;let g=Fa(n.state.field(Jr).diagnostics,e);g&&a.apply(n,g.from,g.to)},{name:u}=a,d=i[s]?u.indexOf(i[s]):-1,f=d<0?u:[u.slice(0,d),Pn("u",u.slice(d,d+1)),u.slice(d+1)];return Pn("button",{type:"button",class:"cm-diagnosticAction",onclick:l,onmousedown:l,"aria-label":` Action: ${u}${d<0?"":` (access key "${i[s]})"`}.`},f)}),e.source&&Pn("div",{class:"cm-diagnosticSource"},e.source))}class fk extends ri{constructor(e){super(),this.diagnostic=e}eq(e){return e.diagnostic==this.diagnostic}toDOM(){return Pn("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class US{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=Ly(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Wl{constructor(e){this.view=e,this.items=[];let t=i=>{if(i.keyCode==27)BS(this.view),this.view.focus();else if(i.keyCode==38||i.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(i.keyCode==40||i.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(i.keyCode==36)this.moveSelection(0);else if(i.keyCode==35)this.moveSelection(this.items.length-1);else if(i.keyCode==13)this.view.focus();else if(i.keyCode>=65&&i.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:a}=this.items[this.selectedIndex],s=xy(a.actions);for(let o=0;o{for(let a=0;aBS(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Jr).selected;if(!e)return-1;for(let t=0;t{let u=-1,d;for(let f=r;fr&&(this.items.splice(r,u-r),i=!0)),t&&d.diagnostic==t.diagnostic?d.dom.hasAttribute("aria-selected")||(d.dom.setAttribute("aria-selected","true"),a=d):d.dom.hasAttribute("aria-selected")&&d.dom.removeAttribute("aria-selected"),r++});r({sel:a.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:s,panel:o})=>{s.topo.bottom&&(this.list.scrollTop+=s.bottom-o.bottom)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),i&&this.sync()}sync(){let e=this.list.firstChild;function t(){let r=e;e=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)t();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(Jr),r=Fa(t.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:Dy.of(r)})}static open(e){return new Wl(e)}}function hk(n,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(n)}')`}function Ro(n){return hk(``,'width="6" height="3"')}const mk=Ae.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Ro("#d11")},".cm-lintRange-warning":{backgroundImage:Ro("orange")},".cm-lintRange-info":{backgroundImage:Ro("#999")},".cm-lintRange-hint":{backgroundImage:Ro("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}}),_k=[Jr,Ae.decorations.compute([Jr],n=>{let{selected:e,panel:t}=n.field(Jr);return!e||!t||e.from==e.to?qe.none:qe.set([ok.range(e.from,e.to)])}),KI(lk,{hideOn:ak}),mk],gk=(()=>[lN(),NI(),Sx(),SI(),CI(),ut.allowMultipleSelections.of(!0),g2(),Sv(L2,{fallback:!0}),Y2(),AD(),BD(),GI(),qI(),MI(),gL(),Xi.of([...DD,...fL,...Rx,...pk])])(),mt=n=>`${n}`,Sk=()=>"",Ok=` +`,tk="// Notes buffer: a buffer to write your notes.",rk={global:{candidate:kS,committed:kS,evaluations:0},locals:{1:{candidate:ar,committed:ar,evaluations:0},2:{candidate:ar,committed:ar,evaluations:0},3:{candidate:ar,committed:ar,evaluations:0},4:{candidate:ar,committed:ar,evaluations:0},5:{candidate:ar,committed:ar,evaluations:0},6:{candidate:ar,committed:ar,evaluations:0},7:{candidate:ar,committed:ar,evaluations:0},8:{candidate:ar,committed:ar,evaluations:0},9:{candidate:ar,committed:ar,evaluations:0}},init:{candidate:MS,committed:MS,evaluations:0},notes:{candidate:tk}},PS={global:{candidate:"",committed:"",evaluations:0},locals:{1:{candidate:"",committed:"",evaluations:0},2:{candidate:"",committed:"",evaluations:0},3:{candidate:"",committed:"",evaluations:0},4:{candidate:"",committed:"",evaluations:0},5:{candidate:"",committed:"",evaluations:0},6:{candidate:"",committed:"",evaluations:0},7:{candidate:"",committed:"",evaluations:0},8:{candidate:"",committed:"",evaluations:0},9:{candidate:"",committed:"",evaluations:0}},init:{candidate:"",committed:"",evaluations:0},notes:{candidate:""}},Ih={Default:{global:{candidate:"",committed:"",evaluations:0},locals:{1:{candidate:"",committed:"",evaluations:0},2:{candidate:"",committed:"",evaluations:0},3:{candidate:"",committed:"",evaluations:0},4:{candidate:"",committed:"",evaluations:0},5:{candidate:"",committed:"",evaluations:0},6:{candidate:"",committed:"",evaluations:0},7:{candidate:"",committed:"",evaluations:0},8:{candidate:"",committed:"",evaluations:0},9:{candidate:"",committed:"",evaluations:0}},init:{candidate:"",committed:"",evaluations:0},notes:{candidate:"// NOTES"}},Help:rk};class nk{constructor(){R(this,"vimMode",!1);R(this,"theme","materialDark");R(this,"font","SpaceMono");R(this,"font_size",22);R(this,"universes");R(this,"selected_universe","Default");R(this,"line_numbers",!0);const e=JSON.parse(localStorage.getItem("topos")||"{}");e&&Object.keys(e).length!==0?(this.vimMode=e.vimMode,this.theme=e.theme,this.font=e.font,this.font_size=e.font_size,this.universes=e.universes,this.selected_universe=e.selected_universe,this.line_numbers=e.line_numbers):this.universes=Ih}get_universe(){this.universes.universe_name}get data(){return{vimMode:this.vimMode,theme:this.theme,font:this.font,font_size:this.font_size,universes:this.universes,selected_universe:this.selected_universe,line_numbers:this.line_numbers}}saveApplicationToLocalStorage(e,t){this.universes=e,this.vimMode=t.vimMode,this.font=t.font,this.font_size=t.font_size,this.selected_universe=t.selected_universe,this.line_numbers=t.line_numbers,localStorage.setItem("topos",JSON.stringify(this.data))}}class ik{constructor(e,t,r){this.from=e,this.to=t,this.diagnostic=r}}class Mi{constructor(e,t,r){this.diagnostics=e,this.panel=t,this.selected=r}static init(e,t,r){let i=e,a=r.facet(wy).markerFilter;a&&(i=a(i));let s=qe.set(i.map(o=>o.from==o.to||o.from==o.to-1&&r.doc.lineAt(o.from).to==o.from?qe.widget({widget:new fk(o),diagnostic:o}).range(o.from):qe.mark({attributes:{class:"cm-lintRange cm-lintRange-"+o.severity+(o.markClass?" "+o.markClass:"")},diagnostic:o}).range(o.from,o.to)),!0);return new Mi(s,t,Fa(s))}}function Fa(n,e=null,t=0){let r=null;return n.between(t,1e9,(i,a,{spec:s})=>{if(!(e&&s.diagnostic!=e))return r=new ik(i,a,s.diagnostic),!1}),r}function ak(n,e){let t=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(r=>r.is(Ny))||n.changes.touchesRange(t.from,t.to))}function sk(n,e){return n.field(Jr,!1)?e:e.concat(it.appendConfig.of(_k))}const Ny=it.define(),Nm=it.define(),Dy=it.define(),Jr=hr.define({create(){return new Mi(qe.none,null,null)},update(n,e){if(e.docChanged){let t=n.diagnostics.map(e.changes),r=null;if(n.selected){let i=e.changes.mapPos(n.selected.from,1);r=Fa(t,n.selected.diagnostic,i)||Fa(t,null,i)}n=new Mi(t,n.panel,r)}for(let t of e.effects)t.is(Ny)?n=Mi.init(t.value,n.panel,e.state):t.is(Nm)?n=new Mi(n.diagnostics,t.value?Wl.open:null,n.selected):t.is(Dy)&&(n=new Mi(n.diagnostics,n.panel,t.value));return n},provide:n=>[ys.from(n,e=>e.panel),Ae.decorations.from(n,e=>e.diagnostics)]}),ok=qe.mark({class:"cm-lintRange cm-lintRange-active"});function lk(n,e,t){let{diagnostics:r}=n.state.field(Jr),i=[],a=2e8,s=0;r.between(e-(t<0?1:0),e+(t>0?1:0),(l,u,{spec:d})=>{e>=l&&e<=u&&(l==u||(e>l||t>0)&&(eLy(n,t,!1)))}const uk=n=>{let e=n.state.field(Jr,!1);(!e||!e.panel)&&n.dispatch({effects:sk(n.state,[Nm.of(!0)])});let t=JI(n,Wl.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},BS=n=>{let e=n.state.field(Jr,!1);return!e||!e.panel?!1:(n.dispatch({effects:Nm.of(!1)}),!0)},dk=n=>{let e=n.state.field(Jr,!1);if(!e)return!1;let t=n.state.selection.main,r=e.diagnostics.iter(t.to+1);return!r.value&&(r=e.diagnostics.iter(0),!r.value||r.from==t.from&&r.to==t.to)?!1:(n.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},pk=[{key:"Mod-Shift-m",run:uk,preventDefault:!0},{key:"F8",run:dk}],wy=De.define({combine(n){return Object.assign({sources:n.map(e=>e.source)},ti(n.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null},{needsRefresh:(e,t)=>e?t?r=>e(r)||t(r):e:t}))}});function xy(n){let e=[];if(n)e:for(let{name:t}of n){for(let r=0;ra.toLowerCase()==i.toLowerCase())){e.push(i);continue e}}e.push("")}return e}function Ly(n,e,t){var r;let i=t?xy(e.actions):[];return Pn("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},Pn("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage():e.message),(r=e.actions)===null||r===void 0?void 0:r.map((a,s)=>{let o=!1,l=m=>{if(m.preventDefault(),o)return;o=!0;let g=Fa(n.state.field(Jr).diagnostics,e);g&&a.apply(n,g.from,g.to)},{name:u}=a,d=i[s]?u.indexOf(i[s]):-1,f=d<0?u:[u.slice(0,d),Pn("u",u.slice(d,d+1)),u.slice(d+1)];return Pn("button",{type:"button",class:"cm-diagnosticAction",onclick:l,onmousedown:l,"aria-label":` Action: ${u}${d<0?"":` (access key "${i[s]})"`}.`},f)}),e.source&&Pn("div",{class:"cm-diagnosticSource"},e.source))}class fk extends ri{constructor(e){super(),this.diagnostic=e}eq(e){return e.diagnostic==this.diagnostic}toDOM(){return Pn("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class US{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=Ly(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Wl{constructor(e){this.view=e,this.items=[];let t=i=>{if(i.keyCode==27)BS(this.view),this.view.focus();else if(i.keyCode==38||i.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(i.keyCode==40||i.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(i.keyCode==36)this.moveSelection(0);else if(i.keyCode==35)this.moveSelection(this.items.length-1);else if(i.keyCode==13)this.view.focus();else if(i.keyCode>=65&&i.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:a}=this.items[this.selectedIndex],s=xy(a.actions);for(let o=0;o{for(let a=0;aBS(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Jr).selected;if(!e)return-1;for(let t=0;t{let u=-1,d;for(let f=r;fr&&(this.items.splice(r,u-r),i=!0)),t&&d.diagnostic==t.diagnostic?d.dom.hasAttribute("aria-selected")||(d.dom.setAttribute("aria-selected","true"),a=d):d.dom.hasAttribute("aria-selected")&&d.dom.removeAttribute("aria-selected"),r++});r({sel:a.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:s,panel:o})=>{s.topo.bottom&&(this.list.scrollTop+=s.bottom-o.bottom)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),i&&this.sync()}sync(){let e=this.list.firstChild;function t(){let r=e;e=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)t();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(Jr),r=Fa(t.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:Dy.of(r)})}static open(e){return new Wl(e)}}function hk(n,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(n)}')`}function Ro(n){return hk(``,'width="6" height="3"')}const mk=Ae.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Ro("#d11")},".cm-lintRange-warning":{backgroundImage:Ro("orange")},".cm-lintRange-info":{backgroundImage:Ro("#999")},".cm-lintRange-hint":{backgroundImage:Ro("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}}),_k=[Jr,Ae.decorations.compute([Jr],n=>{let{selected:e,panel:t}=n.field(Jr);return!e||!t||e.from==e.to?qe.none:qe.set([ok.range(e.from,e.to)])}),KI(lk,{hideOn:ak}),mk],gk=(()=>[lN(),NI(),Sx(),SI(),CI(),ut.allowMultipleSelections.of(!0),g2(),Sv(L2,{fallback:!0}),Y2(),AD(),BD(),GI(),qI(),MI(),gL(),Xi.of([...DD,...fL,...Rx,...pk])])(),_t=n=>`${n}`,Sk=()=>"",Ok=` # Welcome -Welcome to the Topos documentation. These pages are offering you an introduction to the software and to the ideas behind it. You can jump here anytime by pressing ${mt("Ctrl + D")}. Press again to make the documentation disappear. All your contributions are welcome! +Welcome to the Topos documentation. These pages are offering you an introduction to the software and to the ideas behind it. You can jump here anytime by pressing ${_t("Ctrl + D")}. Press again to make the documentation disappear. All your contributions are welcome! ## What is Topos? @@ -83,12 +83,12 @@ Topos is deeply inspired by the [Monome Teletype](https://monome.org/). The Tele ## Example -Press ${mt("Ctrl + G")} to switch to the global file. This is where everything starts! Evaluate the following script there by pasting and pressing ${mt("Ctrl + Enter")}. You are now making music: +Press ${_t("Ctrl + G")} to switch to the global file. This is where everything starts! Evaluate the following script there by pasting and pressing ${_t("Ctrl + Enter")}. You are now making music:

 bpm(80)
 mod(0.25) :: sound('sawtooth')
-  .midi(seqbar(
+  .note(seqbar(
     pick(60, 67, 63) - 12,  pick(60, 67, 63) - 12, 
     pick(60, 67, 63) - 12 + 5, pick(60, 67, 63) - 12 + 5,
     pick(60, 67, 63) - 12 + 7, pick(60, 67, 63) - 12 + 7) + (sometimes() ? 24 : 12))
@@ -110,14 +110,14 @@ The Topos interface is entirely dedicated to highlight the core concepts at play
 
 Every Topos session is composed of several small scripts. A set of scripts is called a _universe_. Every script is written using the JavaScript programming language and describes a musical or algorithmic process that takes place over time.
 
-- **the global script** (${mt("Ctrl + G")}): _Evaluated for every clock pulse_. The central piece, acting as the conductor for all the other scripts. You can also jam directly from the global script to test your ideas before pushing them to a separate script. You can also access that script using the ${mt("F10")} key.
-- **the local scripts** (${mt("Ctrl + L")}): _Evaluated on demand_. Local scripts are used to store anything too complex to sit in the global script. It can be a musical process, a whole section of your composition, a complex controller that you've built for your hardware, etc... You can also switch to one of the local scripts by using the function keys (${mt("F1")} to ${mt("F9")}).
-- **the init script** (${mt("Ctrl + I")}): _Evaluated on program load_. Used to set up the software the session to the desired state before playing (_bpm_, etc...). You can also access that script using the ${mt("F11")} key.
-- **the note file** (${mt("Ctrl + N")}): _Not evaluated_. Used to store your thoughts or commentaries about the session you are currently playing. It is nothing more than a scratchpad really!
+- **the global script** (${_t("Ctrl + G")}): _Evaluated for every clock pulse_. The central piece, acting as the conductor for all the other scripts. You can also jam directly from the global script to test your ideas before pushing them to a separate script. You can also access that script using the ${_t("F10")} key.
+- **the local scripts** (${_t("Ctrl + L")}): _Evaluated on demand_. Local scripts are used to store anything too complex to sit in the global script. It can be a musical process, a whole section of your composition, a complex controller that you've built for your hardware, etc... You can also switch to one of the local scripts by using the function keys (${_t("F1")} to ${_t("F9")}).
+- **the init script** (${_t("Ctrl + I")}): _Evaluated on program load_. Used to set up the software the session to the desired state before playing (_bpm_, etc...). You can also access that script using the ${_t("F11")} key.
+- **the note file** (${_t("Ctrl + N")}): _Not evaluated_. Used to store your thoughts or commentaries about the session you are currently playing. It is nothing more than a scratchpad really!
 
 ## Universes
 
-A set of files is called a _universe_. Topos can store several universes and switch immediately from one to another. You can switch between universes by pressing ${mt("Ctrl + B")}. You can also create a new universe by entering a name that has never been used before. _Universes_ are only referenced by their names. Once a universe is loaded, it is not possible to call any data/code from any other universe.
+A set of files is called a _universe_. Topos can store several universes and switch immediately from one to another. You can switch between universes by pressing ${_t("Ctrl + B")}. You can also create a new universe by entering a name that has never been used before. _Universes_ are only referenced by their names. Once a universe is loaded, it is not possible to call any data/code from any other universe.
 
 Switching between universes will not stop the transport nor reset the clock. You are switching the context but time keeps flowing. This can be useful to prepare immediate transitions between songs and parts. Think of universes as an algorithmic set of music. All scripts in a given universe are aware about how many times they have been runned already. You can reset that value programatically.
 
@@ -349,19 +349,17 @@ mod(0.25) && midi(60)
 
 ## MIDI Output Selection
 
-- midi_outputs(): Prints a list of available MIDI outputs. You can then use any output name to select the MIDI output you wish to use. **Note:** this function will print to the console. You can open the console by pressing ${mt("Ctrl + Shift + I")} in many web browsers.
+- midi_outputs(): Prints a list of available MIDI outputs. You can then use any output name to select the MIDI output you wish to use. **Note:** this function will print to the console. You can open the console by pressing ${_t("Ctrl + Shift + I")} in many web browsers.
 - midi_output(output_name: string): Selects the MIDI output to use. You can use the midi_outputs() function to get a list of available MIDI outputs first. If the MIDI output is not available, the function will do nothing and keep on with the currently selected MIDI Port.
 
 `,Ck=`
-# Sample playback
+# Audio engine
 
-The Topos audio engine is based on the [SuperDough](https://www.npmjs.com/package/superdough) audio backend. It is a very powerful and flexible audio backend. It is based on the [Web Audio API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API) and is capable of playing samples, synths, and effects. It is also capable of playing samples and synths in a polyphonic way. It is a very powerful tool to create complex sounds and textures. A set of default sounds are already provided by default but you can also load your own audio samples. They will be loaded through a special URL scheme using the sample function.
+The Topos audio engine is based on the [SuperDough](https://www.npmjs.com/package/superdough) audio backend, leveraging the [Web Audio API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API). The engine is capable of playing multiple samples, synths and effects at once. It is a very powerful and almost limitless tool to create complex sounds and textures. A set of default sounds are already provided but you can also load your own audio samples and synths!
 
-I recommended you to run the following scripts in the global script (${mt("Ctrl + G")}).
+## Sound basics
 
-## Audio Engine
-
-The basic function to play a sound is sound('sample/synth').out(). If the given sound exists in the database, it will be automatically queried and will start playing once loaded. To play a very basic beat, evaluate the following script:
+The basic function to play a sound is... sound(name: string) (you can also write snd to save some precious time). If the given sound or synthesizer exists in the database, it will be automatically queried/started and will start playing. Evaluate the following script in the global window:
 
 \`\`\`javascript
 mod(1) && sound('bd').out()
@@ -373,9 +371,43 @@ In plain english, this translates to:
 > Every 48 pulses, play a kick drum.
 > Every 24 pulses, play a high-hat.
 
-If you remove the **mod** instruction, you will end up with a deluge of kick drums and high-hats. The **mod** instruction is used to filter out pulses. It is a very useful instruction to create basic rhythms. The **mod** function checks if the current pulse is a multiple of the given number. If it is, it returns true, otherwise it returns false. You will find a lot of these kind of logical functions in Topos.
+Let's make it slightly more complex:
 
-## Pick a sample
+\`\`\`javascript
+mod(1) && sound('bd').coarse(0.25).out()
+mod(0.5) && sound('hh').delay(0.25).delaytime(0.125).out()
+\`\`\`
+
+Now, it reads as follow:
+
+> Every 48 pulses, play a kick drum with some amount of distortion.
+> Every 24 pulses, play a high-hat with 25% of the sound injected in
+> a delay unit, with a delay time of 0.125 seconds.
+
+Let's pause for a moment to explain what we just wrote. There are many things to be said:
+- If you remove the **mod** instruction, you will end up with a deluge of kick drums and high-hats. The **mod** instruction is used to filter out pulses. It is a very useful instruction to create basic rhythms. Check out the **Time** page if you haven't read it already.
+- Playing a sound always ends up with the .out() method that gives the instruction to send a message to the audio engine.
+- Sounds are **composed** by adding qualifiers that will modify the sound or synthesizer being played (_e.g_ sound('...').blabla(...)..something(...).out().
+
+## Audio Sample Folders / Sample Files
+
+When you type kick in the sound('kick').out() expression, you are referring to a sample folder containing multiple audio samples. If you look at the sample folder, it would look something like this:
+
+\`\`\`shell
+.
+├── KICK9.wav
+├── kick1.wav
+├── kick10.wav
+├── kick2-1.wav
+├── kick2.wav
+├── kick3-1.wav
+├── kick3.wav
+├── kick4.wav
+├── kick5.wav
+├── kick6.wav
+├── kick7.wav
+└── kick8.wav
+\`\`\`
 
 The .n(number) method can be used to pick a sample from the currently selected sample folder. For instance, the following script will play a random sample from the _kick_ folder:
 
@@ -383,11 +415,18 @@ The .n(number) method can be used to pick a sample from the curre
 mod(1) && sound('kick').n(pick(1,2,3,4,5,6,7,8)).out()
 \`\`\`
 
-Don't worry about the number. If it gets too big, it will be automatically wrapped to the number of samples in the folder.
+Don't worry about the number. If it gets too big, it will be automatically wrapped to the number of samples in the folder. You can type any number, it will always fall on a sample. Let's use our mouse to select a sample number in a folder:
 
-## Sound Chains
+\`\`\`javascript
+// Move your mouse to change the sample being used!
+mod(.25) && sound('numbers').n(Math.floor(mouseX())).out()
+\`\`\`
 
-The sound('sample_name') function can be chained to _specify_ a sound more. For instance, you can add a filter and some effects to your high-hat:
+**Note:** the sound function can also be used to play synthesizers (see the **Synthesizers** page). In that case, the .n(n: number) becomes totally useless!
+
+## Learning about sound modifiers
+
+As we said earlier, the sound('sample_name') function can be chained to _specify_ a sound more. For instance, you can add a filter and some effects to your high-hat:
 \`\`\`javascript
 mod(0.5) && sound('hh')
     .sometimes(s=>s.speed(pick(1,5,10)))
@@ -396,41 +435,135 @@ mod(0.5) && sound('hh')
     .out()
 \`\`\`
 
-No sound will play until you add .out() at the end of the chain. Chaining sounds makes it easy to compose and think about sound samples and synthesis. There are many possible arguments that you can add to your sounds.
+There are many possible arguments that you can add to your sounds. Learning them can take a long time but it will open up a lot of possibilities. Let's try to make it through all of them. They can all be used both with synthesizers and audio samples, which is kind of unconventional with normal / standard electronic music softwares.
+
+## Orbits and audio busses
+
+Topos is inheriting some audio bus management principles taken from the [SuperDirt](https://github.com/musikinformatik/SuperDirt) and [Superdough](https://www.npmjs.com/package/superdough) engine, a WebAudio based recreation of the same engine. Each sound that you play is associated with an audio bus, called an _orbit_. Some effects are affecting **all sounds currently playing on that bus**. These are called **global effects**, to distinguish from **local effects**:
+
+- **global effects**: _reverberation_ and _delay_.
+- **local effects**: everything else :smile:
+
+There is a special method to choose the _orbit_ that your sound is going to use:
+
+| Method   | Alias | Description                                                |
+|----------|-------|------------------------------------------------------------|
+| orbit    |       | Orbit number                                               |
+
+
+## Amplitude
+
+Simple controls over the amplitude (volume) of a given sound.
+
+| Method   | Alias | Description                                                |
+|----------|-------|------------------------------------------------------------|
+| gain     |       | Volume of the synth/sample (exponential)                   |
+| velocity | vel   | Velocity (amplitude) from 0 to 1. Multipled with gain      |
+
+## Amplitude Enveloppe
+
+**Superdough** is applying an **ADSR** envelope to every sound being played. This is a very standard and conventional amplitude envelope composed of four stages: _attack_, _decay_, _sustain_ and _release_. You will find the same parameters on most synthesizers.
+
+| Method  | Alias | Description                                   |
+|---------|-------|-----------------------------------------------|
+| attack  | atk   | Attack value (time to maximum volume)         |
+| decay   | dec   | Decay value (time to decay to sustain level)  |
+| sustain | sus   | Sustain value (gain when sound is held)       |
+| release | rel   | Release value (time for the sound to die off) |
+
+Note that the **sustain** value is not a duration but an amplitude value (how loud). The other values are the time for each stage to take place. Here is a fairly complete example using the sawtooth basic waveform.
+
+\`\`\`javascript
+mod(4)::sound('sawtooth').note(50).decay(0.5).sustain(0.5).release(2).out();
+mod(2)::sound('sawtooth').note(50+7).decay(0.5).sustain(0.6).release(2).out();
+mod(1)::sound('sawtooth').note(50+12).decay(0.5).sustain(0.7).release(2).out();
+mod(.25)::sound('sawtooth').note(pick(50,57,62)+divseq(2, 12, 24, 0))
+  .cutoff(5000).sustain(0.5).release(0.1).out()
+\`\`\`
+
+## Sample Controls
+
+There are some basic controls over the playback of each sample. This allows you to get into more serious sampling if you take the time to really work with your audio materials.
+
+| Method  | Alias | Description                                            |
+|---------|-------|--------------------------------------------------------|
+| n       |       | Select a sample in the current folder (from 0 to infinity)                 |
+| begin   |       | Beginning of the sample playback (between 0 and 1)     |
+| end     |       | End of the sample (between 0 and 1)                    |
+| speed   |       | Playback speed (2 = twice as fast)         |
+| cut     |       | Set with 0 or 1. Will cut the sample as soon as another sample is played on the same bus |
+| clip    |       | Multiply the duration of the sample with the given number |
+| pan     |       | Stereo position of the audio playback (0 = left, 1 = right)|
+
+## Filters
+
+There are three basic filters: a _lowpass_, _highpass_ and _bandpass_ filters with rather soft slope. Each of them can take up to two arguments. You can also use only the _cutoff_ frequency and the resonance will stay to its default nominal value.
+
+| Method     | Alias | Description                             |
+|------------|-------|-----------------------------------------|
+| cutoff     | lpf   | Cutoff frequency of the lowpass filter  |
+| resonance  | lpq   | Resonance of the lowpass filter         |
+| hcutoff    | hpf   | Cutoff frequency of the highpass filter |
+| hresonance | hpq   | Resonance of the highpass filter        |
+| bandf      | bpf   | Cutoff frequency of the bandpass filter |
+| bandq      | bpq   | Resonance of the bandpass filter        |
+| vowel			 |       | Formant filter with (vocal quality)     |
+
+\`\`\`javascript
+mod(.5) && snd('sawtooth')
+	.cutoff(pick(2000,500)) + usine(.5) * 4000)
+	.resonance(0.9).freq(pick(100,150))
+	.out()
+\`\`\`
+
+## Reverb
+
+A basic reverberator that you can use to give some depth to your sounds. This simple reverb design has a _LoFI_ quality that can be quite useful on certain sounds.
+
+| Method     | Alias | Description                     |
+|------------|-------|---------------------------------|
+| room |     | The more, the bigger the reverb (between 0 and 1.|
+| size |     | Reverberation amount |
+
+\`\`\`javascript
+mod(2)::snd('cp').room(1).size(0.9).out()
+\`\`\`
+
+## Delay
+
+A good sounding delay unit that can go into feedback territory. Use it without moderation.
+
+| Method     | Alias     | Description                     |
+|------------|-----------|---------------------------------|
+| delay      |           | Delay _wet/dry_ (between 0 and 1) |
+| delaytime  | delayt    | Delay time (in milliseconds)    |
+| delayfeedback| delayfb | Delay feedback (between 0 and 1) |
+
+\`\`\`javascript
+mod(2)::snd('cp').delay(0.5).delaytime(0.75).delayfb(0.8).out()
+mod(4)::snd('snare').out()
+mod(1)::snd('kick').out()
+\`\`\`
+
+## Distorsion, saturation, destruction
+
+| Method     | Alias     | Description                     |
+|------------|-----------|---------------------------------|
+| coarse     |           | Artificial sample-rate lowering |
+| crush      |           | bitcrushing. 1 is extreme, the more you go up, the less it takes effect.  |
+| shape      |           | Waveshaping distortion (between 0 and 1)          |
+
+
+## Undocumented
+
 
 | Method                                 | Description |
 | -------------------------------------- | ----------- |
 | unit(value: number)     | Sets the unit value  |
 | frequency(value: number)| Sets the playback sample frequency |
 | nudge(value: number)    | Adjusts the start time of the sound by the given value |
-| cut(value: number)| Cut the sample if it overlaps on the same orbit. |
 | loop(value: number)| Loops the sample. |
-| clip(value: number)| Sets the clip value of the sound. |
-| n(value: number)| Sample number in the sample folder. |
-| note(value: number)| Sets the note value of the sound. |
-| speed(value: number)| Sets the playback speed. |
-| begin(value: number)| Sets the beginning of sample (between 0.0 and 1.0). |
-| end(value: number)| Sets the end of sample (between 0.0 and 1.0). |
-| gain(value: number)| Sets the gain. |
-| cutoff(value: number)| Sets the cutoff frequency of the low-pass filter. |
-| resonance(value: number)| Sets the resonance value of the low-pass filter. |
-| hcutoff(value: number)| Sets the cutoff frequency value of high-pass filter. |
-| hresonance(value: number)| Sets the resonance value of high-pass filter. |
-| bandf(value: number)| Sets the frequency value of the bandpass filter. |
-| bandq(value: number)| Sets the Q value of the bandpass filter. |
-| coarse(value: number)| Adds some flavor of saturation. |
-| crush(value: number)| Adds some amount of bitcrush on the given sound. |
-| shape(value: number)| Adds some distortion. |
-| pan(value: number)| Sets the panoramic value of the sound (in stereo, between 0.0 and 1.0). |
-| vowel(value: number)| Sets a formant vowel filter on the given sound('a', 'e', 'i', 'o', 'u'.). |
-| delay(value: number)| Sets the delay wet/dry value. |
-| delayfeedback(value: number)| Sets delay feedback. |
-| delaytime(value: number)| Sets delay time (in seconds). |
 | orbit(value: number)| Sets the orbit value of the sound. |
-| room(value: number)| Sets reverb room. |
-| size(value: number)| Sets reverb size. |
-| velocity(value: number)| Sets velocity. |
-| out() | Returns an object processed by the superdough function, using the current values in the values object and the pulse_duration from the app.clock. |
 `,vk=`
 # Audio Samples
 
@@ -515,7 +648,7 @@ You **do not need to have any prior knowledge of programming** to use Topos. It
 The code you enter in any of the scripts is evaluated in strict mode. This tells your browser that the code you run can be optimized quite agressively. We need this because by default, **the global script is evaluated 48 times per beat**. It also means that you can crash at the speed of light :smile:. The local and initialisation scripts are evaluated on demand, one run at a time. There are some things to keep in mind:
 
 - **about variables:** the state of your variables is not kept between iterations. If you write let a = 2 and change the value later on, the value will be reset to 2 after each run! There are other ways to deal with variables and to share variables between scripts! Some variables like **iterators** can keep their state between iterations because they are saved **with the file itself**.
-- **about errors and printing:** your code will crash! Don't worry, it will hopefully try to crash in the most gracious way possible. To check if your code is erroring, you will have to open the dev console with ${mt("Ctrl + Shift + I")}. You cannot directly use console.log('hello, world') in the interface. You will have to open the console as well to see your messages being printed there!
+- **about errors and printing:** your code will crash! Don't worry, it will hopefully try to crash in the most gracious way possible. To check if your code is erroring, you will have to open the dev console with ${_t("Ctrl + Shift + I")}. You cannot directly use console.log('hello, world') in the interface. You will have to open the console as well to see your messages being printed there!
 - **about new syntax:** sometimes, we have taken liberties with the JavaScript syntax in order to make it easier/faster to write on stage. && can also be written :: or -> because it is faster to type or better for the eyes!
 
 ## About crashes and bugs
@@ -649,28 +782,28 @@ Topos is made to be controlled entirely with a keyboard. It is recommanded to st
 
 ## Transport
 
-- **Start** the transport: ${mt("Ctrl + P")}.
-- **Pause** the transport: ${mt("Ctrl + S")}.
-- **Rewind** the transport: ${mt("Ctrl + R")}.
+- **Start** the transport: ${_t("Ctrl + P")}.
+- **Pause** the transport: ${_t("Ctrl + S")}.
+- **Rewind** the transport: ${_t("Ctrl + R")}.
 
 ## Moving in the interface
 
-- Switch to a different universe: ${mt("Ctrl + B")}.
-- Switch to the global script: ${mt("Ctrl + G")} or ${mt("F10")}.
-- Switch to the local scripts: ${mt("Ctrl + L")} or ${mt("F11")}.
-- Switch to the init script: ${mt("Ctrl + L")}.
-- Switch to the note file: ${mt("Ctrl + N")}.
-- Switch to a local file: ${mt("F1")} to ${mt("F9")}.
-- Toggle the documentation: ${mt("Ctrl + D")}.
+- Switch to a different universe: ${_t("Ctrl + B")}.
+- Switch to the global script: ${_t("Ctrl + G")} or ${_t("F10")}.
+- Switch to the local scripts: ${_t("Ctrl + L")} or ${_t("F11")}.
+- Switch to the init script: ${_t("Ctrl + L")}.
+- Switch to the note file: ${_t("Ctrl + N")}.
+- Switch to a local file: ${_t("F1")} to ${_t("F9")}.
+- Toggle the documentation: ${_t("Ctrl + D")}.
 
 ## Evaluating code
 
-- Evaluate the current script: ${mt("Ctrl + Enter")}.
-- Evaluate a local script: ${mt("Ctrl + F1")} to ${mt("Ctrl + F9")}.
+- Evaluate the current script: ${_t("Ctrl + Enter")}.
+- Evaluate a local script: ${_t("Ctrl + F1")} to ${_t("Ctrl + F9")}.
 
 ## Special
 
-- Switch the editor to Vim Mode: ${mt("Ctrl + V")}.
+- Switch the editor to Vim Mode: ${_t("Ctrl + V")}.
 `,wk={introduction:Ok,interface:Ek,code:Rk,time:bk,sound:Ck,samples:vk,synths:yk,midi:Tk,functions:Ik,reference:Nk,shortcuts:Dk,about:Ak},ky=n=>new Promise((e,t)=>setTimeout(()=>t(new Error("Operation took too long")),n)),My=n=>n.replace(/->/g,"&&").replace(/::/g,"&&"),Py=(n,e)=>new Promise((t,r)=>{try{Function(`"use strict";try{${My(e)}} catch (e) {console.log(e); _reportError(e);};`).call(n.api),t(!0)}catch(i){n.error_line.innerHTML=i,console.log(i),t(!1)}}),_a=new Map,xk=20,Lk=(n,e)=>{_a.size>=xk&&_a.delete(_a.keys().next().value),_a.set(n,e)},vl=async(n,e,t=5e3)=>{try{e.evaluations++;const r=e.candidate;if(_a.has(r))_a.get(r).call(n.api);else{const i=`let i = ${e.evaluations};`+r;if(await Promise.race([Py(n,i),ky(t)])){e.committed=e.candidate;const s=new Function(`"use strict";try{${My(i)}} catch (e) {console.log(e)};`);Lk(r,s)}else await kk(n,e,t)}}catch(r){n.error_line.innerHTML=r,console.log(r)}},kk=async(n,e,t=1e3)=>{try{await Promise.race([Py(n,e.committed),ky(t)]),e.evaluations&&e.evaluations++}catch(r){n.error_line.innerHTML=r,console.log(r)}};class Mk extends AudioWorkletNode{constructor(t,r,i){super(t,"transport",r);R(this,"handleMessage",t=>{if(t.data&&t.data.type==="bang"){this.startTime===null&&(this.startTime=t.data.currentTime),this.elapsedTime=t.data.currentTime-this.startTime,this.prevCurrentTime=t.data.currentTime;let{futureTimeStamp:r,timeToNextPulse:i,nextPulsePosition:a}=this.convertTimeToNextBarsBeats(this.elapsedTime);this.nextPulsePosition!==a&&(this.nextPulsePosition=a,setTimeout(()=>{const s=this.app.audioContext.currentTime;this.app.clock.time_position=r,vl(this.app,this.app.global_buffer),this.hasBeenEvaluated=!0,this.currentPulsePosition=a;const o=this.app.audioContext.currentTime;this.lastLatencies[this.indexOfLastLatencies]=o-s,this.indexOfLastLatencies=(this.indexOfLastLatencies+1)%this.lastLatencies.length;const l=this.lastLatencies.reduce((u,d)=>u+d)/this.lastLatencies.length;this.executionLatency=l/1e3},(i+this.executionLatency)*1e3))}});this.app=i,this.port.addEventListener("message",this.handleMessage),this.port.start(),this.$clock=document.getElementById("clockviewer"),this.hasBeenEvaluated=!1,this.currentPulsePosition=0,this.nextPulsePosition=-1,this.executionLatency=0,this.lastLatencies=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.indexOfLastLatencies=0,this.startTime=null,this.elapsedTime=0}start(){this.port.postMessage("start")}pause(){this.port.postMessage("pause")}stop(){this.startTime=null,this.elapsedTime=null,this.app.clock.tick=0,this.port.postMessage("stop")}convertTimeToBarsBeats(t){const r=60/this.app.clock.bpm,i=t/r,a=this.app.clock.time_signature[0],s=Math.floor(i/a)+1,o=Math.floor(i%a)+1,l=Math.floor(i%1*this.app.clock.ppqn);return this.app.clock.tick++,{bar:s,beat:o,ppqn:l}}convertTimeToNextBarsBeats(t){const r=60/this.app.clock.bpm,i=t/r,a=this.app.clock.time_signature[0];this.currentPulsePosition=i*this.app.clock.ppqn;const s=Math.ceil(this.currentPulsePosition),o=this.app.clock.convertPulseToSecond(this.nextPulsePosition-this.currentPulsePosition),l=this.nextPulsePosition/this.app.clock.ppqn,u=l/a,d={bar:Math.floor(u)+1,beat:Math.floor(l)%a+1,pulse:Math.floor(this.nextPulsePosition)%this.app.clock.ppqn};return this.app.clock.tick++,{futureTimeStamp:d,timeToNextPulse:o,nextPulsePosition:s}}}const Pk="/assets/TransportProcessor-9e6f56da.js";class Bk{constructor(e,t){R(this,"ctx");R(this,"transportNode");R(this,"bpm");R(this,"time_signature");R(this,"time_position");R(this,"ppqn");R(this,"tick");this.app=e,this.time_position={bar:0,beat:0,pulse:0},this.time_signature=[4,4],this.tick=0,this.bpm=120,this.ppqn=48,this.transportNode=null,this.ctx=t,t.audioWorklet.addModule(Pk).then(r=>(this.transportNode=new Mk(t,{},this.app),this.transportNode.connect(t.destination),r)).catch(r=>{console.log("Error loading TransportProcessor.js:",r)})}get ticks_before_new_bar(){const e=(this.app.clock.beats_since_origin-1)*48+this.time_position.pulse+1;return this.beats_per_bar*this.ppqn*this.time_position.bar+1-e}get beats_per_bar(){return this.time_signature[0]}get beats_since_origin(){return(this.time_position.bar-1)*this.beats_per_bar+this.time_position.beat}get pulses_since_origin(){return this.beats_since_origin*this.ppqn+this.time_position.pulse}get pulse_duration(){return 60/this.bpm/this.ppqn}convertPulseToSecond(e){return e*this.pulse_duration}start(){var e,t;((e=this.transportNode)==null?void 0:e.state)==="running"?console.log("Already started"):(this.app.audioContext.resume(),(t=this.transportNode)==null||t.start())}pause(){var e;(e=this.transportNode)==null||e.pause()}stop(){var e;(e=this.transportNode)==null||e.stop()}}const Uk={"+":(n,e)=>n+e,"-":(n,e)=>n-e,"*":(n,e)=>n*e,"/":(n,e)=>n/e,"%":(n,e)=>n%e,"^":(n,e)=>n**e,"<<":(n,e)=>n<>":(n,e)=>n>>e,"&":(n,e)=>n&e,"|":(n,e)=>n|e},Fk={octave:0,duration:.25,key:"C4",scale:"IONIAN",measure:0,degrees:!1},Yk={m:8,k:10240/1920,l:4,"d.":3,p:5120/1920,d:2,"w.":1.5,c:2560/1920,w:1,"h..":.875,"h.":.75,y:1280/1920,h:.5,"q..":840/1920,"q.":.375,n:640/1920,q:.25,"e..":420/1920,"e.":.1875,a:320/1920,e:.125,"s..":210/1920,"s.":180/1920,f:160/1920,s:.0625,"t..":105/1920,"t.":90/1920,x:80/1920,t:60/1920,"u.":45/1920,g:40/1920,u:30/1920,j:15/1920,o:8/1920,z:0},Gk={C:0,Cs:1,D:2,Eb:3,E:4,F:5,Fs:6,G:7,Ab:8,A:9,Bb:10,B:11},Qk={"#":1,b:-1,s:1},$k=()=>{const n=[2,1,2,2,1,2,2],e=[2,2,1,2,2,2,1],t=[2,1,2,2,1,3,1],r=[2,2,1,2,1,3,1],i=[3,2,2,3,2],a=[2,3,2,3,2],s=[2,2,2,2,2,2],o=[2,1,1,3,2,3],l=[3,2,1,1,3,2],u=[2,1,2,2,2,2,1],d=[2,2,1,2,1,2,2],f=[1,2,2,2,1,3,1],m=[1,2,2,2,2,2,1],g=[1,2,1,2,1,2,1,2],b=[2,2,1,2,1,1,2,1],v=[2,1,2,2,1,1,2,1],y=[2,2,1,2,2,1,1,1];return{MAJOR:e,MINOR:n,"HARMONIC MINOR":t,"HARMONIC MAJOR":r,"MINOR PENTATONIC":i,"SUSPENDED PENTATONIC":a,"BLUES MAJOR":o,"BLUES MINOR":l,WHOLE:s,"MELODIC MINOR":u,"MELODIC MAJOR":d,MINORIC:[4,4,4],THAPTIC:[4,3,4,1],LOTHIC:[3,4,1,4],PHRATIC:[4,1,4,3],AERATHIC:[1,4,3,4],EPATHIC:[4,3,2,3],MYNIC:[3,2,3,4],ROTHIC:[2,3,4,3],EPORIC:[3,4,3,2],ZYPHIC:[4,4,3,1],EPOGIC:[4,3,1,4],LANIC:[3,1,4,4],PYRRIC:[1,4,4,3],AEOLORIC:[4,4,1,3],GONIC:[4,1,3,4],DALIC:[1,3,4,4],DYGIC:[3,4,4,1],DARIC:[4,3,3,2],LONIC:[3,3,2,4],PHRADIC:[3,2,4,3],BOLIC:[2,4,3,3],SARIC:[4,2,3,3],ZOPTIC:[2,3,3,4],AERAPHIC:[3,3,4,2],BYPTIC:[3,4,2,3],AEOLIC:[4,4,2,2],KOPTIC:[4,2,2,4],MIXOLYRIC:[2,2,4,4],LYDIC:[2,4,4,2],STATHIC:[4,2,4,2],DADIC:[2,4,2,4],PHRYNIC:[3,3,3,3],EPATHITONIC:[3,2,3,2,2],MYNITONIC:[2,3,2,2,3],ROCRITONIC:i,PENTATONIC:[2,2,3,2,3],THAPTITONIC:a,MAGITONIC:[4,3,2,2,1],DADITONIC:[3,2,2,1,4],AEOLYPHRITONIC:[2,2,1,4,3],GYCRITONIC:[2,1,4,3,2],PYRITONIC:[1,4,3,2,2],GATHITONIC:[4,2,3,2,1],IONITONIC:[2,3,2,1,4],PHRYNITONIC:[3,2,1,4,2],STATHITONIC:[2,1,4,2,3],THALITONIC:[1,4,2,3,2],ZOLITONIC:[4,2,1,4,1],EPOGITONIC:[2,1,4,1,4],LANITONIC:[1,4,1,4,2],PAPTITONIC:[4,1,4,2,1],IONACRITONIC:[1,4,2,1,4],PHRADITONIC:[4,1,4,1,2],AEOLORITONIC:[1,4,1,2,4],GONITONIC:[4,1,2,4,1],DALITONIC:[1,2,4,1,4],DYGITONIC:[2,4,1,4,1],AERACRITONIC:[4,1,2,3,2],BYPTITONIC:[1,2,3,2,4],DARITONIC:[2,3,2,4,1],LONITONIC:[3,2,4,1,2],IONYCRITONIC:[2,4,1,2,3],LOTHITONIC:[4,1,2,2,3],PHRATONIC:[1,2,2,3,4],AERATHITONIC:[2,2,3,4,1],SARITONIC:[2,3,4,1,2],ZOPTITONIC:[3,4,1,2,2],DOLITONIC:[4,4,1,2,1],PORITONIC:[4,1,2,1,4],AERYLITONIC:[1,2,1,4,4],ZAGITONIC:[2,1,4,4,1],LAGITONIC:[1,4,4,1,2],MOLITONIC:[4,3,3,1,1],STAPTITONIC:[3,3,1,1,4],MOTHITONIC:[3,1,1,4,3],AERITONIC:[1,1,4,3,3],RAGITONIC:[1,4,3,3,1],IONADITONIC:[4,3,2,1,2],BOCRITONIC:[3,2,1,2,4],GYTHITONIC:[2,1,2,4,3],PAGITONIC:[1,2,4,3,2],AEOLYTHITONIC:[2,4,3,2,1],ZACRITONIC:[4,3,1,3,1],LARITONIC:[3,1,3,1,4],THACRITONIC:[1,3,1,4,3],STYDITONIC:[3,1,4,3,1],LORITONIC:[1,4,3,1,3],AEOLYRITONIC:[4,3,1,1,3],GORITONIC:[3,1,1,3,4],AEOLODITONIC:[1,1,3,4,3],DOPTITONIC:[1,3,4,3,1],AERAPHITONIC:[3,4,3,1,1],ZATHITONIC:[4,2,4,1,1],RADITONIC:[2,4,1,1,4],STONITONIC:[4,1,1,4,2],SYPTITONIC:[1,1,4,2,4],IONYTHITONIC:[1,4,2,4,1],AEOLANITONIC:[4,2,2,3,1],DANITONIC:[2,2,3,1,4],IONARITONIC:[2,3,1,4,2],DYNITONIC:[3,1,4,2,2],ZYDITONIC:[1,4,2,2,3],AEOLACRITONIC:[4,2,1,2,3],ZYTHITONIC:[2,1,2,3,4],DYRITONIC:[1,2,3,4,2],KOPTITONIC:[2,3,4,2,1],THOCRITONIC:[3,4,2,1,2],LYCRITONIC:[4,1,3,3,1],DAPTITONIC:[1,3,3,1,4],KYGITONIC:[3,3,1,4,1],MOCRITONIC:[3,1,4,1,3],ZYNITONIC:[1,4,1,3,3],EPYGITONIC:[4,1,3,2,2],ZAPTITONIC:[1,3,2,2,4],KAGITONIC:[3,2,2,4,1],ZOGITONIC:[2,2,4,1,3],EPYRITONIC:[2,4,1,3,2],ZOTHITONIC:[4,1,3,1,3],PHROLITONIC:[1,3,1,3,4],IONAGITONIC:[3,1,3,4,1],AEOLAPRITONIC:[1,3,4,1,3],KYRITONIC:[3,4,1,3,1],IONYPTITONIC:[4,1,1,3,3],GYRITONIC:[1,1,3,3,4],ZALITONIC:[1,3,3,4,1],STOLITONIC:[3,3,4,1,1],BYLITONIC:[3,4,1,1,3],THODITONIC:[3,3,2,3,1],DOGITONIC:[3,2,3,1,3],PHRALITONIC:[2,3,1,3,3],GARITONIC:[3,1,3,3,2],SOPTITONIC:[1,3,3,2,3],KATARITONIC:[3,3,2,2,2],SYLITONIC:[3,2,2,2,3],THONITONIC:[2,2,2,3,3],PHROPITONIC:[2,2,3,3,2],STADITONIC:[2,3,3,2,2],LYDITONIC:[3,3,1,3,2],MYTHITONIC:[3,1,3,2,3],SOGITONIC:[1,3,2,3,3],GOTHITONIC:[3,2,3,3,1],ROTHITONIC:[2,3,3,1,3],ZYLITONIC:[4,4,2,1,1],ZODITONIC:[4,2,1,1,4],ZARITONIC:[2,1,1,4,4],PHRYTHITONIC:[1,1,4,4,2],ROLITONIC:[1,4,4,2,1],RANITONIC:[4,4,1,1,2],LADITONIC:[4,1,1,2,4],PODITONIC:[1,1,2,4,4],IONOTHITONIC:[1,2,4,4,1],KANITONIC:[2,4,4,1,1],RYPHITONIC:[4,3,1,2,2],GYLITONIC:[3,1,2,2,4],AEOLYCRITONIC:[1,2,2,4,3],PYNITONIC:[2,2,4,3,1],ZANITONIC:[2,4,3,1,2],PHRONITONIC:[4,2,3,1,2],BANITONIC:[2,3,1,2,4],AERONITONIC:[3,1,2,4,2],GOLITONIC:[1,2,4,2,3],DYPTITONIC:[2,4,2,3,1],AERYNITONIC:[4,2,2,1,3],PALITONIC:[2,2,1,3,4],STOTHITONIC:[2,1,3,4,2],AEROPHITONIC:[1,3,4,2,2],KATAGITONIC:[3,4,2,2,1],IONODITONIC:[4,2,1,3,2],BOGITONIC:[2,1,3,2,4],MOGITONIC:[1,3,2,4,2],DOCRITONIC:[3,2,4,2,1],EPADITONIC:[2,4,2,1,3],MIXITONIC:[3,3,3,2,1],PHROTHITONIC:[3,3,2,1,3],KATYCRITONIC:[3,2,1,3,3],IONALITONIC:[2,1,3,3,3],LOPTITONIC:[1,3,3,3,2],THYRITONIC:[3,3,3,1,2],THOPTITONIC:[3,3,1,2,3],BYCRITONIC:[3,1,2,3,3],PATHITONIC:[1,2,3,3,3],MYDITONIC:[2,3,3,3,1],BOLITONIC:[4,2,2,2,2],BOTHITONIC:[2,2,2,2,4],KATADITONIC:[2,2,2,4,2],KODITONIC:[2,2,4,2,2],THOLITONIC:[2,4,2,2,2],EPATHIMIC:[3,2,2,1,2,2],MYNIMIC:[2,2,1,2,2,3],ROCRIMIC:[2,1,2,2,3,2],EPORIMIC:[1,2,2,3,2,2],THAPTIMIC:[2,2,3,2,2,1],LOTHIMIC:[2,3,2,2,1,2],DYRIMIC:[4,2,1,2,2,1],KOPTIMIC:[2,1,2,2,1,4],THOCRIMIC:[1,2,2,1,4,2],AEOLANIMIC:[2,2,1,4,2,1],DANIMIC:[2,1,4,2,1,2],IONARIMIC:[1,4,2,1,2,2],DAPTIMIC:[4,1,4,1,1,1],KYGIMIC:[1,4,1,1,1,4],MOCRIMIC:[4,1,1,1,4,1],ZYNIMIC:[1,1,1,4,1,4],AEOLIMIC:[1,1,4,1,4,1],ZYTHIMIC:[1,4,1,4,1,1],EPYGIMIC:[4,1,2,3,1,1],ZAPTIMIC:[1,2,3,1,1,4],KAGIMIC:[2,3,1,1,4,1],ZOGIMIC:[3,1,1,4,1,2],EPYRIMIC:[1,1,4,1,2,3],LYCRIMIC:[1,4,1,2,3,1],BYLIMIC:[4,1,2,2,2,1],ZOTHIMIC:[1,2,2,2,1,4],PHROLIMIC:[2,2,2,1,4,1],IONAGIMIC:[2,2,1,4,1,2],AEOLAPHIMIC:[2,1,4,1,2,2],KYCRIMIC:[1,4,1,2,2,2],GARIMIC:[4,1,2,2,1,2],SOPTIMIC:[1,2,2,1,2,4],IONYPTIMIC:[2,2,1,2,4,1],GYRIMIC:[2,1,2,4,1,2],ZALIMIC:[1,2,4,1,2,2],STOLIMIC:[2,4,1,2,2,1],THONIMIC:[4,1,1,4,1,1],STADIMIC:[1,1,4,1,1,4],THODIMIC:[1,4,1,1,4,1],MYTHIMIC:[4,1,1,3,2,1],SOGIMIC:[1,1,3,2,1,4],GOGIMIC:[1,3,2,1,4,1],ROTHIMIC:[3,2,1,4,1,1],KATARIMIC:[2,1,4,1,1,3],SYLIMIC:[1,4,1,1,3,2],MIXOLIMIC:[3,2,3,2,1,1],DADIMIC:[2,3,2,1,1,3],AEOLYPHIMIC:[3,2,1,1,3,2],GYCRIMIC:o,PYRIMIC:[1,1,3,2,3,2],LYDIMIC:[1,3,2,3,2,1],IONACRIMIC:[3,2,3,1,1,2],GATHIMIC:[2,3,1,1,2,3],IONYNIMIC:[3,1,1,2,3,2],PHRYNIMIC:[1,1,2,3,2,3],STATHIMIC:[1,2,3,2,3,1],THATIMIC:[2,3,2,3,1,1],DALIMIC:[3,2,2,3,1,1],DYGIMIC:[2,2,3,1,1,3],ZOLIMIC:[2,3,1,1,3,2],EPOGIMIC:[3,1,1,3,2,2],LANIMIC:[1,1,3,2,2,3],PAPTIMIC:[1,3,2,2,3,1],DARMIC:[3,2,2,2,1,2],LONIMIC:[2,2,2,1,2,3],IONYCRIMIC:[2,2,1,2,3,2],PHRADIMIC:[2,1,2,3,2,2],AEOLORIMIC:[1,2,3,2,2,2],GONIMIC:[2,3,2,2,2,1],PHRACRIMIC:[3,2,1,2,2,2],AERATHIMIC:[2,1,2,2,2,3],SARIMIC:[1,2,2,2,3,2],ZOPTIMIC:[2,2,2,3,2,1],ZERACRIMIC:[2,2,3,2,1,2],BYPTIMIC:[2,3,2,1,2,2],STARIMIC:[4,3,2,1,1,1],PHRATHIMIC:[3,2,1,1,1,4],SAPTIMIC:[2,1,1,1,4,3],AERODIMIC:[1,1,1,4,3,2],MACRIMIC:[1,1,4,3,2,1],ROGIMIC:[1,4,3,2,1,1],BYGIMIC:[4,3,1,1,2,1],THYCRIMIC:[3,1,1,2,1,4],AEOLADIMIC:[1,1,2,1,4,3],DYLIMIC:[1,2,1,4,3,1],EPONIMIC:[2,1,4,3,1,1],KATYGIMIC:[1,4,3,1,1,2],STALIMIC:[4,2,3,1,1,1],STOPTIMIC:[2,3,1,1,1,4],ZYGIMIC:[3,1,1,1,4,2],KATAPTIMIC:[1,1,1,4,2,3],AEOLAPTIMIC:[1,1,4,2,3,1],POTHIMIC:[1,4,2,3,1,1],RYCRIMIC:[4,2,2,1,2,1],RONIMIC:[2,2,1,2,1,4],STYCRIMIC:[2,1,2,1,4,2],KATORIMIC:[1,2,1,4,2,2],EPYTHIMIC:[2,1,4,2,2,1],KAPTIMIC:[1,4,2,2,1,2],KATYTHIMIC:[4,2,1,3,1,1],MADIMIC:[2,1,3,1,1,4],AERYGIMIC:[1,3,1,1,4,2],PYLIMIC:[3,1,1,4,2,1],IONATHIMIC:[1,1,4,2,1,3],MORIMIC:[1,4,2,1,3,1],AERYCRIMIC:[4,2,1,1,3,1],GANIMIC:[2,1,1,3,1,4],EPARIMIC:[1,1,3,1,4,2],LYRIMIC:[1,3,1,4,2,1],PHRAPTIMIC:[3,1,4,2,1,1],BACRIMIC:[1,4,2,1,1,3],PHRALIMIC:[4,1,3,2,1,1],PHROGIMIC:[1,3,2,1,1,4],RATHIMIC:[3,2,1,1,4,1],KATOCRIMIC:[2,1,1,4,1,3],PHRYPTIMIC:[1,1,4,1,3,2],KATYNIMIC:[1,4,1,3,2,1],SOLIMIC:[4,1,3,1,2,1],IONOLIMIC:[1,3,1,2,1,4],IONOPHIMIC:[3,1,2,1,4,1],AEOLOGIMIC:[1,2,1,4,1,3],ZADIMIC:[2,1,4,1,3,1],SYGIMIC:[1,4,1,3,1,2],THOGIMIC:[4,1,3,1,1,2],RYTHIMIC:[1,3,1,1,2,4],DONIMIC:[3,1,1,2,4,1],AEOLOPTIMIC:[1,1,2,4,1,3],PANIMIC:[1,2,4,1,3,1],LODIMIC:[2,4,1,3,1,1],LAPTIMIC:[4,1,2,1,3,1],LYGIMIC:[1,2,1,3,1,4],LOGIMIC:[2,1,3,1,4,1],LALIMIC:[1,3,1,4,1,2],SOTHIMIC:[3,1,4,1,2,1],PHROCRIMIC:[1,4,1,2,1,3],MODIMIC:[4,1,2,1,2,2],BARIMIC:[1,2,1,2,2,4],POPTIMIC:[2,1,2,2,4,1],SAGIMIC:[1,2,2,4,1,2],AELOTHIMIC:l,SOCRIMIC:[2,4,1,2,1,2],SYRIMIC:[4,1,2,1,1,3],STODIMIC:[1,2,1,1,3,4],IONOCRIMIC:[2,1,1,3,4,1],ZYCRIMIC:[1,1,3,4,1,2],IONYGIMIC:[1,3,4,1,2,1],KATATHIMIC:[3,4,1,2,1,1],BOLIMIC:[4,1,1,3,1,2],BOTHIMIC:[1,1,3,1,2,4],KATADIMIC:[1,3,1,2,4,1],KODIMIC:[3,1,2,4,1,1],THOLIMIC:[1,2,4,1,1,3],RALIMIC:[2,4,1,1,3,1],KANIMIC:[4,1,1,2,3,1],ZYLIMIC:[1,1,2,3,1,4],ZODIMIC:[1,2,3,1,4,1],ZARIMIC:[2,3,1,4,1,1],PHRYTHIMIC:[3,1,4,1,1,2],RORIMIC:[1,4,1,1,2,3],PYNIMIC:[4,1,1,1,3,2],ZANIMIC:[1,1,1,3,2,4],RANIMIC:[1,1,3,2,4,1],LADIMIC:[1,3,2,4,1,1],PODIMIC:[3,2,4,1,1,1],IONOTHIMIC:[2,4,1,1,1,3],KYTRIMIC:[4,1,1,1,2,3],GOLIMIC:[1,1,1,2,3,4],DYPTIMIC:[1,1,2,3,4,1],RYRIMIC:[1,2,3,4,1,1],GYLIMIC:[2,3,4,1,1,1],AEOLYCRIMIC:[3,4,1,1,1,2],PALIMIC:[3,3,2,2,1,1],STOTHIMIC:[3,2,2,1,1,3],AERONIMIC:[2,2,1,1,3,3],KATAGIMIC:[2,1,1,3,3,2],PHRONIMIC:[1,1,3,3,2,2],BANIMIC:[1,3,3,2,2,1],IONODIMIC:[3,3,1,3,1,1],BOGIMIC:[3,1,3,1,1,3],MOGIMIC:[1,3,1,1,3,3],DOCRIMIC:[3,1,1,3,3,1],EPADIMIC:[1,1,3,3,1,3],AERYNIMIC:[1,3,3,1,3,1],MYDIMIC:[3,3,1,1,3,1],THYPTIMIC:[3,1,1,3,1,3],PHROTHIMIC:[1,1,3,1,3,3],KATYCRIMIC:[1,3,1,3,3,1],IONALIMIC:[3,1,3,3,1,1],LOPTIMIC:[1,3,3,1,1,3],ZAGIMIC:[3,3,1,1,2,2],LAGIMIC:[3,1,1,2,2,3],THYRIMIC:[1,1,2,2,3,3],THOTHIMIC:[1,2,2,3,3,1],BYCRIMIC:[2,2,3,3,1,1],PATHIMIC:[2,3,3,1,1,2],MOTHIMIC:[3,2,2,1,3,1],AERANIMIC:[2,2,1,3,1,3],RAGIMIC:[2,1,3,1,3,2],DOLIMIC:[1,3,1,3,2,2],PORIMIC:[3,1,3,2,2,1],AERYLIMIC:[1,3,2,2,1,3],BOCRIMIC:[3,2,1,3,1,2],GYTHIMIC:[2,1,3,1,2,3],PAGIMIC:[1,3,1,2,3,2],AEOLYTHIMIC:[3,1,2,3,2,1],MOLIMIC:[1,2,3,2,1,3],STAPTIMIC:[2,3,2,1,3,1],ZACRIMIC:[3,2,1,2,3,1],LARIMIC:[2,1,2,3,1,3],THACRIMIC:[1,2,3,1,3,2],STYDIMIC:[2,3,1,3,2,1],LORIMIC:[3,1,3,2,1,2],IONADIMIC:[1,3,2,1,2,3],IONYTHIMIC:[3,1,3,1,3,1],AERYTHIMIC:[1,3,1,3,1,3],DYNIMIC:[3,1,3,1,2,2],ZYDIMIC:[1,3,1,2,2,3],ZATHIMIC:[3,1,2,2,3,1],RADIMIC:[1,2,2,3,1,3],STONIMIC:[2,2,3,1,3,1],SYPTIMIC:[2,3,1,3,1,2],PONIMIC:[4,4,1,1,1,1],KADIMIC:[4,1,1,1,1,4],GYNIMIC:[1,1,1,1,4,4],THYDIMIC:[1,1,1,4,4,1],POLIMIC:[1,1,4,4,1,1],THANIMIC:[1,4,4,1,1,1],LATHIMIC:[4,3,1,2,1,1],AERALIMIC:[3,1,2,1,1,4],KYNIMIC:[1,2,1,1,4,3],STYNIMIC:[2,1,1,4,3,1],EPYTIMIC:[1,1,4,3,1,2],KATOPTIMIC:[1,4,3,1,2,1],GALIMIC:[4,3,1,1,1,2],KATHIMIC:[3,1,1,1,2,4],LYLIMIC:[1,1,1,2,4,3],EPALIMIC:[1,1,2,4,3,1],EPACRIMIC:[1,2,4,3,1,1],SATHIMIC:[2,4,3,1,1,1],KATANIMIC:[4,2,2,2,1,1],KATYRIMIC:[2,2,2,1,1,4],RYNIMIC:[2,2,1,1,4,2],POGIMIC:[2,1,1,4,2,2],AERAPTIMIC:[1,1,4,2,2,2],EPYLIMIC:[1,4,2,2,2,1],MANIMIC:[4,2,1,2,1,2],MARIMIC:[2,1,2,1,2,4],LOCRIMIC:[1,2,1,2,4,2],RYLIMIC:[2,1,2,4,2,1],EPATIMIC:[1,2,4,2,1,2],BYRIMIC:[2,4,2,1,2,1],KOCRIMIC:[4,2,1,1,1,3],KORIMIC:[2,1,1,1,3,4],LYNIMIC:[1,1,1,3,4,2],MALIMIC:[1,1,3,4,2,1],SYNIMIC:[1,3,4,2,1,1],PHRAGIMIC:[3,4,2,1,1,1],MYCRIMIC:[4,1,1,2,2,2],IONORIMIC:[1,1,2,2,2,4],PHRYDIMIC:[1,2,2,2,4,1],ZYPTIMIC:[2,2,2,4,1,1],KATOTHIMIC:[2,2,4,1,1,2],PHRYLIMIC:[2,4,1,1,2,2],AEROTHIMIC:[4,1,1,2,1,3],STAGIMIC:[1,1,2,1,3,4],DORIMIC:[1,2,1,3,4,1],PHRYCRIMIC:[2,1,3,4,1,1],KYPTIMIC:[1,3,4,1,1,2],IONYLIMIC:[3,4,1,1,2,1],EPYNIMIC:[3,3,3,1,1,1],IONOGIMIC:[3,3,1,1,1,3],KYDIMIC:[3,1,1,1,3,3],GAPTIMIC:[1,1,1,3,3,3],THARIMIC:[1,1,3,3,3,1],IONAPHIMIC:[1,3,3,3,1,1],THOPTIMIC:[3,3,2,1,2,1],BAGIMIC:[3,2,1,2,1,3],KYRIMIC:[2,1,2,1,3,3],SONIMIC:[1,2,1,3,3,2],AEOLONIMIC:[2,1,3,3,2,1],RYGIMIC:[1,3,3,2,1,2],THAGIMIC:[3,3,2,1,1,2],KOLIMIC:[3,2,1,1,2,3],DYCRIMIC:[2,1,1,2,3,3],EPYCRIMIC:[1,1,2,3,3,2],GOCRIMIC:[1,2,3,3,2,1],KATOLIMIC:[2,3,3,2,1,1],DAGIMIC:[3,3,1,2,2,1],AEOLYDIMIC:[3,1,2,2,1,3],PARIMIC:[1,2,2,1,3,3],IONAPTIMIC:[2,2,1,3,3,1],THYLIMIC:[2,1,3,3,1,2],LOLIMIC:[1,3,3,1,2,2],THALIMIC:[3,3,1,2,1,2],STYGIMIC:[3,1,2,1,2,3],AEOLYGIMIC:[1,2,1,2,3,3],AEROGIMIC:[2,1,2,3,3,1],DACRIMIC:[1,2,3,3,1,2],BAPTIMIC:[2,3,3,1,2,1],STYTHIMIC:[3,2,3,1,2,1],KOTHIMIC:[2,3,1,2,1,3],PYGIMIC:[3,1,2,1,3,2],RODIMIC:[1,2,1,3,2,3],SORIMIC:[2,1,3,2,3,1],MONIMIC:[1,3,2,3,1,2],AERAGIMIC:[3,2,2,2,2,1],EPOTHIMIC:[2,2,2,2,1,3],SALIMIC:[2,2,2,1,3,2],LYPTIMIC:[2,2,1,3,2,2],KATONIMIC:[2,1,3,2,2,2],GYGIMIC:[1,3,2,2,2,2],AERADIMIC:[3,2,1,3,2,1],ZYRIMIC:[2,1,3,2,1,3],STYLIMIC:[1,3,2,1,3,2],LYTHIMIC:[3,1,2,3,1,2],DODIMIC:[1,2,3,1,2,3],KATALIMIC:[2,3,1,2,3,1],BOPTIMIC:[3,1,2,2,2,2],STOGIMIC:[1,2,2,2,2,3],THYNIMIC:[2,2,2,2,3,1],AEOLATHIMIC:[2,2,2,3,1,2],BYTHIMIC:[2,2,3,1,2,2],PADIMIC:[2,3,1,2,2,2],DATHIMIC:[4,2,2,1,1,2],EPAGIMIC:[2,2,1,1,2,4],RAPTIMIC:[2,1,1,2,4,2],EPOLIMIC:[1,1,2,4,2,2],SYTHIMIC:[1,2,4,2,2,1],SYDIMIC:[2,4,2,2,1,1],GACRIMIC:[4,2,1,1,2,2],BORIMIC:[2,1,1,2,2,4],SYCRIMIC:[1,1,2,2,4,2],GADIMIC:[1,2,2,4,2,1],AEOLOCRIMIC:[2,2,4,2,1,1],PHRYGIMIC:[2,4,2,1,1,2],WHOLETONE:s,LYDIAN:[2,2,2,1,2,2,1],MIXOLYDIAN:[2,2,1,2,2,1,2],AEOLIAN:n,LOCRIAN:[1,2,2,1,2,2,2],IONIAN:e,DORIAN:[2,1,2,2,2,1,2],PHRYGIAN:[1,2,2,2,1,2,2],IONYTHIAN:[4,1,2,2,1,1,1],AEOLYRIAN:[1,2,2,1,1,1,4],GORIAN:[2,2,1,1,1,4,1],AEOLODIAN:[2,1,1,1,4,1,2],DOPTIAN:[1,1,1,4,1,2,2],AERAPHIAN:[1,1,4,1,2,2,1],ZACRIAN:[1,4,1,2,2,1,1],IONARIAN:[4,1,1,3,1,1,1],DYNIAN:[1,1,3,1,1,1,4],ZYDIAN:[1,3,1,1,1,4,1],ZATHIAN:[3,1,1,1,4,1,1],RADIAN:[1,1,1,4,1,1,3],STONIAN:[1,1,4,1,1,3,1],SYPTIAN:[1,4,1,1,3,1,1],AEOLACRIAN:[4,1,1,1,3,1,1],ZYTHIAN:[1,1,1,3,1,1,4],DYRIAN:[1,1,3,1,1,4,1],KOPTIAN:[1,3,1,1,4,1,1],THOCRIAN:[3,1,1,4,1,1,1],AEOLANIAN:[1,1,4,1,1,1,3],DANIAN:[1,4,1,1,1,3,1],ZOGIAN:[4,1,1,1,2,2,1],EPYRIAN:[1,1,1,2,2,1,4],LYCRIAN:[1,1,2,2,1,4,1],DAPTIAN:[1,2,2,1,4,1,1],KYGIAN:[2,2,1,4,1,1,1],MOCRIAN:[2,1,4,1,1,1,2],ZYNIAN:[1,4,1,1,1,2,2],PHROLIAN:[3,2,2,1,2,1,1],IONAGIAN:[2,2,1,2,1,1,3],AEODIAN:[2,1,2,1,1,3,2],KYCRIAN:[1,2,1,1,3,2,2],EPYGIAN:[2,1,1,3,2,2,1],ZAPTIAN:[1,1,3,2,2,1,2],KAGIAN:[1,3,2,2,1,2,1],SOPTIAN:[3,2,2,1,1,1,2],IONYPTIAN:[2,2,1,1,1,2,3],GYRIAN:[2,1,1,1,2,3,2],ZALIAN:[1,1,1,2,3,2,2],STOLIAN:[1,1,2,3,2,2,1],BYLIAN:[1,2,3,2,2,1,1],ZOTHIAN:[2,3,2,2,1,1,1],THONIAN:[3,2,1,2,2,1,1],PHRORIAN:[2,1,2,2,1,1,3],STADIAN:[1,2,2,1,1,3,2],THODIAN:[2,2,1,1,3,2,1],DOGIAN:[2,1,1,3,2,1,2],MIXOPYRIAN:[1,1,3,2,1,2,2],GARIAN:[1,3,2,1,2,2,1],EPATHIAN:[3,2,1,1,3,1,1],MYTHIAN:[2,1,1,3,1,1,3],SOGIAN:[1,1,3,1,1,3,2],GOGIAN:[1,3,1,1,3,2,1],ROTHIAN:[3,1,1,3,2,1,1],KATARIAN:[1,1,3,2,1,1,3],STYLIAN:[1,3,2,1,1,3,1],STATHIAN:[3,2,1,1,1,2,2],MIXONYPHIAN:[2,1,1,1,2,2,3],MAGIAN:[1,1,1,2,2,3,2],DADIAN:[1,1,2,2,3,2,1],AEOLYLIAN:[1,2,2,3,2,1,1],GYCRIAN:[2,2,3,2,1,1,1],PYRIAN:[2,3,2,1,1,1,2],EPOGIAN:[3,1,1,3,1,1,2],LANIAN:[1,1,3,1,1,2,3],PAPTIAN:[1,3,1,1,2,3,1],IONACRIAN:[3,1,1,2,3,1,1],GATHIAN:[1,1,2,3,1,1,3],IONYPHIAN:[1,2,3,1,1,3,1],PHRYNIAN:[2,3,1,1,3,1,1],IONYCRIAN:[3,1,1,2,2,1,2],PHRADIAN:[1,1,2,2,1,2,3],AEOLORIAN:[1,2,2,1,2,3,1],GONIAN:[2,2,1,2,3,1,1],DALIAN:[2,1,2,3,1,1,2],DYGIAN:[1,2,3,1,1,2,2],ZOLIAN:[2,3,1,1,2,2,1],AERATHIAN:[3,1,1,2,1,2,2],SARIAN:[1,1,2,1,2,2,3],ZOPTIAN:[1,2,1,2,2,3,1],AERACRIAN:[2,1,2,2,3,1,1],BYPTIAN:[1,2,2,3,1,1,2],DARIAN:[2,2,3,1,1,2,1],LONIAN:[2,3,1,1,2,1,2],AEOPIAN:[4,2,1,2,1,1,1],RYGIAN:[2,1,2,1,1,1,4],EPYNIAN:[1,2,1,1,1,4,2],IONOGIAN:[2,1,1,1,4,2,1],KYDIAN:[1,1,1,4,2,1,2],GAPTIAN:[1,1,4,2,1,2,1],THARIAN:[1,4,2,1,2,1,1],EPYCRIAN:[4,2,1,1,1,2,1],GOCRIAN:[2,1,1,1,2,1,4],KATOLIAN:[1,1,1,2,1,4,2],THOPTIAN:[1,1,2,1,4,2,1],BAGIAN:[1,2,1,4,2,1,1],KYRIAN:[2,1,4,2,1,1,1],SONIAN:[1,4,2,1,1,1,2],PARIAN:[4,1,3,1,1,1,1],IONAPTIAN:[1,3,1,1,1,1,4],THYLIAN:[3,1,1,1,1,4,1],LOLIAN:[1,1,1,1,4,1,3],THAGIAN:[1,1,1,4,1,3,1],KOLIAN:[1,1,4,1,3,1,1],DYCRIAN:[1,4,1,3,1,1,1],STYGIAN:[4,1,2,1,2,1,1],AEOLYGIAN:[1,2,1,2,1,1,4],AEROGIAN:[2,1,2,1,1,4,1],DACRIAN:[1,2,1,1,4,1,2],BAPTIAN:[2,1,1,4,1,2,1],DAGIAN:[1,1,4,1,2,1,2],AEOLYDIAN:[1,4,1,2,1,2,1],STYTHIAN:[4,1,2,1,1,2,1],KOTHIAN:[1,2,1,1,2,1,4],PYGIAN:[2,1,1,2,1,4,1],RODIAN:[1,1,2,1,4,1,2],SORIAN:[1,2,1,4,1,2,1],MONIAN:[2,1,4,1,2,1,1],THALIAN:[1,4,1,2,1,1,2],ZORIAN:[4,1,2,1,1,1,2],AERAGIAN:[1,2,1,1,1,2,4],EPOTHIAN:[2,1,1,1,2,4,1],SALIAN:[1,1,1,2,4,1,2],LYPTIAN:[1,1,2,4,1,2,1],KATONIAN:[1,2,4,1,2,1,1],GYPHIAN:[2,4,1,2,1,1,1],THACRIAN:[4,1,1,2,2,1,1],DODIAN:[1,1,2,2,1,1,4],AEOLYPTIAN:[1,2,2,1,1,4,1],AEOLONIAN:[2,2,1,1,4,1,1],AERADIAN:[2,1,1,4,1,1,2],AEOLAGIAN:[1,1,4,1,1,2,2],ZYRIAN:[1,4,1,1,2,2,1],AEOLATHIAN:[4,1,1,2,1,2,1],BYTHIAN:[1,1,2,1,2,1,4],PADIAN:[1,2,1,2,1,4,1],ROLIAN:[2,1,2,1,4,1,1],PYDIAN:[1,2,1,4,1,1,2],THYGIAN:[2,1,4,1,1,2,1],KATALIAN:[1,4,1,1,2,1,2],SAPTIAN:[4,1,1,1,2,1,2],AERODIAN:[1,1,1,2,1,2,4],MACRIAN:[1,1,2,1,2,4,1],ROGIAN:[1,2,1,2,4,1,1],BOPTIAN:[2,1,2,4,1,1,1],STOGIAN:[1,2,4,1,1,1,2],THYNIAN:[2,4,1,1,1,2,1],THYCRIAN:[4,1,1,1,1,3,1],AEOLADIAN:[1,1,1,1,3,1,4],DYLIAN:[1,1,1,3,1,4,1],EPONIAN:[1,1,3,1,4,1,1],KATYGIAN:[1,3,1,4,1,1,1],STARIAN:[3,1,4,1,1,1,1],PHRATHIAN:[1,4,1,1,1,1,3],STALIAN:[3,3,1,1,2,1,1],STOPTIAN:[3,1,1,2,1,1,3],ZYGIAN:[1,1,2,1,1,3,3],KATAPTIAN:[1,2,1,1,3,3,1],AEOLAPTIAN:[2,1,1,3,3,1,1],POTHIAN:[1,1,3,3,1,1,2],BYGIAN:[1,3,3,1,1,2,1],MORIAN:[3,2,3,1,1,1,1],RYCRIAN:[2,3,1,1,1,1,3],RONIAN:[3,1,1,1,1,3,2],STYCRIAN:[1,1,1,1,3,2,3],KATORIAN:[1,1,1,3,2,3,1],EPYTHIAN:[1,1,3,2,3,1,1],KAPTIAN:[1,3,2,3,1,1,1],PHRAPTIAN:[3,2,2,2,1,1,1],BACRIAN:[2,2,2,1,1,1,3],KATYTHIAN:[2,2,1,1,1,3,2],MADIAN:[2,1,1,1,3,2,2],AERYGIAN:[1,1,1,3,2,2,2],PYLIAN:[1,1,3,2,2,2,1],IONATHIAN:[1,3,2,2,2,1,1],KATOCRIAN:[3,2,1,3,1,1,1],PHRYPTIAN:[2,1,3,1,1,1,3],KATYNIAN:[1,3,1,1,1,3,2],AERYCRIAN:[3,1,1,1,3,2,1],GANIAN:[1,1,1,3,2,1,3],EPARIAN:[1,1,3,2,1,3,1],LYRIAN:[1,3,2,1,3,1,1],IONOPIAN:[3,2,1,2,1,1,2],AEOLOGIAN:[2,1,2,1,1,2,3],ZADIAN:[1,2,1,1,2,3,2],SYGIAN:[2,1,1,2,3,2,1],PHRALIAN:[1,1,2,3,2,1,2],PHROGIAN:[1,2,3,2,1,2,1],RATHIAN:[2,3,2,1,2,1,1],RYTHIAN:[3,2,1,1,2,1,2],DONIAN:[2,1,1,2,1,2,3],AEOLOPTIAN:[1,1,2,1,2,3,2],PANIAN:[1,2,1,2,3,2,1],LODIAN:[2,1,2,3,2,1,1],SOLIAN:[1,2,3,2,1,1,2],IONOLIAN:[2,3,2,1,1,2,1],LAPTIAN:[3,2,1,1,1,3,1],LYGIAN:[2,1,1,1,3,1,3],LOGIAN:[1,1,1,3,1,3,2],LALIAN:[1,1,3,1,3,2,1],SOTHIAN:[1,3,1,3,2,1,1],PHROCRIAN:[3,1,3,2,1,1,1],THOGIAN:[1,3,2,1,1,1,3],KATATHIAN:[3,1,3,1,2,1,1],MODIAN:[1,3,1,2,1,1,3],BARIAN:[3,1,2,1,1,3,1],MIXOLOCRIAN:[1,2,1,1,3,1,3],SAGIAN:[2,1,1,3,1,3,1],AEOLOTHIAN:[1,1,3,1,3,1,2],SOCRIAN:[1,3,1,3,1,2,1],THOLIAN:[3,1,3,1,1,2,1],RALIAN:[1,3,1,1,2,1,3],SYRIAN:[3,1,1,2,1,3,1],STODIAN:[1,1,2,1,3,1,3],IONOCRIAN:[1,2,1,3,1,3,1],ZYCRIAN:[2,1,3,1,3,1,1],IONYGIAN:[1,3,1,3,1,1,2],ZARIAN:[3,1,3,1,1,1,2],PHRYTHIAN:[1,3,1,1,1,2,3],RORIAN:[3,1,1,1,2,3,1],BOLIAN:[1,1,1,2,3,1,3],BOTHIAN:[1,1,2,3,1,3,1],KATADIAN:[1,2,3,1,3,1,1],KODIAN:[2,3,1,3,1,1,1],RANIAN:[3,1,2,3,1,1,1],LADIAN:[1,2,3,1,1,1,3],PODIAN:[2,3,1,1,1,3,1],IONOTHIAN:[3,1,1,1,3,1,2],KANIAN:[1,1,1,3,1,2,3],ZYLIAN:[1,1,3,1,2,3,1],ZODIAN:[1,3,1,2,3,1,1],GOLIAN:[3,1,2,2,2,1,1],DYPTIAN:[1,2,2,2,1,1,3],RYPHIAN:[2,2,2,1,1,3,1],GYLIAN:[2,2,1,1,3,1,2],AEOLYCRIAN:[2,1,1,3,1,2,2],PYNIAN:[1,1,3,1,2,2,2],ZANIAN:[1,3,1,2,2,2,1],PALIAN:[3,1,2,2,1,2,1],STOTHIAN:[1,2,2,1,2,1,3],AERORIAN:r,KATAGIAN:[2,1,2,1,3,1,2],PHRONIAN:[1,2,1,3,1,2,2],BANIAN:[2,1,3,1,2,2,1],AERONIAN:[1,3,1,2,2,1,2],LOPTIAN:[3,1,2,1,3,1,1],IONODIAN:[1,2,1,3,1,1,3],BOGIAN:[2,1,3,1,1,3,1],MOGIAN:[1,3,1,1,3,1,2],DOCRIAN:[3,1,1,3,1,2,1],EPADIAN:[1,1,3,1,2,1,3],AERYNIAN:[1,3,1,2,1,3,1],BYCRIAN:[3,1,2,1,2,2,1],PATHIAN:[1,2,1,2,2,1,3],MYDIAN:t,THYPTIAN:[1,2,2,1,3,1,2],PHROTHIAN:[2,2,1,3,1,2,1],KATYCRIAN:[2,1,3,1,2,1,2],IONALIAN:[1,3,1,2,1,2,2],DOLIAN:[3,1,1,2,2,2,1],PORIAN:[1,1,2,2,2,1,3],AERYLIAN:f,"NEOPOLITAN MINOR":f,ZAGIAN:[2,2,2,1,3,1,1],LAGIAN:[2,2,1,3,1,1,2],TYRIAN:[2,1,3,1,1,2,2],MIXONORIAN:[1,3,1,1,2,2,2],PAGIAN:[3,1,1,1,2,2,2],AEOLYTHIAN:[1,1,1,2,2,2,3],MOLIAN:[1,1,2,2,2,3,1],STAPTIAN:[1,2,2,2,3,1,1],MOTHIAN:[2,2,2,3,1,1,1],AERANIAN:[2,2,3,1,1,1,2],RAGIAN:[2,3,1,1,1,2,2],LARIAN:[2,2,2,2,1,2,1],LYTHIAN:[2,2,2,1,2,1,2],STYDIAN:d,LORIAN:[2,1,2,1,2,2,2],IONADIAN:[1,2,1,2,2,2,2],BOCRIAN:u,MIXOLYTHIAN:[1,2,2,2,2,1,2],THADIAN:[4,3,1,1,1,1,1],SANIAN:[3,1,1,1,1,1,4],IONYDIAN:[1,1,1,1,1,4,3],EPYDIAN:[1,1,1,1,4,3,1],KATYDIAN:[1,1,1,4,3,1,1],MATHIAN:[1,1,4,3,1,1,1],AERYPTIAN:[1,4,3,1,1,1,1],PYTHIAN:[4,2,2,1,1,1,1],KATYLIAN:[2,2,1,1,1,1,4],BYDIAN:[2,1,1,1,1,4,2],BYNIAN:[1,1,1,1,4,2,2],GALIAN:[1,1,1,4,2,2,1],ZONIAN:[1,1,4,2,2,1,1],MYRIAN:[1,4,2,2,1,1,1],KATOGIAN:[4,2,1,1,2,1,1],STACRIAN:[2,1,1,2,1,1,4],STYRIAN:[1,1,2,1,1,4,2],IONYRIAN:[1,2,1,1,4,2,1],PHRODIAN:[2,1,1,4,2,1,1],PYCRIAN:[1,1,4,2,1,1,2],GYPTIAN:[1,4,2,1,1,2,1],KATACRIAN:[4,1,1,2,1,1,2],SODIAN:[1,1,2,1,1,2,4],BATHIAN:[1,2,1,1,2,4,1],MYLIAN:[2,1,1,2,4,1,1],GODIAN:[1,1,2,4,1,1,2],THORIAN:[1,2,4,1,1,2,1],ZOCRIAN:[2,4,1,1,2,1,1],STANIAN:[4,1,1,1,1,2,2],EPANIAN:[1,1,1,1,2,2,4],KONIAN:[1,1,1,2,2,4,1],STOCRIAN:[1,1,2,2,4,1,1],KALIAN:[1,2,2,4,1,1,1],PHROPTIAN:[2,2,4,1,1,1,1],DYDIAN:[2,4,1,1,1,1,2],KATYPTIAN:[4,1,1,1,1,1,3],EPODIAN:[1,1,1,1,1,3,4],MYGIAN:[1,1,1,1,3,4,1],PACRIAN:[1,1,1,3,4,1,1],AEROCRIAN:[1,1,3,4,1,1,1],AEOLARIAN:[1,3,4,1,1,1,1],KYTHIAN:[3,4,1,1,1,1,1],BONIAN:[3,3,2,1,1,1,1],BADIAN:[3,2,1,1,1,1,3],KATODIAN:[2,1,1,1,1,3,3],SADIAN:[1,1,1,1,3,3,2],DOTHIAN:[1,1,1,3,3,2,1],MOPTIAN:[1,1,3,3,2,1,1],AERYRIAN:[1,3,3,2,1,1,1],EPAGIAN:[3,3,1,2,1,1,1],RAPTIAN:[3,1,2,1,1,1,3],EPOLIAN:[1,2,1,1,1,3,3],SYTHIAN:[2,1,1,1,3,3,1],SYDIAN:[1,1,1,3,3,1,2],EPOCRIAN:[1,1,3,3,1,2,1],KYLIAN:[1,3,3,1,2,1,1],GACRIAN:[3,3,1,1,1,2,1],BORIAN:[3,1,1,1,2,1,3],SYCRIAN:[1,1,1,2,1,3,3],GADIAN:[1,1,2,1,3,3,1],AEOLOCRIAN:[1,2,1,3,3,1,1],MIXODORIAN:[2,1,3,3,1,1,1],DATHIAN:[1,3,3,1,1,1,2],KATOPTIAN:[3,3,1,1,1,1,2],PONIAN:[3,1,1,1,1,2,3],KADIAN:[1,1,1,1,2,3,3],GYNIAN:[1,1,1,2,3,3,1],THYPHIAN:[1,1,2,3,3,1,1],POLIAN:[1,2,3,3,1,1,1],THANIAN:[2,3,3,1,1,1,1],EPACRIAN:[3,2,2,1,1,2,1],SATHIAN:[2,2,1,1,2,1,3],LATHIAN:[2,1,1,2,1,3,2],AERALIAN:[1,1,2,1,3,2,2],KYNIAN:[1,2,1,3,2,2,1],STYNIAN:[2,1,3,2,2,1,1],EPYPHIAN:[1,3,2,2,1,1,2],POGIAN:[3,2,1,2,1,2,1],AERAPTIAN:[2,1,2,1,2,1,3],EPYLIAN:[1,2,1,2,1,3,2],GAMIAN:[2,1,2,1,3,2,1],KATHIAN:[1,2,1,3,2,1,2],LYLIAN:[2,1,3,2,1,2,1],EPALIAN:[1,3,2,1,2,1,2],EPORIAN:[3,2,1,1,2,2,1],RYLIAN:[2,1,1,2,2,1,3],EPAPTIAN:[1,1,2,2,1,3,2],BYRIAN:[1,2,2,1,3,2,1],KATANIAN:[2,2,1,3,2,1,1],KATYRIAN:[2,1,3,2,1,1,2],RYNIAN:[1,3,2,1,1,2,2],KORIAN:[3,1,2,2,1,1,2],LYNIAN:[1,2,2,1,1,2,3],MALIAN:[2,2,1,1,2,3,1],SYNIAN:[2,1,1,2,3,1,2],PHRAGIAN:[1,1,2,3,1,2,2],MANIAN:[1,2,3,1,2,2,1],MARIAN:[2,3,1,2,2,1,1],MYCRIAN:[3,1,2,1,2,1,2],IONORIAN:[1,2,1,2,1,2,3],PHRYDIAN:[2,1,2,1,2,3,1],ZYPTIAN:[1,2,1,2,3,1,2],KATOTHIAN:[2,1,2,3,1,2,1],PHRYLIAN:[1,2,3,1,2,1,2],KOCRIAN:[2,3,1,2,1,2,1],IONANIAN:[3,1,2,1,1,2,2],AEROTHIAN:[1,2,1,1,2,2,3],STAGIAN:[2,1,1,2,2,3,1],LOTHIAN:[1,1,2,2,3,1,2],PHRYCRIAN:[1,2,2,3,1,2,1],KYPTIAN:[2,2,3,1,2,1,1],IONYLIAN:[2,3,1,2,1,1,2],GYDIAN:[4,2,1,1,1,1,2],KOGIAN:[2,1,1,1,1,2,4],RARIAN:[1,1,1,1,2,4,2],AEROLIAN:[1,1,1,2,4,2,1],KARIAN:[1,1,2,4,2,1,1],MYPTIAN:[1,2,4,2,1,1,1],RYDIAN:[2,4,2,1,1,1,1],AEOLYNIAN:[2,2,2,2,2,1,1],AEROPTIAN:[2,2,2,2,1,1,2],PHRYRIAN:[2,2,2,1,1,2,2],GOTHIAN:[2,2,1,1,2,2,2],STORIAN:[2,1,1,2,2,2,2],PYPTIAN:[1,1,2,2,2,2,2],THYDIAN:m,"NEOPOLITAN MAJOR":m,AERYCRYLLIC:y,"DOMINANT BEBOP":y,"BEBOP DOMINANT":y,GADYLLIC:[2,1,2,2,1,1,1,2],SOLYLLIC:[1,2,2,1,1,1,2,2],ZYLYLLIC:[2,2,1,1,1,2,2,1],MIXODYLLIC:[2,1,1,1,2,2,1,2],SORYLLIC:[1,1,1,2,2,1,2,2],GODYLLIC:[1,1,2,2,1,2,2,1],EPIPHYLLIC:[1,2,2,1,2,2,1,1],PYNYLLIC:[4,1,1,1,2,1,1,1],BOCRYLLIC:[1,1,1,2,1,1,1,4],KOGYLLIC:[1,1,2,1,1,1,4,1],RARYLLIC:[1,2,1,1,1,4,1,1],ZYCRYLLIC:[2,1,1,1,4,1,1,1],MYCRYLLIC:[1,1,1,4,1,1,1,2],LAPTYLLIC:[1,1,4,1,1,1,2,1],PYLYLLIC:[1,4,1,1,1,2,1,1],POTHYLLIC:[3,2,1,1,1,2,1,1],PHRONYLLIC:[2,1,1,1,2,1,1,3],STYNYLLIC:[1,1,1,2,1,1,3,2],RATHYLLIC:[1,1,2,1,1,3,2,1],AERYPTYLLIC:[1,2,1,1,3,2,1,1],ZYDYLLIC:[2,1,1,3,2,1,1,1],KATOLYLLIC:[1,1,3,2,1,1,1,2],RYTHYLLIC:[1,3,2,1,1,1,2,1],LOCRYLLIC:[3,1,1,3,1,1,1,1],BYLYLLIC:[1,1,3,1,1,1,1,3],SOGYLLIC:[1,3,1,1,1,1,3,1],IONYCRYLLIC:[3,1,1,1,1,3,1,1],KOPTYLLIC:[1,1,1,1,3,1,1,3],EPYRYLLIC:[1,1,1,3,1,1,3,1],SOPTYLLIC:[1,1,3,1,1,3,1,1],AEOLYLYLLIC:[1,3,1,1,3,1,1,1],AERACRYLLIC:[3,1,1,2,2,1,1,1],EPYGYLLIC:[1,1,2,2,1,1,1,3],THONYLLIC:[1,2,2,1,1,1,3,1],LANYLLIC:[2,2,1,1,1,3,1,1],PHRYNYLLIC:[2,1,1,1,3,1,1,2],LYCRYLLIC:[1,1,1,3,1,1,2,2],IONYPTYLLIC:[1,1,3,1,1,2,2,1],EPATHYLLIC:[1,3,1,1,2,2,1,1],DYDYLLIC:[3,1,1,2,1,2,1,1],THOGYLLIC:[1,1,2,1,2,1,1,3],RYGYLLIC:[1,2,1,2,1,1,3,1],BYCRYLLIC:[2,1,2,1,1,3,1,1],ZACRYLLIC:[1,2,1,1,3,1,1,2],PANYLLIC:[2,1,1,3,1,1,2,1],DYRYLLIC:[1,1,3,1,1,2,1,2],ZATHYLLIC:[1,3,1,1,2,1,2,1],DAGYLLIC:[3,1,1,2,1,1,1,2],KATALYLLIC:[1,1,2,1,1,1,2,3],KATORYLLIC:[1,2,1,1,1,2,3,1],DODYLLIC:[2,1,1,1,2,3,1,1],ZOGYLLIC:[1,1,1,2,3,1,1,2],MADYLLIC:[1,1,2,3,1,1,2,1],DYCRYLLIC:[1,2,3,1,1,2,1,1],AEOLOGYLLIC:[2,3,1,1,2,1,1,1],SYDYLLIC:[3,1,1,1,3,1,1,1],KATOGYLLIC:[1,1,1,3,1,1,1,3],ZYGYLLIC:[1,1,3,1,1,1,3,1],AERALYLLIC:[1,3,1,1,1,3,1,1],BACRYLLIC:[3,1,1,1,2,2,1,1],AERYGYLLIC:[1,1,1,2,2,1,1,3],DATHYLLIC:[1,1,2,2,1,1,3,1],BOPTYLLIC:[1,2,2,1,1,3,1,1],BAGYLLIC:[2,2,1,1,3,1,1,1],MATHYLLIC:[2,1,1,3,1,1,1,2],STYPTYLLIC:[1,1,3,1,1,1,2,2],ZOLYLLIC:[1,3,1,1,1,2,2,1],ROCRYLLIC:[2,2,2,1,2,1,1,1],ZYRYLLIC:[2,2,1,2,1,1,1,2],SAGYLLIC:[2,1,2,1,1,1,2,2],EPINYLLIC:[1,2,1,1,1,2,2,2],KATAGYLLIC:[2,1,1,1,2,2,2,1],RAGYLLIC:[1,1,1,2,2,2,1,2],GOTHYLLIC:[1,1,2,2,2,1,2,1],LYTHYLLIC:[1,2,2,2,1,2,1,1],IONOCRYLLIC:[2,2,2,1,1,1,2,1],GOCRYLLIC:[2,2,1,1,1,2,1,2],EPIRYLLIC:[2,1,1,1,2,1,2,2],AERADYLLIC:[1,1,1,2,1,2,2,2],STAPTYLLIC:[1,1,2,1,2,2,2,1],DANYLLIC:[1,2,1,2,2,2,1,1],GOPTYLLIC:[2,1,2,2,2,1,1,1],EPOCRYLLIC:[1,2,2,2,1,1,1,2],IONOPTYLLIC:b,"MARJOR BEBOP":b,"BEBOP MAJOR":b,AEOLORYLLIC:[2,1,2,1,1,2,1,2],THYDYLLIC:[1,2,1,1,2,1,2,2],GYCRYLLIC:[2,1,1,2,1,2,2,1],LYRYLLIC:[1,1,2,1,2,2,1,2],MOGYLLIC:[1,2,1,2,2,1,2,1],KATODYLLIC:[2,1,2,2,1,2,1,1],MOPTYLLIC:[1,2,2,1,2,1,1,2],DOLYLLIC:[4,1,2,1,1,1,1,1],MORYLLIC:[1,2,1,1,1,1,1,4],BYDYLLIC:[2,1,1,1,1,1,4,1],POCRYLLIC:[1,1,1,1,1,4,1,2],PHRACRYLLIC:[1,1,1,1,4,1,2,1],GYRYLLIC:[1,1,1,4,1,2,1,1],PHRYGYLLIC:[1,1,4,1,2,1,1,1],DOGYLLIC:[1,4,1,2,1,1,1,1],THAGYLLIC:[4,1,1,2,1,1,1,1],THOPTYLLIC:[1,1,2,1,1,1,1,4],PHRAPTYLLIC:[1,2,1,1,1,1,4,1],GYLYLLIC:[2,1,1,1,1,4,1,1],PHRALYLLIC:[1,1,1,1,4,1,1,2],DYGYLLIC:[1,1,1,4,1,1,2,1],RONYLLIC:[1,1,4,1,1,2,1,1],EPOGYLLIC:[1,4,1,1,2,1,1,1],AEOLADYLLIC:[4,1,1,1,1,2,1,1],KOCRYLLIC:[1,1,1,1,2,1,1,4],LODYLLIC:[1,1,1,2,1,1,4,1],BYNYLLIC:[1,1,2,1,1,4,1,1],KYDYLLIC:[1,2,1,1,4,1,1,1],BYGYLLIC:[2,1,1,4,1,1,1,1],PHRYPTYLLIC:[1,1,4,1,1,1,1,2],IONAYLLIC:[1,4,1,1,1,1,2,1],PHRORYLLIC:[4,1,1,1,1,1,2,1],THYPHYLLIC:[1,1,1,1,1,2,1,4],POPTYLLIC:[1,1,1,1,2,1,4,1],MIXONYLLIC:[1,1,1,2,1,4,1,1],PAPTYLLIC:[1,1,2,1,4,1,1,1],STORYLLIC:[1,2,1,4,1,1,1,1],PHRYCRYLLIC:[2,1,4,1,1,1,1,1],PALYLLIC:[1,4,1,1,1,1,1,2],PHRANYLLIC:[3,2,2,1,1,1,1,1],STYDYLLIC:[2,2,1,1,1,1,1,3],ZADYLLIC:[2,1,1,1,1,1,3,2],ZALYLLIC:[1,1,1,1,1,3,2,2],ZOCRYLLIC:[1,1,1,1,3,2,2,1],KATOCRYLLIC:[1,1,1,3,2,2,1,1],AERATHYLLIC:[1,1,3,2,2,1,1,1],STOPTYLLIC:[1,3,2,2,1,1,1,1],LYDYLLIC:[3,2,1,2,1,1,1,1],RADYLLIC:[2,1,2,1,1,1,1,3],STAGYLLIC:[1,2,1,1,1,1,3,2],IONORYLLIC:[2,1,1,1,1,3,2,1],PHRODYLLIC:[1,1,1,1,3,2,1,2],AERAGYLLIC:[1,1,1,3,2,1,2,1],BANYLLIC:[1,1,3,2,1,2,1,1],EPOTHYLLIC:[1,3,2,1,2,1,1,1],ZORYLLIC:[3,2,1,1,2,1,1,1],PHROLYLLIC:[2,1,1,2,1,1,1,3],KOLYLLIC:[1,1,2,1,1,1,3,2],THODYLLIC:[1,2,1,1,1,3,2,1],SOCRYLLIC:[2,1,1,1,3,2,1,1],AEOLYLLIC:[1,1,1,3,2,1,1,2],ZYTHYLLIC:[1,1,3,2,1,1,2,1],AEORYLLIC:[1,3,2,1,1,2,1,1],MIXOLYDYLLIC:[3,2,1,1,1,1,1,2],MIXONYPHYLLIC:[2,1,1,1,1,1,2,3],AEOLANYLLIC:[1,1,1,1,1,2,3,2],THOCRYLLIC:[1,1,1,1,2,3,2,1],KYGYLLIC:[1,1,1,2,3,2,1,1],IONAGYLLIC:[1,1,2,3,2,1,1,1],GOGYLLIC:[1,2,3,2,1,1,1,1],PHRADYLLIC:[2,3,2,1,1,1,1,1],IONIPTYLLIC:[3,1,3,1,1,1,1,1],KYCRYLLIC:[1,3,1,1,1,1,1,3],AEOLAPTYLLIC:[3,1,1,1,1,1,3,1],RODYLLIC:[1,1,1,1,1,3,1,3],IONATHYLLIC:[1,1,1,1,3,1,3,1],PYTHYLLIC:[1,1,1,3,1,3,1,1],ZONYLLIC:[1,1,3,1,3,1,1,1],RYRYLLIC:[1,3,1,3,1,1,1,1],AEOLOTHYLLIC:[3,1,2,2,1,1,1,1],IONYRYLLIC:[1,2,2,1,1,1,1,3],RYDYLLIC:[2,2,1,1,1,1,3,1],GONYLLIC:[2,1,1,1,1,3,1,2],ROLYLLIC:[1,1,1,1,3,1,2,2],KATYDYLLIC:[1,1,1,3,1,2,2,1],ZYPTYLLIC:[1,1,3,1,2,2,1,1],MODYLLIC:[1,3,1,2,2,1,1,1],MAPTYLLIC:[3,1,2,1,2,1,1,1],AERAPTYLLIC:[1,2,1,2,1,1,1,3],KATADYLLIC:[2,1,2,1,1,1,3,1],MAGYLLIC:[1,2,1,1,1,3,1,2],PHRYLYLLIC:[2,1,1,1,3,1,2,1],EPIGYLLIC:[1,1,1,3,1,2,1,2],MOLYLLIC:[1,1,3,1,2,1,2,1],PONYLLIC:[1,3,1,2,1,2,1,1],THYPTYLLIC:[3,1,2,1,1,2,1,1],IONOGYLLIC:[1,2,1,1,2,1,1,3],AEOLARYLLIC:[2,1,1,2,1,1,3,1],KATYGYLLIC:[1,1,2,1,1,3,1,2],GANYLLIC:[1,2,1,1,3,1,2,1],KYPTYLLIC:[2,1,1,3,1,2,1,1],SALYLLIC:[1,1,3,1,2,1,1,2],SANYLLIC:[1,3,1,2,1,1,2,1],DOPTYLLIC:[3,1,2,1,1,1,2,1],IONILYLLIC:[1,2,1,1,1,2,1,3],MANYLLIC:[2,1,1,1,2,1,3,1],POLYLLIC:[1,1,1,2,1,3,1,2],STANYLLIC:[1,1,2,1,3,1,2,1],MIXOTHARYLLIC:[1,2,1,3,1,2,1,1],EPORYLLIC:[2,1,3,1,2,1,1,1],AERYNYLLIC:[1,3,1,2,1,1,1,2],LONYLLIC:[3,1,1,2,1,1,2,1],SATHYLLIC:[1,1,2,1,1,2,1,3],LAYLLIC:[1,2,1,1,2,1,3,1],SARYLLIC:[2,1,1,2,1,3,1,1],THACRYLLIC:[1,1,2,1,3,1,1,2],AEOLYNYLLIC:[1,2,1,3,1,1,2,1],THADYLLIC:[2,1,3,1,1,2,1,1],LYNYLLIC:[1,3,1,1,2,1,1,2],AEOLATHYLLIC:[3,1,1,1,2,1,2,1],AEOLOCRYLLIC:[1,1,1,2,1,2,1,3],PHROPTYLLIC:[1,1,2,1,2,1,3,1],KODYLLIC:[1,2,1,2,1,3,1,1],EPAPTYLLIC:[2,1,2,1,3,1,1,1],IONOYLLIC:[1,2,1,3,1,1,1,2],GYPTYLLIC:[2,1,3,1,1,1,2,1],AERYTHYLLIC:[1,3,1,1,1,2,1,2],ZAGYLLIC:[3,1,1,1,2,1,1,2],EPACRYLLIC:[1,1,1,2,1,1,2,3],THORCRYLLIC:[1,1,2,1,1,2,3,1],LOPTYLLIC:[1,2,1,1,2,3,1,1],KATYLYLLIC:[2,1,1,2,3,1,1,1],MALYLLIC:[1,1,2,3,1,1,1,2],MYDYLLIC:[1,2,3,1,1,1,2,1],THYCRYLLIC:[2,3,1,1,1,2,1,1],GYTHYLLIC:[3,1,1,1,1,2,2,1],PYRYLLIC:[1,1,1,1,2,2,1,3],RYCRYLLIC:[1,1,1,2,2,1,3,1],PHRATHYLLIC:[1,1,2,2,1,3,1,1],BADYLLIC:[1,2,2,1,3,1,1,1],PHROCRYLLIC:[2,2,1,3,1,1,1,1],STARYLLIC:[2,1,3,1,1,1,1,2],ZOTHYLLIC:[1,3,1,1,1,1,2,2],THARYLLIC:[3,1,1,1,1,2,1,2],SYLYLLIC:[1,1,1,1,2,1,2,3],LOTHYLLIC:[1,1,1,2,1,2,3,1],DARYLLIC:[1,1,2,1,2,3,1,1],MONYLLIC:[1,2,1,2,3,1,1,1],STYRYLLIC:[2,1,2,3,1,1,1,1],AEOLACRYLLIC:[1,2,3,1,1,1,1,2],RAPTYLLIC:[2,3,1,1,1,1,2,1],KATARYLLIC:[3,1,1,1,1,1,2,2],AEROCRYLLIC:[1,1,1,1,1,2,2,3],ZANYLLIC:[1,1,1,1,2,2,3,1],AEOLONYLLIC:[1,1,1,2,2,3,1,1],AEONYLLIC:[1,1,2,2,3,1,1,1],KYRYLLIC:[1,2,2,3,1,1,1,1],SYTHYLLIC:[2,2,3,1,1,1,1,1],KATYCRYLLIC:[2,3,1,1,1,1,1,2],STOGYLLIC:[2,2,1,2,1,2,1,1],IONIDYLLIC:[2,1,2,1,2,1,1,2],STONYLLIC:[1,2,1,2,1,1,2,2],STALYLLIC:[2,1,2,1,1,2,2,1],PORYLLIC:[1,2,1,1,2,2,1,2],MOCRYLLIC:[2,1,1,2,2,1,2,1],AEOLYRYLLIC:[1,1,2,2,1,2,1,2],BARYLLIC:[1,2,2,1,2,1,2,1],DALYLLIC:[2,2,1,1,2,1,2,1],IONYPHYLLIC:[2,1,1,2,1,2,1,2],ZAPTYLLIC:[1,1,2,1,2,1,2,2],GARYLLIC:[1,2,1,2,1,2,2,1],GATHYLLIC:[2,1,2,1,2,2,1,1],MIXOPYRYLLIC:[1,2,1,2,2,1,1,2],IONACRYLLIC:v,"BEBOP MINOR":v,"MINOR BEBOP":v,"DORIAN BEBOP":v,"BEBOP DORIAN":v,STYLYLLIC:[1,2,2,1,1,2,1,2],STYCRYLLIC:[4,2,1,1,1,1,1,1],IONOTHYLLIC:[2,1,1,1,1,1,1,4],MYTHYLLIC:[1,1,1,1,1,1,4,2],AERYLYLLIC:[1,1,1,1,1,4,2,1],BONYLLIC:[1,1,1,1,4,2,1,1],THOLYLLIC:[1,1,1,4,2,1,1,1],KATYRYLLIC:[1,1,4,2,1,1,1,1],SADYLLIC:[1,4,2,1,1,1,1,1],STOLYLLIC:[4,1,1,1,1,1,1,2],LOGYLLIC:[1,1,1,1,1,1,2,4],DACRYLLIC:[1,1,1,1,1,2,4,1],THYNYLLIC:[1,1,1,1,2,4,1,1],GYDYLLIC:[1,1,1,2,4,1,1,1],EPARYLLIC:[1,1,2,4,1,1,1,1],DYNYLLIC:[1,2,4,1,1,1,1,1],IONYLLIC:[2,4,1,1,1,1,1,1],ZARYLLIC:[3,3,1,1,1,1,1,1],DYTHYLLIC:[3,1,1,1,1,1,1,3],IONARYLLIC:[1,1,1,1,1,1,3,3],LARYLLIC:[1,1,1,1,1,3,3,1],KATAPTYLLIC:[1,1,1,1,3,3,1,1],SONYLLIC:[1,1,1,3,3,1,1,1],PATHYLLIC:[1,1,3,3,1,1,1,1],LORYLLIC:[1,3,3,1,1,1,1,1],AERONYLLIC:[3,2,1,1,1,1,2,1],PYCRYLLIC:[2,1,1,1,1,2,1,3],MYGYLLIC:[1,1,1,1,2,1,3,2],LYLYLLIC:[1,1,1,2,1,3,2,1],DAPTYLLIC:[1,1,2,1,3,2,1,1],IONINYLLIC:[1,2,1,3,2,1,1,1],EPAPHYLLIC:[2,1,3,2,1,1,1,1],LOLYLLIC:[1,3,2,1,1,1,1,2],STACRYLLIC:[3,1,2,1,1,1,1,2],DORYLLIC:[1,2,1,1,1,1,2,3],KADYLLIC:[2,1,1,1,1,2,3,1],RYNYLLIC:[1,1,1,1,2,3,1,2],AEROGYLLIC:[1,1,1,2,3,1,2,1],ROTHYLLIC:[1,1,2,3,1,2,1,1],KAGYLLIC:[1,2,3,1,2,1,1,1],STATHYLLIC:[2,3,1,2,1,1,1,1],THYRYLLIC:[2,2,2,2,1,1,1,1],GYGYLLIC:[2,2,2,1,1,1,1,2],SODYLLIC:[2,2,1,1,1,1,2,2],GORYLLIC:[2,1,1,1,1,2,2,2],BOTHYLLIC:[1,1,1,1,2,2,2,2],GYNYLLIC:[1,1,1,2,2,2,2,1],IONAPTYLLIC:[1,1,2,2,2,2,1,1],PHRYRYLLIC:[1,2,2,2,2,1,1,1],RACRYLLIC:[2,2,2,1,1,2,1,1],EPICRYLLIC:[2,2,1,1,2,1,1,2],STYGYLLIC:[2,1,1,2,1,1,2,2],SYRYLLIC:[1,1,2,1,1,2,2,2],STYTHYLLIC:[1,2,1,1,2,2,2,1],AEROTHYLLIC:[2,1,1,2,2,2,1,1],MIXORYLLIC:[1,1,2,2,2,1,1,2],THANYLLIC:[1,2,2,2,1,1,2,1],RORYLLIC:[2,2,1,1,2,2,1,1],EPOTYLLIC:[2,1,1,2,2,1,1,2],EPIDYLLIC:[1,1,2,2,1,1,2,2],KAPTYLLIC:[1,2,2,1,1,2,2,1],MAJORDIMIN:[2,1,2,1,2,1,2,1],MINORDIMIN:g,OCTATONIC:g,AERYCRYGIC:[2,2,1,1,1,2,1,1,1],GADYGIC:[2,1,1,1,2,1,1,1,2],SOLYGIC:[1,1,1,2,1,1,1,2,2],ZYLYGIC:[1,1,2,1,1,1,2,2,1],GARYGIC:[1,2,1,1,1,2,2,1,1],SORYGIC:[2,1,1,1,2,2,1,1,1],GODYGIC:[1,1,1,2,2,1,1,1,2],EPITHYGIC:[1,1,2,2,1,1,1,2,1],IONOPTYGIC:[1,2,2,1,1,1,2,1,1],KALYGIC:[3,1,1,2,1,1,1,1,1],IONODYGIC:[1,1,2,1,1,1,1,1,3],BYTHYGIC:[1,2,1,1,1,1,1,3,1],EPYGIC:[2,1,1,1,1,1,3,1,1],MARYGIC:[1,1,1,1,1,3,1,1,2],GAPTYGIC:[1,1,1,1,3,1,1,2,1],AEROPTYGIC:[1,1,1,3,1,1,2,1,1],MYLYGIC:[1,1,3,1,1,2,1,1,1],GALYGIC:[1,3,1,1,2,1,1,1,1],MIXOLYDYGIC:[3,1,1,1,2,1,1,1,1],IONYCRYGIC:[1,1,1,2,1,1,1,1,3],ZOPTYGIC:[1,1,2,1,1,1,1,3,1],PHRYGYGIC:[1,2,1,1,1,1,3,1,1],LOCRYGIC:[2,1,1,1,1,3,1,1,1],GONYGIC:[1,1,1,1,3,1,1,1,2],AERACRYGIC:[1,1,1,3,1,1,1,2,1],AERATHYGIC:[1,1,3,1,1,1,2,1,1],DORYGIC:[1,3,1,1,1,2,1,1,1],DYCRYGIC:[3,1,1,1,1,2,1,1,1],AEOLYGIC:[1,1,1,1,2,1,1,1,3],DYDYGIC:[1,1,1,2,1,1,1,3,1],THOLYGIC:[1,1,2,1,1,1,3,1,1],RYNYGIC:[1,2,1,1,1,3,1,1,1],BYCRYGIC:[2,1,1,1,3,1,1,1,1],ZACRYGIC:[1,1,1,3,1,1,1,1,2],PANYGIC:[1,1,3,1,1,1,1,2,1],DYRYGIC:[1,3,1,1,1,1,2,1,1],LOPTYGIC:[3,1,1,1,1,1,2,1,1],KATYLYGIC:[1,1,1,1,1,2,1,1,3],PHRADYGIC:[1,1,1,1,2,1,1,3,1],MIXODYGIC:[1,1,1,2,1,1,3,1,1],KATALYGIC:[1,1,2,1,1,3,1,1,1],KATORYGIC:[1,2,1,1,3,1,1,1,1],DOGYGIC:[2,1,1,3,1,1,1,1,1],ZODYGIC:[1,1,3,1,1,1,1,1,2],MADYGIC:[1,3,1,1,1,1,1,2,1],BAGYGIC:[2,2,1,2,1,1,1,1,1],MATHYGIC:[2,1,2,1,1,1,1,1,2],STYPTYGIC:[1,2,1,1,1,1,1,2,2],ZOLYGIC:[2,1,1,1,1,1,2,2,1],SYDYGIC:[1,1,1,1,1,2,2,1,2],KATYGIC:[1,1,1,1,2,2,1,2,1],ZYPHYGIC:[1,1,1,2,2,1,2,1,1],AERALYGIC:[1,1,2,2,1,2,1,1,1],RYPTYGIC:[1,2,2,1,2,1,1,1,1],APINYGIC:[2,2,1,1,1,1,1,2,1],KATAGYGIC:[2,1,1,1,1,1,2,1,2],RADYGIC:[1,1,1,1,1,2,1,2,2],GOTHYGIC:[1,1,1,1,2,1,2,2,1],LYTHYGIC:[1,1,1,2,1,2,2,1,1],BACRYGIC:[1,1,2,1,2,2,1,1,1],AERYGIC:[1,2,1,2,2,1,1,1,1],DATHYGIC:[2,1,2,2,1,1,1,1,1],BOPTYGIC:[1,2,2,1,1,1,1,1,2],EPYRYGIC:[2,1,2,1,1,2,1,1,1],AERADYGIC:[1,2,1,1,2,1,1,1,2],STAPTYGIC:[2,1,1,2,1,1,1,2,1],DANYGIC:[1,1,2,1,1,1,2,1,2],GOPTYGIC:[1,2,1,1,1,2,1,2,1],EPOCRYGIC:[2,1,1,1,2,1,2,1,1],ROCRYGIC:[1,1,1,2,1,2,1,1,2],ZYRYGIC:[1,1,2,1,2,1,1,2,1],SADYGIC:[1,2,1,2,1,1,2,1,1],AEOLORYGIC:[2,1,2,1,1,1,2,1,1],THYDYGIC:[1,2,1,1,1,2,1,1,2],GYCRYGIC:[2,1,1,1,2,1,1,2,1],LYRYGIC:[1,1,1,2,1,1,2,1,2],MODYGIC:[1,1,2,1,1,2,1,2,1],KATODYGIC:[1,2,1,1,2,1,2,1,1],MOPTYGIC:[2,1,1,2,1,2,1,1,1],IONOCRYGIC:[1,1,2,1,2,1,1,1,2],GOCRYGIC:[1,2,1,2,1,1,1,2,1],MANYGIC:[4,1,1,1,1,1,1,1,1],POLYGIC:[1,1,1,1,1,1,1,1,4],STANYGIC:[1,1,1,1,1,1,1,4,1],THAPTYGIC:[1,1,1,1,1,1,4,1,1],EPORYGIC:[1,1,1,1,1,4,1,1,1],AERYNYGIC:[1,1,1,1,4,1,1,1,1],THYPTYGIC:[1,1,1,4,1,1,1,1,1],IONOGYGIC:[1,1,4,1,1,1,1,1,1],AEOLARYGIC:[1,4,1,1,1,1,1,1,1],SATHYGIC:[3,2,1,1,1,1,1,1,1],LADYGIC:[2,1,1,1,1,1,1,1,3],SARYGIC:[1,1,1,1,1,1,1,3,2],THACRYGIC:[1,1,1,1,1,1,3,2,1],AEOLYNYGIC:[1,1,1,1,1,3,2,1,1],THADYGIC:[1,1,1,1,3,2,1,1,1],LYNYGIC:[1,1,1,3,2,1,1,1,1],DOPTYGIC:[1,1,3,2,1,1,1,1,1],IONILYGIC:[1,3,2,1,1,1,1,1,1],PHRYGIC:[3,1,2,1,1,1,1,1,1],AERANYGIC:[1,2,1,1,1,1,1,1,3],DOTHYGIC:[2,1,1,1,1,1,1,3,1],LYDYGIC:[1,1,1,1,1,1,3,1,2],STADYGIC:[1,1,1,1,1,3,1,2,1],BYPTYGIC:[1,1,1,1,3,1,2,1,1],STODYGIC:[1,1,1,3,1,2,1,1,1],ZYNYGIC:[1,1,3,1,2,1,1,1,1],LONYGIC:[1,3,1,2,1,1,1,1,1],ZOTHYGIC:[3,1,1,1,1,1,1,2,1],AEOLATHYGIC:[1,1,1,1,1,1,2,1,3],AEOLOCRYGIC:[1,1,1,1,1,2,1,3,1],PHROPTYGIC:[1,1,1,1,2,1,3,1,1],KODYGIC:[1,1,1,2,1,3,1,1,1],EPARYGIC:[1,1,2,1,3,1,1,1,1],IONYGIC:[1,2,1,3,1,1,1,1,1],GYPTYGIC:[2,1,3,1,1,1,1,1,1],AERYTHYGIC:[1,3,1,1,1,1,1,1,2],AEOLACRYGIC:[3,1,1,1,1,1,1,1,2],RAPTYGIC:[1,1,1,1,1,1,1,2,3],GYTHYGIC:[1,1,1,1,1,1,2,3,1],PYRYGIC:[1,1,1,1,1,2,3,1,1],RYCRYGIC:[1,1,1,1,2,3,1,1,1],PHRATHYGIC:[1,1,1,2,3,1,1,1,1],BADYGIC:[1,1,2,3,1,1,1,1,1],PHROCRYGIC:[1,2,3,1,1,1,1,1,1],STARYGIC:[2,3,1,1,1,1,1,1,1],KYRYGIC:[2,2,2,1,1,1,1,1,1],SYTHYGIC:[2,2,1,1,1,1,1,1,2],KATYCRYGIC:[2,1,1,1,1,1,1,2,2],THARYGIC:[1,1,1,1,1,1,2,2,2],SYLYGIC:[1,1,1,1,1,2,2,2,1],LOTHYGIC:[1,1,1,1,2,2,2,1,1],DARYGIC:[1,1,1,2,2,2,1,1,1],MONYGIC:[1,1,2,2,2,1,1,1,1],STYRYGIC:[1,2,2,2,1,1,1,1,1],PORYGIC:[2,2,1,1,2,1,1,1,1],MOCRYGIC:[2,1,1,2,1,1,1,1,2],AEOLYRYGIC:[1,1,2,1,1,1,1,2,2],BARYGIC:[1,2,1,1,1,1,2,2,1],KATARYGIC:[2,1,1,1,1,2,2,1,1],AEROCRYGIC:[1,1,1,1,2,2,1,1,2],ZANYGIC:[1,1,1,2,2,1,1,2,1],AEOLONYGIC:[1,1,2,2,1,1,2,1,1],AEOLANYGIC:[1,2,2,1,1,2,1,1,1],KAPTYGIC:[2,2,1,1,1,1,2,1,1],SACRYGIC:[2,1,1,1,1,2,1,1,2],PADYGIC:[1,1,1,1,2,1,1,2,2],EPILYGIC:[1,1,1,2,1,1,2,2,1],KYNYGIC:[1,1,2,1,1,2,2,1,1],STOPHYGIC:[1,2,1,1,2,2,1,1,1],IONIDYGIC:[2,1,1,2,2,1,1,1,1],STONYGIC:[1,1,2,2,1,1,1,1,2],STALYGIC:[1,2,2,1,1,1,1,2,1],KOPTYGIC:[2,1,2,1,2,1,1,1,1],RAPHYGIC:[1,2,1,2,1,1,1,1,2],ZYCRYGIC:[2,1,2,1,1,1,1,2,1],MYCRYGIC:[1,2,1,1,1,1,2,1,2],LAPTYGIC:[2,1,1,1,1,2,1,2,1],PYLYGIC:[1,1,1,1,2,1,2,1,2],RODYGIC:[1,1,1,2,1,2,1,2,1],EPOLYGIC:[1,1,2,1,2,1,2,1,1],EPIDYGIC:[1,2,1,2,1,2,1,1,1],PHRONYGIC:[2,1,1,2,1,1,2,1,1],STYNYGIC:[1,1,2,1,1,2,1,1,2],ZYDYGIC:[1,2,1,1,2,1,1,2,1],AERYCRYLLIAN:[2,1,1,1,2,1,1,1,1,1],GADYLLIAN:[1,1,1,2,1,1,1,1,1,2],SOLYLLIAN:[1,1,2,1,1,1,1,1,2,1],ZYPHYLLIAN:[1,2,1,1,1,1,1,2,1,1],GARYLLIAN:[2,1,1,1,1,1,2,1,1,1],SORYLLIAN:[1,1,1,1,1,2,1,1,1,2],GODYLLIAN:[1,1,1,1,2,1,1,1,2,1],EPITYLLIAN:[1,1,1,2,1,1,1,2,1,1],IONYLLIAN:[1,1,2,1,1,1,2,1,1,1],AEORYLLIAN:[1,2,1,1,1,2,1,1,1,1],KATORYLLIAN:[3,1,1,1,1,1,1,1,1,1],DODYLLIAN:[1,1,1,1,1,1,1,1,1,3],ZOGYLLIAN:[1,1,1,1,1,1,1,1,3,1],MADYLLIAN:[1,1,1,1,1,1,1,3,1,1],DYCRYLLIAN:[1,1,1,1,1,1,3,1,1,1],AEOGYLLIAN:[1,1,1,1,1,3,1,1,1,1],DYDYLLIAN:[1,1,1,1,3,1,1,1,1,1],THOGYLLIAN:[1,1,1,3,1,1,1,1,1,1],RYGYLLIAN:[1,1,3,1,1,1,1,1,1,1],BATHYLLIAN:[1,3,1,1,1,1,1,1,1,1],SYDYLLIAN:[2,2,1,1,1,1,1,1,1,1],KATOGYLLIAN:[2,1,1,1,1,1,1,1,1,2],MIXODYLLIAN:[1,1,1,1,1,1,1,1,2,2],AERADYLLIAN:[1,1,1,1,1,1,1,2,2,1],RYPTYLLIAN:[1,1,1,1,1,1,2,2,1,1],LOPTYLLIAN:[1,1,1,1,1,2,2,1,1,1],KATAPHYLLIAN:[1,1,1,1,2,2,1,1,1,1],PHRADYLLIAN:[1,1,1,2,2,1,1,1,1,1],DAGYLLIAN:[1,1,2,2,1,1,1,1,1,1],KATYLLIAN:[1,2,2,1,1,1,1,1,1,1],GOTHYLLIAN:[2,1,2,1,1,1,1,1,1,1],LYTHYLLIAN:[1,2,1,1,1,1,1,1,1,2],BACRYLLIAN:[2,1,1,1,1,1,1,1,2,1],AERYGYLLIAN:[1,1,1,1,1,1,1,2,1,2],DATHYLLIAN:[1,1,1,1,1,1,2,1,2,1],BOPTYLLIAN:[1,1,1,1,1,2,1,2,1,1],BAGYLLIAN:[1,1,1,1,2,1,2,1,1,1],MATHYLLIAN:[1,1,1,2,1,2,1,1,1,1],STYPTYLLIAN:[1,1,2,1,2,1,1,1,1,1],ZOLYLLIAN:[1,2,1,2,1,1,1,1,1,1],STAPTYLLIAN:[2,1,1,2,1,1,1,1,1,1],DANYLLIAN:[1,1,2,1,1,1,1,1,1,2],GOPTYLLIAN:[1,2,1,1,1,1,1,1,2,1],EPOCRYLLIAN:[2,1,1,1,1,1,1,2,1,1],ROCRYLLIAN:[1,1,1,1,1,1,2,1,1,2],ZYRYLLIAN:[1,1,1,1,1,2,1,1,2,1],SAGYLLIAN:[1,1,1,1,2,1,1,2,1,1],EPINYLLIAN:[1,1,1,2,1,1,2,1,1,1],KATAGYLLIAN:[1,1,2,1,1,2,1,1,1,1],RAGYLLIAN:[1,2,1,1,2,1,1,1,1,1],THYDYLLIAN:[2,1,1,1,1,2,1,1,1,1],EPIRYLLIAN:[1,1,1,1,2,1,1,1,1,2],LYRYLLIAN:[1,1,1,2,1,1,1,1,2,1],MOGYLLIAN:[1,1,2,1,1,1,1,2,1,1],KATODYLLIAN:[1,2,1,1,1,1,2,1,1,1],AERYCRATIC:[2,1,1,1,1,1,1,1,1,1,1],MONATIC:[1,1,1,1,1,1,1,1,1,1,2],SOLATIC:[1,1,1,1,1,1,1,1,1,2,1],ZYLATIC:[1,1,1,1,1,1,1,1,2,1,1],MIXOLATIC:[1,1,1,1,1,1,1,2,1,1,1],SORATIC:[1,1,1,1,1,1,2,1,1,1,1],GODATIC:[1,1,1,1,1,2,1,1,1,1,1],EPTATIC:[1,1,1,1,2,1,1,1,1,1,1],IONATIC:[1,1,1,2,1,1,1,1,1,1,1],AEOLATIC:[1,1,2,1,1,1,1,1,1,1,1],THYDATIC:[1,2,1,1,1,1,1,1,1,1,1],CHROMATIC:[1,1,1,1,1,1,1,1,1,1,1,1]}},yl=$k(),qk=()=>{const n=Object.keys(yl),e=n[Math.floor(Math.random()*n.length)];return yl[e]},Zi=n=>yl[n.toUpperCase()],Dm=n=>n.toUpperCase()in yl,Nh=(n="")=>{let e=0,t=0,r=0,i=0;function a(){const s=(e^e<<11)>>>0;return e=t,t=r,r=i,i^=(i>>>19^s^s>>>8)>>>0,(i>>>0)/4294967296}for(let s=0;sArray.isArray(n)?n.map(e=>Al(e)):n&&typeof n=="object"?Object.getOwnPropertyNames(n).reduce((e,t)=>(Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t)),e[t]=Al(n[t]),e),Object.create(Object.getPrototypeOf(n))):n,Vk=n=>{try{return new Function(`"use strict";return (${n})`)()}catch(e){throw new Error(`Error in eval: ${e}`)}},By=function(){function n(i,a){function s(){this.constructor=i}s.prototype=a.prototype,i.prototype=new s}function e(i,a,s,o){var l=Error.call(this,i);return Object.setPrototypeOf&&Object.setPrototypeOf(l,e.prototype),l.expected=a,l.found=s,l.location=o,l.name="SyntaxError",l}n(e,Error);function t(i,a,s){return s=s||" ",i.length>a?i:(a-=i.length,s+=s.repeat(a),i+s.slice(0,a))}e.prototype.format=function(i){var a="Error: "+this.message;if(this.location){var s=null,o;for(o=0;o `+d+`
 `+m+` |
@@ -821,4 +954,4 @@ https://github.com/highlightjs/highlight.js/issues/2277`),ue=G,ce=Z),z===void 0&
 ]*?"'`},{begin:`"[^\r
 "]*"`}]},{className:"built_in",variants:[{begin:"\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\()"}]},e.COMMENT("^[ 	]*\\*.*$",!1),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]}}return Kp=n,Kp}var jp,iT;function ZU(){if(iT)return jp;iT=1;function n(e){return{name:"STEP Part 21",aliases:["p21","step","stp"],case_insensitive:!0,keywords:{$pattern:"[A-Z_][A-Z0-9_.]*",keyword:["HEADER","ENDSEC","DATA"]},contains:[{className:"meta",begin:"ISO-10303-21;",relevance:10},{className:"meta",begin:"END-ISO-10303-21;",relevance:10},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.COMMENT("/\\*\\*!","\\*/"),e.C_NUMBER_MODE,e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"string",begin:"'",end:"'"},{className:"symbol",variants:[{begin:"#",end:"\\d+",illegal:"\\W"}]}]}}return jp=n,jp}var Jp,aT;function KU(){if(aT)return Jp;aT=1;const n=o=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:o.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:o.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}),e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],r=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],i=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],a=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function s(o){const l=n(o),u="and or not only",d={className:"variable",begin:"\\$"+o.IDENT_RE},f=["charset","css","debug","extend","font-face","for","import","include","keyframes","media","mixin","page","warn","while"],m="(?=[.\\s\\n[:,(])";return{name:"Stylus",aliases:["styl"],case_insensitive:!1,keywords:"if else for in",illegal:"("+["\\?","(\\bReturn\\b)","(\\bEnd\\b)","(\\bend\\b)","(\\bdef\\b)",";","#\\s","\\*\\s","===\\s","\\|","%"].join("|")+")",contains:[o.QUOTE_STRING_MODE,o.APOS_STRING_MODE,o.C_LINE_COMMENT_MODE,o.C_BLOCK_COMMENT_MODE,l.HEXCOLOR,{begin:"\\.[a-zA-Z][a-zA-Z0-9_-]*"+m,className:"selector-class"},{begin:"#[a-zA-Z][a-zA-Z0-9_-]*"+m,className:"selector-id"},{begin:"\\b("+e.join("|")+")"+m,className:"selector-tag"},{className:"selector-pseudo",begin:"&?:("+r.join("|")+")"+m},{className:"selector-pseudo",begin:"&?:(:)?("+i.join("|")+")"+m},l.ATTRIBUTE_SELECTOR_MODE,{className:"keyword",begin:/@media/,starts:{end:/[{;}]/,keywords:{$pattern:/[a-z-]+/,keyword:u,attribute:t.join(" ")},contains:[l.CSS_NUMBER_MODE]}},{className:"keyword",begin:"@((-(o|moz|ms|webkit)-)?("+f.join("|")+"))\\b"},d,l.CSS_NUMBER_MODE,{className:"function",begin:"^[a-zA-Z][a-zA-Z0-9_-]*\\(.*\\)",illegal:"[\\n]",returnBegin:!0,contains:[{className:"title",begin:"\\b[a-zA-Z][a-zA-Z0-9_-]*"},{className:"params",begin:/\(/,end:/\)/,contains:[l.HEXCOLOR,d,o.APOS_STRING_MODE,l.CSS_NUMBER_MODE,o.QUOTE_STRING_MODE]}]},l.CSS_VARIABLE,{className:"attribute",begin:"\\b("+a.join("|")+")\\b",starts:{end:/;|$/,contains:[l.HEXCOLOR,d,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,l.CSS_NUMBER_MODE,o.C_BLOCK_COMMENT_MODE,l.IMPORTANT,l.FUNCTION_DISPATCH],illegal:/\./,relevance:0}},l.FUNCTION_DISPATCH]}}return Jp=s,Jp}var ef,sT;function jU(){if(sT)return ef;sT=1;function n(e){return{name:"SubUnit",case_insensitive:!0,contains:[{className:"string",begin:`\\[
 (multipart)?`,end:`\\]
-`},{className:"string",begin:"\\d{4}-\\d{2}-\\d{2}(\\s+)\\d{2}:\\d{2}:\\d{2}.\\d+Z"},{className:"string",begin:"(\\+|-)\\d+"},{className:"keyword",relevance:10,variants:[{begin:"^(test|testing|success|successful|failure|error|skip|xfail|uxsuccess)(:?)\\s+(test)?"},{begin:"^progress(:?)(\\s+)?(pop|push)?"},{begin:"^tags:"},{begin:"^time:"}]}]}}return ef=n,ef}var tf,oT;function JU(){if(oT)return tf;oT=1;function n(D){return D?typeof D=="string"?D:D.source:null}function e(D){return t("(?=",D,")")}function t(...D){return D.map(w=>n(w)).join("")}function r(D){const M=D[D.length-1];return typeof M=="object"&&M.constructor===Object?(D.splice(D.length-1,1),M):{}}function i(...D){return"("+(r(D).capture?"":"?:")+D.map(B=>n(B)).join("|")+")"}const a=D=>t(/\b/,D,/\w$/.test(D)?/\b/:/\B/),s=["Protocol","Type"].map(a),o=["init","self"].map(a),l=["Any","Self"],u=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","distributed","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],d=["false","nil","true"],f=["assignment","associativity","higherThan","left","lowerThan","none","right"],m=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],g=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],b=i(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),v=i(b,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),y=t(b,v,"*"),N=i(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),F=i(N,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),X=t(N,F,"*"),p=t(/[A-Z]/,F,"*"),E=["autoclosure",t(/convention\(/,i("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",t(/objc\(/,X,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],O=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function A(D){const M={match:/\s+/,relevance:0},w=D.COMMENT("/\\*","\\*/",{contains:["self"]}),B=[D.C_LINE_COMMENT_MODE,w],re={match:[/\./,i(...s,...o)],className:{2:"keyword"}},ie={match:t(/\./,i(...u)),relevance:0},j=u.filter(ot=>typeof ot=="string").concat(["_|0"]),J=u.filter(ot=>typeof ot!="string").concat(l).map(a),L={variants:[{className:"keyword",match:i(...J,...o)}]},G={$pattern:i(/\b\w+/,/#\w+/),keyword:j.concat(m),literal:d},Z=[re,ie,L],z={match:t(/\./,i(...g)),relevance:0},ce={className:"built_in",match:t(/\b/,i(...g),/(?=\()/)},ue=[z,ce],Te={match:/->/,relevance:0},Pe={className:"operator",relevance:0,variants:[{match:y},{match:`\\.(\\.|${v})+`}]},Ve=[Te,Pe],Re="([0-9]_*)+",Ie="([0-9a-fA-F]_*)+",le={className:"number",relevance:0,variants:[{match:`\\b(${Re})(\\.(${Re}))?([eE][+-]?(${Re}))?\\b`},{match:`\\b0x(${Ie})(\\.(${Ie}))?([pP][+-]?(${Re}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},Me=(ot="")=>({className:"subst",variants:[{match:t(/\\/,ot,/[0\\tnr"']/)},{match:t(/\\/,ot,/u\{[0-9a-fA-F]{1,8}\}/)}]}),je=(ot="")=>({className:"subst",match:t(/\\/,ot,/[\t ]*(?:[\r\n]|\r\n)/)}),He=(ot="")=>({className:"subst",label:"interpol",begin:t(/\\/,ot,/\(/),end:/\)/}),rt=(ot="")=>({begin:t(ot,/"""/),end:t(/"""/,ot),contains:[Me(ot),je(ot),He(ot)]}),ft=(ot="")=>({begin:t(ot,/"/),end:t(/"/,ot),contains:[Me(ot),He(ot)]}),Ct={className:"string",variants:[rt(),rt("#"),rt("##"),rt("###"),ft(),ft("#"),ft("##"),ft("###")]},Vt={match:t(/`/,X,/`/)},ht={className:"variable",match:/\$\d+/},Nt={className:"variable",match:`\\$${F}+`},kt=[Vt,ht,Nt],Qr={match:/(@|#(un)?)available/,className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:O,contains:[...Ve,le,Ct]}]}},Fe={className:"keyword",match:t(/@/,i(...E))},Mr={className:"meta",match:t(/@/,X)},st=[Qr,Fe,Mr],$e={match:e(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:t(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,F,"+")},{className:"type",match:p,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:t(/\s+&\s+/,e(p)),relevance:0}]},Pr={begin://,keywords:G,contains:[...B,...Z,...st,Te,$e]};$e.contains.push(Pr);const nr={match:t(X,/\s*:/),keywords:"_|0",relevance:0},mr={begin:/\(/,end:/\)/,relevance:0,keywords:G,contains:["self",nr,...B,...Z,...ue,...Ve,le,Ct,...kt,...st,$e]},V={begin://,contains:[...B,$e]},he={begin:i(e(t(X,/\s*:/)),e(t(X,/\s+/,X,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:X}]},ve={begin:/\(/,end:/\)/,keywords:G,contains:[he,...B,...Z,...Ve,le,Ct,...st,$e,mr],endsParent:!0,illegal:/["']/},Ce={match:[/func/,/\s+/,i(Vt.match,X,y)],className:{1:"keyword",3:"title.function"},contains:[V,ve,M],illegal:[/\[/,/%/]},Ke={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[V,ve,M],illegal:/\[|%/},Ee={match:[/operator/,/\s+/,y],className:{1:"keyword",3:"title"}},Gt={begin:[/precedencegroup/,/\s+/,p],className:{1:"keyword",3:"title"},contains:[$e],keywords:[...f,...d],end:/}/};for(const ot of Ct.variants){const Tt=ot.contains.find(lt=>lt.label==="interpol");Tt.keywords=G;const en=[...Z,...ue,...Ve,le,Ct,...kt];Tt.contains=[...en,{begin:/\(/,end:/\)/,contains:["self",...en]}]}return{name:"Swift",keywords:G,contains:[...B,Ce,Ke,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:G,contains:[D.inherit(D.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...Z]},Ee,Gt,{beginKeywords:"import",end:/$/,contains:[...B],relevance:0},...Z,...ue,...Ve,le,Ct,...kt,...st,$e,mr]}}return tf=A,tf}var rf,lT;function eF(){if(lT)return rf;lT=1;function n(e){return{name:"Tagger Script",contains:[{className:"comment",begin:/\$noop\(/,end:/\)/,contains:[{begin:/\\[()]/},{begin:/\(/,end:/\)/,contains:[{begin:/\\[()]/},"self"]}],relevance:10},{className:"keyword",begin:/\$[_a-zA-Z0-9]+(?=\()/},{className:"variable",begin:/%[_a-zA-Z0-9:]+%/},{className:"symbol",begin:/\\[\\nt$%,()]/},{className:"symbol",begin:/\\u[a-fA-F0-9]{4}/}]}}return rf=n,rf}var nf,cT;function tF(){if(cT)return nf;cT=1;function n(e){const t="true false yes no null",r="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ 	]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ 	]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ 	]|$)"}]},a={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,a]},o=e.inherit(s,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l="[0-9]{4}(-[0-9][0-9]){0,2}",u="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?",d="(\\.[0-9]*)?",f="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?",m={className:"number",begin:"\\b"+l+u+d+f+"\\b"},g={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},b={begin:/\{/,end:/\}/,contains:[g],illegal:"\\n",relevance:0},v={begin:"\\[",end:"\\]",contains:[g],illegal:"\\n",relevance:0},y=[i,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+r},{className:"type",begin:"!<"+r+">"},{className:"type",begin:"!"+r},{className:"type",begin:"!!"+r},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},m,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},b,v,s],N=[...y];return N.pop(),N.push(o),g.contains=N,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:y}}return nf=n,nf}var af,uT;function rF(){if(uT)return af;uT=1;function n(e){return{name:"Test Anything Protocol",case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"meta",variants:[{begin:"^TAP version (\\d+)$"},{begin:"^1\\.\\.(\\d+)$"}]},{begin:/---$/,end:"\\.\\.\\.$",subLanguage:"yaml",relevance:0},{className:"number",begin:" (\\d+) "},{className:"symbol",variants:[{begin:"^ok"},{begin:"^not ok"}]}]}}return af=n,af}var sf,dT;function nF(){if(dT)return sf;dT=1;function n(e){const t=e.regex,r=/[a-zA-Z_][a-zA-Z0-9_]*/,i={className:"number",variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]};return{name:"Tcl",aliases:["tk"],keywords:["after","append","apply","array","auto_execok","auto_import","auto_load","auto_mkindex","auto_mkindex_old","auto_qualify","auto_reset","bgerror","binary","break","catch","cd","chan","clock","close","concat","continue","dde","dict","encoding","eof","error","eval","exec","exit","expr","fblocked","fconfigure","fcopy","file","fileevent","filename","flush","for","foreach","format","gets","glob","global","history","http","if","incr","info","interp","join","lappend|10","lassign|10","lindex|10","linsert|10","list","llength|10","load","lrange|10","lrepeat|10","lreplace|10","lreverse|10","lsearch|10","lset|10","lsort|10","mathfunc","mathop","memory","msgcat","namespace","open","package","parray","pid","pkg::create","pkg_mkIndex","platform","platform::shell","proc","puts","pwd","read","refchan","regexp","registry","regsub|10","rename","return","safe","scan","seek","set","socket","source","split","string","subst","switch","tcl_endOfWord","tcl_findLibrary","tcl_startOfNextWord","tcl_startOfPreviousWord","tcl_wordBreakAfter","tcl_wordBreakBefore","tcltest","tclvars","tell","time","tm","trace","unknown","unload","unset","update","uplevel","upvar","variable","vwait","while"],contains:[e.COMMENT(";[ \\t]*#","$"),e.COMMENT("^[ \\t]*#","$"),{beginKeywords:"proc",end:"[\\{]",excludeEnd:!0,contains:[{className:"title",begin:"[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",end:"[ \\t\\n\\r]",endsWithParent:!0,excludeEnd:!0}]},{className:"variable",variants:[{begin:t.concat(/\$/,t.optional(/::/),r,"(::",r,")*")},{begin:"\\$\\{(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",end:"\\}",contains:[i]}]},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},i]}}return sf=n,sf}var of,pT;function iF(){if(pT)return of;pT=1;function n(e){const t=["bool","byte","i16","i32","i64","double","string","binary"];return{name:"Thrift",keywords:{keyword:["namespace","const","typedef","struct","enum","service","exception","void","oneway","set","list","map","required","optional"],type:t,literal:"true false"},contains:[e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"struct enum service exception",end:/\{/,illegal:/\n/,contains:[e.inherit(e.TITLE_MODE,{starts:{endsWithParent:!0,excludeEnd:!0}})]},{begin:"\\b(set|list|map)\\s*<",keywords:{type:[...t,"set","list","map"]},end:">",contains:["self"]}]}}return of=n,of}var lf,fT;function aF(){if(fT)return lf;fT=1;function n(e){const t={className:"number",begin:"[1-9][0-9]*",relevance:0},r={className:"symbol",begin:":[^\\]]+"},i={className:"built_in",begin:"(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\[",end:"\\]",contains:["self",t,r]},a={className:"built_in",begin:"(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\[",end:"\\]",contains:["self",t,e.QUOTE_STRING_MODE,r]};return{name:"TP",keywords:{keyword:["ABORT","ACC","ADJUST","AND","AP_LD","BREAK","CALL","CNT","COL","CONDITION","CONFIG","DA","DB","DIV","DETECT","ELSE","END","ENDFOR","ERR_NUM","ERROR_PROG","FINE","FOR","GP","GUARD","INC","IF","JMP","LINEAR_MAX_SPEED","LOCK","MOD","MONITOR","OFFSET","Offset","OR","OVERRIDE","PAUSE","PREG","PTH","RT_LD","RUN","SELECT","SKIP","Skip","TA","TB","TO","TOOL_OFFSET","Tool_Offset","UF","UT","UFRAME_NUM","UTOOL_NUM","UNLOCK","WAIT","X","Y","Z","W","P","R","STRLEN","SUBSTR","FINDSTR","VOFFSET","PROG","ATTR","MN","POS"],literal:["ON","OFF","max_speed","LPOS","JPOS","ENABLE","DISABLE","START","STOP","RESET"]},contains:[i,a,{className:"keyword",begin:"/(PROG|ATTR|MN|POS|END)\\b"},{className:"keyword",begin:"(CALL|RUN|POINT_LOGIC|LBL)\\b"},{className:"keyword",begin:"\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)"},{className:"number",begin:"\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\b",relevance:0},e.COMMENT("//","[;$]"),e.COMMENT("!","[;$]"),e.COMMENT("--eg:","$"),e.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"'"},e.C_NUMBER_MODE,{className:"variable",begin:"\\$[A-Za-z0-9_]+"}]}}return lf=n,lf}var cf,hT;function sF(){if(hT)return cf;hT=1;function n(e){const t=e.regex,r=["absolute_url","asset|0","asset_version","attribute","block","constant","controller|0","country_timezones","csrf_token","cycle","date","dump","expression","form|0","form_end","form_errors","form_help","form_label","form_rest","form_row","form_start","form_widget","html_classes","include","is_granted","logout_path","logout_url","max","min","parent","path|0","random","range","relative_path","render","render_esi","source","template_from_string","url|0"],i=["abs","abbr_class","abbr_method","batch","capitalize","column","convert_encoding","country_name","currency_name","currency_symbol","data_uri","date","date_modify","default","escape","file_excerpt","file_link","file_relative","filter","first","format","format_args","format_args_as_text","format_currency","format_date","format_datetime","format_file","format_file_from_text","format_number","format_time","html_to_markdown","humanize","inky_to_html","inline_css","join","json_encode","keys","language_name","last","length","locale_name","lower","map","markdown","markdown_to_html","merge","nl2br","number_format","raw","reduce","replace","reverse","round","slice","slug","sort","spaceless","split","striptags","timezone_name","title","trans","transchoice","trim","u|0","upper","url_encode","yaml_dump","yaml_encode"];let a=["apply","autoescape","block","cache","deprecated","do","embed","extends","filter","flush","for","form_theme","from","if","import","include","macro","sandbox","set","stopwatch","trans","trans_default_domain","transchoice","use","verbatim","with"];a=a.concat(a.map(v=>`end${v}`));const s={scope:"string",variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/}]},o={scope:"number",match:/\d+/},l={begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:[s,o]},u={beginKeywords:r.join(" "),keywords:{name:r},relevance:0,contains:[l]},d={match:/\|(?=[A-Za-z_]+:?)/,beginScope:"punctuation",relevance:0,contains:[{match:/[A-Za-z_]+:?/,keywords:i}]},f=(v,{relevance:y})=>({beginScope:{1:"template-tag",3:"name"},relevance:y||2,endScope:"template-tag",begin:[/\{%/,/\s*/,t.either(...v)],end:/%\}/,keywords:"in",contains:[d,u,s,o]}),m=/[a-z_]+/,g=f(a,{relevance:2}),b=f([m],{relevance:1});return{name:"Twig",aliases:["craftcms"],case_insensitive:!0,subLanguage:"xml",contains:[e.COMMENT(/\{#/,/#\}/),g,b,{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:["self",d,u,s,o]}]}}return cf=n,cf}var uf,mT;function oF(){if(mT)return uf;mT=1;const n="[A-Za-z$_][0-9A-Za-z$_]*",e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],t=["true","false","null","undefined","NaN","Infinity"],r=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],i=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],a=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],s=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],o=[].concat(a,r,i);function l(d){const f=d.regex,m=(Me,{after:je})=>{const He="",end:""},v=/<[A-Za-z0-9\\._:-]+\s*\/>/,y={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(Me,je)=>{const He=Me[0].length+Me.index,rt=Me.input[He];if(rt==="<"||rt===","){je.ignoreMatch();return}rt===">"&&(m(Me,{after:He})||je.ignoreMatch());let ft;const Ct=Me.input.substring(He);if(ft=Ct.match(/^\s*=/)){je.ignoreMatch();return}if((ft=Ct.match(/^\s+extends\s+/))&&ft.index===0){je.ignoreMatch();return}}},N={$pattern:n,keyword:e,literal:t,built_in:o,"variable.language":s},F="[0-9](_?[0-9])*",X=`\\.(${F})`,p="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",E={className:"number",variants:[{begin:`(\\b(${p})((${X})|\\.)?|(${X}))[eE][+-]?(${F})\\b`},{begin:`\\b(${p})\\b((${X})\\b|\\.)?|(${X})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},O={className:"subst",begin:"\\$\\{",end:"\\}",keywords:N,contains:[]},A={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[d.BACKSLASH_ESCAPE,O],subLanguage:"xml"}},D={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[d.BACKSLASH_ESCAPE,O],subLanguage:"css"}},M={begin:"gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[d.BACKSLASH_ESCAPE,O],subLanguage:"graphql"}},w={className:"string",begin:"`",end:"`",contains:[d.BACKSLASH_ESCAPE,O]},re={className:"comment",variants:[d.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:g+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),d.C_BLOCK_COMMENT_MODE,d.C_LINE_COMMENT_MODE]},ie=[d.APOS_STRING_MODE,d.QUOTE_STRING_MODE,A,D,M,w,{match:/\$\d+/},E];O.contains=ie.concat({begin:/\{/,end:/\}/,keywords:N,contains:["self"].concat(ie)});const j=[].concat(re,O.contains),J=j.concat([{begin:/\(/,end:/\)/,keywords:N,contains:["self"].concat(j)}]),L={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:N,contains:J},G={variants:[{match:[/class/,/\s+/,g,/\s+/,/extends/,/\s+/,f.concat(g,"(",f.concat(/\./,g),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,g],scope:{1:"keyword",3:"title.class"}}]},Z={relevance:0,match:f.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...r,...i]}},z={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},ce={variants:[{match:[/function/,/\s+/,g,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[L],illegal:/%/},ue={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function Te(Me){return f.concat("(?!",Me.join("|"),")")}const Pe={match:f.concat(/\b/,Te([...a,"super","import"]),g,f.lookahead(/\(/)),className:"title.function",relevance:0},Ve={begin:f.concat(/\./,f.lookahead(f.concat(g,/(?![0-9A-Za-z$_(])/))),end:g,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Re={match:[/get|set/,/\s+/,g,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},L]},Ie="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+d.UNDERSCORE_IDENT_RE+")\\s*=>",le={match:[/const|var|let/,/\s+/,g,/\s*/,/=\s*/,/(async\s*)?/,f.lookahead(Ie)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[L]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:N,exports:{PARAMS_CONTAINS:J,CLASS_REFERENCE:Z},illegal:/#(?![$_A-z])/,contains:[d.SHEBANG({label:"shebang",binary:"node",relevance:5}),z,d.APOS_STRING_MODE,d.QUOTE_STRING_MODE,A,D,M,w,re,{match:/\$\d+/},E,Z,{className:"attr",begin:g+f.lookahead(":"),relevance:0},le,{begin:"("+d.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[re,d.REGEXP_MODE,{className:"function",begin:Ie,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:d.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:N,contains:J}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:b.begin,end:b.end},{match:v},{begin:y.begin,"on:begin":y.isTrulyOpeningTag,end:y.end}],subLanguage:"xml",contains:[{begin:y.begin,end:y.end,skip:!0,contains:["self"]}]}]},ce,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+d.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[L,d.inherit(d.TITLE_MODE,{begin:g,className:"title.function"})]},{match:/\.\.\./,relevance:0},Ve,{match:"\\$"+g,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[L]},Pe,ue,G,Re,{match:/\$[(.]/}]}}function u(d){const f=l(d),m=n,g=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],b={beginKeywords:"namespace",end:/\{/,excludeEnd:!0,contains:[f.exports.CLASS_REFERENCE]},v={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:g},contains:[f.exports.CLASS_REFERENCE]},y={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},N=["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"],F={$pattern:n,keyword:e.concat(N),literal:t,built_in:o.concat(g),"variable.language":s},X={className:"meta",begin:"@"+m},p=(O,A,D)=>{const M=O.contains.findIndex(w=>w.label===A);if(M===-1)throw new Error("can not find mode to replace");O.contains.splice(M,1,D)};Object.assign(f.keywords,F),f.exports.PARAMS_CONTAINS.push(X),f.contains=f.contains.concat([X,b,v]),p(f,"shebang",d.SHEBANG()),p(f,"use_strict",y);const E=f.contains.find(O=>O.label==="func.def");return E.relevance=0,Object.assign(f,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),f}return uf=u,uf}var df,_T;function lF(){if(_T)return df;_T=1;function n(e){return{name:"Vala",keywords:{keyword:"char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override virtual delegate if while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var",built_in:"DBus GLib CCode Gee Object Gtk Posix",literal:"false true null"},contains:[{className:"class",beginKeywords:"class interface namespace",end:/\{/,excludeEnd:!0,illegal:"[^,:\\n\\s\\.]",contains:[e.UNDERSCORE_TITLE_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",begin:'"""',end:'"""',relevance:5},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{className:"meta",begin:"^#",end:"$"}]}}return df=n,df}var pf,gT;function cF(){if(gT)return pf;gT=1;function n(e){const t=e.regex,r={className:"string",begin:/"(""|[^/n])"C\b/},i={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},a=/\d{1,2}\/\d{1,2}\/\d{4}/,s=/\d{4}-\d{1,2}-\d{1,2}/,o=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,l=/\d{1,2}(:\d{1,2}){1,2}/,u={className:"literal",variants:[{begin:t.concat(/# */,t.either(s,a),/ *#/)},{begin:t.concat(/# */,l,/ *#/)},{begin:t.concat(/# */,o,/ *#/)},{begin:t.concat(/# */,t.either(s,a),/ +/,t.either(o,l),/ *#/)}]},d={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},f={className:"label",begin:/^\w+:/},m=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),g=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[r,i,u,d,f,m,g,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[g]}]}}return pf=n,pf}var ff,ST;function uF(){if(ST)return ff;ST=1;function n(e){const t=e.regex,r=["lcase","month","vartype","instrrev","ubound","setlocale","getobject","rgb","getref","string","weekdayname","rnd","dateadd","monthname","now","day","minute","isarray","cbool","round","formatcurrency","conversions","csng","timevalue","second","year","space","abs","clng","timeserial","fixs","len","asc","isempty","maths","dateserial","atn","timer","isobject","filter","weekday","datevalue","ccur","isdate","instr","datediff","formatdatetime","replace","isnull","right","sgn","array","snumeric","log","cdbl","hex","chr","lbound","msgbox","ucase","getlocale","cos","cdate","cbyte","rtrim","join","hour","oct","typename","trim","strcomp","int","createobject","loadpicture","tan","formatnumber","mid","split","cint","sin","datepart","ltrim","sqr","time","derived","eval","date","formatpercent","exp","inputbox","left","ascw","chrw","regexp","cstr","err"],i=["server","response","request","scriptengine","scriptenginebuildversion","scriptengineminorversion","scriptenginemajorversion"],a={begin:t.concat(t.either(...r),"\\s*\\("),relevance:0,keywords:{built_in:r}};return{name:"VBScript",aliases:["vbs"],case_insensitive:!0,keywords:{keyword:["call","class","const","dim","do","loop","erase","execute","executeglobal","exit","for","each","next","function","if","then","else","on","error","option","explicit","new","private","property","let","get","public","randomize","redim","rem","select","case","set","stop","sub","while","wend","with","end","to","elseif","is","or","xor","and","not","class_initialize","class_terminate","default","preserve","in","me","byval","byref","step","resume","goto"],built_in:i,literal:["true","false","null","nothing","empty"]},illegal:"//",contains:[a,e.inherit(e.QUOTE_STRING_MODE,{contains:[{begin:'""'}]}),e.COMMENT(/'/,/$/,{relevance:0}),e.C_NUMBER_MODE]}}return ff=n,ff}var hf,OT;function dF(){if(OT)return hf;OT=1;function n(e){return{name:"VBScript in HTML",subLanguage:"xml",contains:[{begin:"<%",end:"%>",subLanguage:"vbscript"}]}}return hf=n,hf}var mf,ET;function pF(){if(ET)return mf;ET=1;function n(e){const t=e.regex,r={$pattern:/\$?[\w]+(\$[\w]+)*/,keyword:["accept_on","alias","always","always_comb","always_ff","always_latch","and","assert","assign","assume","automatic","before","begin","bind","bins","binsof","bit","break","buf|0","bufif0","bufif1","byte","case","casex","casez","cell","chandle","checker","class","clocking","cmos","config","const","constraint","context","continue","cover","covergroup","coverpoint","cross","deassign","default","defparam","design","disable","dist","do","edge","else","end","endcase","endchecker","endclass","endclocking","endconfig","endfunction","endgenerate","endgroup","endinterface","endmodule","endpackage","endprimitive","endprogram","endproperty","endspecify","endsequence","endtable","endtask","enum","event","eventually","expect","export","extends","extern","final","first_match","for","force","foreach","forever","fork","forkjoin","function","generate|5","genvar","global","highz0","highz1","if","iff","ifnone","ignore_bins","illegal_bins","implements","implies","import","incdir","include","initial","inout","input","inside","instance","int","integer","interconnect","interface","intersect","join","join_any","join_none","large","let","liblist","library","local","localparam","logic","longint","macromodule","matches","medium","modport","module","nand","negedge","nettype","new","nexttime","nmos","nor","noshowcancelled","not","notif0","notif1","or","output","package","packed","parameter","pmos","posedge","primitive","priority","program","property","protected","pull0","pull1","pulldown","pullup","pulsestyle_ondetect","pulsestyle_onevent","pure","rand","randc","randcase","randsequence","rcmos","real","realtime","ref","reg","reject_on","release","repeat","restrict","return","rnmos","rpmos","rtran","rtranif0","rtranif1","s_always","s_eventually","s_nexttime","s_until","s_until_with","scalared","sequence","shortint","shortreal","showcancelled","signed","small","soft","solve","specify","specparam","static","string","strong","strong0","strong1","struct","super","supply0","supply1","sync_accept_on","sync_reject_on","table","tagged","task","this","throughout","time","timeprecision","timeunit","tran","tranif0","tranif1","tri","tri0","tri1","triand","trior","trireg","type","typedef","union","unique","unique0","unsigned","until","until_with","untyped","use","uwire","var","vectored","virtual","void","wait","wait_order","wand","weak","weak0","weak1","while","wildcard","wire","with","within","wor","xnor","xor"],literal:["null"],built_in:["$finish","$stop","$exit","$fatal","$error","$warning","$info","$realtime","$time","$printtimescale","$bitstoreal","$bitstoshortreal","$itor","$signed","$cast","$bits","$stime","$timeformat","$realtobits","$shortrealtobits","$rtoi","$unsigned","$asserton","$assertkill","$assertpasson","$assertfailon","$assertnonvacuouson","$assertoff","$assertcontrol","$assertpassoff","$assertfailoff","$assertvacuousoff","$isunbounded","$sampled","$fell","$changed","$past_gclk","$fell_gclk","$changed_gclk","$rising_gclk","$steady_gclk","$coverage_control","$coverage_get","$coverage_save","$set_coverage_db_name","$rose","$stable","$past","$rose_gclk","$stable_gclk","$future_gclk","$falling_gclk","$changing_gclk","$display","$coverage_get_max","$coverage_merge","$get_coverage","$load_coverage_db","$typename","$unpacked_dimensions","$left","$low","$increment","$clog2","$ln","$log10","$exp","$sqrt","$pow","$floor","$ceil","$sin","$cos","$tan","$countbits","$onehot","$isunknown","$fatal","$warning","$dimensions","$right","$high","$size","$asin","$acos","$atan","$atan2","$hypot","$sinh","$cosh","$tanh","$asinh","$acosh","$atanh","$countones","$onehot0","$error","$info","$random","$dist_chi_square","$dist_erlang","$dist_exponential","$dist_normal","$dist_poisson","$dist_t","$dist_uniform","$q_initialize","$q_remove","$q_exam","$async$and$array","$async$nand$array","$async$or$array","$async$nor$array","$sync$and$array","$sync$nand$array","$sync$or$array","$sync$nor$array","$q_add","$q_full","$psprintf","$async$and$plane","$async$nand$plane","$async$or$plane","$async$nor$plane","$sync$and$plane","$sync$nand$plane","$sync$or$plane","$sync$nor$plane","$system","$display","$displayb","$displayh","$displayo","$strobe","$strobeb","$strobeh","$strobeo","$write","$readmemb","$readmemh","$writememh","$value$plusargs","$dumpvars","$dumpon","$dumplimit","$dumpports","$dumpportson","$dumpportslimit","$writeb","$writeh","$writeo","$monitor","$monitorb","$monitorh","$monitoro","$writememb","$dumpfile","$dumpoff","$dumpall","$dumpflush","$dumpportsoff","$dumpportsall","$dumpportsflush","$fclose","$fdisplay","$fdisplayb","$fdisplayh","$fdisplayo","$fstrobe","$fstrobeb","$fstrobeh","$fstrobeo","$swrite","$swriteb","$swriteh","$swriteo","$fscanf","$fread","$fseek","$fflush","$feof","$fopen","$fwrite","$fwriteb","$fwriteh","$fwriteo","$fmonitor","$fmonitorb","$fmonitorh","$fmonitoro","$sformat","$sformatf","$fgetc","$ungetc","$fgets","$sscanf","$rewind","$ftell","$ferror"]},i=["__FILE__","__LINE__"],a=["begin_keywords","celldefine","default_nettype","default_decay_time","default_trireg_strength","define","delay_mode_distributed","delay_mode_path","delay_mode_unit","delay_mode_zero","else","elsif","end_keywords","endcelldefine","endif","ifdef","ifndef","include","line","nounconnected_drive","pragma","resetall","timescale","unconnected_drive","undef","undefineall"];return{name:"Verilog",aliases:["v","sv","svh"],case_insensitive:!1,keywords:r,contains:[e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE,e.QUOTE_STRING_MODE,{scope:"number",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/\b((\d+'([bhodBHOD]))[0-9xzXZa-fA-F_]+)/},{begin:/\B(('([bhodBHOD]))[0-9xzXZa-fA-F_]+)/},{begin:/\b[0-9][0-9_]*/,relevance:0}]},{scope:"variable",variants:[{begin:"#\\((?!parameter).+\\)"},{begin:"\\.\\w+",relevance:0}]},{scope:"variable.constant",match:t.concat(/`/,t.either(...i))},{scope:"meta",begin:t.concat(/`/,t.either(...a)),end:/$|\/\/|\/\*/,returnEnd:!0,keywords:a}]}}return mf=n,mf}var _f,bT;function fF(){if(bT)return _f;bT=1;function n(e){const t="\\d(_|\\d)*",r="[eE][-+]?"+t,i=t+"(\\."+t+")?("+r+")?",a="\\w+",o="\\b("+(t+"#"+a+"(\\."+a+")?#("+r+")?")+"|"+i+")";return{name:"VHDL",case_insensitive:!0,keywords:{keyword:["abs","access","after","alias","all","and","architecture","array","assert","assume","assume_guarantee","attribute","begin","block","body","buffer","bus","case","component","configuration","constant","context","cover","disconnect","downto","default","else","elsif","end","entity","exit","fairness","file","for","force","function","generate","generic","group","guarded","if","impure","in","inertial","inout","is","label","library","linkage","literal","loop","map","mod","nand","new","next","nor","not","null","of","on","open","or","others","out","package","parameter","port","postponed","procedure","process","property","protected","pure","range","record","register","reject","release","rem","report","restrict","restrict_guarantee","return","rol","ror","select","sequence","severity","shared","signal","sla","sll","sra","srl","strong","subtype","then","to","transport","type","unaffected","units","until","use","variable","view","vmode","vprop","vunit","wait","when","while","with","xnor","xor"],built_in:["boolean","bit","character","integer","time","delay_length","natural","positive","string","bit_vector","file_open_kind","file_open_status","std_logic","std_logic_vector","unsigned","signed","boolean_vector","integer_vector","std_ulogic","std_ulogic_vector","unresolved_unsigned","u_unsigned","unresolved_signed","u_signed","real_vector","time_vector"],literal:["false","true","note","warning","error","failure","line","text","side","width"]},illegal:/\{/,contains:[e.C_BLOCK_COMMENT_MODE,e.COMMENT("--","$"),e.QUOTE_STRING_MODE,{className:"number",begin:o,relevance:0},{className:"string",begin:"'(U|X|0|1|Z|W|L|H|-)'",contains:[e.BACKSLASH_ESCAPE]},{className:"symbol",begin:"'[A-Za-z](_?[A-Za-z0-9])*",contains:[e.BACKSLASH_ESCAPE]}]}}return _f=n,_f}var gf,TT;function hF(){if(TT)return gf;TT=1;function n(e){return{name:"Vim Script",keywords:{$pattern:/[!#@\w]+/,keyword:"N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope cp cpf cq cr cs cst cu cuna cunme cw delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu go gr grepa gu gv ha helpf helpg helpt hi hid his ia iabc if ij il im imapc ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf quita qa rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank",built_in:"synIDtrans atan2 range matcharg did_filetype asin feedkeys xor argv complete_check add getwinposx getqflist getwinposy screencol clearmatches empty extend getcmdpos mzeval garbagecollect setreg ceil sqrt diff_hlID inputsecret get getfperm getpid filewritable shiftwidth max sinh isdirectory synID system inputrestore winline atan visualmode inputlist tabpagewinnr round getregtype mapcheck hasmapto histdel argidx findfile sha256 exists toupper getcmdline taglist string getmatches bufnr strftime winwidth bufexists strtrans tabpagebuflist setcmdpos remote_read printf setloclist getpos getline bufwinnr float2nr len getcmdtype diff_filler luaeval resolve libcallnr foldclosedend reverse filter has_key bufname str2float strlen setline getcharmod setbufvar index searchpos shellescape undofile foldclosed setqflist buflisted strchars str2nr virtcol floor remove undotree remote_expr winheight gettabwinvar reltime cursor tabpagenr finddir localtime acos getloclist search tanh matchend rename gettabvar strdisplaywidth type abs py3eval setwinvar tolower wildmenumode log10 spellsuggest bufloaded synconcealed nextnonblank server2client complete settabwinvar executable input wincol setmatches getftype hlID inputsave searchpair or screenrow line settabvar histadd deepcopy strpart remote_peek and eval getftime submatch screenchar winsaveview matchadd mkdir screenattr getfontname libcall reltimestr getfsize winnr invert pow getbufline byte2line soundfold repeat fnameescape tagfiles sin strwidth spellbadword trunc maparg log lispindent hostname setpos globpath remote_foreground getchar synIDattr fnamemodify cscope_connection stridx winbufnr indent min complete_add nr2char searchpairpos inputdialog values matchlist items hlexists strridx browsedir expand fmod pathshorten line2byte argc count getwinvar glob foldtextresult getreg foreground cosh matchdelete has char2nr simplify histget searchdecl iconv winrestcmd pumvisible writefile foldlevel haslocaldir keys cos matchstr foldtext histnr tan tempname getcwd byteidx getbufvar islocked escape eventhandler remote_send serverlist winrestview synstack pyeval prevnonblank readfile cindent filereadable changenr exp"},illegal:/;/,contains:[e.NUMBER_MODE,{className:"string",begin:"'",end:"'",illegal:"\\n"},{className:"string",begin:/"(\\"|\n\\|[^"\n])*"/},e.COMMENT('"',"$"),{className:"variable",begin:/[bwtglsav]:[\w\d_]+/},{begin:[/\b(?:function|function!)/,/\s+/,e.IDENT_RE],className:{1:"keyword",3:"title"},end:"$",relevance:0,contains:[{className:"params",begin:"\\(",end:"\\)"}]},{className:"symbol",begin:/<[\w-]+>/}]}}return gf=n,gf}var Sf,CT;function mF(){if(CT)return Sf;CT=1;function n(e){e.regex;const t=e.COMMENT(/\(;/,/;\)/);t.contains.push("self");const r=e.COMMENT(/;;/,/$/),i=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],a={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},s={className:"variable",begin:/\$[\w_]+/},o={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},l={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},u={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},d={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:i},contains:[r,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},s,o,a,e.QUOTE_STRING_MODE,u,d,l]}}return Sf=n,Sf}var Of,vT;function _F(){if(vT)return Of;vT=1;function n(e){const t=e.regex,r=/[a-zA-Z]\w*/,i=["as","break","class","construct","continue","else","for","foreign","if","import","in","is","return","static","var","while"],a=["true","false","null"],s=["this","super"],o=["Bool","Class","Fiber","Fn","List","Map","Null","Num","Object","Range","Sequence","String","System"],l=["-","~",/\*/,"%",/\.\.\./,/\.\./,/\+/,"<<",">>",">=","<=","<",">",/\^/,/!=/,/!/,/\bis\b/,"==","&&","&",/\|\|/,/\|/,/\?:/,"="],u={relevance:0,match:t.concat(/\b(?!(if|while|for|else|super)\b)/,r,/(?=\s*[({])/),className:"title.function"},d={match:t.concat(t.either(t.concat(/\b(?!(if|while|for|else|super)\b)/,r),t.either(...l)),/(?=\s*\([^)]+\)\s*\{)/),className:"title.function",starts:{contains:[{begin:/\(/,end:/\)/,contains:[{relevance:0,scope:"params",match:r}]}]}},f={variants:[{match:[/class\s+/,r,/\s+is\s+/,r]},{match:[/class\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:i},m={relevance:0,match:t.either(...l),className:"operator"},g={className:"string",begin:/"""/,end:/"""/},b={className:"property",begin:t.concat(/\./,t.lookahead(r)),end:r,excludeBegin:!0,relevance:0},v={relevance:0,match:t.concat(/\b_/,r),scope:"variable"},y={relevance:0,match:/\b[A-Z]+[a-z]+([A-Z]+[a-z]+)*/,scope:"title.class",keywords:{_:o}},N=e.C_NUMBER_MODE,F={match:[r,/\s*/,/=/,/\s*/,/\(/,r,/\)\s*\{/],scope:{1:"title.function",3:"operator",6:"params"}},X=e.COMMENT(/\/\*\*/,/\*\//,{contains:[{match:/@[a-z]+/,scope:"doctag"},"self"]}),p={scope:"subst",begin:/%\(/,end:/\)/,contains:[N,y,u,v,m]},E={scope:"string",begin:/"/,end:/"/,contains:[p,{scope:"char.escape",variants:[{match:/\\\\|\\["0%abefnrtv]/},{match:/\\x[0-9A-F]{2}/},{match:/\\u[0-9A-F]{4}/},{match:/\\U[0-9A-F]{8}/}]}]};p.contains.push(E);const O=[...i,...s,...a],A={relevance:0,match:t.concat("\\b(?!",O.join("|"),"\\b)",/[a-zA-Z_]\w*(?:[?!]|\b)/),className:"variable"};return{name:"Wren",keywords:{keyword:i,"variable.language":s,literal:a},contains:[{scope:"comment",variants:[{begin:[/#!?/,/[A-Za-z_]+(?=\()/],beginScope:{},keywords:{literal:a},contains:[],end:/\)/},{begin:[/#!?/,/[A-Za-z_]+/],beginScope:{},end:/$/}]},N,E,g,X,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,y,f,F,d,u,m,v,b,A]}}return Of=n,Of}var Ef,yT;function gF(){if(yT)return Ef;yT=1;function n(e){return{name:"Intel x86 Assembly",case_insensitive:!0,keywords:{$pattern:"[.%]?"+e.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0  xmm1  xmm2  xmm3  xmm4  xmm5  xmm6  xmm7  xmm8  xmm9 xmm10  xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0  ymm1  ymm2  ymm3  ymm4  ymm5  ymm6  ymm7  ymm8  ymm9 ymm10  ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0  zmm1  zmm2  zmm3  zmm4  zmm5  zmm6  zmm7  zmm8  zmm9 zmm10  zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__  __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__  __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[e.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*(\\.[0-9_]*)?(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},e.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}return Ef=n,Ef}var bf,AT;function SF(){if(AT)return bf;AT=1;function n(e){const t=["if","then","else","do","while","until","for","loop","import","with","is","as","where","when","by","data","constant","integer","real","text","name","boolean","symbol","infix","prefix","postfix","block","tree"],r=["in","mod","rem","and","or","xor","not","abs","sign","floor","ceil","sqrt","sin","cos","tan","asin","acos","atan","exp","expm1","log","log2","log10","log1p","pi","at","text_length","text_range","text_find","text_replace","contains","page","slide","basic_slide","title_slide","title","subtitle","fade_in","fade_out","fade_at","clear_color","color","line_color","line_width","texture_wrap","texture_transform","texture","scale_?x","scale_?y","scale_?z?","translate_?x","translate_?y","translate_?z?","rotate_?x","rotate_?y","rotate_?z?","rectangle","circle","ellipse","sphere","path","line_to","move_to","quad_to","curve_to","theme","background","contents","locally","time","mouse_?x","mouse_?y","mouse_buttons"],i=["ObjectLoader","Animate","MovieCredits","Slides","Filters","Shading","Materials","LensFlare","Mapping","VLCAudioVideo","StereoDecoder","PointCloud","NetworkAccess","RemoteControl","RegExp","ChromaKey","Snowfall","NodeJS","Speech","Charts"],s={$pattern:/[a-zA-Z][a-zA-Z0-9_?]*/,keyword:t,literal:["true","false","nil"],built_in:r.concat(i)},o={className:"string",begin:'"',end:'"',illegal:"\\n"},l={className:"string",begin:"'",end:"'",illegal:"\\n"},u={className:"string",begin:"<<",end:">>"},d={className:"number",begin:"[0-9]+#[0-9A-Z_]+(\\.[0-9-A-Z_]+)?#?([Ee][+-]?[0-9]+)?"},f={beginKeywords:"import",end:"$",keywords:s,contains:[o]},m={className:"function",begin:/[a-z][^\n]*->/,returnBegin:!0,end:/->/,contains:[e.inherit(e.TITLE_MODE,{starts:{endsWithParent:!0,keywords:s}})]};return{name:"XL",aliases:["tao"],keywords:s,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,o,l,u,m,f,d,e.NUMBER_MODE]}}return bf=n,bf}var Tf,RT;function OF(){if(RT)return Tf;RT=1;function n(e){return{name:"XQuery",aliases:["xpath","xq"],case_insensitive:!1,illegal:/(proc)|(abstract)|(extends)|(until)|(#)/,keywords:{$pattern:/[a-zA-Z$][a-zA-Z0-9_:-]*/,keyword:["module","schema","namespace","boundary-space","preserve","no-preserve","strip","default","collation","base-uri","ordering","context","decimal-format","decimal-separator","copy-namespaces","empty-sequence","except","exponent-separator","external","grouping-separator","inherit","no-inherit","lax","minus-sign","per-mille","percent","schema-attribute","schema-element","strict","unordered","zero-digit","declare","import","option","function","validate","variable","for","at","in","let","where","order","group","by","return","if","then","else","tumbling","sliding","window","start","when","only","end","previous","next","stable","ascending","descending","allowing","empty","greatest","least","some","every","satisfies","switch","case","typeswitch","try","catch","and","or","to","union","intersect","instance","of","treat","as","castable","cast","map","array","delete","insert","into","replace","value","rename","copy","modify","update"],type:["item","document-node","node","attribute","document","element","comment","namespace","namespace-node","processing-instruction","text","construction","xs:anyAtomicType","xs:untypedAtomic","xs:duration","xs:time","xs:decimal","xs:float","xs:double","xs:gYearMonth","xs:gYear","xs:gMonthDay","xs:gMonth","xs:gDay","xs:boolean","xs:base64Binary","xs:hexBinary","xs:anyURI","xs:QName","xs:NOTATION","xs:dateTime","xs:dateTimeStamp","xs:date","xs:string","xs:normalizedString","xs:token","xs:language","xs:NMTOKEN","xs:Name","xs:NCName","xs:ID","xs:IDREF","xs:ENTITY","xs:integer","xs:nonPositiveInteger","xs:negativeInteger","xs:long","xs:int","xs:short","xs:byte","xs:nonNegativeInteger","xs:unisignedLong","xs:unsignedInt","xs:unsignedShort","xs:unsignedByte","xs:positiveInteger","xs:yearMonthDuration","xs:dayTimeDuration"],literal:["eq","ne","lt","le","gt","ge","is","self::","child::","descendant::","descendant-or-self::","attribute::","following::","following-sibling::","parent::","ancestor::","ancestor-or-self::","preceding::","preceding-sibling::","NaN"]},contains:[{className:"variable",begin:/[$][\w\-:]+/},{className:"built_in",variants:[{begin:/\barray:/,end:/(?:append|filter|flatten|fold-(?:left|right)|for-each(?:-pair)?|get|head|insert-before|join|put|remove|reverse|size|sort|subarray|tail)\b/},{begin:/\bmap:/,end:/(?:contains|entry|find|for-each|get|keys|merge|put|remove|size)\b/},{begin:/\bmath:/,end:/(?:a(?:cos|sin|tan[2]?)|cos|exp(?:10)?|log(?:10)?|pi|pow|sin|sqrt|tan)\b/},{begin:/\bop:/,end:/\(/,excludeEnd:!0},{begin:/\bfn:/,end:/\(/,excludeEnd:!0},{begin:/[^/,end:/(\/[\w._:-]+>)/,subLanguage:"xml",contains:[{begin:/\{/,end:/\}/,subLanguage:"xquery"},"self"]}]}}return Tf=n,Tf}var Cf,IT;function EF(){if(IT)return Cf;IT=1;function n(e){const t={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},r=e.UNDERSCORE_TITLE_MODE,i={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]},a="namespace class interface use extends function return abstract final public protected private static deprecated throw try catch Exception echo empty isset instanceof unset let var new const self require if else elseif switch case default do while loop for continue break likely unlikely __LINE__ __FILE__ __DIR__ __FUNCTION__ __CLASS__ __TRAIT__ __METHOD__ __NAMESPACE__ array boolean float double integer object resource string char long unsigned bool int uint ulong uchar true false null undefined";return{name:"Zephir",aliases:["zep"],keywords:a,contains:[e.C_LINE_COMMENT_MODE,e.COMMENT(/\/\*/,/\*\//,{contains:[{className:"doctag",begin:/@[A-Za-z]+/}]}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;/,contains:[e.BACKSLASH_ESCAPE]},{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"function fn",end:/[;{]/,excludeEnd:!0,illegal:/\$|\[|%/,contains:[r,{className:"params",begin:/\(/,end:/\)/,keywords:a,contains:["self",e.C_BLOCK_COMMENT_MODE,t,i]}]},{className:"class",beginKeywords:"class interface",end:/\{/,excludeEnd:!0,illegal:/[:($"]/,contains:[{beginKeywords:"extends implements"},r]},{beginKeywords:"namespace",end:/;/,illegal:/[.']/,contains:[r]},{beginKeywords:"use",end:/;/,contains:[r]},{begin:/=>/},t,i]}}return Cf=n,Cf}var W=qP;W.registerLanguage("1c",VP());W.registerLanguage("abnf",HP());W.registerLanguage("accesslog",zP());W.registerLanguage("actionscript",WP());W.registerLanguage("ada",XP());W.registerLanguage("angelscript",ZP());W.registerLanguage("apache",KP());W.registerLanguage("applescript",jP());W.registerLanguage("arcade",JP());W.registerLanguage("arduino",e3());W.registerLanguage("armasm",t3());W.registerLanguage("xml",r3());W.registerLanguage("asciidoc",n3());W.registerLanguage("aspectj",i3());W.registerLanguage("autohotkey",a3());W.registerLanguage("autoit",s3());W.registerLanguage("avrasm",o3());W.registerLanguage("awk",l3());W.registerLanguage("axapta",c3());W.registerLanguage("bash",u3());W.registerLanguage("basic",d3());W.registerLanguage("bnf",p3());W.registerLanguage("brainfuck",f3());W.registerLanguage("c",h3());W.registerLanguage("cal",m3());W.registerLanguage("capnproto",_3());W.registerLanguage("ceylon",g3());W.registerLanguage("clean",S3());W.registerLanguage("clojure",O3());W.registerLanguage("clojure-repl",E3());W.registerLanguage("cmake",b3());W.registerLanguage("coffeescript",T3());W.registerLanguage("coq",C3());W.registerLanguage("cos",v3());W.registerLanguage("cpp",y3());W.registerLanguage("crmsh",A3());W.registerLanguage("crystal",R3());W.registerLanguage("csharp",I3());W.registerLanguage("csp",N3());W.registerLanguage("css",D3());W.registerLanguage("d",w3());W.registerLanguage("markdown",x3());W.registerLanguage("dart",L3());W.registerLanguage("delphi",k3());W.registerLanguage("diff",M3());W.registerLanguage("django",P3());W.registerLanguage("dns",B3());W.registerLanguage("dockerfile",U3());W.registerLanguage("dos",F3());W.registerLanguage("dsconfig",Y3());W.registerLanguage("dts",G3());W.registerLanguage("dust",Q3());W.registerLanguage("ebnf",$3());W.registerLanguage("elixir",q3());W.registerLanguage("elm",V3());W.registerLanguage("ruby",H3());W.registerLanguage("erb",z3());W.registerLanguage("erlang-repl",W3());W.registerLanguage("erlang",X3());W.registerLanguage("excel",Z3());W.registerLanguage("fix",K3());W.registerLanguage("flix",j3());W.registerLanguage("fortran",J3());W.registerLanguage("fsharp",eB());W.registerLanguage("gams",tB());W.registerLanguage("gauss",rB());W.registerLanguage("gcode",nB());W.registerLanguage("gherkin",iB());W.registerLanguage("glsl",aB());W.registerLanguage("gml",sB());W.registerLanguage("go",oB());W.registerLanguage("golo",lB());W.registerLanguage("gradle",cB());W.registerLanguage("graphql",uB());W.registerLanguage("groovy",dB());W.registerLanguage("haml",pB());W.registerLanguage("handlebars",fB());W.registerLanguage("haskell",hB());W.registerLanguage("haxe",mB());W.registerLanguage("hsp",_B());W.registerLanguage("http",gB());W.registerLanguage("hy",SB());W.registerLanguage("inform7",OB());W.registerLanguage("ini",EB());W.registerLanguage("irpf90",bB());W.registerLanguage("isbl",TB());W.registerLanguage("java",CB());W.registerLanguage("javascript",vB());W.registerLanguage("jboss-cli",yB());W.registerLanguage("json",AB());W.registerLanguage("julia",RB());W.registerLanguage("julia-repl",IB());W.registerLanguage("kotlin",NB());W.registerLanguage("lasso",DB());W.registerLanguage("latex",wB());W.registerLanguage("ldif",xB());W.registerLanguage("leaf",LB());W.registerLanguage("less",kB());W.registerLanguage("lisp",MB());W.registerLanguage("livecodeserver",PB());W.registerLanguage("livescript",BB());W.registerLanguage("llvm",UB());W.registerLanguage("lsl",FB());W.registerLanguage("lua",YB());W.registerLanguage("makefile",GB());W.registerLanguage("mathematica",QB());W.registerLanguage("matlab",$B());W.registerLanguage("maxima",qB());W.registerLanguage("mel",VB());W.registerLanguage("mercury",HB());W.registerLanguage("mipsasm",zB());W.registerLanguage("mizar",WB());W.registerLanguage("perl",XB());W.registerLanguage("mojolicious",ZB());W.registerLanguage("monkey",KB());W.registerLanguage("moonscript",jB());W.registerLanguage("n1ql",JB());W.registerLanguage("nestedtext",eU());W.registerLanguage("nginx",tU());W.registerLanguage("nim",rU());W.registerLanguage("nix",nU());W.registerLanguage("node-repl",iU());W.registerLanguage("nsis",aU());W.registerLanguage("objectivec",sU());W.registerLanguage("ocaml",oU());W.registerLanguage("openscad",lU());W.registerLanguage("oxygene",cU());W.registerLanguage("parser3",uU());W.registerLanguage("pf",dU());W.registerLanguage("pgsql",pU());W.registerLanguage("php",fU());W.registerLanguage("php-template",hU());W.registerLanguage("plaintext",mU());W.registerLanguage("pony",_U());W.registerLanguage("powershell",gU());W.registerLanguage("processing",SU());W.registerLanguage("profile",OU());W.registerLanguage("prolog",EU());W.registerLanguage("properties",bU());W.registerLanguage("protobuf",TU());W.registerLanguage("puppet",CU());W.registerLanguage("purebasic",vU());W.registerLanguage("python",yU());W.registerLanguage("python-repl",AU());W.registerLanguage("q",RU());W.registerLanguage("qml",IU());W.registerLanguage("r",NU());W.registerLanguage("reasonml",DU());W.registerLanguage("rib",wU());W.registerLanguage("roboconf",xU());W.registerLanguage("routeros",LU());W.registerLanguage("rsl",kU());W.registerLanguage("ruleslanguage",MU());W.registerLanguage("rust",PU());W.registerLanguage("sas",BU());W.registerLanguage("scala",UU());W.registerLanguage("scheme",FU());W.registerLanguage("scilab",YU());W.registerLanguage("scss",GU());W.registerLanguage("shell",QU());W.registerLanguage("smali",$U());W.registerLanguage("smalltalk",qU());W.registerLanguage("sml",VU());W.registerLanguage("sqf",HU());W.registerLanguage("sql",zU());W.registerLanguage("stan",WU());W.registerLanguage("stata",XU());W.registerLanguage("step21",ZU());W.registerLanguage("stylus",KU());W.registerLanguage("subunit",jU());W.registerLanguage("swift",JU());W.registerLanguage("taggerscript",eF());W.registerLanguage("yaml",tF());W.registerLanguage("tap",rF());W.registerLanguage("tcl",nF());W.registerLanguage("thrift",iF());W.registerLanguage("tp",aF());W.registerLanguage("twig",sF());W.registerLanguage("typescript",oF());W.registerLanguage("vala",lF());W.registerLanguage("vbnet",cF());W.registerLanguage("vbscript",uF());W.registerLanguage("vbscript-html",dF());W.registerLanguage("verilog",pF());W.registerLanguage("vhdl",fF());W.registerLanguage("vim",hF());W.registerLanguage("wasm",mF());W.registerLanguage("wren",_F());W.registerLanguage("x86asm",gF());W.registerLanguage("xl",SF());W.registerLanguage("xquery",OF());W.registerLanguage("zephir",EF());W.HighlightJS=W;W.default=W;var bF=W,TF=KM.decode,CF=jy,vf=bF,yf='class="',vF=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.pre,r=t===void 0?!1:t,i=e.auto_detection,a=i===void 0?!0:i,s=function(l,u,d){var f={left:"
]*>",right:"
",flags:"g"},m=function(b,v,y,N){v=TF(v);var F=(y.match(/class=\"([^ \"]+)/)||[])[1];if(!F&&!a)return b;if(y.includes(yf)){var X=y.indexOf(yf)+yf.length;y=y.slice(0,X)+"hljs "+y.slice(X)}else y=y.slice(0,-1)+' class="hljs">';return r&&F&&(y=y.replace("
",'
')),F&&vf.getLanguage(F)?y+vf.highlight(v,{language:F}).value+N:y+vf.highlightAuto(v).value+N};return CF.helper.replaceRecursiveRegExp(l,m,f.left,f.right,f.flags)};return[{type:"output",filter:s}]};const yF=Zy(vF),AF=wk;Jy.setFlavor("github");const NT={h1:"text-white lg:text-4xl text-xl lg:ml-4 lg:mx-4 mx-2 lg:my-4 my-2 lg:mb-8 mb-4 bg-neutral-900 rounded-lg py-2 px-2",h2:"text-white lg:text-3xl text-xl lg:ml-4 lg:mx-4 mx-2 lg:my-4 my-2 lg:mb-8 mb-4 bg-neutral-900 rounded-lg py-2 px-2",ul:"text-underline",li:"ml-12 list-disc lg:text-2xl text-base text-white lg:mx-4 mx-2 my-4 lg:pl-4 my-2 leading-normal",p:"lg:text-2xl text-base text-white lg:mx-4 mx-2 my-4 leading-normal",a:"lg:text-2xl text-base text-orange-300",code:"lg:my-4 sm:my-1 text-base lg:text-xl block whitespace-pre overflow-x-hidden",icode:"lg:my-4 my-1 lg:text-xl sm:text-xs text-white font-mono bg-neutral-600",blockquote:"text-neutral-200 border-l-4 border-neutral-500 pl-4 my-4 mx-4",table:"justify-center lg:my-8 my-2 lg:mx-8 mx-2 lg:text-2xl text-base w-full text-left text-white border-collapse",thead:"text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400",th:"lg:px-6 lg:py-6 px-2 py-2",td:"py-2",tr:"py-0"},RF=Object.keys(NT).map(n=>({type:"output",regex:new RegExp(`<${n}([^>]*)>`,"g"),replace:(e,t)=>`<${n} class="${NT[n]}" ${t}>`}));class IF{constructor(){R(this,"universes",Ih);R(this,"selected_universe");R(this,"local_index",1);R(this,"editor_mode","local");R(this,"fontSize");R(this,"withLineNumbers");R(this,"vimModeCompartment");R(this,"chosenLanguage");R(this,"currentDocumentationPane","introduction");R(this,"settings",new nk);R(this,"editorExtensions",[]);R(this,"userPlugins",[]);R(this,"state");R(this,"api");R(this,"audioContext");R(this,"view");R(this,"clock");R(this,"manualPlay",!1);R(this,"_mouseX",0);R(this,"_mouseY",0);R(this,"play_buttons",[document.getElementById("play-button-1"),document.getElementById("play-button-2")]);R(this,"pause_buttons",[document.getElementById("pause-button-1"),document.getElementById("pause-button-2")]);R(this,"stop_buttons",[document.getElementById("stop-button-1"),document.getElementById("stop-button-2")]);R(this,"clear_buttons",[document.getElementById("clear-button-1"),document.getElementById("clear-button-2")]);R(this,"documentation_button",document.getElementById("doc-button-1"));R(this,"eval_button",document.getElementById("eval-button-1"));R(this,"local_button",document.getElementById("local-button"));R(this,"global_button",document.getElementById("global-button"));R(this,"init_button",document.getElementById("init-button"));R(this,"note_button",document.getElementById("note-button"));R(this,"settings_button",document.getElementById("settings-button"));R(this,"close_settings_button",document.getElementById("close-settings-button"));R(this,"universe_viewer",document.getElementById("universe-viewer"));R(this,"buffer_modal",document.getElementById("modal-buffers"));R(this,"buffer_search",document.getElementById("buffer-search"));R(this,"local_script_tabs",document.getElementById("local-script-tabs"));R(this,"font_size_slider",document.getElementById("font-size-slider"));R(this,"font_size_witness",document.getElementById("font-size-witness"));R(this,"line_numbers_checkbox",document.getElementById("show-line-numbers"));R(this,"normal_mode_button",document.getElementById("normal-mode"));R(this,"vim_mode_button",document.getElementById("vim-mode"));R(this,"share_button",document.getElementById("share_button"));R(this,"error_line",document.getElementById("error_line"));R(this,"show_error",!1);R(this,"emptyUrl",()=>{window.history.replaceState({},document.title,"/")});R(this,"parseHash",e=>JSON.parse(e));this.selected_universe=this.settings.selected_universe,this.universe_viewer.innerHTML=`Topos: ${this.selected_universe}`,this.universes={...Ih,...this.settings.universes},this.audioContext=new AudioContext({latencyHint:"playback"}),this.clock=new Bk(this,this.audioContext),this.api=new XM(this),this.vimModeCompartment=new Xn,this.withLineNumbers=new Xn,this.chosenLanguage=new Xn,this.fontSize=new Xn;const e=this.settings.vimMode?Fc():[],t=this.settings.line_numbers?rg():[],r=Ae.theme({"&":{fontSize:`${this.settings.font_size}px`},".cm-gutters":{fontSize:`${this.settings.font_size}px`}});this.editorExtensions=[this.withLineNumbers.of(t),this.fontSize.of(r),this.vimModeCompartment.of(e),gk,aw,this.chosenLanguage.of(fh()),Ae.updateListener.of(o=>{})];let i=new Xn;this.state=ut.create({extensions:[...this.editorExtensions,Ae.lineWrapping,i.of(this.userPlugins),Jn.highest(Xi.of([{key:"Ctrl-Enter",run:()=>!0}])),Xi.of([hL])],doc:this.universes[this.selected_universe].locals[this.local_index].candidate}),this.view=new Ae({parent:document.getElementById("editor"),state:this.state}),document.addEventListener("keydown",o=>{o.key==="Tab"&&o.preventDefault(),o.ctrlKey&&o.key==="s"&&(o.preventDefault(),this.setButtonHighlighting("pause",!0),this.clock.pause()),o.ctrlKey&&o.key==="r"&&(o.preventDefault(),this.setButtonHighlighting("stop",!0),this.clock.stop()),o.ctrlKey&&o.key==="p"&&(o.preventDefault(),this.setButtonHighlighting("play",!0),this.clock.start()),(o.key==="v"||o.key==="V")&&o.ctrlKey&&o.shiftKey&&(this.settings.vimMode=!this.settings.vimMode,o.preventDefault(),this.userPlugins=this.settings.vimMode?[]:[Fc()],this.view.dispatch({effects:i.reconfigure(this.userPlugins)})),(o.key==="Enter"||o.key==="Return")&&o.ctrlKey&&(o.preventDefault(),this.currentFile().candidate=this.view.state.doc.toString(),this.flashBackground("#2d313d",200)),(o.key==="Enter"&&o.shiftKey||o.key==="e"&&o.ctrlKey)&&(o.preventDefault(),this.currentFile().candidate=this.view.state.doc.toString(),this.flashBackground("#2d313d",200)),o.ctrlKey&&o.key==="b"&&(this.hideDocumentation(),this.openBuffersModal()),o.shiftKey&&o.key==="Escape"&&this.openSettingsModal(),o.ctrlKey&&o.key==="l"&&(o.preventDefault(),this.changeModeFromInterface("local"),this.hideDocumentation(),this.view.focus()),o.ctrlKey&&o.key==="n"&&(o.preventDefault(),this.changeModeFromInterface("notes"),this.hideDocumentation(),this.view.focus()),o.ctrlKey&&o.key==="g"&&(o.preventDefault(),this.changeModeFromInterface("global"),this.hideDocumentation(),this.view.focus()),o.ctrlKey&&o.key==="i"&&(o.preventDefault(),this.changeModeFromInterface("init"),this.hideDocumentation(),this.changeToLocalBuffer(0),this.view.focus()),o.ctrlKey&&o.key==="d"&&(o.preventDefault(),this.showDocumentation()),[112,113,114,115,116,117,118,119,120].forEach((l,u)=>{o.keyCode===l&&(o.preventDefault(),o.ctrlKey?this.api.script(l-111):(this.changeModeFromInterface("local"),this.changeToLocalBuffer(u),this.hideDocumentation()))}),o.keyCode==121&&(this.changeModeFromInterface("global"),this.hideDocumentation()),o.keyCode==122&&(this.changeModeFromInterface("init"),this.hideDocumentation())});const a=document.querySelectorAll('[id^="tab-"]');for(let o=0;o{a[o].classList.add("bg-orange-300");for(let f=0;f{o.addEventListener("click",()=>{this.setButtonHighlighting("play",!0),this.clock.start()})}),this.clear_buttons.forEach(o=>{o.addEventListener("click",()=>{this.setButtonHighlighting("clear",!0),confirm("Do you want to reset the current universe?")&&(this.universes[this.selected_universe]=PS,this.updateEditorView())})}),this.documentation_button.addEventListener("click",()=>{this.showDocumentation()}),this.eval_button.addEventListener("click",()=>{this.currentFile().candidate=this.view.state.doc.toString(),this.flashBackground("#2d313d",200)}),this.pause_buttons.forEach(o=>{o.addEventListener("click",()=>{this.setButtonHighlighting("pause",!0),this.clock.pause()})}),this.stop_buttons.forEach(o=>{o.addEventListener("click",()=>{this.setButtonHighlighting("stop",!0),this.clock.stop()})}),this.local_button.addEventListener("click",()=>this.changeModeFromInterface("local")),this.global_button.addEventListener("click",()=>this.changeModeFromInterface("global")),this.init_button.addEventListener("click",()=>this.changeModeFromInterface("init")),this.note_button.addEventListener("click",()=>this.changeModeFromInterface("notes")),this.settings_button.addEventListener("click",()=>{var u;this.font_size_slider.value=this.settings.font_size.toString(),this.font_size_witness.innerHTML=`Font Size: ${this.settings.font_size}px`,(u=this.font_size_witness)==null||u.setAttribute("style",`font-size: ${this.settings.font_size}px;`),this.line_numbers_checkbox.checked=this.settings.line_numbers;let o=document.getElementById("modal-settings"),l=document.getElementById("editor");o==null||o.classList.remove("invisible"),l==null||l.classList.add("invisible")}),this.close_settings_button.addEventListener("click",()=>{let o=document.getElementById("modal-settings"),l=document.getElementById("editor");o==null||o.classList.add("invisible"),l==null||l.classList.remove("invisible")}),this.font_size_slider.addEventListener("input",()=>{const o=this.font_size_slider.value;this.settings.font_size=parseInt(o),this.font_size_witness.style.fontSize=`${o}px`,this.font_size_witness.innerHTML=`Font Size: ${o}px`;let l=Ae.theme({"&":{fontSize:o+"px"},".cm-gutters":{fontSize:o+"px"}});this.view.dispatch({effects:this.fontSize.reconfigure(l)}),this.settings.font_size=parseInt(o)}),this.share_button.addEventListener("click",()=>{this.share_button.classList.add("animate-spin"),setInterval(()=>this.share_button.classList.remove("animate-spin"),1e3),this.currentFile().candidate=dr.view.state.doc.toString(),this.currentFile().committed=dr.view.state.doc.toString(),this.settings.saveApplicationToLocalStorage(dr.universes,dr.settings),this.share()}),this.normal_mode_button.addEventListener("click",()=>{this.settings.vimMode=!1,this.view.dispatch({effects:this.vimModeCompartment.reconfigure([])})}),this.line_numbers_checkbox.addEventListener("change",()=>{let o=!!this.line_numbers_checkbox.checked;this.settings.line_numbers=o,this.view.dispatch({effects:this.withLineNumbers.reconfigure(o?[rg()]:[])})}),this.vim_mode_button.addEventListener("click",()=>{this.settings.vimMode=!0,this.view.dispatch({effects:this.vimModeCompartment.reconfigure(Fc())})}),this.buffer_search.addEventListener("keydown",o=>{if(o.key==="Enter"){let l=this.buffer_search.value;l.length>2&&l.length<20&&(this.loadUniverse(l),this.settings.selected_universe=l,this.buffer_search.value="",this.closeBuffersModal(),this.view.focus())}}),vl(this,this.universes[this.selected_universe.toString()].init),["introduction","interface","code","time","sound","samples","synths","midi","functions","reference","shortcuts","about"].forEach(o=>{let l="docs_"+o;document.getElementById(l).addEventListener("click",()=>{this.currentDocumentationPane=o,this.updateDocumentationContent()})}),Object.entries(this.api).forEach(([o,l])=>{globalThis[o]=l});let s=new URLSearchParams(window.location.search);if(s!==void 0){let o;if(s!==null){const l=s.get("universe");if(l!==null){o=JSON.parse(atob(l));const u=CA({dictionaries:[vA,AA,yA]});this.loadUniverse(u,o.universe),this.emptyUrl()}}}}get note_buffer(){return this.universes[this.selected_universe.toString()].notes}get global_buffer(){return this.universes[this.selected_universe.toString()].global}get init_buffer(){return this.universes[this.selected_universe.toString()].init}get local_buffer(){return this.universes[this.selected_universe.toString()].locals[this.local_index]}share(){const e=btoa(JSON.stringify({universe:this.settings.universes[this.selected_universe]})),t=new URL(window.location.href);t.searchParams.set("universe",e),window.history.replaceState({},"",t.toString()),navigator.clipboard.writeText(t.toString())}showDocumentation(){var e,t,r,i,a;(e=document.getElementById("app"))!=null&&e.classList.contains("hidden")?((t=document.getElementById("app"))==null||t.classList.remove("hidden"),(r=document.getElementById("documentation"))==null||r.classList.add("hidden")):((i=document.getElementById("app"))==null||i.classList.add("hidden"),(a=document.getElementById("documentation"))==null||a.classList.remove("hidden"),this.updateDocumentationContent())}hideDocumentation(){var e,t,r;(e=document.getElementById("app"))!=null&&e.classList.contains("hidden")&&((t=document.getElementById("app"))==null||t.classList.remove("hidden"),(r=document.getElementById("documentation"))==null||r.classList.add("hidden"))}updateDocumentationContent(){const t=new Jy.Converter({emoji:!0,moreStyling:!0,extensions:[yF({auto_detection:!0}),...RF]}).makeHtml(AF[this.currentDocumentationPane]);function r(i){let a=i.replace(//g,"
");return a=a.replace(/<\/code>/g,"
"),a}document.getElementById("documentation-content").innerHTML=r(t)}changeToLocalBuffer(e){const t=document.querySelectorAll('[id^="tab-"]'),r=t[e];r.classList.add("bg-orange-300");for(let a=0;a{t.forEach(a=>{let s=a.children[0];s.classList.contains("text-orange-300")&&(s.classList.remove("text-orange-300"),a.classList.remove("text-orange-300"))}),i.children[0].classList.remove("text-white"),i.children[0].classList.add("text-orange-300"),i.classList.add("text-orange-300")};switch(e){case"local":this.local_script_tabs.classList.contains("hidden")&&this.local_script_tabs.classList.remove("hidden"),this.editor_mode="local",this.local_index=0,this.changeToLocalBuffer(this.local_index),r(this.local_button);break;case"global":this.local_script_tabs.classList.contains("hidden")||this.local_script_tabs.classList.add("hidden"),this.editor_mode="global",r(this.global_button);break;case"init":this.local_script_tabs.classList.contains("hidden")||this.local_script_tabs.classList.add("hidden"),this.editor_mode="init",r(this.init_button);break;case"notes":this.local_script_tabs.classList.contains("hidden")||this.local_script_tabs.classList.add("hidden"),this.editor_mode="notes",r(this.note_button);break}this.view.dispatch({effects:this.chosenLanguage.reconfigure(this.editor_mode=="notes"?[ax()]:[fh()])}),this.updateEditorView()}setButtonHighlighting(e,t){this.flashBackground("#2d313d",200);const r=['[id^="play-button-"]','[id^="pause-button-"]','[id^="clear-button-"]','[id^="stop-button-"]'];let i;switch(e){case"play":i=0;break;case"pause":i=1;break;case"clear":i=2;break;case"stop":i=3;break}document.querySelectorAll(r[i]).forEach(a=>{t&&a.children[0].classList.add("fill-orange-300"),t&&a.children[0].classList.add("animate-pulse")}),document.querySelectorAll(r.filter((a,s)=>s!=i).join(",")).forEach(a=>{a.children[0].classList.remove("fill-orange-300"),a.children[0].classList.remove("text-orange-300"),a.children[0].classList.remove("bg-orange-300"),a.children[0].classList.remove("animate-pulse")})}unfocusPlayButtons(){document.querySelectorAll('[id^="play-button-"]').forEach(e=>{e.children[0].classList.remove("fill-orange-300"),e.children[0].classList.remove("animate-pulse")})}updateEditorView(){this.view.dispatch({changes:{from:0,to:this.view.state.doc.toString().length,insert:this.currentFile().candidate}})}currentFile(){switch(this.editor_mode){case"global":return this.global_buffer;case"local":return this.local_buffer;case"init":return this.init_buffer;case"notes":return this.note_buffer}}loadUniverse(e,t=PS){console.log(e,t),this.currentFile().candidate=this.view.state.doc.toString();let r=e.trim();this.universes[r]===void 0&&(this.settings.universes[r]=t,this.universes[r]=t),this.selected_universe=r,this.settings.selected_universe=this.selected_universe,this.universe_viewer.innerHTML=`Topos: ${r}`,this.updateEditorView(),vl(this,this.universes[this.selected_universe.toString()].init)}openSettingsModal(){document.getElementById("modal-settings").classList.contains("invisible")?(document.getElementById("editor").classList.add("invisible"),document.getElementById("modal-settings").classList.remove("invisible")):this.closeSettingsModal()}closeSettingsModal(){document.getElementById("editor").classList.remove("invisible"),document.getElementById("modal-settings").classList.add("invisible")}openBuffersModal(){document.getElementById("modal-buffers").classList.contains("invisible")?(document.getElementById("editor").classList.add("invisible"),document.getElementById("modal-buffers").classList.remove("invisible"),document.getElementById("buffer-search").focus()):this.closeBuffersModal()}closeBuffersModal(){document.getElementById("buffer-search").value="",document.getElementById("editor").classList.remove("invisible"),document.getElementById("modal").classList.add("invisible"),document.getElementById("modal-buffers").classList.add("invisible")}flashBackground(e,t){this.view.dom.style.backgroundColor=e;const r=this.view.dom.getElementsByClassName("cm-gutter");Array.from(r).forEach(i=>i.style.backgroundColor=e),setTimeout(()=>{this.view.dom.style.backgroundColor="",Array.from(r).forEach(i=>i.style.backgroundColor="")},t)}}const dr=new IF;function kl(){document.getElementById("editor").classList.remove("invisible"),document.getElementById("modal").classList.add("hidden"),document.getElementById("modal-container").classList.remove("motion-safe:animate-pulse"),document.getElementById("start-button").removeEventListener("click",kl),document.removeEventListener("click",kl),document.removeEventListener("keydown",pA),document.removeEventListener("click",fA),dr.clock.start(),dr.view.focus(),dr.setButtonHighlighting("play",!0)}function pA(n){(n.code==="Enter"||n.code==="Space")&&kl()}function fA(n){n.button===0&&kl()}document.addEventListener("keydown",pA);document.addEventListener("click",fA);function NF(n){dr._mouseX=n.clientX,dr._mouseY=n.clientY}window.addEventListener("mousemove",NF);window.addEventListener("beforeunload",()=>(event.preventDefault(),dr.currentFile().candidate=dr.view.state.doc.toString(),dr.currentFile().committed=dr.view.state.doc.toString(),dr.settings.saveApplicationToLocalStorage(dr.universes,dr.settings),dr.clock.stop(),null)); +`},{className:"string",begin:"\\d{4}-\\d{2}-\\d{2}(\\s+)\\d{2}:\\d{2}:\\d{2}.\\d+Z"},{className:"string",begin:"(\\+|-)\\d+"},{className:"keyword",relevance:10,variants:[{begin:"^(test|testing|success|successful|failure|error|skip|xfail|uxsuccess)(:?)\\s+(test)?"},{begin:"^progress(:?)(\\s+)?(pop|push)?"},{begin:"^tags:"},{begin:"^time:"}]}]}}return ef=n,ef}var tf,oT;function JU(){if(oT)return tf;oT=1;function n(D){return D?typeof D=="string"?D:D.source:null}function e(D){return t("(?=",D,")")}function t(...D){return D.map(w=>n(w)).join("")}function r(D){const M=D[D.length-1];return typeof M=="object"&&M.constructor===Object?(D.splice(D.length-1,1),M):{}}function i(...D){return"("+(r(D).capture?"":"?:")+D.map(B=>n(B)).join("|")+")"}const a=D=>t(/\b/,D,/\w$/.test(D)?/\b/:/\B/),s=["Protocol","Type"].map(a),o=["init","self"].map(a),l=["Any","Self"],u=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","distributed","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],d=["false","nil","true"],f=["assignment","associativity","higherThan","left","lowerThan","none","right"],m=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],g=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],b=i(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),v=i(b,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),y=t(b,v,"*"),N=i(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),F=i(N,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),X=t(N,F,"*"),p=t(/[A-Z]/,F,"*"),E=["autoclosure",t(/convention\(/,i("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",t(/objc\(/,X,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],O=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function A(D){const M={match:/\s+/,relevance:0},w=D.COMMENT("/\\*","\\*/",{contains:["self"]}),B=[D.C_LINE_COMMENT_MODE,w],re={match:[/\./,i(...s,...o)],className:{2:"keyword"}},ie={match:t(/\./,i(...u)),relevance:0},j=u.filter(ot=>typeof ot=="string").concat(["_|0"]),J=u.filter(ot=>typeof ot!="string").concat(l).map(a),L={variants:[{className:"keyword",match:i(...J,...o)}]},G={$pattern:i(/\b\w+/,/#\w+/),keyword:j.concat(m),literal:d},Z=[re,ie,L],z={match:t(/\./,i(...g)),relevance:0},ce={className:"built_in",match:t(/\b/,i(...g),/(?=\()/)},ue=[z,ce],Te={match:/->/,relevance:0},Pe={className:"operator",relevance:0,variants:[{match:y},{match:`\\.(\\.|${v})+`}]},Ve=[Te,Pe],Re="([0-9]_*)+",Ie="([0-9a-fA-F]_*)+",le={className:"number",relevance:0,variants:[{match:`\\b(${Re})(\\.(${Re}))?([eE][+-]?(${Re}))?\\b`},{match:`\\b0x(${Ie})(\\.(${Ie}))?([pP][+-]?(${Re}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},Me=(ot="")=>({className:"subst",variants:[{match:t(/\\/,ot,/[0\\tnr"']/)},{match:t(/\\/,ot,/u\{[0-9a-fA-F]{1,8}\}/)}]}),je=(ot="")=>({className:"subst",match:t(/\\/,ot,/[\t ]*(?:[\r\n]|\r\n)/)}),He=(ot="")=>({className:"subst",label:"interpol",begin:t(/\\/,ot,/\(/),end:/\)/}),rt=(ot="")=>({begin:t(ot,/"""/),end:t(/"""/,ot),contains:[Me(ot),je(ot),He(ot)]}),ft=(ot="")=>({begin:t(ot,/"/),end:t(/"/,ot),contains:[Me(ot),He(ot)]}),Ct={className:"string",variants:[rt(),rt("#"),rt("##"),rt("###"),ft(),ft("#"),ft("##"),ft("###")]},Vt={match:t(/`/,X,/`/)},ht={className:"variable",match:/\$\d+/},Nt={className:"variable",match:`\\$${F}+`},kt=[Vt,ht,Nt],Qr={match:/(@|#(un)?)available/,className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:O,contains:[...Ve,le,Ct]}]}},Fe={className:"keyword",match:t(/@/,i(...E))},Mr={className:"meta",match:t(/@/,X)},st=[Qr,Fe,Mr],$e={match:e(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:t(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,F,"+")},{className:"type",match:p,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:t(/\s+&\s+/,e(p)),relevance:0}]},Pr={begin://,keywords:G,contains:[...B,...Z,...st,Te,$e]};$e.contains.push(Pr);const nr={match:t(X,/\s*:/),keywords:"_|0",relevance:0},mr={begin:/\(/,end:/\)/,relevance:0,keywords:G,contains:["self",nr,...B,...Z,...ue,...Ve,le,Ct,...kt,...st,$e]},V={begin://,contains:[...B,$e]},he={begin:i(e(t(X,/\s*:/)),e(t(X,/\s+/,X,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:X}]},ve={begin:/\(/,end:/\)/,keywords:G,contains:[he,...B,...Z,...Ve,le,Ct,...st,$e,mr],endsParent:!0,illegal:/["']/},Ce={match:[/func/,/\s+/,i(Vt.match,X,y)],className:{1:"keyword",3:"title.function"},contains:[V,ve,M],illegal:[/\[/,/%/]},Ke={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[V,ve,M],illegal:/\[|%/},Ee={match:[/operator/,/\s+/,y],className:{1:"keyword",3:"title"}},Gt={begin:[/precedencegroup/,/\s+/,p],className:{1:"keyword",3:"title"},contains:[$e],keywords:[...f,...d],end:/}/};for(const ot of Ct.variants){const Tt=ot.contains.find(lt=>lt.label==="interpol");Tt.keywords=G;const en=[...Z,...ue,...Ve,le,Ct,...kt];Tt.contains=[...en,{begin:/\(/,end:/\)/,contains:["self",...en]}]}return{name:"Swift",keywords:G,contains:[...B,Ce,Ke,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:G,contains:[D.inherit(D.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...Z]},Ee,Gt,{beginKeywords:"import",end:/$/,contains:[...B],relevance:0},...Z,...ue,...Ve,le,Ct,...kt,...st,$e,mr]}}return tf=A,tf}var rf,lT;function eF(){if(lT)return rf;lT=1;function n(e){return{name:"Tagger Script",contains:[{className:"comment",begin:/\$noop\(/,end:/\)/,contains:[{begin:/\\[()]/},{begin:/\(/,end:/\)/,contains:[{begin:/\\[()]/},"self"]}],relevance:10},{className:"keyword",begin:/\$[_a-zA-Z0-9]+(?=\()/},{className:"variable",begin:/%[_a-zA-Z0-9:]+%/},{className:"symbol",begin:/\\[\\nt$%,()]/},{className:"symbol",begin:/\\u[a-fA-F0-9]{4}/}]}}return rf=n,rf}var nf,cT;function tF(){if(cT)return nf;cT=1;function n(e){const t="true false yes no null",r="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ ]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ ]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ ]|$)"}]},a={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,a]},o=e.inherit(s,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l="[0-9]{4}(-[0-9][0-9]){0,2}",u="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?",d="(\\.[0-9]*)?",f="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?",m={className:"number",begin:"\\b"+l+u+d+f+"\\b"},g={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},b={begin:/\{/,end:/\}/,contains:[g],illegal:"\\n",relevance:0},v={begin:"\\[",end:"\\]",contains:[g],illegal:"\\n",relevance:0},y=[i,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+r},{className:"type",begin:"!<"+r+">"},{className:"type",begin:"!"+r},{className:"type",begin:"!!"+r},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},m,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},b,v,s],N=[...y];return N.pop(),N.push(o),g.contains=N,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:y}}return nf=n,nf}var af,uT;function rF(){if(uT)return af;uT=1;function n(e){return{name:"Test Anything Protocol",case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"meta",variants:[{begin:"^TAP version (\\d+)$"},{begin:"^1\\.\\.(\\d+)$"}]},{begin:/---$/,end:"\\.\\.\\.$",subLanguage:"yaml",relevance:0},{className:"number",begin:" (\\d+) "},{className:"symbol",variants:[{begin:"^ok"},{begin:"^not ok"}]}]}}return af=n,af}var sf,dT;function nF(){if(dT)return sf;dT=1;function n(e){const t=e.regex,r=/[a-zA-Z_][a-zA-Z0-9_]*/,i={className:"number",variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]};return{name:"Tcl",aliases:["tk"],keywords:["after","append","apply","array","auto_execok","auto_import","auto_load","auto_mkindex","auto_mkindex_old","auto_qualify","auto_reset","bgerror","binary","break","catch","cd","chan","clock","close","concat","continue","dde","dict","encoding","eof","error","eval","exec","exit","expr","fblocked","fconfigure","fcopy","file","fileevent","filename","flush","for","foreach","format","gets","glob","global","history","http","if","incr","info","interp","join","lappend|10","lassign|10","lindex|10","linsert|10","list","llength|10","load","lrange|10","lrepeat|10","lreplace|10","lreverse|10","lsearch|10","lset|10","lsort|10","mathfunc","mathop","memory","msgcat","namespace","open","package","parray","pid","pkg::create","pkg_mkIndex","platform","platform::shell","proc","puts","pwd","read","refchan","regexp","registry","regsub|10","rename","return","safe","scan","seek","set","socket","source","split","string","subst","switch","tcl_endOfWord","tcl_findLibrary","tcl_startOfNextWord","tcl_startOfPreviousWord","tcl_wordBreakAfter","tcl_wordBreakBefore","tcltest","tclvars","tell","time","tm","trace","unknown","unload","unset","update","uplevel","upvar","variable","vwait","while"],contains:[e.COMMENT(";[ \\t]*#","$"),e.COMMENT("^[ \\t]*#","$"),{beginKeywords:"proc",end:"[\\{]",excludeEnd:!0,contains:[{className:"title",begin:"[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",end:"[ \\t\\n\\r]",endsWithParent:!0,excludeEnd:!0}]},{className:"variable",variants:[{begin:t.concat(/\$/,t.optional(/::/),r,"(::",r,")*")},{begin:"\\$\\{(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",end:"\\}",contains:[i]}]},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},i]}}return sf=n,sf}var of,pT;function iF(){if(pT)return of;pT=1;function n(e){const t=["bool","byte","i16","i32","i64","double","string","binary"];return{name:"Thrift",keywords:{keyword:["namespace","const","typedef","struct","enum","service","exception","void","oneway","set","list","map","required","optional"],type:t,literal:"true false"},contains:[e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"struct enum service exception",end:/\{/,illegal:/\n/,contains:[e.inherit(e.TITLE_MODE,{starts:{endsWithParent:!0,excludeEnd:!0}})]},{begin:"\\b(set|list|map)\\s*<",keywords:{type:[...t,"set","list","map"]},end:">",contains:["self"]}]}}return of=n,of}var lf,fT;function aF(){if(fT)return lf;fT=1;function n(e){const t={className:"number",begin:"[1-9][0-9]*",relevance:0},r={className:"symbol",begin:":[^\\]]+"},i={className:"built_in",begin:"(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\[",end:"\\]",contains:["self",t,r]},a={className:"built_in",begin:"(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\[",end:"\\]",contains:["self",t,e.QUOTE_STRING_MODE,r]};return{name:"TP",keywords:{keyword:["ABORT","ACC","ADJUST","AND","AP_LD","BREAK","CALL","CNT","COL","CONDITION","CONFIG","DA","DB","DIV","DETECT","ELSE","END","ENDFOR","ERR_NUM","ERROR_PROG","FINE","FOR","GP","GUARD","INC","IF","JMP","LINEAR_MAX_SPEED","LOCK","MOD","MONITOR","OFFSET","Offset","OR","OVERRIDE","PAUSE","PREG","PTH","RT_LD","RUN","SELECT","SKIP","Skip","TA","TB","TO","TOOL_OFFSET","Tool_Offset","UF","UT","UFRAME_NUM","UTOOL_NUM","UNLOCK","WAIT","X","Y","Z","W","P","R","STRLEN","SUBSTR","FINDSTR","VOFFSET","PROG","ATTR","MN","POS"],literal:["ON","OFF","max_speed","LPOS","JPOS","ENABLE","DISABLE","START","STOP","RESET"]},contains:[i,a,{className:"keyword",begin:"/(PROG|ATTR|MN|POS|END)\\b"},{className:"keyword",begin:"(CALL|RUN|POINT_LOGIC|LBL)\\b"},{className:"keyword",begin:"\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)"},{className:"number",begin:"\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\b",relevance:0},e.COMMENT("//","[;$]"),e.COMMENT("!","[;$]"),e.COMMENT("--eg:","$"),e.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"'"},e.C_NUMBER_MODE,{className:"variable",begin:"\\$[A-Za-z0-9_]+"}]}}return lf=n,lf}var cf,hT;function sF(){if(hT)return cf;hT=1;function n(e){const t=e.regex,r=["absolute_url","asset|0","asset_version","attribute","block","constant","controller|0","country_timezones","csrf_token","cycle","date","dump","expression","form|0","form_end","form_errors","form_help","form_label","form_rest","form_row","form_start","form_widget","html_classes","include","is_granted","logout_path","logout_url","max","min","parent","path|0","random","range","relative_path","render","render_esi","source","template_from_string","url|0"],i=["abs","abbr_class","abbr_method","batch","capitalize","column","convert_encoding","country_name","currency_name","currency_symbol","data_uri","date","date_modify","default","escape","file_excerpt","file_link","file_relative","filter","first","format","format_args","format_args_as_text","format_currency","format_date","format_datetime","format_file","format_file_from_text","format_number","format_time","html_to_markdown","humanize","inky_to_html","inline_css","join","json_encode","keys","language_name","last","length","locale_name","lower","map","markdown","markdown_to_html","merge","nl2br","number_format","raw","reduce","replace","reverse","round","slice","slug","sort","spaceless","split","striptags","timezone_name","title","trans","transchoice","trim","u|0","upper","url_encode","yaml_dump","yaml_encode"];let a=["apply","autoescape","block","cache","deprecated","do","embed","extends","filter","flush","for","form_theme","from","if","import","include","macro","sandbox","set","stopwatch","trans","trans_default_domain","transchoice","use","verbatim","with"];a=a.concat(a.map(v=>`end${v}`));const s={scope:"string",variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/}]},o={scope:"number",match:/\d+/},l={begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:[s,o]},u={beginKeywords:r.join(" "),keywords:{name:r},relevance:0,contains:[l]},d={match:/\|(?=[A-Za-z_]+:?)/,beginScope:"punctuation",relevance:0,contains:[{match:/[A-Za-z_]+:?/,keywords:i}]},f=(v,{relevance:y})=>({beginScope:{1:"template-tag",3:"name"},relevance:y||2,endScope:"template-tag",begin:[/\{%/,/\s*/,t.either(...v)],end:/%\}/,keywords:"in",contains:[d,u,s,o]}),m=/[a-z_]+/,g=f(a,{relevance:2}),b=f([m],{relevance:1});return{name:"Twig",aliases:["craftcms"],case_insensitive:!0,subLanguage:"xml",contains:[e.COMMENT(/\{#/,/#\}/),g,b,{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:["self",d,u,s,o]}]}}return cf=n,cf}var uf,mT;function oF(){if(mT)return uf;mT=1;const n="[A-Za-z$_][0-9A-Za-z$_]*",e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],t=["true","false","null","undefined","NaN","Infinity"],r=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],i=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],a=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],s=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],o=[].concat(a,r,i);function l(d){const f=d.regex,m=(Me,{after:je})=>{const He="",end:""},v=/<[A-Za-z0-9\\._:-]+\s*\/>/,y={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(Me,je)=>{const He=Me[0].length+Me.index,rt=Me.input[He];if(rt==="<"||rt===","){je.ignoreMatch();return}rt===">"&&(m(Me,{after:He})||je.ignoreMatch());let ft;const Ct=Me.input.substring(He);if(ft=Ct.match(/^\s*=/)){je.ignoreMatch();return}if((ft=Ct.match(/^\s+extends\s+/))&&ft.index===0){je.ignoreMatch();return}}},N={$pattern:n,keyword:e,literal:t,built_in:o,"variable.language":s},F="[0-9](_?[0-9])*",X=`\\.(${F})`,p="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",E={className:"number",variants:[{begin:`(\\b(${p})((${X})|\\.)?|(${X}))[eE][+-]?(${F})\\b`},{begin:`\\b(${p})\\b((${X})\\b|\\.)?|(${X})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},O={className:"subst",begin:"\\$\\{",end:"\\}",keywords:N,contains:[]},A={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[d.BACKSLASH_ESCAPE,O],subLanguage:"xml"}},D={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[d.BACKSLASH_ESCAPE,O],subLanguage:"css"}},M={begin:"gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[d.BACKSLASH_ESCAPE,O],subLanguage:"graphql"}},w={className:"string",begin:"`",end:"`",contains:[d.BACKSLASH_ESCAPE,O]},re={className:"comment",variants:[d.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:g+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),d.C_BLOCK_COMMENT_MODE,d.C_LINE_COMMENT_MODE]},ie=[d.APOS_STRING_MODE,d.QUOTE_STRING_MODE,A,D,M,w,{match:/\$\d+/},E];O.contains=ie.concat({begin:/\{/,end:/\}/,keywords:N,contains:["self"].concat(ie)});const j=[].concat(re,O.contains),J=j.concat([{begin:/\(/,end:/\)/,keywords:N,contains:["self"].concat(j)}]),L={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:N,contains:J},G={variants:[{match:[/class/,/\s+/,g,/\s+/,/extends/,/\s+/,f.concat(g,"(",f.concat(/\./,g),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,g],scope:{1:"keyword",3:"title.class"}}]},Z={relevance:0,match:f.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...r,...i]}},z={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},ce={variants:[{match:[/function/,/\s+/,g,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[L],illegal:/%/},ue={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function Te(Me){return f.concat("(?!",Me.join("|"),")")}const Pe={match:f.concat(/\b/,Te([...a,"super","import"]),g,f.lookahead(/\(/)),className:"title.function",relevance:0},Ve={begin:f.concat(/\./,f.lookahead(f.concat(g,/(?![0-9A-Za-z$_(])/))),end:g,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Re={match:[/get|set/,/\s+/,g,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},L]},Ie="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+d.UNDERSCORE_IDENT_RE+")\\s*=>",le={match:[/const|var|let/,/\s+/,g,/\s*/,/=\s*/,/(async\s*)?/,f.lookahead(Ie)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[L]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:N,exports:{PARAMS_CONTAINS:J,CLASS_REFERENCE:Z},illegal:/#(?![$_A-z])/,contains:[d.SHEBANG({label:"shebang",binary:"node",relevance:5}),z,d.APOS_STRING_MODE,d.QUOTE_STRING_MODE,A,D,M,w,re,{match:/\$\d+/},E,Z,{className:"attr",begin:g+f.lookahead(":"),relevance:0},le,{begin:"("+d.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[re,d.REGEXP_MODE,{className:"function",begin:Ie,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:d.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:N,contains:J}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:b.begin,end:b.end},{match:v},{begin:y.begin,"on:begin":y.isTrulyOpeningTag,end:y.end}],subLanguage:"xml",contains:[{begin:y.begin,end:y.end,skip:!0,contains:["self"]}]}]},ce,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+d.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[L,d.inherit(d.TITLE_MODE,{begin:g,className:"title.function"})]},{match:/\.\.\./,relevance:0},Ve,{match:"\\$"+g,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[L]},Pe,ue,G,Re,{match:/\$[(.]/}]}}function u(d){const f=l(d),m=n,g=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],b={beginKeywords:"namespace",end:/\{/,excludeEnd:!0,contains:[f.exports.CLASS_REFERENCE]},v={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:g},contains:[f.exports.CLASS_REFERENCE]},y={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},N=["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"],F={$pattern:n,keyword:e.concat(N),literal:t,built_in:o.concat(g),"variable.language":s},X={className:"meta",begin:"@"+m},p=(O,A,D)=>{const M=O.contains.findIndex(w=>w.label===A);if(M===-1)throw new Error("can not find mode to replace");O.contains.splice(M,1,D)};Object.assign(f.keywords,F),f.exports.PARAMS_CONTAINS.push(X),f.contains=f.contains.concat([X,b,v]),p(f,"shebang",d.SHEBANG()),p(f,"use_strict",y);const E=f.contains.find(O=>O.label==="func.def");return E.relevance=0,Object.assign(f,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),f}return uf=u,uf}var df,_T;function lF(){if(_T)return df;_T=1;function n(e){return{name:"Vala",keywords:{keyword:"char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override virtual delegate if while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var",built_in:"DBus GLib CCode Gee Object Gtk Posix",literal:"false true null"},contains:[{className:"class",beginKeywords:"class interface namespace",end:/\{/,excludeEnd:!0,illegal:"[^,:\\n\\s\\.]",contains:[e.UNDERSCORE_TITLE_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",begin:'"""',end:'"""',relevance:5},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{className:"meta",begin:"^#",end:"$"}]}}return df=n,df}var pf,gT;function cF(){if(gT)return pf;gT=1;function n(e){const t=e.regex,r={className:"string",begin:/"(""|[^/n])"C\b/},i={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},a=/\d{1,2}\/\d{1,2}\/\d{4}/,s=/\d{4}-\d{1,2}-\d{1,2}/,o=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,l=/\d{1,2}(:\d{1,2}){1,2}/,u={className:"literal",variants:[{begin:t.concat(/# */,t.either(s,a),/ *#/)},{begin:t.concat(/# */,l,/ *#/)},{begin:t.concat(/# */,o,/ *#/)},{begin:t.concat(/# */,t.either(s,a),/ +/,t.either(o,l),/ *#/)}]},d={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},f={className:"label",begin:/^\w+:/},m=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),g=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[r,i,u,d,f,m,g,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[g]}]}}return pf=n,pf}var ff,ST;function uF(){if(ST)return ff;ST=1;function n(e){const t=e.regex,r=["lcase","month","vartype","instrrev","ubound","setlocale","getobject","rgb","getref","string","weekdayname","rnd","dateadd","monthname","now","day","minute","isarray","cbool","round","formatcurrency","conversions","csng","timevalue","second","year","space","abs","clng","timeserial","fixs","len","asc","isempty","maths","dateserial","atn","timer","isobject","filter","weekday","datevalue","ccur","isdate","instr","datediff","formatdatetime","replace","isnull","right","sgn","array","snumeric","log","cdbl","hex","chr","lbound","msgbox","ucase","getlocale","cos","cdate","cbyte","rtrim","join","hour","oct","typename","trim","strcomp","int","createobject","loadpicture","tan","formatnumber","mid","split","cint","sin","datepart","ltrim","sqr","time","derived","eval","date","formatpercent","exp","inputbox","left","ascw","chrw","regexp","cstr","err"],i=["server","response","request","scriptengine","scriptenginebuildversion","scriptengineminorversion","scriptenginemajorversion"],a={begin:t.concat(t.either(...r),"\\s*\\("),relevance:0,keywords:{built_in:r}};return{name:"VBScript",aliases:["vbs"],case_insensitive:!0,keywords:{keyword:["call","class","const","dim","do","loop","erase","execute","executeglobal","exit","for","each","next","function","if","then","else","on","error","option","explicit","new","private","property","let","get","public","randomize","redim","rem","select","case","set","stop","sub","while","wend","with","end","to","elseif","is","or","xor","and","not","class_initialize","class_terminate","default","preserve","in","me","byval","byref","step","resume","goto"],built_in:i,literal:["true","false","null","nothing","empty"]},illegal:"//",contains:[a,e.inherit(e.QUOTE_STRING_MODE,{contains:[{begin:'""'}]}),e.COMMENT(/'/,/$/,{relevance:0}),e.C_NUMBER_MODE]}}return ff=n,ff}var hf,OT;function dF(){if(OT)return hf;OT=1;function n(e){return{name:"VBScript in HTML",subLanguage:"xml",contains:[{begin:"<%",end:"%>",subLanguage:"vbscript"}]}}return hf=n,hf}var mf,ET;function pF(){if(ET)return mf;ET=1;function n(e){const t=e.regex,r={$pattern:/\$?[\w]+(\$[\w]+)*/,keyword:["accept_on","alias","always","always_comb","always_ff","always_latch","and","assert","assign","assume","automatic","before","begin","bind","bins","binsof","bit","break","buf|0","bufif0","bufif1","byte","case","casex","casez","cell","chandle","checker","class","clocking","cmos","config","const","constraint","context","continue","cover","covergroup","coverpoint","cross","deassign","default","defparam","design","disable","dist","do","edge","else","end","endcase","endchecker","endclass","endclocking","endconfig","endfunction","endgenerate","endgroup","endinterface","endmodule","endpackage","endprimitive","endprogram","endproperty","endspecify","endsequence","endtable","endtask","enum","event","eventually","expect","export","extends","extern","final","first_match","for","force","foreach","forever","fork","forkjoin","function","generate|5","genvar","global","highz0","highz1","if","iff","ifnone","ignore_bins","illegal_bins","implements","implies","import","incdir","include","initial","inout","input","inside","instance","int","integer","interconnect","interface","intersect","join","join_any","join_none","large","let","liblist","library","local","localparam","logic","longint","macromodule","matches","medium","modport","module","nand","negedge","nettype","new","nexttime","nmos","nor","noshowcancelled","not","notif0","notif1","or","output","package","packed","parameter","pmos","posedge","primitive","priority","program","property","protected","pull0","pull1","pulldown","pullup","pulsestyle_ondetect","pulsestyle_onevent","pure","rand","randc","randcase","randsequence","rcmos","real","realtime","ref","reg","reject_on","release","repeat","restrict","return","rnmos","rpmos","rtran","rtranif0","rtranif1","s_always","s_eventually","s_nexttime","s_until","s_until_with","scalared","sequence","shortint","shortreal","showcancelled","signed","small","soft","solve","specify","specparam","static","string","strong","strong0","strong1","struct","super","supply0","supply1","sync_accept_on","sync_reject_on","table","tagged","task","this","throughout","time","timeprecision","timeunit","tran","tranif0","tranif1","tri","tri0","tri1","triand","trior","trireg","type","typedef","union","unique","unique0","unsigned","until","until_with","untyped","use","uwire","var","vectored","virtual","void","wait","wait_order","wand","weak","weak0","weak1","while","wildcard","wire","with","within","wor","xnor","xor"],literal:["null"],built_in:["$finish","$stop","$exit","$fatal","$error","$warning","$info","$realtime","$time","$printtimescale","$bitstoreal","$bitstoshortreal","$itor","$signed","$cast","$bits","$stime","$timeformat","$realtobits","$shortrealtobits","$rtoi","$unsigned","$asserton","$assertkill","$assertpasson","$assertfailon","$assertnonvacuouson","$assertoff","$assertcontrol","$assertpassoff","$assertfailoff","$assertvacuousoff","$isunbounded","$sampled","$fell","$changed","$past_gclk","$fell_gclk","$changed_gclk","$rising_gclk","$steady_gclk","$coverage_control","$coverage_get","$coverage_save","$set_coverage_db_name","$rose","$stable","$past","$rose_gclk","$stable_gclk","$future_gclk","$falling_gclk","$changing_gclk","$display","$coverage_get_max","$coverage_merge","$get_coverage","$load_coverage_db","$typename","$unpacked_dimensions","$left","$low","$increment","$clog2","$ln","$log10","$exp","$sqrt","$pow","$floor","$ceil","$sin","$cos","$tan","$countbits","$onehot","$isunknown","$fatal","$warning","$dimensions","$right","$high","$size","$asin","$acos","$atan","$atan2","$hypot","$sinh","$cosh","$tanh","$asinh","$acosh","$atanh","$countones","$onehot0","$error","$info","$random","$dist_chi_square","$dist_erlang","$dist_exponential","$dist_normal","$dist_poisson","$dist_t","$dist_uniform","$q_initialize","$q_remove","$q_exam","$async$and$array","$async$nand$array","$async$or$array","$async$nor$array","$sync$and$array","$sync$nand$array","$sync$or$array","$sync$nor$array","$q_add","$q_full","$psprintf","$async$and$plane","$async$nand$plane","$async$or$plane","$async$nor$plane","$sync$and$plane","$sync$nand$plane","$sync$or$plane","$sync$nor$plane","$system","$display","$displayb","$displayh","$displayo","$strobe","$strobeb","$strobeh","$strobeo","$write","$readmemb","$readmemh","$writememh","$value$plusargs","$dumpvars","$dumpon","$dumplimit","$dumpports","$dumpportson","$dumpportslimit","$writeb","$writeh","$writeo","$monitor","$monitorb","$monitorh","$monitoro","$writememb","$dumpfile","$dumpoff","$dumpall","$dumpflush","$dumpportsoff","$dumpportsall","$dumpportsflush","$fclose","$fdisplay","$fdisplayb","$fdisplayh","$fdisplayo","$fstrobe","$fstrobeb","$fstrobeh","$fstrobeo","$swrite","$swriteb","$swriteh","$swriteo","$fscanf","$fread","$fseek","$fflush","$feof","$fopen","$fwrite","$fwriteb","$fwriteh","$fwriteo","$fmonitor","$fmonitorb","$fmonitorh","$fmonitoro","$sformat","$sformatf","$fgetc","$ungetc","$fgets","$sscanf","$rewind","$ftell","$ferror"]},i=["__FILE__","__LINE__"],a=["begin_keywords","celldefine","default_nettype","default_decay_time","default_trireg_strength","define","delay_mode_distributed","delay_mode_path","delay_mode_unit","delay_mode_zero","else","elsif","end_keywords","endcelldefine","endif","ifdef","ifndef","include","line","nounconnected_drive","pragma","resetall","timescale","unconnected_drive","undef","undefineall"];return{name:"Verilog",aliases:["v","sv","svh"],case_insensitive:!1,keywords:r,contains:[e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE,e.QUOTE_STRING_MODE,{scope:"number",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/\b((\d+'([bhodBHOD]))[0-9xzXZa-fA-F_]+)/},{begin:/\B(('([bhodBHOD]))[0-9xzXZa-fA-F_]+)/},{begin:/\b[0-9][0-9_]*/,relevance:0}]},{scope:"variable",variants:[{begin:"#\\((?!parameter).+\\)"},{begin:"\\.\\w+",relevance:0}]},{scope:"variable.constant",match:t.concat(/`/,t.either(...i))},{scope:"meta",begin:t.concat(/`/,t.either(...a)),end:/$|\/\/|\/\*/,returnEnd:!0,keywords:a}]}}return mf=n,mf}var _f,bT;function fF(){if(bT)return _f;bT=1;function n(e){const t="\\d(_|\\d)*",r="[eE][-+]?"+t,i=t+"(\\."+t+")?("+r+")?",a="\\w+",o="\\b("+(t+"#"+a+"(\\."+a+")?#("+r+")?")+"|"+i+")";return{name:"VHDL",case_insensitive:!0,keywords:{keyword:["abs","access","after","alias","all","and","architecture","array","assert","assume","assume_guarantee","attribute","begin","block","body","buffer","bus","case","component","configuration","constant","context","cover","disconnect","downto","default","else","elsif","end","entity","exit","fairness","file","for","force","function","generate","generic","group","guarded","if","impure","in","inertial","inout","is","label","library","linkage","literal","loop","map","mod","nand","new","next","nor","not","null","of","on","open","or","others","out","package","parameter","port","postponed","procedure","process","property","protected","pure","range","record","register","reject","release","rem","report","restrict","restrict_guarantee","return","rol","ror","select","sequence","severity","shared","signal","sla","sll","sra","srl","strong","subtype","then","to","transport","type","unaffected","units","until","use","variable","view","vmode","vprop","vunit","wait","when","while","with","xnor","xor"],built_in:["boolean","bit","character","integer","time","delay_length","natural","positive","string","bit_vector","file_open_kind","file_open_status","std_logic","std_logic_vector","unsigned","signed","boolean_vector","integer_vector","std_ulogic","std_ulogic_vector","unresolved_unsigned","u_unsigned","unresolved_signed","u_signed","real_vector","time_vector"],literal:["false","true","note","warning","error","failure","line","text","side","width"]},illegal:/\{/,contains:[e.C_BLOCK_COMMENT_MODE,e.COMMENT("--","$"),e.QUOTE_STRING_MODE,{className:"number",begin:o,relevance:0},{className:"string",begin:"'(U|X|0|1|Z|W|L|H|-)'",contains:[e.BACKSLASH_ESCAPE]},{className:"symbol",begin:"'[A-Za-z](_?[A-Za-z0-9])*",contains:[e.BACKSLASH_ESCAPE]}]}}return _f=n,_f}var gf,TT;function hF(){if(TT)return gf;TT=1;function n(e){return{name:"Vim Script",keywords:{$pattern:/[!#@\w]+/,keyword:"N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope cp cpf cq cr cs cst cu cuna cunme cw delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu go gr grepa gu gv ha helpf helpg helpt hi hid his ia iabc if ij il im imapc ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf quita qa rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank",built_in:"synIDtrans atan2 range matcharg did_filetype asin feedkeys xor argv complete_check add getwinposx getqflist getwinposy screencol clearmatches empty extend getcmdpos mzeval garbagecollect setreg ceil sqrt diff_hlID inputsecret get getfperm getpid filewritable shiftwidth max sinh isdirectory synID system inputrestore winline atan visualmode inputlist tabpagewinnr round getregtype mapcheck hasmapto histdel argidx findfile sha256 exists toupper getcmdline taglist string getmatches bufnr strftime winwidth bufexists strtrans tabpagebuflist setcmdpos remote_read printf setloclist getpos getline bufwinnr float2nr len getcmdtype diff_filler luaeval resolve libcallnr foldclosedend reverse filter has_key bufname str2float strlen setline getcharmod setbufvar index searchpos shellescape undofile foldclosed setqflist buflisted strchars str2nr virtcol floor remove undotree remote_expr winheight gettabwinvar reltime cursor tabpagenr finddir localtime acos getloclist search tanh matchend rename gettabvar strdisplaywidth type abs py3eval setwinvar tolower wildmenumode log10 spellsuggest bufloaded synconcealed nextnonblank server2client complete settabwinvar executable input wincol setmatches getftype hlID inputsave searchpair or screenrow line settabvar histadd deepcopy strpart remote_peek and eval getftime submatch screenchar winsaveview matchadd mkdir screenattr getfontname libcall reltimestr getfsize winnr invert pow getbufline byte2line soundfold repeat fnameescape tagfiles sin strwidth spellbadword trunc maparg log lispindent hostname setpos globpath remote_foreground getchar synIDattr fnamemodify cscope_connection stridx winbufnr indent min complete_add nr2char searchpairpos inputdialog values matchlist items hlexists strridx browsedir expand fmod pathshorten line2byte argc count getwinvar glob foldtextresult getreg foreground cosh matchdelete has char2nr simplify histget searchdecl iconv winrestcmd pumvisible writefile foldlevel haslocaldir keys cos matchstr foldtext histnr tan tempname getcwd byteidx getbufvar islocked escape eventhandler remote_send serverlist winrestview synstack pyeval prevnonblank readfile cindent filereadable changenr exp"},illegal:/;/,contains:[e.NUMBER_MODE,{className:"string",begin:"'",end:"'",illegal:"\\n"},{className:"string",begin:/"(\\"|\n\\|[^"\n])*"/},e.COMMENT('"',"$"),{className:"variable",begin:/[bwtglsav]:[\w\d_]+/},{begin:[/\b(?:function|function!)/,/\s+/,e.IDENT_RE],className:{1:"keyword",3:"title"},end:"$",relevance:0,contains:[{className:"params",begin:"\\(",end:"\\)"}]},{className:"symbol",begin:/<[\w-]+>/}]}}return gf=n,gf}var Sf,CT;function mF(){if(CT)return Sf;CT=1;function n(e){e.regex;const t=e.COMMENT(/\(;/,/;\)/);t.contains.push("self");const r=e.COMMENT(/;;/,/$/),i=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],a={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},s={className:"variable",begin:/\$[\w_]+/},o={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},l={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},u={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},d={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:i},contains:[r,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},s,o,a,e.QUOTE_STRING_MODE,u,d,l]}}return Sf=n,Sf}var Of,vT;function _F(){if(vT)return Of;vT=1;function n(e){const t=e.regex,r=/[a-zA-Z]\w*/,i=["as","break","class","construct","continue","else","for","foreign","if","import","in","is","return","static","var","while"],a=["true","false","null"],s=["this","super"],o=["Bool","Class","Fiber","Fn","List","Map","Null","Num","Object","Range","Sequence","String","System"],l=["-","~",/\*/,"%",/\.\.\./,/\.\./,/\+/,"<<",">>",">=","<=","<",">",/\^/,/!=/,/!/,/\bis\b/,"==","&&","&",/\|\|/,/\|/,/\?:/,"="],u={relevance:0,match:t.concat(/\b(?!(if|while|for|else|super)\b)/,r,/(?=\s*[({])/),className:"title.function"},d={match:t.concat(t.either(t.concat(/\b(?!(if|while|for|else|super)\b)/,r),t.either(...l)),/(?=\s*\([^)]+\)\s*\{)/),className:"title.function",starts:{contains:[{begin:/\(/,end:/\)/,contains:[{relevance:0,scope:"params",match:r}]}]}},f={variants:[{match:[/class\s+/,r,/\s+is\s+/,r]},{match:[/class\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:i},m={relevance:0,match:t.either(...l),className:"operator"},g={className:"string",begin:/"""/,end:/"""/},b={className:"property",begin:t.concat(/\./,t.lookahead(r)),end:r,excludeBegin:!0,relevance:0},v={relevance:0,match:t.concat(/\b_/,r),scope:"variable"},y={relevance:0,match:/\b[A-Z]+[a-z]+([A-Z]+[a-z]+)*/,scope:"title.class",keywords:{_:o}},N=e.C_NUMBER_MODE,F={match:[r,/\s*/,/=/,/\s*/,/\(/,r,/\)\s*\{/],scope:{1:"title.function",3:"operator",6:"params"}},X=e.COMMENT(/\/\*\*/,/\*\//,{contains:[{match:/@[a-z]+/,scope:"doctag"},"self"]}),p={scope:"subst",begin:/%\(/,end:/\)/,contains:[N,y,u,v,m]},E={scope:"string",begin:/"/,end:/"/,contains:[p,{scope:"char.escape",variants:[{match:/\\\\|\\["0%abefnrtv]/},{match:/\\x[0-9A-F]{2}/},{match:/\\u[0-9A-F]{4}/},{match:/\\U[0-9A-F]{8}/}]}]};p.contains.push(E);const O=[...i,...s,...a],A={relevance:0,match:t.concat("\\b(?!",O.join("|"),"\\b)",/[a-zA-Z_]\w*(?:[?!]|\b)/),className:"variable"};return{name:"Wren",keywords:{keyword:i,"variable.language":s,literal:a},contains:[{scope:"comment",variants:[{begin:[/#!?/,/[A-Za-z_]+(?=\()/],beginScope:{},keywords:{literal:a},contains:[],end:/\)/},{begin:[/#!?/,/[A-Za-z_]+/],beginScope:{},end:/$/}]},N,E,g,X,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,y,f,F,d,u,m,v,b,A]}}return Of=n,Of}var Ef,yT;function gF(){if(yT)return Ef;yT=1;function n(e){return{name:"Intel x86 Assembly",case_insensitive:!0,keywords:{$pattern:"[.%]?"+e.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[e.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*(\\.[0-9_]*)?(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},e.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}return Ef=n,Ef}var bf,AT;function SF(){if(AT)return bf;AT=1;function n(e){const t=["if","then","else","do","while","until","for","loop","import","with","is","as","where","when","by","data","constant","integer","real","text","name","boolean","symbol","infix","prefix","postfix","block","tree"],r=["in","mod","rem","and","or","xor","not","abs","sign","floor","ceil","sqrt","sin","cos","tan","asin","acos","atan","exp","expm1","log","log2","log10","log1p","pi","at","text_length","text_range","text_find","text_replace","contains","page","slide","basic_slide","title_slide","title","subtitle","fade_in","fade_out","fade_at","clear_color","color","line_color","line_width","texture_wrap","texture_transform","texture","scale_?x","scale_?y","scale_?z?","translate_?x","translate_?y","translate_?z?","rotate_?x","rotate_?y","rotate_?z?","rectangle","circle","ellipse","sphere","path","line_to","move_to","quad_to","curve_to","theme","background","contents","locally","time","mouse_?x","mouse_?y","mouse_buttons"],i=["ObjectLoader","Animate","MovieCredits","Slides","Filters","Shading","Materials","LensFlare","Mapping","VLCAudioVideo","StereoDecoder","PointCloud","NetworkAccess","RemoteControl","RegExp","ChromaKey","Snowfall","NodeJS","Speech","Charts"],s={$pattern:/[a-zA-Z][a-zA-Z0-9_?]*/,keyword:t,literal:["true","false","nil"],built_in:r.concat(i)},o={className:"string",begin:'"',end:'"',illegal:"\\n"},l={className:"string",begin:"'",end:"'",illegal:"\\n"},u={className:"string",begin:"<<",end:">>"},d={className:"number",begin:"[0-9]+#[0-9A-Z_]+(\\.[0-9-A-Z_]+)?#?([Ee][+-]?[0-9]+)?"},f={beginKeywords:"import",end:"$",keywords:s,contains:[o]},m={className:"function",begin:/[a-z][^\n]*->/,returnBegin:!0,end:/->/,contains:[e.inherit(e.TITLE_MODE,{starts:{endsWithParent:!0,keywords:s}})]};return{name:"XL",aliases:["tao"],keywords:s,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,o,l,u,m,f,d,e.NUMBER_MODE]}}return bf=n,bf}var Tf,RT;function OF(){if(RT)return Tf;RT=1;function n(e){return{name:"XQuery",aliases:["xpath","xq"],case_insensitive:!1,illegal:/(proc)|(abstract)|(extends)|(until)|(#)/,keywords:{$pattern:/[a-zA-Z$][a-zA-Z0-9_:-]*/,keyword:["module","schema","namespace","boundary-space","preserve","no-preserve","strip","default","collation","base-uri","ordering","context","decimal-format","decimal-separator","copy-namespaces","empty-sequence","except","exponent-separator","external","grouping-separator","inherit","no-inherit","lax","minus-sign","per-mille","percent","schema-attribute","schema-element","strict","unordered","zero-digit","declare","import","option","function","validate","variable","for","at","in","let","where","order","group","by","return","if","then","else","tumbling","sliding","window","start","when","only","end","previous","next","stable","ascending","descending","allowing","empty","greatest","least","some","every","satisfies","switch","case","typeswitch","try","catch","and","or","to","union","intersect","instance","of","treat","as","castable","cast","map","array","delete","insert","into","replace","value","rename","copy","modify","update"],type:["item","document-node","node","attribute","document","element","comment","namespace","namespace-node","processing-instruction","text","construction","xs:anyAtomicType","xs:untypedAtomic","xs:duration","xs:time","xs:decimal","xs:float","xs:double","xs:gYearMonth","xs:gYear","xs:gMonthDay","xs:gMonth","xs:gDay","xs:boolean","xs:base64Binary","xs:hexBinary","xs:anyURI","xs:QName","xs:NOTATION","xs:dateTime","xs:dateTimeStamp","xs:date","xs:string","xs:normalizedString","xs:token","xs:language","xs:NMTOKEN","xs:Name","xs:NCName","xs:ID","xs:IDREF","xs:ENTITY","xs:integer","xs:nonPositiveInteger","xs:negativeInteger","xs:long","xs:int","xs:short","xs:byte","xs:nonNegativeInteger","xs:unisignedLong","xs:unsignedInt","xs:unsignedShort","xs:unsignedByte","xs:positiveInteger","xs:yearMonthDuration","xs:dayTimeDuration"],literal:["eq","ne","lt","le","gt","ge","is","self::","child::","descendant::","descendant-or-self::","attribute::","following::","following-sibling::","parent::","ancestor::","ancestor-or-self::","preceding::","preceding-sibling::","NaN"]},contains:[{className:"variable",begin:/[$][\w\-:]+/},{className:"built_in",variants:[{begin:/\barray:/,end:/(?:append|filter|flatten|fold-(?:left|right)|for-each(?:-pair)?|get|head|insert-before|join|put|remove|reverse|size|sort|subarray|tail)\b/},{begin:/\bmap:/,end:/(?:contains|entry|find|for-each|get|keys|merge|put|remove|size)\b/},{begin:/\bmath:/,end:/(?:a(?:cos|sin|tan[2]?)|cos|exp(?:10)?|log(?:10)?|pi|pow|sin|sqrt|tan)\b/},{begin:/\bop:/,end:/\(/,excludeEnd:!0},{begin:/\bfn:/,end:/\(/,excludeEnd:!0},{begin:/[^/,end:/(\/[\w._:-]+>)/,subLanguage:"xml",contains:[{begin:/\{/,end:/\}/,subLanguage:"xquery"},"self"]}]}}return Tf=n,Tf}var Cf,IT;function EF(){if(IT)return Cf;IT=1;function n(e){const t={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},r=e.UNDERSCORE_TITLE_MODE,i={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]},a="namespace class interface use extends function return abstract final public protected private static deprecated throw try catch Exception echo empty isset instanceof unset let var new const self require if else elseif switch case default do while loop for continue break likely unlikely __LINE__ __FILE__ __DIR__ __FUNCTION__ __CLASS__ __TRAIT__ __METHOD__ __NAMESPACE__ array boolean float double integer object resource string char long unsigned bool int uint ulong uchar true false null undefined";return{name:"Zephir",aliases:["zep"],keywords:a,contains:[e.C_LINE_COMMENT_MODE,e.COMMENT(/\/\*/,/\*\//,{contains:[{className:"doctag",begin:/@[A-Za-z]+/}]}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;/,contains:[e.BACKSLASH_ESCAPE]},{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"function fn",end:/[;{]/,excludeEnd:!0,illegal:/\$|\[|%/,contains:[r,{className:"params",begin:/\(/,end:/\)/,keywords:a,contains:["self",e.C_BLOCK_COMMENT_MODE,t,i]}]},{className:"class",beginKeywords:"class interface",end:/\{/,excludeEnd:!0,illegal:/[:($"]/,contains:[{beginKeywords:"extends implements"},r]},{beginKeywords:"namespace",end:/;/,illegal:/[.']/,contains:[r]},{beginKeywords:"use",end:/;/,contains:[r]},{begin:/=>/},t,i]}}return Cf=n,Cf}var W=qP;W.registerLanguage("1c",VP());W.registerLanguage("abnf",HP());W.registerLanguage("accesslog",zP());W.registerLanguage("actionscript",WP());W.registerLanguage("ada",XP());W.registerLanguage("angelscript",ZP());W.registerLanguage("apache",KP());W.registerLanguage("applescript",jP());W.registerLanguage("arcade",JP());W.registerLanguage("arduino",e3());W.registerLanguage("armasm",t3());W.registerLanguage("xml",r3());W.registerLanguage("asciidoc",n3());W.registerLanguage("aspectj",i3());W.registerLanguage("autohotkey",a3());W.registerLanguage("autoit",s3());W.registerLanguage("avrasm",o3());W.registerLanguage("awk",l3());W.registerLanguage("axapta",c3());W.registerLanguage("bash",u3());W.registerLanguage("basic",d3());W.registerLanguage("bnf",p3());W.registerLanguage("brainfuck",f3());W.registerLanguage("c",h3());W.registerLanguage("cal",m3());W.registerLanguage("capnproto",_3());W.registerLanguage("ceylon",g3());W.registerLanguage("clean",S3());W.registerLanguage("clojure",O3());W.registerLanguage("clojure-repl",E3());W.registerLanguage("cmake",b3());W.registerLanguage("coffeescript",T3());W.registerLanguage("coq",C3());W.registerLanguage("cos",v3());W.registerLanguage("cpp",y3());W.registerLanguage("crmsh",A3());W.registerLanguage("crystal",R3());W.registerLanguage("csharp",I3());W.registerLanguage("csp",N3());W.registerLanguage("css",D3());W.registerLanguage("d",w3());W.registerLanguage("markdown",x3());W.registerLanguage("dart",L3());W.registerLanguage("delphi",k3());W.registerLanguage("diff",M3());W.registerLanguage("django",P3());W.registerLanguage("dns",B3());W.registerLanguage("dockerfile",U3());W.registerLanguage("dos",F3());W.registerLanguage("dsconfig",Y3());W.registerLanguage("dts",G3());W.registerLanguage("dust",Q3());W.registerLanguage("ebnf",$3());W.registerLanguage("elixir",q3());W.registerLanguage("elm",V3());W.registerLanguage("ruby",H3());W.registerLanguage("erb",z3());W.registerLanguage("erlang-repl",W3());W.registerLanguage("erlang",X3());W.registerLanguage("excel",Z3());W.registerLanguage("fix",K3());W.registerLanguage("flix",j3());W.registerLanguage("fortran",J3());W.registerLanguage("fsharp",eB());W.registerLanguage("gams",tB());W.registerLanguage("gauss",rB());W.registerLanguage("gcode",nB());W.registerLanguage("gherkin",iB());W.registerLanguage("glsl",aB());W.registerLanguage("gml",sB());W.registerLanguage("go",oB());W.registerLanguage("golo",lB());W.registerLanguage("gradle",cB());W.registerLanguage("graphql",uB());W.registerLanguage("groovy",dB());W.registerLanguage("haml",pB());W.registerLanguage("handlebars",fB());W.registerLanguage("haskell",hB());W.registerLanguage("haxe",mB());W.registerLanguage("hsp",_B());W.registerLanguage("http",gB());W.registerLanguage("hy",SB());W.registerLanguage("inform7",OB());W.registerLanguage("ini",EB());W.registerLanguage("irpf90",bB());W.registerLanguage("isbl",TB());W.registerLanguage("java",CB());W.registerLanguage("javascript",vB());W.registerLanguage("jboss-cli",yB());W.registerLanguage("json",AB());W.registerLanguage("julia",RB());W.registerLanguage("julia-repl",IB());W.registerLanguage("kotlin",NB());W.registerLanguage("lasso",DB());W.registerLanguage("latex",wB());W.registerLanguage("ldif",xB());W.registerLanguage("leaf",LB());W.registerLanguage("less",kB());W.registerLanguage("lisp",MB());W.registerLanguage("livecodeserver",PB());W.registerLanguage("livescript",BB());W.registerLanguage("llvm",UB());W.registerLanguage("lsl",FB());W.registerLanguage("lua",YB());W.registerLanguage("makefile",GB());W.registerLanguage("mathematica",QB());W.registerLanguage("matlab",$B());W.registerLanguage("maxima",qB());W.registerLanguage("mel",VB());W.registerLanguage("mercury",HB());W.registerLanguage("mipsasm",zB());W.registerLanguage("mizar",WB());W.registerLanguage("perl",XB());W.registerLanguage("mojolicious",ZB());W.registerLanguage("monkey",KB());W.registerLanguage("moonscript",jB());W.registerLanguage("n1ql",JB());W.registerLanguage("nestedtext",eU());W.registerLanguage("nginx",tU());W.registerLanguage("nim",rU());W.registerLanguage("nix",nU());W.registerLanguage("node-repl",iU());W.registerLanguage("nsis",aU());W.registerLanguage("objectivec",sU());W.registerLanguage("ocaml",oU());W.registerLanguage("openscad",lU());W.registerLanguage("oxygene",cU());W.registerLanguage("parser3",uU());W.registerLanguage("pf",dU());W.registerLanguage("pgsql",pU());W.registerLanguage("php",fU());W.registerLanguage("php-template",hU());W.registerLanguage("plaintext",mU());W.registerLanguage("pony",_U());W.registerLanguage("powershell",gU());W.registerLanguage("processing",SU());W.registerLanguage("profile",OU());W.registerLanguage("prolog",EU());W.registerLanguage("properties",bU());W.registerLanguage("protobuf",TU());W.registerLanguage("puppet",CU());W.registerLanguage("purebasic",vU());W.registerLanguage("python",yU());W.registerLanguage("python-repl",AU());W.registerLanguage("q",RU());W.registerLanguage("qml",IU());W.registerLanguage("r",NU());W.registerLanguage("reasonml",DU());W.registerLanguage("rib",wU());W.registerLanguage("roboconf",xU());W.registerLanguage("routeros",LU());W.registerLanguage("rsl",kU());W.registerLanguage("ruleslanguage",MU());W.registerLanguage("rust",PU());W.registerLanguage("sas",BU());W.registerLanguage("scala",UU());W.registerLanguage("scheme",FU());W.registerLanguage("scilab",YU());W.registerLanguage("scss",GU());W.registerLanguage("shell",QU());W.registerLanguage("smali",$U());W.registerLanguage("smalltalk",qU());W.registerLanguage("sml",VU());W.registerLanguage("sqf",HU());W.registerLanguage("sql",zU());W.registerLanguage("stan",WU());W.registerLanguage("stata",XU());W.registerLanguage("step21",ZU());W.registerLanguage("stylus",KU());W.registerLanguage("subunit",jU());W.registerLanguage("swift",JU());W.registerLanguage("taggerscript",eF());W.registerLanguage("yaml",tF());W.registerLanguage("tap",rF());W.registerLanguage("tcl",nF());W.registerLanguage("thrift",iF());W.registerLanguage("tp",aF());W.registerLanguage("twig",sF());W.registerLanguage("typescript",oF());W.registerLanguage("vala",lF());W.registerLanguage("vbnet",cF());W.registerLanguage("vbscript",uF());W.registerLanguage("vbscript-html",dF());W.registerLanguage("verilog",pF());W.registerLanguage("vhdl",fF());W.registerLanguage("vim",hF());W.registerLanguage("wasm",mF());W.registerLanguage("wren",_F());W.registerLanguage("x86asm",gF());W.registerLanguage("xl",SF());W.registerLanguage("xquery",OF());W.registerLanguage("zephir",EF());W.HighlightJS=W;W.default=W;var bF=W,TF=KM.decode,CF=jy,vf=bF,yf='class="',vF=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.pre,r=t===void 0?!1:t,i=e.auto_detection,a=i===void 0?!0:i,s=function(l,u,d){var f={left:"
]*>",right:"
",flags:"g"},m=function(b,v,y,N){v=TF(v);var F=(y.match(/class=\"([^ \"]+)/)||[])[1];if(!F&&!a)return b;if(y.includes(yf)){var X=y.indexOf(yf)+yf.length;y=y.slice(0,X)+"hljs "+y.slice(X)}else y=y.slice(0,-1)+' class="hljs">';return r&&F&&(y=y.replace("
",'
')),F&&vf.getLanguage(F)?y+vf.highlight(v,{language:F}).value+N:y+vf.highlightAuto(v).value+N};return CF.helper.replaceRecursiveRegExp(l,m,f.left,f.right,f.flags)};return[{type:"output",filter:s}]};const yF=Zy(vF),AF=wk;Jy.setFlavor("github");const NT={h1:"text-white lg:text-4xl text-xl lg:ml-4 lg:mx-4 mx-2 lg:my-4 my-2 lg:mb-8 mb-4 bg-neutral-900 rounded-lg py-2 px-2",h2:"text-white lg:text-3xl text-xl lg:ml-4 lg:mx-4 mx-2 lg:my-4 my-2 lg:mb-8 mb-4 bg-neutral-900 rounded-lg py-2 px-2",ul:"text-underline",li:"ml-12 list-disc lg:text-2xl text-base text-white lg:mx-4 mx-2 my-4 lg:pl-4 my-2 leading-normal",p:"lg:text-2xl text-base text-white lg:mx-4 mx-2 my-4 leading-normal",a:"lg:text-2xl text-base text-orange-300",code:"lg:my-4 sm:my-1 text-base lg:text-xl block whitespace-pre overflow-x-hidden",icode:"lg:my-4 my-1 lg:text-xl sm:text-xs text-white font-mono bg-neutral-600",blockquote:"text-neutral-200 border-l-4 border-neutral-500 pl-4 my-4 mx-4",table:"justify-center lg:my-8 my-2 lg:mx-8 mx-2 lg:text-2xl text-base w-full text-left text-white border-collapse",thead:"text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400",th:"",td:"",tr:""},RF=Object.keys(NT).map(n=>({type:"output",regex:new RegExp(`<${n}([^>]*)>`,"g"),replace:(e,t)=>`<${n} class="${NT[n]}" ${t}>`}));class IF{constructor(){R(this,"universes",Ih);R(this,"selected_universe");R(this,"local_index",1);R(this,"editor_mode","local");R(this,"fontSize");R(this,"withLineNumbers");R(this,"vimModeCompartment");R(this,"chosenLanguage");R(this,"currentDocumentationPane","introduction");R(this,"settings",new nk);R(this,"editorExtensions",[]);R(this,"userPlugins",[]);R(this,"state");R(this,"api");R(this,"audioContext");R(this,"view");R(this,"clock");R(this,"manualPlay",!1);R(this,"_mouseX",0);R(this,"_mouseY",0);R(this,"play_buttons",[document.getElementById("play-button-1"),document.getElementById("play-button-2")]);R(this,"pause_buttons",[document.getElementById("pause-button-1"),document.getElementById("pause-button-2")]);R(this,"stop_buttons",[document.getElementById("stop-button-1"),document.getElementById("stop-button-2")]);R(this,"clear_buttons",[document.getElementById("clear-button-1"),document.getElementById("clear-button-2")]);R(this,"documentation_button",document.getElementById("doc-button-1"));R(this,"eval_button",document.getElementById("eval-button-1"));R(this,"local_button",document.getElementById("local-button"));R(this,"global_button",document.getElementById("global-button"));R(this,"init_button",document.getElementById("init-button"));R(this,"note_button",document.getElementById("note-button"));R(this,"settings_button",document.getElementById("settings-button"));R(this,"close_settings_button",document.getElementById("close-settings-button"));R(this,"universe_viewer",document.getElementById("universe-viewer"));R(this,"buffer_modal",document.getElementById("modal-buffers"));R(this,"buffer_search",document.getElementById("buffer-search"));R(this,"local_script_tabs",document.getElementById("local-script-tabs"));R(this,"font_size_slider",document.getElementById("font-size-slider"));R(this,"font_size_witness",document.getElementById("font-size-witness"));R(this,"line_numbers_checkbox",document.getElementById("show-line-numbers"));R(this,"normal_mode_button",document.getElementById("normal-mode"));R(this,"vim_mode_button",document.getElementById("vim-mode"));R(this,"share_button",document.getElementById("share_button"));R(this,"error_line",document.getElementById("error_line"));R(this,"show_error",!1);R(this,"emptyUrl",()=>{window.history.replaceState({},document.title,"/")});R(this,"parseHash",e=>JSON.parse(e));this.selected_universe=this.settings.selected_universe,this.universe_viewer.innerHTML=`Topos: ${this.selected_universe}`,this.universes={...Ih,...this.settings.universes},this.audioContext=new AudioContext({latencyHint:"playback"}),this.clock=new Bk(this,this.audioContext),this.api=new XM(this),this.vimModeCompartment=new Xn,this.withLineNumbers=new Xn,this.chosenLanguage=new Xn,this.fontSize=new Xn;const e=this.settings.vimMode?Fc():[],t=this.settings.line_numbers?rg():[],r=Ae.theme({"&":{fontSize:`${this.settings.font_size}px`},".cm-gutters":{fontSize:`${this.settings.font_size}px`}});this.editorExtensions=[this.withLineNumbers.of(t),this.fontSize.of(r),this.vimModeCompartment.of(e),gk,aw,this.chosenLanguage.of(fh()),Ae.updateListener.of(o=>{})];let i=new Xn;this.state=ut.create({extensions:[...this.editorExtensions,Ae.lineWrapping,i.of(this.userPlugins),Jn.highest(Xi.of([{key:"Ctrl-Enter",run:()=>!0}])),Xi.of([hL])],doc:this.universes[this.selected_universe].locals[this.local_index].candidate}),this.view=new Ae({parent:document.getElementById("editor"),state:this.state}),document.addEventListener("keydown",o=>{o.key==="Tab"&&o.preventDefault(),o.ctrlKey&&o.key==="s"&&(o.preventDefault(),this.setButtonHighlighting("pause",!0),this.clock.pause()),o.ctrlKey&&o.key==="r"&&(o.preventDefault(),this.setButtonHighlighting("stop",!0),this.clock.stop()),o.ctrlKey&&o.key==="p"&&(o.preventDefault(),this.setButtonHighlighting("play",!0),this.clock.start()),(o.key==="v"||o.key==="V")&&o.ctrlKey&&o.shiftKey&&(this.settings.vimMode=!this.settings.vimMode,o.preventDefault(),this.userPlugins=this.settings.vimMode?[]:[Fc()],this.view.dispatch({effects:i.reconfigure(this.userPlugins)})),(o.key==="Enter"||o.key==="Return")&&o.ctrlKey&&(o.preventDefault(),this.currentFile().candidate=this.view.state.doc.toString(),this.flashBackground("#2d313d",200)),(o.key==="Enter"&&o.shiftKey||o.key==="e"&&o.ctrlKey)&&(o.preventDefault(),this.currentFile().candidate=this.view.state.doc.toString(),this.flashBackground("#2d313d",200)),o.ctrlKey&&o.key==="b"&&(this.hideDocumentation(),this.openBuffersModal()),o.shiftKey&&o.key==="Escape"&&this.openSettingsModal(),o.ctrlKey&&o.key==="l"&&(o.preventDefault(),this.changeModeFromInterface("local"),this.hideDocumentation(),this.view.focus()),o.ctrlKey&&o.key==="n"&&(o.preventDefault(),this.changeModeFromInterface("notes"),this.hideDocumentation(),this.view.focus()),o.ctrlKey&&o.key==="g"&&(o.preventDefault(),this.changeModeFromInterface("global"),this.hideDocumentation(),this.view.focus()),o.ctrlKey&&o.key==="i"&&(o.preventDefault(),this.changeModeFromInterface("init"),this.hideDocumentation(),this.changeToLocalBuffer(0),this.view.focus()),o.ctrlKey&&o.key==="d"&&(o.preventDefault(),this.showDocumentation()),[112,113,114,115,116,117,118,119,120].forEach((l,u)=>{o.keyCode===l&&(o.preventDefault(),o.ctrlKey?this.api.script(l-111):(this.changeModeFromInterface("local"),this.changeToLocalBuffer(u),this.hideDocumentation()))}),o.keyCode==121&&(this.changeModeFromInterface("global"),this.hideDocumentation()),o.keyCode==122&&(this.changeModeFromInterface("init"),this.hideDocumentation())});const a=document.querySelectorAll('[id^="tab-"]');for(let o=0;o{a[o].classList.add("bg-orange-300");for(let f=0;f{o.addEventListener("click",()=>{this.setButtonHighlighting("play",!0),this.clock.start()})}),this.clear_buttons.forEach(o=>{o.addEventListener("click",()=>{this.setButtonHighlighting("clear",!0),confirm("Do you want to reset the current universe?")&&(this.universes[this.selected_universe]=PS,this.updateEditorView())})}),this.documentation_button.addEventListener("click",()=>{this.showDocumentation()}),this.eval_button.addEventListener("click",()=>{this.currentFile().candidate=this.view.state.doc.toString(),this.flashBackground("#2d313d",200)}),this.pause_buttons.forEach(o=>{o.addEventListener("click",()=>{this.setButtonHighlighting("pause",!0),this.clock.pause()})}),this.stop_buttons.forEach(o=>{o.addEventListener("click",()=>{this.setButtonHighlighting("stop",!0),this.clock.stop()})}),this.local_button.addEventListener("click",()=>this.changeModeFromInterface("local")),this.global_button.addEventListener("click",()=>this.changeModeFromInterface("global")),this.init_button.addEventListener("click",()=>this.changeModeFromInterface("init")),this.note_button.addEventListener("click",()=>this.changeModeFromInterface("notes")),this.settings_button.addEventListener("click",()=>{var u;this.font_size_slider.value=this.settings.font_size.toString(),this.font_size_witness.innerHTML=`Font Size: ${this.settings.font_size}px`,(u=this.font_size_witness)==null||u.setAttribute("style",`font-size: ${this.settings.font_size}px;`),this.line_numbers_checkbox.checked=this.settings.line_numbers;let o=document.getElementById("modal-settings"),l=document.getElementById("editor");o==null||o.classList.remove("invisible"),l==null||l.classList.add("invisible")}),this.close_settings_button.addEventListener("click",()=>{let o=document.getElementById("modal-settings"),l=document.getElementById("editor");o==null||o.classList.add("invisible"),l==null||l.classList.remove("invisible")}),this.font_size_slider.addEventListener("input",()=>{const o=this.font_size_slider.value;this.settings.font_size=parseInt(o),this.font_size_witness.style.fontSize=`${o}px`,this.font_size_witness.innerHTML=`Font Size: ${o}px`;let l=Ae.theme({"&":{fontSize:o+"px"},".cm-gutters":{fontSize:o+"px"}});this.view.dispatch({effects:this.fontSize.reconfigure(l)}),this.settings.font_size=parseInt(o)}),this.share_button.addEventListener("click",()=>{this.share_button.classList.add("animate-spin"),setInterval(()=>this.share_button.classList.remove("animate-spin"),1e3),this.currentFile().candidate=dr.view.state.doc.toString(),this.currentFile().committed=dr.view.state.doc.toString(),this.settings.saveApplicationToLocalStorage(dr.universes,dr.settings),this.share()}),this.normal_mode_button.addEventListener("click",()=>{this.settings.vimMode=!1,this.view.dispatch({effects:this.vimModeCompartment.reconfigure([])})}),this.line_numbers_checkbox.addEventListener("change",()=>{let o=!!this.line_numbers_checkbox.checked;this.settings.line_numbers=o,this.view.dispatch({effects:this.withLineNumbers.reconfigure(o?[rg()]:[])})}),this.vim_mode_button.addEventListener("click",()=>{this.settings.vimMode=!0,this.view.dispatch({effects:this.vimModeCompartment.reconfigure(Fc())})}),this.buffer_search.addEventListener("keydown",o=>{if(o.key==="Enter"){let l=this.buffer_search.value;l.length>2&&l.length<20&&(this.loadUniverse(l),this.settings.selected_universe=l,this.buffer_search.value="",this.closeBuffersModal(),this.view.focus())}}),vl(this,this.universes[this.selected_universe.toString()].init),["introduction","interface","code","time","sound","samples","synths","midi","functions","reference","shortcuts","about"].forEach(o=>{let l="docs_"+o;document.getElementById(l).addEventListener("click",()=>{this.currentDocumentationPane=o,this.updateDocumentationContent()})}),Object.entries(this.api).forEach(([o,l])=>{globalThis[o]=l});let s=new URLSearchParams(window.location.search);if(s!==void 0){let o;if(s!==null){const l=s.get("universe");if(l!==null){o=JSON.parse(atob(l));const u=CA({dictionaries:[vA,AA,yA]});this.loadUniverse(u,o.universe),this.emptyUrl()}}}}get note_buffer(){return this.universes[this.selected_universe.toString()].notes}get global_buffer(){return this.universes[this.selected_universe.toString()].global}get init_buffer(){return this.universes[this.selected_universe.toString()].init}get local_buffer(){return this.universes[this.selected_universe.toString()].locals[this.local_index]}share(){const e=btoa(JSON.stringify({universe:this.settings.universes[this.selected_universe]})),t=new URL(window.location.href);t.searchParams.set("universe",e),window.history.replaceState({},"",t.toString()),navigator.clipboard.writeText(t.toString())}showDocumentation(){var e,t,r,i,a;(e=document.getElementById("app"))!=null&&e.classList.contains("hidden")?((t=document.getElementById("app"))==null||t.classList.remove("hidden"),(r=document.getElementById("documentation"))==null||r.classList.add("hidden")):((i=document.getElementById("app"))==null||i.classList.add("hidden"),(a=document.getElementById("documentation"))==null||a.classList.remove("hidden"),this.updateDocumentationContent())}hideDocumentation(){var e,t,r;(e=document.getElementById("app"))!=null&&e.classList.contains("hidden")&&((t=document.getElementById("app"))==null||t.classList.remove("hidden"),(r=document.getElementById("documentation"))==null||r.classList.add("hidden"))}updateDocumentationContent(){const t=new Jy.Converter({emoji:!0,moreStyling:!0,extensions:[yF({auto_detection:!0}),...RF]}).makeHtml(AF[this.currentDocumentationPane]);function r(i){let a=i.replace(//g,"
");return a=a.replace(/<\/code>/g,"
"),a}document.getElementById("documentation-content").innerHTML=r(t)}changeToLocalBuffer(e){const t=document.querySelectorAll('[id^="tab-"]'),r=t[e];r.classList.add("bg-orange-300");for(let a=0;a{t.forEach(a=>{let s=a.children[0];s.classList.contains("text-orange-300")&&(s.classList.remove("text-orange-300"),a.classList.remove("text-orange-300"))}),i.children[0].classList.remove("text-white"),i.children[0].classList.add("text-orange-300"),i.classList.add("text-orange-300")};switch(e){case"local":this.local_script_tabs.classList.contains("hidden")&&this.local_script_tabs.classList.remove("hidden"),this.editor_mode="local",this.local_index=0,this.changeToLocalBuffer(this.local_index),r(this.local_button);break;case"global":this.local_script_tabs.classList.contains("hidden")||this.local_script_tabs.classList.add("hidden"),this.editor_mode="global",r(this.global_button);break;case"init":this.local_script_tabs.classList.contains("hidden")||this.local_script_tabs.classList.add("hidden"),this.editor_mode="init",r(this.init_button);break;case"notes":this.local_script_tabs.classList.contains("hidden")||this.local_script_tabs.classList.add("hidden"),this.editor_mode="notes",r(this.note_button);break}this.view.dispatch({effects:this.chosenLanguage.reconfigure(this.editor_mode=="notes"?[ax()]:[fh()])}),this.updateEditorView()}setButtonHighlighting(e,t){this.flashBackground("#2d313d",200);const r=['[id^="play-button-"]','[id^="pause-button-"]','[id^="clear-button-"]','[id^="stop-button-"]'];let i;switch(e){case"play":i=0;break;case"pause":i=1;break;case"clear":i=2;break;case"stop":i=3;break}document.querySelectorAll(r[i]).forEach(a=>{t&&a.children[0].classList.add("fill-orange-300"),t&&a.children[0].classList.add("animate-pulse")}),document.querySelectorAll(r.filter((a,s)=>s!=i).join(",")).forEach(a=>{a.children[0].classList.remove("fill-orange-300"),a.children[0].classList.remove("text-orange-300"),a.children[0].classList.remove("bg-orange-300"),a.children[0].classList.remove("animate-pulse")})}unfocusPlayButtons(){document.querySelectorAll('[id^="play-button-"]').forEach(e=>{e.children[0].classList.remove("fill-orange-300"),e.children[0].classList.remove("animate-pulse")})}updateEditorView(){this.view.dispatch({changes:{from:0,to:this.view.state.doc.toString().length,insert:this.currentFile().candidate}})}currentFile(){switch(this.editor_mode){case"global":return this.global_buffer;case"local":return this.local_buffer;case"init":return this.init_buffer;case"notes":return this.note_buffer}}loadUniverse(e,t=PS){console.log(e,t),this.currentFile().candidate=this.view.state.doc.toString();let r=e.trim();this.universes[r]===void 0&&(this.settings.universes[r]=t,this.universes[r]=t),this.selected_universe=r,this.settings.selected_universe=this.selected_universe,this.universe_viewer.innerHTML=`Topos: ${r}`,this.updateEditorView(),vl(this,this.universes[this.selected_universe.toString()].init)}openSettingsModal(){document.getElementById("modal-settings").classList.contains("invisible")?(document.getElementById("editor").classList.add("invisible"),document.getElementById("modal-settings").classList.remove("invisible")):this.closeSettingsModal()}closeSettingsModal(){document.getElementById("editor").classList.remove("invisible"),document.getElementById("modal-settings").classList.add("invisible")}openBuffersModal(){document.getElementById("modal-buffers").classList.contains("invisible")?(document.getElementById("editor").classList.add("invisible"),document.getElementById("modal-buffers").classList.remove("invisible"),document.getElementById("buffer-search").focus()):this.closeBuffersModal()}closeBuffersModal(){document.getElementById("buffer-search").value="",document.getElementById("editor").classList.remove("invisible"),document.getElementById("modal").classList.add("invisible"),document.getElementById("modal-buffers").classList.add("invisible")}flashBackground(e,t){this.view.dom.style.backgroundColor=e;const r=this.view.dom.getElementsByClassName("cm-gutter");Array.from(r).forEach(i=>i.style.backgroundColor=e),setTimeout(()=>{this.view.dom.style.backgroundColor="",Array.from(r).forEach(i=>i.style.backgroundColor="")},t)}}const dr=new IF;function kl(){document.getElementById("editor").classList.remove("invisible"),document.getElementById("modal").classList.add("hidden"),document.getElementById("modal-container").classList.remove("motion-safe:animate-pulse"),document.getElementById("start-button").removeEventListener("click",kl),document.removeEventListener("click",kl),document.removeEventListener("keydown",pA),document.removeEventListener("click",fA),dr.clock.start(),dr.view.focus(),dr.setButtonHighlighting("play",!0)}function pA(n){(n.code==="Enter"||n.code==="Space")&&kl()}function fA(n){n.button===0&&kl()}document.addEventListener("keydown",pA);document.addEventListener("click",fA);function NF(n){dr._mouseX=n.clientX,dr._mouseY=n.clientY}window.addEventListener("mousemove",NF);window.addEventListener("beforeunload",()=>(event.preventDefault(),dr.currentFile().candidate=dr.view.state.doc.toString(),dr.currentFile().committed=dr.view.state.doc.toString(),dr.settings.saveApplicationToLocalStorage(dr.universes,dr.settings),dr.clock.stop(),null)); diff --git a/assets/index-c4e7c453.css b/assets/index-c4e7c453.css deleted file mode 100644 index c50c960..0000000 --- a/assets/index-c4e7c453.css +++ /dev/null @@ -1 +0,0 @@ -.hljs{display:block;overflow-x:auto;padding:.5em;background:#F0F0F0}.hljs,.hljs-subst{color:#444}.hljs-comment{color:#888}.hljs-keyword,.hljs-attribute,.hljs-selector-tag,.hljs-meta-keyword,.hljs-doctag,.hljs-name{font-weight:700}.hljs-type,.hljs-string,.hljs-number,.hljs-selector-id,.hljs-selector-class,.hljs-quote,.hljs-template-tag,.hljs-deletion{color:#800}.hljs-title,.hljs-section{color:#800;font-weight:700}.hljs-regexp,.hljs-symbol,.hljs-variable,.hljs-template-variable,.hljs-link,.hljs-selector-attr,.hljs-selector-pseudo{color:#bc6060}.hljs-literal{color:#78a960}.hljs-built_in,.hljs-bullet,.hljs-code,.hljs-addition{color:#397300}.hljs-meta{color:#1f7199}.hljs-meta-string{color:#4d99bf}.mx-16{margin-left:4rem;margin-right:4rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mb-8{margin-bottom:2rem}.mr-5{margin-right:1.25rem}.mt-8{margin-top:2rem}.h-full{height:100%}.w-60{width:15rem}.flex-grow,.grow{flex-grow:1}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}.p-8{padding:2rem}.px-12{padding-left:3rem;padding-right:3rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.pb-96{padding-bottom:24rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}@media (prefers-color-scheme: dark){.dark\:border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}.dark\:border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.dark\:border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.dark\:bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.dark\:bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\:text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}.dark\:text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.dark\:text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.dark\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\:ring-offset-gray-800{--tw-ring-offset-color: #1f2937}.dark\:hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\:focus\:ring-blue-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(37 99 235 / var(--tw-ring-opacity))}}@media (min-width: 1024px){.lg\:w-1\/5{width:20%}.lg\:w-4\/5{width:80%}.lg\:flex-row{flex-direction:row}.lg\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.hljs{display:block;overflow-x:auto;padding:.5em;background:#2E3440}.hljs,.hljs-subst{color:#d8dee9}.hljs-selector-tag{color:#81a1c1}.hljs-selector-id{color:#8fbcbb;font-weight:700}.hljs-selector-class,.hljs-selector-attr{color:#8fbcbb}.hljs-selector-pseudo{color:#88c0d0}.hljs-addition{background-color:#a3be8c80}.hljs-deletion{background-color:#bf616a80}.hljs-built_in,.hljs-type,.hljs-class{color:#8fbcbb}.hljs-function{color:#88c0d0}.hljs-function>.hljs-title{color:#88c0d0}.hljs-keyword,.hljs-literal,.hljs-symbol{color:#81a1c1}.hljs-number{color:#b48ead}.hljs-regexp{color:#ebcb8b}.hljs-string{color:#a3be8c}.hljs-title{color:#8fbcbb}.hljs-params{color:#d8dee9}.hljs-bullet{color:#81a1c1}.hljs-code{color:#8fbcbb}.hljs-emphasis{font-style:italic}.hljs-formula{color:#8fbcbb}.hljs-strong{font-weight:700}.hljs-link:hover{text-decoration:underline}.hljs-quote,.hljs-comment{color:#4c566a}.hljs-doctag{color:#8fbcbb}.hljs-meta,.hljs-meta-keyword{color:#5e81ac}.hljs-meta-string{color:#a3be8c}.hljs-attr{color:#8fbcbb}.hljs-attribute{color:#d8dee9}.hljs-builtin-name,.hljs-name{color:#81a1c1}.hljs-section{color:#88c0d0}.hljs-tag{color:#81a1c1}.hljs-variable,.hljs-template-variable{color:#d8dee9}.hljs-template-tag{color:#5e81ac}.abnf .hljs-attribute{color:#88c0d0}.abnf .hljs-symbol{color:#ebcb8b}.apache .hljs-attribute{color:#88c0d0}.apache .hljs-section{color:#81a1c1}.arduino .hljs-built_in{color:#88c0d0}.aspectj .hljs-meta{color:#d08770}.aspectj>.hljs-title{color:#88c0d0}.bnf .hljs-attribute{color:#8fbcbb}.clojure .hljs-name{color:#88c0d0}.clojure .hljs-symbol{color:#ebcb8b}.coq .hljs-built_in{color:#88c0d0}.cpp .hljs-meta-string{color:#8fbcbb}.css .hljs-built_in{color:#88c0d0}.css .hljs-keyword{color:#d08770}.diff .hljs-meta,.ebnf .hljs-attribute{color:#8fbcbb}.glsl .hljs-built_in{color:#88c0d0}.groovy .hljs-meta:not(:first-child){color:#d08770}.haxe .hljs-meta,.java .hljs-meta{color:#d08770}.ldif .hljs-attribute{color:#8fbcbb}.lisp .hljs-name,.lua .hljs-built_in,.moonscript .hljs-built_in,.nginx .hljs-attribute{color:#88c0d0}.nginx .hljs-section{color:#5e81ac}.pf .hljs-built_in,.processing .hljs-built_in{color:#88c0d0}.scss .hljs-keyword,.stylus .hljs-keyword{color:#81a1c1}.swift .hljs-meta{color:#d08770}.vim .hljs-built_in{color:#88c0d0;font-style:italic}.yaml .hljs-meta{color:#d08770}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-2\.5{bottom:.625rem}.left-0{left:0}.right-0{right:0}.right-2{right:.5rem}.right-2\.5{right:.625rem}.top-0{top:0}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-48{margin-left:12rem;margin-right:12rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-48{margin-top:12rem;margin-bottom:12rem}.mb-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-12{margin-left:3rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.mr-2{margin-right:.5rem}.mt-12{margin-top:3rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-2{height:.5rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-fit{height:-moz-fit-content;height:fit-content}.h-screen{height:100vh}.max-h-fit{max-height:-moz-fit-content;max-height:fit-content}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-2\/5{width:40%}.w-3\/5{width:60%}.w-4{width:1rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.max-w-sm{max-width:24rem}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.border-spacing-y-4{--tw-border-spacing-y: 1rem;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.items-center{align-items:center}.justify-center{justify-content:center}.space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.whitespace-pre{white-space:pre}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.border-neutral-500{--tw-border-opacity: 1;border-color:rgb(115 115 115 / var(--tw-border-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.bg-neutral-600{--tw-bg-opacity: 1;background-color:rgb(82 82 82 / var(--tw-bg-opacity))}.bg-neutral-800{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.bg-neutral-900{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity))}.bg-orange-300{--tw-bg-opacity: 1;background-color:rgb(253 186 116 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-opacity-50{--tw-bg-opacity: .5}.fill-orange-300{fill:#fdba74}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-16{padding-left:4rem;padding-right:4rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-32{padding-bottom:8rem}.pb-4{padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pr-2{padding-right:.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-normal{line-height:1.5}.tracking-tight{letter-spacing:-.025em}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-neutral-200{--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity))}.text-orange-300{--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0px}.ring-offset-gray-800{--tw-ring-offset-color: #1f2937}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.hover\:bg-neutral-800:hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity))}.focus\:ring-blue-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(37 99 235 / var(--tw-ring-opacity))}:is([dir=rtl] .rtl\:border-l){border-left-width:1px}:is([dir=rtl] .rtl\:border-r-0){border-right-width:0px}@media (prefers-reduced-motion: no-preference){@keyframes pulse{50%{opacity:.5}}.motion-safe\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}}@media (prefers-color-scheme: dark){.dark\:border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}.dark\:border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.dark\:border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.dark\:border-neutral-700{--tw-border-opacity: 1;border-color:rgb(64 64 64 / var(--tw-border-opacity))}.dark\:bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.dark\:bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}.dark\:text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.dark\:text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.dark\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\:ring-offset-gray-800{--tw-ring-offset-color: #1f2937}.dark\:focus\:ring-blue-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(37 99 235 / var(--tw-ring-opacity))}}@media (min-width: 640px){.sm\:my-1{margin-top:.25rem;margin-bottom:.25rem}.sm\:hidden{display:none}.sm\:pb-2{padding-bottom:.5rem}.sm\:pt-2{padding-top:.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width: 1024px){.lg\:mx-16{margin-left:4rem;margin-right:4rem}.lg\:mx-4{margin-left:1rem;margin-right:1rem}.lg\:mx-8{margin-left:2rem;margin-right:2rem}.lg\:my-4{margin-top:1rem;margin-bottom:1rem}.lg\:my-8{margin-top:2rem;margin-bottom:2rem}.lg\:mb-8{margin-bottom:2rem}.lg\:ml-4{margin-left:1rem}.lg\:block{display:block}.lg\:w-1\/5{width:20%}.lg\:w-4\/5{width:80%}.lg\:flex-row{flex-direction:row}.lg\:flex-col{flex-direction:column}.lg\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.lg\:p-6{padding:1.5rem}.lg\:p-8{padding:2rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:px-2{padding-left:.5rem;padding-right:.5rem}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:py-1{padding-top:.25rem;padding-bottom:.25rem}.lg\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.lg\:py-12{padding-top:3rem;padding-bottom:3rem}.lg\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.lg\:pl-4{padding-left:1rem}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1280px){.xl\:block{display:block}.xl\:hidden{display:none}}@media (orientation: portrait){.portrait\:flex-col{flex-direction:column}.portrait\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}}@media (orientation: landscape){.landscape\:flex-row{flex-direction:row}.landscape\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.landscape\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}}@media (min-width: 640px){@media (orientation: landscape){.sm\:landscape\:hidden{display:none}}} diff --git a/index.html b/index.html index 4826996..aa624cc 100644 --- a/index.html +++ b/index.html @@ -6,8 +6,8 @@ Topos - - + +