@fnndsc/argus 0.45.0 → 0.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/assets/{Settings-Cc5lCv3O.js → Settings-zroG5v-C.js} +1 -1
  2. package/dist/assets/{Texture-B157rLuy.js → Texture-BH3G5drd.js} +1 -1
  3. package/dist/assets/{addVolumesToViewports-CrkezNA_.js → addVolumesToViewports-CI-Z_EFJ.js} +1 -1
  4. package/dist/assets/{asciidoc-BTHUh6YB.js → asciidoc-sSdJm0Es.js} +1 -1
  5. package/dist/assets/{cornerstoneEngine-PEP4UIJ7.js → cornerstoneEngine-CceJDY0T.js} +2 -2
  6. package/dist/assets/{documentEngines-CCoYPxPZ.js → documentEngines-BHH8CEr5.js} +1 -1
  7. package/dist/assets/{field-BKHyiJnc.js → field-mqO8YD7P.js} +1 -1
  8. package/dist/assets/{index-DRCPd-p9.js → index-BEIo56dr.js} +1 -1
  9. package/dist/assets/{index-nVrqO_1B.js → index-BpoNXxka.js} +1 -1
  10. package/dist/assets/{index-D3hO2zdO.js → index-Bt2YNJwH.js} +1 -1
  11. package/dist/assets/{index-tAIm7_30.js → index-CAWJUBIm.js} +1 -1
  12. package/dist/assets/{index-CyvB3PsH.css → index-CK7NS1_v.css} +1 -1
  13. package/dist/assets/{index-CnXoUzHG.js → index-CXo-sr5Z.js} +1 -1
  14. package/dist/assets/{index-5tdg5ONM.js → index-CrkUUvtp.js} +1 -1
  15. package/dist/assets/{index-DtiTE7yb.js → index-CxdNGKra.js} +1 -1
  16. package/dist/assets/{index-B556a1Up.js → index-DkWC6Uoy.js} +1 -1
  17. package/dist/assets/{index-BmKitoqU.js → index-DmnxIj-o.js} +1 -1
  18. package/dist/assets/{index-BcJvzcDh.js → index-HMFNHEp3.js} +1 -1
  19. package/dist/assets/index-JZcFnVLl.js +4408 -0
  20. package/dist/assets/{index-CTPSv9v3.js → index-goWzVI34.js} +1 -1
  21. package/dist/assets/{index-BkhlBeUL.js → index-mPREgKqk.js} +1 -1
  22. package/dist/assets/{index-mz7dxXsI.js → index-pmQVGTwq.js} +1 -1
  23. package/dist/assets/{niivueEngine-BCKasqoA.js → niivueEngine-Djxx4eAe.js} +2 -2
  24. package/dist/assets/{slabScene-BczGoxx5.js → slabScene-ZcFdtKAq.js} +1 -1
  25. package/dist/assets/{syntax-CGla7mM6.js → syntax-6JMrtt_T.js} +3 -3
  26. package/dist/build.json +1 -1
  27. package/dist/index.html +2 -2
  28. package/dist/notes.json +1 -1
  29. package/package.json +2 -2
  30. package/dist/assets/index-CEJn4PwZ.js +0 -4400
@@ -1,4 +1,4 @@
1
- import{_ as St}from"./index-CEJn4PwZ.js";function An(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Re=An();function zo(r){Re=r}var ye={exec:()=>null};function je(r){let t=[];return e=>{let i=Math.max(0,Math.min(3,e-1)),s=t[i];return s||(s=r(i),t[i]=s),s}}function P(r,t=""){let e=typeof r=="string"?r:r.source,i={replace:(s,n)=>{let o=typeof n=="string"?n:n.source;return o=o.replace(ut.caret,"$1"),e=e.replace(s,o),i},getRegex:()=>new RegExp(e,t)};return i}var ll=((r="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+r)}catch{return!1}})(),ut={codeRemoveIndent:/^(?: {0,3}\t| {1,4})/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,endingSpaceTabChar:/[ \t]$/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,leadingSpaceTab:/^[ \t]+/,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,numericCharacterReference:/&#(?:(\d{1,7})|[Xx]([A-Fa-f0-9]{1,6}));/,numericCharacterReferenceOrAmpersand:/&#(?:(\d{1,7})|[Xx]([A-Fa-f0-9]{1,6}));|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:r=>new RegExp(`^( {0,3}${r})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:je(r=>new RegExp(`^ {0,${r}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:je(r=>new RegExp(`^ {0,${r}}((?:-[ ]*){3,}|(?:_[ ]*){3,}|(?:\\*[ ]*){3,})(?:\\n+|$)`)),fencesBeginRegex:je(r=>new RegExp(`^ {0,${r}}(?:\`\`\`|~~~)`)),headingBeginRegex:je(r=>new RegExp(`^ {0,${r}}#`)),htmlBeginRegex:je(r=>new RegExp(`^ {0,${r}}(?:</?(?:${_i})(?: +|$|/?>)|<(?:(?:script|pre|style|textarea)(?:[\\s>]|$)|!--)|<\\?|<![A-Za-z]|<!\\[CDATA\\[)`,"i")),blockquoteBeginRegex:je(r=>new RegExp(`^ {0,${r}}>`))},cl=/^(?:[ \t]*(?:\n|$))+/,ul=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,hl=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,$i=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,fl=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,vn=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,jo=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |fences|blockquote|heading|hr|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Bo=P(jo).replace(/bull/g,vn).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/hr/g,/ {0,3}(?:(?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),pl=P(jo).replace(/bull/g,vn).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/hr/g,/ {0,3}(?:(?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Sn=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,dl=/^[^\n]+/,Tn=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,ml=P(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Tn).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),gl=P(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,vn).getRegex(),_i="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Ln=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,bl=P("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!(?:script|pre|style|textarea)(?![a-z0-9-]))([a-z][a-z0-9-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</[a-z][a-z0-9-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Ln).replace("tag",_i).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Wo=r=>P(Sn).replace("hr",$i).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list",r).replace("html"," {0,3}(?:</?(?:tag)(?: +|\\n|/?>)|<(?:(?:script|pre|style|textarea)(?:[\\s>]|$)|!--)|<\\?|<![A-Za-z]|<!\\[CDATA\\[)").replace("tag",_i).getRegex(),$l=Wo(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),_l=Wo(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),yl=P(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",_l).getRegex(),En={blockquote:yl,code:ul,def:ml,fences:hl,heading:fl,hr:$i,html:bl,lheading:Bo,list:gl,newline:cl,paragraph:$l,table:ye,text:dl},Sr=P("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",$i).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html"," {0,3}(?:</?(?:tag)(?: +|\\n|/?>)|<(?:(?:script|pre|style|textarea)(?:[\\s>]|$)|!--)|<\\?|<![A-Za-z]|<!\\[CDATA\\[)").replace("tag",_i).getRegex(),wl={...En,lheading:pl,table:Sr,paragraph:P(Sn).replace("hr",$i).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Sr).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html"," {0,3}(?:</?(?:tag)(?: +|\\n|/?>)|<(?:(?:script|pre|style|textarea)(?:[\\s>]|$)|!--)|<\\?|<![A-Za-z]|<!\\[CDATA\\[)").replace("tag",_i).getRegex()},kl={...En,html:P(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Ln).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:ye,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:P(Sn).replace("hr",$i).replace("heading",` *#{1,6} *[^
1
+ import{_ as St}from"./index-JZcFnVLl.js";function An(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Re=An();function zo(r){Re=r}var ye={exec:()=>null};function je(r){let t=[];return e=>{let i=Math.max(0,Math.min(3,e-1)),s=t[i];return s||(s=r(i),t[i]=s),s}}function P(r,t=""){let e=typeof r=="string"?r:r.source,i={replace:(s,n)=>{let o=typeof n=="string"?n:n.source;return o=o.replace(ut.caret,"$1"),e=e.replace(s,o),i},getRegex:()=>new RegExp(e,t)};return i}var ll=((r="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+r)}catch{return!1}})(),ut={codeRemoveIndent:/^(?: {0,3}\t| {1,4})/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,endingSpaceTabChar:/[ \t]$/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,leadingSpaceTab:/^[ \t]+/,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,numericCharacterReference:/&#(?:(\d{1,7})|[Xx]([A-Fa-f0-9]{1,6}));/,numericCharacterReferenceOrAmpersand:/&#(?:(\d{1,7})|[Xx]([A-Fa-f0-9]{1,6}));|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:r=>new RegExp(`^( {0,3}${r})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:je(r=>new RegExp(`^ {0,${r}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:je(r=>new RegExp(`^ {0,${r}}((?:-[ ]*){3,}|(?:_[ ]*){3,}|(?:\\*[ ]*){3,})(?:\\n+|$)`)),fencesBeginRegex:je(r=>new RegExp(`^ {0,${r}}(?:\`\`\`|~~~)`)),headingBeginRegex:je(r=>new RegExp(`^ {0,${r}}#`)),htmlBeginRegex:je(r=>new RegExp(`^ {0,${r}}(?:</?(?:${_i})(?: +|$|/?>)|<(?:(?:script|pre|style|textarea)(?:[\\s>]|$)|!--)|<\\?|<![A-Za-z]|<!\\[CDATA\\[)`,"i")),blockquoteBeginRegex:je(r=>new RegExp(`^ {0,${r}}>`))},cl=/^(?:[ \t]*(?:\n|$))+/,ul=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,hl=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,$i=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,fl=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,vn=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,jo=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |fences|blockquote|heading|hr|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Bo=P(jo).replace(/bull/g,vn).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/hr/g,/ {0,3}(?:(?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),pl=P(jo).replace(/bull/g,vn).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/hr/g,/ {0,3}(?:(?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Sn=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,dl=/^[^\n]+/,Tn=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,ml=P(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Tn).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),gl=P(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,vn).getRegex(),_i="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Ln=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,bl=P("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!(?:script|pre|style|textarea)(?![a-z0-9-]))([a-z][a-z0-9-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</[a-z][a-z0-9-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Ln).replace("tag",_i).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Wo=r=>P(Sn).replace("hr",$i).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list",r).replace("html"," {0,3}(?:</?(?:tag)(?: +|\\n|/?>)|<(?:(?:script|pre|style|textarea)(?:[\\s>]|$)|!--)|<\\?|<![A-Za-z]|<!\\[CDATA\\[)").replace("tag",_i).getRegex(),$l=Wo(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),_l=Wo(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),yl=P(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",_l).getRegex(),En={blockquote:yl,code:ul,def:ml,fences:hl,heading:fl,hr:$i,html:bl,lheading:Bo,list:gl,newline:cl,paragraph:$l,table:ye,text:dl},Sr=P("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",$i).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html"," {0,3}(?:</?(?:tag)(?: +|\\n|/?>)|<(?:(?:script|pre|style|textarea)(?:[\\s>]|$)|!--)|<\\?|<![A-Za-z]|<!\\[CDATA\\[)").replace("tag",_i).getRegex(),wl={...En,lheading:pl,table:Sr,paragraph:P(Sn).replace("hr",$i).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Sr).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html"," {0,3}(?:</?(?:tag)(?: +|\\n|/?>)|<(?:(?:script|pre|style|textarea)(?:[\\s>]|$)|!--)|<\\?|<![A-Za-z]|<!\\[CDATA\\[)").replace("tag",_i).getRegex()},kl={...En,html:P(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Ln).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:ye,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:P(Sn).replace("hr",$i).replace("heading",` *#{1,6} *[^
2
2
  ]`).replace("lheading",Bo).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},xl=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Al=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Uo=/^( {2,}|\\)\n(?!\s*$)[ \t]*/,vl=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,qt=/[\p{P}\p{S}]/u,Ve=/[\s\p{P}\p{S}]/u,yi=/[^\s\p{P}\p{S}]/u,Sl=P(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Ve).getRegex(),Tl=/[\p{Pi}\p{Ps}"']/u,Fo=/(?!~)[\p{P}\p{S}]/u,Ll=/(?!~)[\s\p{P}\p{S}]/u,El=/(?:[^\s\p{P}\p{S}]|~)/u,Rl=P(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",ll?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),qo=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Il=P(qo,"u").replace(/punct/g,qt).getRegex(),Ol=P(qo,"u").replace(/punct/g,Fo).getRegex(),Cl=/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,Dl=P(Cl,"u").replace(/openQuote/g,Tl).replace(/punct/g,qt).getRegex(),Ho="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Ml=P(Ho,"gu").replace(/notPunctSpace/g,yi).replace(/punctSpace/g,Ve).replace(/punct/g,qt).getRegex(),Pl=P(Ho,"gu").replace(/notPunctSpace/g,El).replace(/punctSpace/g,Ll).replace(/punct/g,Fo).getRegex(),Nl="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)",zl=P(Nl,"gu").replace(/notPunctSpace/g,yi).replace(/punctSpace/g,Ve).replace(/punct/g,qt).getRegex(),jl=P("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,yi).replace(/punctSpace/g,Ve).replace(/punct/g,qt).getRegex(),Bl="^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)",Wl=P(Bl,"gu").replace(/notPunctSpace/g,yi).replace(/punctSpace/g,Ve).replace(/punct/g,qt).getRegex(),Ul=P(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,qt).getRegex(),Fl="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",ql=P(Fl,"gu").replace(/notPunctSpace/g,yi).replace(/punctSpace/g,Ve).replace(/punct/g,qt).getRegex(),Hl=P(/\\(punct)/,"gu").replace(/punct/g,qt).getRegex(),Vl=P(/(`+)(?:[^`]|[^`][\s\S]*?[^`])\1(?!`)|`+|\\(punct)/,"gu").replace(/punct/g,qt).getRegex(),Gl=P(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Yl=P(Ln).replace("(?:-->|$)","-->").getRegex(),Xl=P("^comment|^</[a-zA-Z][a-zA-Z0-9-]*\\s*>|^<[a-zA-Z][a-zA-Z0-9-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Yl).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Vo=/\[(?:\\[\s\S]|[^\[\]\\])*\]/,Gi=P(/(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/).replace("brackets",Vo).getRegex(),Ql=P(/^!?\[(label)\]\([ \t\n]*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?[ \t\n]*\)/).replace("label",Gi).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Kl=P(/^!?\[(label)\]\[(ref)\]/).replace("label",Gi).replace("ref",Tn).getRegex(),Zl=P(/^!?\[(ref)\](?:\[\])?/).replace("ref",Tn).getRegex(),Tr=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\]){1,999}/,Jl=P(/(?:[^\[\]\\`]*(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\]))){0,999}?[^\[\]\\`]*?/).replace("brackets",Vo).getRegex(),tc=P("reflink|nolink(?!\\()","g").replace("reflink",P(/^!?\[(label)\]\[(ref)\]/).replace("label",Jl).replace("ref",Tr).getRegex()).replace("nolink",P(/^!?\[(ref)\](?:\[\])?/).replace("ref",Tr).getRegex()).getRegex(),Lr=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,ec=/[A-Za-z0-9._+-]+@[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/,ic=P(/(?:mailto:email|xmpp:email(?:\/[A-Za-z0-9@.]+)?)/).replace(/email/g,ec).getRegex(),Rn={_backpedal:ye,anyPunctuation:Hl,anyPunctuationOutsideCode:Vl,autolink:Gl,blockSkip:Rl,br:Uo,code:Al,del:ye,delLDelim:ye,delRDelim:ye,emStrongLDelim:Il,emStrongRDelimAst:Ml,emStrongRDelimUnd:jl,escape:xl,link:Ql,nolink:Zl,punctuation:Sl,reflink:Kl,reflinkSearch:tc,tag:Xl,text:vl,url:ye},sc={...Rn,emStrongLDelim:Dl,emStrongRDelimAst:zl,emStrongRDelimUnd:Wl,link:P(/^!?\[(label)\]\((.*?)\)/).replace("label",Gi).getRegex(),reflink:P(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Gi).getRegex()},nn={...Rn,emStrongRDelimAst:Pl,emStrongLDelim:Ol,delLDelim:Ul,delRDelim:ql,url:P(/^emailProtocol|^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("emailProtocol",ic).replace("protocol",Lr).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:P(/^(?:[^a-zA-Z0-9](?=emailProtocol)|(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9](?=emailProtocol)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))))/).replace("protocol",Lr).replace(/emailProtocol/g,/(?:mailto|xmpp):/).getRegex()},nc={...nn,br:P(Uo).replace("{2,}","*").getRegex(),text:P(nn.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Ci={normal:En,gfm:wl,pedantic:kl},Ze={normal:Rn,gfm:nn,breaks:nc,pedantic:sc},rc={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Er=r=>rc[r];function Tt(r,t){if(t){if(ut.escapeTest.test(r))return r.replace(ut.escapeReplace,Er)}else if(ut.escapeTestNoEncode.test(r))return r.replace(ut.escapeReplaceNoEncode,Er);return r}function oc(r){return ut.numericCharacterReference.test(r)?r.replace(ut.numericCharacterReferenceOrAmpersand,(t,e,i)=>{if(e===void 0&&i===void 0)return"&amp;";let s=e===void 0?Number.parseInt(i,16):Number.parseInt(e,10);return s===0||s>1114111||s>=55296&&s<=57343?"�":s===38?"&amp;":String.fromCodePoint(s)}):r}function Rr(r){try{r=encodeURI(r).replace(ut.percentDecode,"%")}catch{return null}return r}function Ir(r,t){let e=r.replace(ut.findPipe,(n,o,l)=>{let a=!1,c=o;for(;--c>=0&&l[c]==="\\";)a=!a;return a?"|":" |"}),i=e.split(ut.splitPipe),s=0;if(i[0].trim()||i.shift(),i.length>0&&!i.at(-1)?.trim()&&i.pop(),t)if(i.length>t)i.splice(t);else for(;i.length<t;)i.push("");for(;s<i.length;s++)i[s]=i[s].trim().replace(ut.slashPipe,"|");return i}function re(r,t,e){let i=r.length;if(i===0)return"";let s=0;for(;s<i&&r.charAt(i-s-1)===t;)s++;return r.slice(0,i-s)}function Or(r){let t=r.split(`
3
3
  `),e=t.length-1;for(;e>=0&&ut.blankLine.test(t[e]);)e--;return t.length-e<=2?r:t.slice(0,e+1).join(`
4
4
  `)}function Yi(r){return r.trim().toLowerCase().toUpperCase().toLowerCase()}function Cr(r,t){if(r.indexOf(t[0])===-1&&r.indexOf(t[1])===-1)return-1;let e=0;for(let i=0;i<r.length;i++)if(r[i]==="\\")i++;else if(r[i]===t[0])e++;else if(r[i]===t[1]&&(e--,e<0))return i;return e>0?-2:-1}function Rs(r,t=0){let e=t,i="";for(let s of r)if(s===" "){let n=4-e%4;i+=" ".repeat(n),e+=n}else i+=s,e++;return i}function Dr(r,t,e,i,s){let n=t.href,o=t.title||null,l=r[1].replace(s.other.outputLinkReplace,"$1"),a=r[0].charAt(0)==="!",c=i.state.inLink,u=i.state.linkEmitted,f=i.state.inRawBlock;i.state.inLink=!0,i.state.linkEmitted=!1;let h=i.inlineTokens(l),p=i.state.linkEmitted;if(i.state.linkEmitted=u,i.state.inLink=c,!a){if(p){i.state.inRawBlock=f;return}i.state.linkEmitted=!0}return{type:a?"image":"link",raw:e,href:n,title:o,text:l,tokens:h}}function ac(r,t,e){let i=r.match(e.other.indentCodeCompensation);if(i===null)return t;let s=i[1];return t.split(`
@@ -1,2 +1,2 @@
1
- import{E as m,S as we,T as le,F as Z,c as ye,a as f,I as Ge,b as w,C as Pt,d as qt,A as Ue,D as Nt,g as ze,e as xe,i as $,f as He,s as Se,m as W,h as E,N as ae,j as he,k as Vt,l as Je,n as wt,o as Gt,V as $e,p as x,P as Ut,q as zt,r as Ht,t as Jt,u as k,R as $t,v as _e,w as _t,x as S,y as Kt,z as Qt,B as jt,G as Xt,H as Yt,J as Zt,K as en,L as tn,M as nn,O as rn,Q as on}from"./syntax-CGla7mM6.js";import"./index-CEJn4PwZ.js";const ln=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=Ae(e.state,n.from);return r.line?sn(e):r.block?an(e):!1};function ke(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let o=e(t,n);return o?(r(n.update(o)),!0):!1}}const sn=ke(fn,0),cn=ke(Ke,0),an=ke((e,t)=>Ke(e,t,un(t)),0);function Ae(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}const N=50;function hn(e,{open:t,close:n},r,o){let l=e.sliceDoc(r-N,r),s=e.sliceDoc(o,o+N),i=/\s*$/.exec(l)[0].length,c=/^\s*/.exec(s)[0].length,a=l.length-i;if(l.slice(a-t.length,a)==t&&s.slice(c,c+n.length)==n)return{open:{pos:r-i,margin:i&&1},close:{pos:o+c,margin:c&&1}};let h,u;o-r<=2*N?h=u=e.sliceDoc(r,o):(h=e.sliceDoc(r,r+N),u=e.sliceDoc(o-N,o));let d=/^\s*/.exec(h)[0].length,R=/\s*$/.exec(u)[0].length,C=u.length-R-n.length;return h.slice(d,d+t.length)==t&&u.slice(C,C+n.length)==n?{open:{pos:r+d+t.length,margin:/\s/.test(h.charAt(d+t.length))?1:0},close:{pos:o-R-n.length,margin:/\s/.test(u.charAt(C-1))?1:0}}:null}function un(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),o=n.to<=r.to?r:e.doc.lineAt(n.to);o.from>r.from&&o.from==n.to&&(o=n.to==r.to+1?r:e.doc.lineAt(n.to-1));let l=t.length-1;l>=0&&t[l].to>r.from?t[l].to=o.to:t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:o.to})}return t}function Ke(e,t,n=t.selection.ranges){let r=n.map(l=>Ae(t,l.from).block);if(!r.every(l=>l))return null;let o=n.map((l,s)=>hn(t,r[s],l.from,l.to));if(e!=2&&!o.every(l=>l))return{changes:t.changes(n.map((l,s)=>o[s]?[]:[{from:l.from,insert:r[s].open+" "},{from:l.to,insert:" "+r[s].close}]))};if(e!=1&&o.some(l=>l)){let l=[];for(let s=0,i;s<o.length;s++)if(i=o[s]){let c=r[s],{open:a,close:h}=i;l.push({from:a.pos-c.open.length,to:a.pos+a.margin},{from:h.pos-h.margin,to:h.pos+c.close.length})}return{changes:l}}return null}function fn(e,t,n=t.selection.ranges){let r=[],o=-1;e:for(let{from:l,to:s}of n){let i=r.length,c=1e9,a;for(let h=l;h<=s;){let u=t.doc.lineAt(h);if(a==null&&(a=Ae(t,u.from).line,!a))continue e;if(u.from>o&&(l==s||s>u.from)){o=u.from;let d=/^\s*/.exec(u.text)[0].length,R=d==u.length,C=u.text.slice(d,d+a.length)==a?d:-1;d<u.text.length&&d<c&&(c=d),r.push({line:u,comment:C,token:a,indent:d,empty:R,single:!1})}h=u.to+1}if(c<1e9)for(let h=i;h<r.length;h++)r[h].indent<r[h].line.text.length&&(r[h].indent=c);r.length==i+1&&(r[i].single=!0)}if(e!=2&&r.some(l=>l.comment<0&&(!l.empty||l.single))){let l=[];for(let{line:i,token:c,indent:a,empty:h,single:u}of r)(u||!h)&&l.push({from:i.from+a,insert:c+" "});let s=t.changes(l);return{changes:s,selection:t.selection.map(s,1)}}else if(e!=1&&r.some(l=>l.comment>=0)){let l=[];for(let{line:s,comment:i,token:c}of r)if(i>=0){let a=s.from+i,h=a+c.length;s.text[h-s.from]==" "&&h++,l.push({from:a,to:h})}return{changes:l}}return null}const ue=Ue.define(),dn=Ue.define(),mn=Z.define(),Qe=Z.define({combine(e){return ye(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,n)=>(r,o)=>t(r,o)||n(r,o)})}}),je=we.define({create(){return D.empty},update(e,t){let n=t.state.facet(Qe),r=t.annotation(ue);if(r){let c=g.fromTransaction(t,r.selection),a=r.side,h=a==0?e.undone:e.done;return c?h=_(h,h.length,n.minDepth,c):h=Ze(h,t.startState.selection),new D(a==0?r.rest:h,a==0?h:r.rest)}let o=t.annotation(dn);if((o=="full"||o=="before")&&(e=e.isolate()),t.annotation(le.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let l=g.fromTransaction(t),s=t.annotation(le.time),i=t.annotation(le.userEvent);return l?e=e.addChanges(l,s,i,n,t):t.selection&&(e=e.addSelection(t.startState.selection,s,i,n.newGroupDelay)),(o=="full"||o=="after")&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(t=>t.toJSON()),undone:e.undone.map(t=>t.toJSON())}},fromJSON(e){return new D(e.done.map(g.fromJSON),e.undone.map(g.fromJSON))}});function pn(e={}){return[je,Qe.of(e),m.domEventHandlers({beforeinput(t,n){let r=t.inputType=="historyUndo"?Xe:t.inputType=="historyRedo"?fe:null;return r?(t.preventDefault(),r(n)):!1}})]}function ee(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let o=n.field(je,!1);if(!o)return!1;let l=o.pop(e,n,t);return l?(r(l),!0):!1}}const Xe=ee(0,!1),fe=ee(1,!1),gn=ee(0,!0),yn=ee(1,!0);class g{constructor(t,n,r,o,l){this.changes=t,this.effects=n,this.mapped=r,this.startSelection=o,this.selectionsAfter=l}setSelAfter(t){return new g(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t,n,r;return{changes:(t=this.changes)===null||t===void 0?void 0:t.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(o=>o.toJSON())}}static fromJSON(t){return new g(t.changes&&Pt.fromJSON(t.changes),[],t.mapped&&qt.fromJSON(t.mapped),t.startSelection&&f.fromJSON(t.startSelection),t.selectionsAfter.map(f.fromJSON))}static fromTransaction(t,n){let r=A;for(let o of t.startState.facet(mn)){let l=o(t);l.length&&(r=r.concat(l))}return!r.length&&t.changes.empty?null:new g(t.changes.invert(t.startState.doc),r,void 0,n||t.startState.selection,A)}static selection(t){return new g(void 0,A,void 0,void 0,t)}}function _(e,t,n,r){let o=t+1>n+20?t-n-1:0,l=e.slice(o,t);return l.push(r),l}function xn(e,t){let n=[],r=!1;return e.iterChangedRanges((o,l)=>n.push(o,l)),t.iterChangedRanges((o,l,s,i)=>{for(let c=0;c<n.length;){let a=n[c++],h=n[c++];i>=a&&s<=h&&(r=!0)}}),r}function Sn(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,r)=>n.empty!=t.ranges[r].empty).length===0}function Ye(e,t){return e.length?t.length?e.concat(t):e:t}const A=[],kn=200;function Ze(e,t){if(e.length){let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-kn));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),_(e,e.length-1,1e9,n.setSelAfter(r)))}else return[g.selection([t])]}function An(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function se(e,t){if(!e.length)return e;let n=e.length,r=A;for(;n;){let o=Mn(e[n-1],t,r);if(o.changes&&!o.changes.empty||o.effects.length){let l=e.slice(0,n);return l[n-1]=o,l}else t=o.mapped,n--,r=o.selectionsAfter}return r.length?[g.selection(r)]:A}function Mn(e,t,n){let r=Ye(e.selectionsAfter.length?e.selectionsAfter.map(i=>i.map(t)):A,n);if(!e.changes)return g.selection(r);let o=e.changes.map(t),l=t.mapDesc(e.changes,!0),s=e.mapped?e.mapped.composeDesc(l):l;return new g(o,w.mapEffects(e.effects,t),s,e.startSelection.map(l),r)}const Cn=/^(input\.type|delete)($|\.)/;class D{constructor(t,n,r=0,o=void 0){this.done=t,this.undone=n,this.prevTime=r,this.prevUserEvent=o}isolate(){return this.prevTime?new D(this.done,this.undone):this}addChanges(t,n,r,o,l){let s=this.done,i=s[s.length-1];return i&&i.changes&&!i.changes.empty&&t.changes&&(!r||Cn.test(r))&&(!i.selectionsAfter.length&&n-this.prevTime<o.newGroupDelay&&o.joinToEvent(l,xn(i.changes,t.changes))||r=="input.type.compose")?s=_(s,s.length-1,o.minDepth,new g(t.changes.compose(i.changes),Ye(w.mapEffects(t.effects,i.changes),i.effects),i.mapped,i.startSelection,A)):s=_(s,s.length,o.minDepth,t),new D(s,A,n,r)}addSelection(t,n,r,o){let l=this.done.length?this.done[this.done.length-1].selectionsAfter:A;return l.length>0&&n-this.prevTime<o&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&Sn(l[l.length-1],t)?this:new D(Ze(this.done,t),this.undone,n,r)}addMapping(t){return new D(se(this.done,t),se(this.undone,t),this.prevTime,this.prevUserEvent)}pop(t,n,r){let o=t==0?this.done:this.undone;if(o.length==0)return null;let l=o[o.length-1],s=l.selectionsAfter[0]||(l.startSelection?l.startSelection.map(l.changes.invertedDesc,1):n.selection);if(r&&l.selectionsAfter.length)return n.update({selection:l.selectionsAfter[l.selectionsAfter.length-1],annotations:ue.of({side:t,rest:An(o),selection:s}),userEvent:t==0?"select.undo":"select.redo",scrollIntoView:!0});if(l.changes){let i=o.length==1?A:o.slice(0,o.length-1);return l.mapped&&(i=se(i,l.mapped)),n.update({changes:l.changes,selection:l.startSelection,effects:l.effects,annotations:ue.of({side:t,rest:i,selection:s}),filter:!1,userEvent:t==0?"undo":"redo",scrollIntoView:!0})}else return null}}D.empty=new D(A,A);const Ln=[{key:"Mod-z",run:Xe,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:fe,preventDefault:!0},{linux:"Ctrl-Shift-z",run:fe,preventDefault:!0},{key:"Mod-u",run:gn,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:yn,preventDefault:!0}];function q(e,t){return f.create(e.ranges.map(t),e.mainIndex)}function L(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function v({state:e,dispatch:t},n){let r=q(e.selection,n);return r.eq(e.selection,!0)?!1:(t(L(e,r)),!0)}function te(e,t){return f.cursor(t?e.to:e.from)}function et(e,t){return v(e,n=>n.empty?e.moveByChar(n,t):te(n,t))}function p(e){return e.textDirectionAt(e.state.selection.main.head)==Nt.LTR}const tt=e=>et(e,!p(e)),nt=e=>et(e,p(e));function rt(e,t){return v(e,n=>n.empty?e.moveByGroup(n,t):te(n,t))}const vn=e=>rt(e,!p(e)),Dn=e=>rt(e,p(e));function Bn(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function ne(e,t,n){let r=Se(e).resolveInner(t.head),o=n?ae.closedBy:ae.openedBy;for(let c=t.head;;){let a=n?r.childAfter(c):r.childBefore(c);if(!a)break;Bn(e,a,o)?r=a:c=n?a.to:a.from}let l=r.type.prop(o),s,i;return l&&(s=n?W(e,r.from,1):W(e,r.to,-1))&&s.matched?i=n?s.end.to:s.end.from:i=n?r.to:r.from,f.cursor(i,n?-1:1)}const bn=e=>v(e,t=>ne(e.state,t,!p(e))),En=e=>v(e,t=>ne(e.state,t,p(e)));function ot(e,t){return v(e,n=>{if(!n.empty)return te(n,t);let r=e.moveVertically(n,t);return r.head!=n.head?r:e.moveToLineBoundary(n,t)})}const lt=e=>ot(e,!1),st=e=>ot(e,!0);function it(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,o;if(t){for(let l of e.state.facet(m.scrollMargins)){let s=l(e);s?.top&&(n=Math.max(s?.top,n)),s?.bottom&&(r=Math.max(s?.bottom,r))}o=e.scrollDOM.clientHeight-n-r}else o=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:t,height:Math.max(e.defaultLineHeight,o-5)}}function ct(e,t){let n=it(e),{state:r}=e,o=q(r.selection,s=>s.empty?e.moveVertically(s,t,n.height):te(s,t));if(o.eq(r.selection))return!1;let l;if(n.selfScroll){let s=e.coordsAtPos(r.selection.main.head),i=e.scrollDOM.getBoundingClientRect(),c=i.top+n.marginTop,a=i.bottom-n.marginBottom;s&&s.top>c&&s.bottom<a&&(l=m.scrollIntoView(o.main.head,{y:"start",yMargin:s.top-c}))}return e.dispatch(L(r,o),{effects:l}),!0}const Ee=e=>ct(e,!1),de=e=>ct(e,!0);function b(e,t,n){let r=e.lineBlockAt(t.head),o=e.moveToLineBoundary(t,n);if(o.head==t.head&&o.head!=(n?r.to:r.from)&&(o=e.moveToLineBoundary(t,n,!1)),!n&&o.head==r.from&&r.length){let l=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;l&&t.head!=r.from+l&&(o=f.cursor(r.from+l))}return o}const Tn=e=>v(e,t=>b(e,t,!0)),Rn=e=>v(e,t=>b(e,t,!1)),On=e=>v(e,t=>b(e,t,!p(e))),In=e=>v(e,t=>b(e,t,p(e))),Wn=e=>v(e,t=>e.moveToLineBoundary(t,!1,!1)),Fn=e=>v(e,t=>e.moveToLineBoundary(t,!0,!1));function Pn(e,t,n){let r=!1,o=q(e.selection,l=>{let s=W(e,l.head,-1)||W(e,l.head,1)||l.head>0&&W(e,l.head-1,1)||l.head<e.doc.length&&W(e,l.head+1,-1);if(!s||!s.end)return l;r=!0;let i=s.start.from==l.head?s.end.to:s.end.from;return f.cursor(i)});return r?(t(L(e,o)),!0):!1}const qn=({state:e,dispatch:t})=>Pn(e,t);function M(e,t,n){let r=q(e.state.selection,o=>{o.undirectional&&o.head>=o.anchor!=t&&(o=f.range(o.head,o.anchor));let l=n(o);return f.range(o.anchor,l.head,l.goalColumn,l.bidiLevel||void 0,l.assoc)});return r.eq(e.state.selection)?!1:(e.dispatch(L(e.state,r)),!0)}function at(e,t){return M(e,t,n=>e.moveByChar(n,t))}const ht=e=>at(e,!p(e)),ut=e=>at(e,p(e));function ft(e,t){return M(e,t,n=>e.moveByGroup(n,t))}const Nn=e=>ft(e,!p(e)),Vn=e=>ft(e,p(e)),wn=e=>{let t=!p(e);return M(e,t,n=>ne(e.state,n,t))},Gn=e=>{let t=p(e);return M(e,t,n=>ne(e.state,n,t))};function dt(e,t){return M(e,t,n=>e.moveVertically(n,t))}const mt=e=>dt(e,!1),pt=e=>dt(e,!0);function gt(e,t){return M(e,t,n=>e.moveVertically(n,t,it(e).height))}const Te=e=>gt(e,!1),Re=e=>gt(e,!0),Un=e=>M(e,!0,t=>b(e,t,!0)),zn=e=>M(e,!1,t=>b(e,t,!1)),Hn=e=>{let t=!p(e);return M(e,t,n=>b(e,n,t))},Jn=e=>{let t=p(e);return M(e,t,n=>b(e,n,t))},$n=e=>M(e,!1,t=>f.cursor(e.lineBlockAt(t.head).from)),_n=e=>M(e,!0,t=>f.cursor(e.lineBlockAt(t.head).to)),Oe=({state:e,dispatch:t})=>(t(L(e,{anchor:0})),!0),Ie=({state:e,dispatch:t})=>(t(L(e,{anchor:e.doc.length})),!0),We=({state:e,dispatch:t})=>(t(L(e,{anchor:e.selection.main.anchor,head:0})),!0),Fe=({state:e,dispatch:t})=>(t(L(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),Kn=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),Qn=({state:e,dispatch:t})=>{let n=re(e).map(({from:r,to:o})=>f.undirectionalRange(r,Math.min(o+1,e.doc.length)));return t(e.update({selection:f.create(n),userEvent:"select"})),!0},jn=({state:e,dispatch:t})=>{let n=q(e.selection,r=>{let o=Se(e),l=o.resolveStack(r.from,1);if(r.empty){let s=o.resolveStack(r.from,-1);s.node.from>=l.node.from&&s.node.to<=l.node.to&&(l=s)}for(let s=l;s;s=s.next){let{node:i}=s;if((i.from<r.from&&i.to>=r.to||i.to>r.to&&i.from<=r.from)&&s.next)return f.undirectionalRange(i.from,i.to)}return r});return n.eq(e.selection)?!1:(t(L(e,n)),!0)};function yt(e,t){let{state:n}=e,r=n.selection,o=n.selection.ranges.slice();for(let l of n.selection.ranges){let s=n.doc.lineAt(l.head);if(t?s.to<e.state.doc.length:s.from>0)for(let i=l;;){let c=e.moveVertically(i,t);if(c.head<s.from||c.head>s.to){o.some(a=>a.head==c.head)||o.push(c);break}else{if(c.head==i.head)break;i=c}}}return o.length==r.ranges.length?!1:(e.dispatch(L(n,f.create(o,o.length-1))),!0)}const Xn=e=>yt(e,!1),Yn=e=>yt(e,!0),Zn=({state:e,dispatch:t})=>{let n=e.selection,r=null;return n.ranges.length>1?r=f.create([n.main]):n.main.empty||(r=f.create([f.cursor(n.main.head)])),r?(t(L(e,r)),!0):!1};function G(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:r}=e,o=r.changeByRange(l=>{let{from:s,to:i}=l;if(s==i){let c=t(l);c<s?(n="delete.backward",c=z(e,c,!1)):c>s&&(n="delete.forward",c=z(e,c,!0)),s=Math.min(s,c),i=Math.max(i,c)}else s=z(e,s,!1),i=z(e,i,!0);return s==i?{range:l}:{changes:{from:s,to:i},range:f.cursor(s,s<l.head?-1:1)}});return o.changes.empty?!1:(e.dispatch(r.update(o,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?m.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function z(e,t,n){if(e instanceof m)for(let r of e.state.facet(m.atomicRanges).map(o=>o(e)))r.between(t,t,(o,l)=>{o<t&&l>t&&(t=n?l:o)});return t}const xt=(e,t,n)=>G(e,r=>{let o=r.from,{state:l}=e,s=l.doc.lineAt(o),i,c;if(n&&!t&&o>s.from&&o<s.from+200&&!/[^ \t]/.test(i=s.text.slice(0,o-s.from))){if(i[i.length-1]==" ")return o-1;let a=xe(i,l.tabSize),h=a%he(l)||he(l);for(let u=0;u<h&&i[i.length-1-u]==" ";u++)o--;c=o}else c=E(s.text,o-s.from,t,t)+s.from,c==o&&s.number!=(t?l.doc.lines:1)?c+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(s.text.slice(c-s.from,o-s.from))&&(c=E(s.text,c-s.from,!1,!1)+s.from);return c}),me=e=>xt(e,!1,!0),St=e=>xt(e,!0,!1),kt=(e,t)=>G(e,n=>{let r=n.head,{state:o}=e,l=o.doc.lineAt(r),s=o.charCategorizer(r);for(let i=null;;){if(r==(t?l.to:l.from)){r==n.head&&l.number!=(t?o.doc.lines:1)&&(r+=t?1:-1);break}let c=E(l.text,r-l.from,t)+l.from,a=l.text.slice(Math.min(r,c)-l.from,Math.max(r,c)-l.from),h=s(a);if(i!=null&&h!=i)break;(a!=" "||r!=n.head)&&(i=h),r=c}return r}),At=e=>kt(e,!1),er=e=>kt(e,!0),tr=e=>G(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),nr=e=>G(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),rr=e=>G(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),or=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:He.of(["",""])},range:f.cursor(r.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},lr=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{if(!r.empty||r.from==0||r.from==e.doc.length)return{range:r};let o=r.from,l=e.doc.lineAt(o),s=o==l.from?o-1:E(l.text,o-l.from,!1)+l.from,i=o==l.to?o+1:E(l.text,o-l.from,!0)+l.from;return{changes:{from:s,to:i,insert:e.doc.slice(o,i).append(e.doc.slice(s,o))},range:f.cursor(i)}});return n.changes.empty?!1:(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function re(e){let t=[],n=-1;for(let r of e.selection.ranges){let o=e.doc.lineAt(r.from),l=e.doc.lineAt(r.to);if(!r.empty&&r.to==l.from&&(l=e.doc.lineAt(r.to-1)),n>=o.number){let s=t[t.length-1];s.to=l.to,s.ranges.push(r)}else t.push({from:o.from,to:l.to,ranges:[r]});n=l.number+1}return t}function Mt(e,t,n){if(e.readOnly)return!1;let r=[],o=[];for(let l of re(e)){if(n?l.to==e.doc.length:l.from==0)continue;let s=e.doc.lineAt(n?l.to+1:l.from-1),i=s.length+1;if(n){r.push({from:l.to,to:s.to},{from:l.from,insert:s.text+e.lineBreak});for(let c of l.ranges)o.push(f.range(Math.min(e.doc.length,c.anchor+i),Math.min(e.doc.length,c.head+i)))}else{r.push({from:s.from,to:l.from},{from:l.to,insert:e.lineBreak+s.text});for(let c of l.ranges)o.push(f.range(c.anchor-i,c.head-i))}}return r.length?(t(e.update({changes:r,scrollIntoView:!0,selection:f.create(o,e.selection.mainIndex),userEvent:"move.line"})),!0):!1}const sr=({state:e,dispatch:t})=>Mt(e,t,!1),ir=({state:e,dispatch:t})=>Mt(e,t,!0);function Ct(e,t,n){if(e.readOnly)return!1;let r=[];for(let l of re(e))n?r.push({from:l.from,insert:e.doc.slice(l.from,l.to)+e.lineBreak}):r.push({from:l.to,insert:e.lineBreak+e.doc.slice(l.from,l.to)});let o=e.changes(r);return t(e.update({changes:o,selection:e.selection.map(o,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const cr=({state:e,dispatch:t})=>Ct(e,t,!1),ar=({state:e,dispatch:t})=>Ct(e,t,!0),hr=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(re(t).map(({from:o,to:l})=>(o>0?o--:l<t.doc.length&&l++,{from:o,to:l}))),r=q(t.selection,o=>{let l;if(e.lineWrapping){let s=e.lineBlockAt(o.head),i=e.coordsAtPos(o.head,o.assoc||1);i&&(l=s.bottom+e.documentTop-i.bottom+e.defaultLineHeight/2)}return e.moveVertically(o,!0,l)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function ur(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=Se(e).resolveInner(t),r=n.childBefore(t),o=n.childAfter(t),l;return r&&o&&r.to<=t&&o.from>=t&&(l=r.type.prop(ae.closedBy))&&l.indexOf(o.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(o.from).from&&!/\S/.test(e.sliceDoc(r.to,o.from))?{from:r.to,to:o.from}:null}const Pe=Lt(!1),fr=Lt(!0);function Lt(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=t.changeByRange(o=>{let{from:l,to:s}=o,i=t.doc.lineAt(l),c=!e&&l==s&&ur(t,l);e&&(l=s=(s<=i.to?i:t.doc.lineAt(s)).to);let a=new Ge(t,{simulateBreak:l,simulateDoubleBreak:!!c}),h=ze(a,l);for(h==null&&(h=xe(/^\s*/.exec(t.doc.lineAt(l).text)[0],t.tabSize));s<i.to&&/\s/.test(i.text[s-i.from]);)s++;c?{from:l,to:s}=c:l>i.from&&l<i.from+100&&!/\S/.test(i.text.slice(0,l))&&(l=i.from);let u=["",$(t,h)];return c&&u.push($(t,a.lineIndent(i.from,-1))),{changes:{from:l,to:s,insert:He.of(u)},range:f.cursor(l+1+u[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function Me(e,t){let n=-1;return e.changeByRange(r=>{let o=[];for(let s=r.from;s<=r.to;){let i=e.doc.lineAt(s);i.number>n&&(r.empty||r.to>i.from)&&(t(i,o,r),n=i.number),s=i.to+1}let l=e.changes(o);return{changes:o,range:f.range(l.mapPos(r.anchor,1),l.mapPos(r.head,1))}})}const dr=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new Ge(e,{overrideIndentation:l=>{let s=n[l];return s??-1}}),o=Me(e,(l,s,i)=>{let c=ze(r,l.from);if(c==null)return;/\S/.test(l.text)||(c=0);let a=/^\s*/.exec(l.text)[0],h=$(e,c);(a!=h||i.from<l.from+a.length)&&(n[l.from]=c,s.push({from:l.from,to:l.from+a.length,insert:h}))});return o.changes.empty||t(e.update(o,{userEvent:"indent"})),!0},vt=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(Me(e,(n,r)=>{r.push({from:n.from,insert:e.facet(Vt)})}),{userEvent:"input.indent"})),!0),Dt=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(Me(e,(n,r)=>{let o=/^\s*/.exec(n.text)[0];if(!o)return;let l=xe(o,e.tabSize),s=0,i=$(e,Math.max(0,l-he(e)));for(;s<o.length&&s<i.length&&o.charCodeAt(s)==i.charCodeAt(s);)s++;r.push({from:n.from+s,to:n.from+o.length,insert:i.slice(s)})}),{userEvent:"delete.dedent"})),!0),mr=e=>(e.setTabFocusMode(),!0),pr=[{key:"Ctrl-b",run:tt,shift:ht,preventDefault:!0},{key:"Ctrl-f",run:nt,shift:ut},{key:"Ctrl-p",run:lt,shift:mt},{key:"Ctrl-n",run:st,shift:pt},{key:"Ctrl-a",run:Wn,shift:$n},{key:"Ctrl-e",run:Fn,shift:_n},{key:"Ctrl-d",run:St},{key:"Ctrl-h",run:me},{key:"Ctrl-k",run:tr},{key:"Ctrl-Alt-h",run:At},{key:"Ctrl-o",run:or},{key:"Ctrl-t",run:lr},{key:"Ctrl-v",run:de}],gr=[{key:"ArrowLeft",run:tt,shift:ht,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:vn,shift:Nn,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:On,shift:Hn,preventDefault:!0},{key:"ArrowRight",run:nt,shift:ut,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:Dn,shift:Vn,preventDefault:!0},{mac:"Cmd-ArrowRight",run:In,shift:Jn,preventDefault:!0},{key:"ArrowUp",run:lt,shift:mt,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Oe,shift:We},{mac:"Ctrl-ArrowUp",run:Ee,shift:Te},{key:"ArrowDown",run:st,shift:pt,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Ie,shift:Fe},{mac:"Ctrl-ArrowDown",run:de,shift:Re},{key:"PageUp",run:Ee,shift:Te},{key:"PageDown",run:de,shift:Re},{key:"Home",run:Rn,shift:zn,preventDefault:!0},{key:"Mod-Home",run:Oe,shift:We},{key:"End",run:Tn,shift:Un,preventDefault:!0},{key:"Mod-End",run:Ie,shift:Fe},{key:"Enter",run:Pe,shift:Pe},{key:"Mod-a",run:Kn},{key:"Backspace",run:me,shift:me,preventDefault:!0},{key:"Delete",run:St,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:At,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:er,preventDefault:!0},{mac:"Mod-Backspace",run:nr,preventDefault:!0},{mac:"Mod-Delete",run:rr,preventDefault:!0}].concat(pr.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),yr=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:bn,shift:wn},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:En,shift:Gn},{key:"Alt-ArrowUp",run:sr},{key:"Shift-Alt-ArrowUp",run:cr},{key:"Alt-ArrowDown",run:ir},{key:"Shift-Alt-ArrowDown",run:ar},{key:"Mod-Alt-ArrowUp",run:Xn},{key:"Mod-Alt-ArrowDown",run:Yn},{key:"Escape",run:Zn},{key:"Mod-Enter",run:fr},{key:"Alt-l",mac:"Ctrl-l",run:Qn},{key:"Mod-i",run:jn,preventDefault:!0},{key:"Mod-[",run:Dt},{key:"Mod-]",run:vt},{key:"Mod-Alt-\\",run:dr},{key:"Shift-Mod-k",run:hr},{key:"Shift-Mod-\\",run:qn},{key:"Mod-/",run:ln},{key:"Alt-A",mac:"Ctrl-A",run:cn},{key:"Ctrl-m",mac:"Shift-Alt-m",run:mr}].concat(gr),xr={key:"Tab",run:vt,shift:Dt},qe=typeof String.prototype.normalize=="function"?e=>e.normalize("NFKD"):e=>e;class P{constructor(t,n,r=0,o=t.length,l,s){this.test=s,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=t.iterRange(r,o),this.bufferStart=r,this.normalize=l?i=>l(qe(i)):qe,this.query=this.normalize(n)}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 Ht(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let t=this.peek();if(t<0)return this.done=!0,this;let n=_t(t),r=this.bufferStart+this.bufferPos;this.bufferPos+=Jt(t);let o=this.normalize(n);if(o.length)for(let l=0,s=r,i=!0;;l++){let c=o.charCodeAt(l),a=this.match(c,s,i,this.bufferPos+this.bufferStart,l==o.length-1);if(a)return this.value=a,this;if(l==o.length-1)break;i&&l<n.length&&n.charCodeAt(l)==c?s++:i=!1}}}match(t,n,r,o,l){let s=null;for(let i=0;i<this.matches.length;){let c=this.matches[i],a=!1;this.query.charCodeAt(c.index)==t&&(c.index==this.query.length-1?s={from:c.from,to:o,precise:l&&c.precise}:(c.index++,a=!0)),a?i++:this.matches.splice(i,1)}return this.query.charCodeAt(0)==t&&(this.query.length==1?s={from:n,to:o,precise:r&&l}:this.matches.push({from:n,index:1,precise:r})),s&&this.test&&!this.test(s.from,s.to,this.buffer,this.bufferStart)&&(s=null),s}}typeof Symbol<"u"&&(P.prototype[Symbol.iterator]=function(){return this});const Bt={from:-1,to:-1,match:/.*/.exec(""),precise:!0},Ce="gm"+(/x/.unicode==null?"":"u");class bt{constructor(t,n,r,o=0,l=t.length){if(this.text=t,this.to=l,this.curLine="",this.done=!1,this.value=Bt,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new Et(t,n,r,o,l);this.re=new RegExp(n,Ce+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=t.iter();let s=t.lineAt(o);this.curLineStart=s.from,this.matchPos=K(t,o),this.getLine(this.curLineStart)}getLine(t){this.iter.next(t),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.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 t=this.matchPos-this.curLineStart;;){this.re.lastIndex=t;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let r=this.curLineStart+n.index,o=r+n[0].length;if(this.matchPos=K(this.text,o+(r==o?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<o||r>this.value.to)&&(!this.test||this.test(r,o,n)))return this.value={from:r,to:o,precise:!0,match:n},this;t=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),t=0;else return this.done=!0,this}}}const ie=new WeakMap;class F{constructor(t,n){this.from=t,this.text=n}get to(){return this.from+this.text.length}static get(t,n,r){let o=ie.get(t);if(!o||o.from>=r||o.to<=n){let i=new F(n,t.sliceString(n,r));return ie.set(t,i),i}if(o.from==n&&o.to==r)return o;let{text:l,from:s}=o;return s>n&&(l=t.sliceString(n,s)+l,s=n),o.to<r&&(l+=t.sliceString(o.to,r)),ie.set(t,new F(s,l)),new F(n,l.slice(n-s,r-s))}}class Et{constructor(t,n,r,o,l){this.text=t,this.to=l,this.done=!1,this.value=Bt,this.matchPos=K(t,o),this.re=new RegExp(n,Ce+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=F.get(t,o,this.chunkEnd(o+5e3))}chunkEnd(t){return t>=this.to?this.to:this.text.lineAt(t).to}next(){for(;;){let t=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==t&&(this.re.lastIndex=t+1,n=this.re.exec(this.flat.text)),n){let r=this.flat.from+n.index,o=r+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,o,n)))return this.value={from:r,to:o,precise:!0,match:n},this.matchPos=K(this.text,o+(r==o?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=F.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(bt.prototype[Symbol.iterator]=Et.prototype[Symbol.iterator]=function(){return this});function Sr(e){try{return new RegExp(e,Ce),!0}catch{return!1}}function K(e,t){if(t>=e.length)return t;let n=e.lineAt(t),r;for(;t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344;)t++;return t}const kr=e=>{let t=wt(e,"cm-goto-line");if(t){let s=t.dom.querySelector("input[type=text]");return s&&s.select(),!0}let{state:n}=e,r=String(n.doc.lineAt(e.state.selection.main.head).number),{close:o,result:l}=Gt(e,{class:"cm-goto-line",label:n.phrase("Go to line"),input:{type:"text",name:"line",value:r},focus:!0,submitLabel:n.phrase("go")});return l.then(s=>{let i=s&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(s.elements.line.value);if(!i){e.dispatch({effects:o});return}let c=n.doc.lineAt(n.selection.main.head),[,a,h,u,d]=i,R=u?+u.slice(1):0,C=h?+h:c.number;if(h&&d){let oe=C/100;a&&(oe=oe*(a=="-"?-1:1)+c.number/n.doc.lines),C=Math.round(n.doc.lines*oe)}else h&&a&&(C=C*(a=="-"?-1:1)+c.number);let Be=n.doc.line(Math.max(1,Math.min(n.doc.lines,C))),be=f.cursor(Be.from+Math.max(0,Math.min(R,Be.length)));e.dispatch({effects:[o,m.scrollIntoView(be.from,{y:"center"})],selection:be})}),!0},Ar={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Mr=Z.define({combine(e){return ye(e,Ar,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function Cr(e){return[br,Br]}const Lr=x.mark({class:"cm-selectionMatch"}),vr=x.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Ne(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=k.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=k.Word)}function Dr(e,t,n,r){return e(t.sliceDoc(n,n+1))==k.Word&&e(t.sliceDoc(r-1,r))==k.Word}const Br=$e.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(Mr),{state:n}=e,r=n.selection;if(r.ranges.length>1)return x.none;let o=r.main,l,s=null;if(o.empty){if(!t.highlightWordAroundCursor)return x.none;let c=n.wordAt(o.head);if(!c)return x.none;s=n.charCategorizer(o.head),l=n.sliceDoc(c.from,c.to)}else{let c=o.to-o.from;if(c<t.minSelectionLength||c>200)return x.none;if(t.wholeWords){if(l=n.sliceDoc(o.from,o.to),s=n.charCategorizer(o.head),!(Ne(s,n,o.from,o.to)&&Dr(s,n,o.from,o.to)))return x.none}else if(l=n.sliceDoc(o.from,o.to),!l)return x.none}let i=[];for(let c of e.visibleRanges){let a=new P(n.doc,l,c.from,c.to);for(;!a.next().done;){let{from:h,to:u}=a.value;if((!s||Ne(s,n,h,u))&&(o.empty&&h<=o.from&&u>=o.to?i.push(vr.range(h,u)):(h>=o.to||u<=o.from)&&i.push(Lr.range(h,u)),i.length>t.maxMatches))return x.none}}return x.set(i)}},{decorations:e=>e.decorations}),br=m.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),Er=({state:e,dispatch:t})=>{let{selection:n}=e,r=f.create(n.ranges.map(o=>e.wordAt(o.head)||f.cursor(o.head)),n.mainIndex);return r.eq(n)?!1:(t(e.update({selection:r})),!0)};function Tr(e,t){let{main:n,ranges:r}=e.selection,o=e.wordAt(n.head),l=o&&o.from==n.from&&o.to==n.to;for(let s=!1,i=new P(e.doc,t,r[r.length-1].to);;)if(i.next(),i.done){if(s)return null;i=new P(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),s=!0}else{if(s&&r.some(c=>c.from==i.value.from))continue;if(l){let c=e.wordAt(i.value.from);if(!c||c.from!=i.value.from||c.to!=i.value.to)continue}return i.value}}const Rr=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(l=>l.from===l.to))return Er({state:e,dispatch:t});let r=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(l=>e.sliceDoc(l.from,l.to)!=r))return!1;let o=Tr(e,r);return o?(t(e.update({selection:e.selection.addRange(f.range(o.from,o.to),!1),effects:m.scrollIntoView(o.to)})),!0):!1},T=Z.define({combine(e){return ye(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:t=>new $r(t),scrollToMatch:t=>m.scrollIntoView(t)})}});function Or(e){return e?[T.of(e),ge]:ge}class Tt{constructor(t){this.search=t.search,this.caseSensitive=!!t.caseSensitive,this.literal=!!t.literal,this.regexp=!!t.regexp,this.replace=t.replace||"",this.valid=!!this.search&&(!this.regexp||Sr(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!t.wholeWord,this.test=t.test}unquote(t){return this.literal?t:t.replace(/\\([nrt\\])/g,(n,r)=>r=="n"?`
1
+ import{E as m,S as we,T as le,F as Z,c as ye,a as f,I as Ge,b as w,C as Pt,d as qt,A as Ue,D as Nt,g as ze,e as xe,i as $,f as He,s as Se,m as W,h as E,N as ae,j as he,k as Vt,l as Je,n as wt,o as Gt,V as $e,p as x,P as Ut,q as zt,r as Ht,t as Jt,u as k,R as $t,v as _e,w as _t,x as S,y as Kt,z as Qt,B as jt,G as Xt,H as Yt,J as Zt,K as en,L as tn,M as nn,O as rn,Q as on}from"./syntax-6JMrtt_T.js";import"./index-JZcFnVLl.js";const ln=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=Ae(e.state,n.from);return r.line?sn(e):r.block?an(e):!1};function ke(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let o=e(t,n);return o?(r(n.update(o)),!0):!1}}const sn=ke(fn,0),cn=ke(Ke,0),an=ke((e,t)=>Ke(e,t,un(t)),0);function Ae(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}const N=50;function hn(e,{open:t,close:n},r,o){let l=e.sliceDoc(r-N,r),s=e.sliceDoc(o,o+N),i=/\s*$/.exec(l)[0].length,c=/^\s*/.exec(s)[0].length,a=l.length-i;if(l.slice(a-t.length,a)==t&&s.slice(c,c+n.length)==n)return{open:{pos:r-i,margin:i&&1},close:{pos:o+c,margin:c&&1}};let h,u;o-r<=2*N?h=u=e.sliceDoc(r,o):(h=e.sliceDoc(r,r+N),u=e.sliceDoc(o-N,o));let d=/^\s*/.exec(h)[0].length,R=/\s*$/.exec(u)[0].length,C=u.length-R-n.length;return h.slice(d,d+t.length)==t&&u.slice(C,C+n.length)==n?{open:{pos:r+d+t.length,margin:/\s/.test(h.charAt(d+t.length))?1:0},close:{pos:o-R-n.length,margin:/\s/.test(u.charAt(C-1))?1:0}}:null}function un(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),o=n.to<=r.to?r:e.doc.lineAt(n.to);o.from>r.from&&o.from==n.to&&(o=n.to==r.to+1?r:e.doc.lineAt(n.to-1));let l=t.length-1;l>=0&&t[l].to>r.from?t[l].to=o.to:t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:o.to})}return t}function Ke(e,t,n=t.selection.ranges){let r=n.map(l=>Ae(t,l.from).block);if(!r.every(l=>l))return null;let o=n.map((l,s)=>hn(t,r[s],l.from,l.to));if(e!=2&&!o.every(l=>l))return{changes:t.changes(n.map((l,s)=>o[s]?[]:[{from:l.from,insert:r[s].open+" "},{from:l.to,insert:" "+r[s].close}]))};if(e!=1&&o.some(l=>l)){let l=[];for(let s=0,i;s<o.length;s++)if(i=o[s]){let c=r[s],{open:a,close:h}=i;l.push({from:a.pos-c.open.length,to:a.pos+a.margin},{from:h.pos-h.margin,to:h.pos+c.close.length})}return{changes:l}}return null}function fn(e,t,n=t.selection.ranges){let r=[],o=-1;e:for(let{from:l,to:s}of n){let i=r.length,c=1e9,a;for(let h=l;h<=s;){let u=t.doc.lineAt(h);if(a==null&&(a=Ae(t,u.from).line,!a))continue e;if(u.from>o&&(l==s||s>u.from)){o=u.from;let d=/^\s*/.exec(u.text)[0].length,R=d==u.length,C=u.text.slice(d,d+a.length)==a?d:-1;d<u.text.length&&d<c&&(c=d),r.push({line:u,comment:C,token:a,indent:d,empty:R,single:!1})}h=u.to+1}if(c<1e9)for(let h=i;h<r.length;h++)r[h].indent<r[h].line.text.length&&(r[h].indent=c);r.length==i+1&&(r[i].single=!0)}if(e!=2&&r.some(l=>l.comment<0&&(!l.empty||l.single))){let l=[];for(let{line:i,token:c,indent:a,empty:h,single:u}of r)(u||!h)&&l.push({from:i.from+a,insert:c+" "});let s=t.changes(l);return{changes:s,selection:t.selection.map(s,1)}}else if(e!=1&&r.some(l=>l.comment>=0)){let l=[];for(let{line:s,comment:i,token:c}of r)if(i>=0){let a=s.from+i,h=a+c.length;s.text[h-s.from]==" "&&h++,l.push({from:a,to:h})}return{changes:l}}return null}const ue=Ue.define(),dn=Ue.define(),mn=Z.define(),Qe=Z.define({combine(e){return ye(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,n)=>(r,o)=>t(r,o)||n(r,o)})}}),je=we.define({create(){return D.empty},update(e,t){let n=t.state.facet(Qe),r=t.annotation(ue);if(r){let c=g.fromTransaction(t,r.selection),a=r.side,h=a==0?e.undone:e.done;return c?h=_(h,h.length,n.minDepth,c):h=Ze(h,t.startState.selection),new D(a==0?r.rest:h,a==0?h:r.rest)}let o=t.annotation(dn);if((o=="full"||o=="before")&&(e=e.isolate()),t.annotation(le.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let l=g.fromTransaction(t),s=t.annotation(le.time),i=t.annotation(le.userEvent);return l?e=e.addChanges(l,s,i,n,t):t.selection&&(e=e.addSelection(t.startState.selection,s,i,n.newGroupDelay)),(o=="full"||o=="after")&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(t=>t.toJSON()),undone:e.undone.map(t=>t.toJSON())}},fromJSON(e){return new D(e.done.map(g.fromJSON),e.undone.map(g.fromJSON))}});function pn(e={}){return[je,Qe.of(e),m.domEventHandlers({beforeinput(t,n){let r=t.inputType=="historyUndo"?Xe:t.inputType=="historyRedo"?fe:null;return r?(t.preventDefault(),r(n)):!1}})]}function ee(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let o=n.field(je,!1);if(!o)return!1;let l=o.pop(e,n,t);return l?(r(l),!0):!1}}const Xe=ee(0,!1),fe=ee(1,!1),gn=ee(0,!0),yn=ee(1,!0);class g{constructor(t,n,r,o,l){this.changes=t,this.effects=n,this.mapped=r,this.startSelection=o,this.selectionsAfter=l}setSelAfter(t){return new g(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t,n,r;return{changes:(t=this.changes)===null||t===void 0?void 0:t.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(o=>o.toJSON())}}static fromJSON(t){return new g(t.changes&&Pt.fromJSON(t.changes),[],t.mapped&&qt.fromJSON(t.mapped),t.startSelection&&f.fromJSON(t.startSelection),t.selectionsAfter.map(f.fromJSON))}static fromTransaction(t,n){let r=A;for(let o of t.startState.facet(mn)){let l=o(t);l.length&&(r=r.concat(l))}return!r.length&&t.changes.empty?null:new g(t.changes.invert(t.startState.doc),r,void 0,n||t.startState.selection,A)}static selection(t){return new g(void 0,A,void 0,void 0,t)}}function _(e,t,n,r){let o=t+1>n+20?t-n-1:0,l=e.slice(o,t);return l.push(r),l}function xn(e,t){let n=[],r=!1;return e.iterChangedRanges((o,l)=>n.push(o,l)),t.iterChangedRanges((o,l,s,i)=>{for(let c=0;c<n.length;){let a=n[c++],h=n[c++];i>=a&&s<=h&&(r=!0)}}),r}function Sn(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,r)=>n.empty!=t.ranges[r].empty).length===0}function Ye(e,t){return e.length?t.length?e.concat(t):e:t}const A=[],kn=200;function Ze(e,t){if(e.length){let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-kn));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),_(e,e.length-1,1e9,n.setSelAfter(r)))}else return[g.selection([t])]}function An(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function se(e,t){if(!e.length)return e;let n=e.length,r=A;for(;n;){let o=Mn(e[n-1],t,r);if(o.changes&&!o.changes.empty||o.effects.length){let l=e.slice(0,n);return l[n-1]=o,l}else t=o.mapped,n--,r=o.selectionsAfter}return r.length?[g.selection(r)]:A}function Mn(e,t,n){let r=Ye(e.selectionsAfter.length?e.selectionsAfter.map(i=>i.map(t)):A,n);if(!e.changes)return g.selection(r);let o=e.changes.map(t),l=t.mapDesc(e.changes,!0),s=e.mapped?e.mapped.composeDesc(l):l;return new g(o,w.mapEffects(e.effects,t),s,e.startSelection.map(l),r)}const Cn=/^(input\.type|delete)($|\.)/;class D{constructor(t,n,r=0,o=void 0){this.done=t,this.undone=n,this.prevTime=r,this.prevUserEvent=o}isolate(){return this.prevTime?new D(this.done,this.undone):this}addChanges(t,n,r,o,l){let s=this.done,i=s[s.length-1];return i&&i.changes&&!i.changes.empty&&t.changes&&(!r||Cn.test(r))&&(!i.selectionsAfter.length&&n-this.prevTime<o.newGroupDelay&&o.joinToEvent(l,xn(i.changes,t.changes))||r=="input.type.compose")?s=_(s,s.length-1,o.minDepth,new g(t.changes.compose(i.changes),Ye(w.mapEffects(t.effects,i.changes),i.effects),i.mapped,i.startSelection,A)):s=_(s,s.length,o.minDepth,t),new D(s,A,n,r)}addSelection(t,n,r,o){let l=this.done.length?this.done[this.done.length-1].selectionsAfter:A;return l.length>0&&n-this.prevTime<o&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&Sn(l[l.length-1],t)?this:new D(Ze(this.done,t),this.undone,n,r)}addMapping(t){return new D(se(this.done,t),se(this.undone,t),this.prevTime,this.prevUserEvent)}pop(t,n,r){let o=t==0?this.done:this.undone;if(o.length==0)return null;let l=o[o.length-1],s=l.selectionsAfter[0]||(l.startSelection?l.startSelection.map(l.changes.invertedDesc,1):n.selection);if(r&&l.selectionsAfter.length)return n.update({selection:l.selectionsAfter[l.selectionsAfter.length-1],annotations:ue.of({side:t,rest:An(o),selection:s}),userEvent:t==0?"select.undo":"select.redo",scrollIntoView:!0});if(l.changes){let i=o.length==1?A:o.slice(0,o.length-1);return l.mapped&&(i=se(i,l.mapped)),n.update({changes:l.changes,selection:l.startSelection,effects:l.effects,annotations:ue.of({side:t,rest:i,selection:s}),filter:!1,userEvent:t==0?"undo":"redo",scrollIntoView:!0})}else return null}}D.empty=new D(A,A);const Ln=[{key:"Mod-z",run:Xe,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:fe,preventDefault:!0},{linux:"Ctrl-Shift-z",run:fe,preventDefault:!0},{key:"Mod-u",run:gn,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:yn,preventDefault:!0}];function q(e,t){return f.create(e.ranges.map(t),e.mainIndex)}function L(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function v({state:e,dispatch:t},n){let r=q(e.selection,n);return r.eq(e.selection,!0)?!1:(t(L(e,r)),!0)}function te(e,t){return f.cursor(t?e.to:e.from)}function et(e,t){return v(e,n=>n.empty?e.moveByChar(n,t):te(n,t))}function p(e){return e.textDirectionAt(e.state.selection.main.head)==Nt.LTR}const tt=e=>et(e,!p(e)),nt=e=>et(e,p(e));function rt(e,t){return v(e,n=>n.empty?e.moveByGroup(n,t):te(n,t))}const vn=e=>rt(e,!p(e)),Dn=e=>rt(e,p(e));function Bn(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function ne(e,t,n){let r=Se(e).resolveInner(t.head),o=n?ae.closedBy:ae.openedBy;for(let c=t.head;;){let a=n?r.childAfter(c):r.childBefore(c);if(!a)break;Bn(e,a,o)?r=a:c=n?a.to:a.from}let l=r.type.prop(o),s,i;return l&&(s=n?W(e,r.from,1):W(e,r.to,-1))&&s.matched?i=n?s.end.to:s.end.from:i=n?r.to:r.from,f.cursor(i,n?-1:1)}const bn=e=>v(e,t=>ne(e.state,t,!p(e))),En=e=>v(e,t=>ne(e.state,t,p(e)));function ot(e,t){return v(e,n=>{if(!n.empty)return te(n,t);let r=e.moveVertically(n,t);return r.head!=n.head?r:e.moveToLineBoundary(n,t)})}const lt=e=>ot(e,!1),st=e=>ot(e,!0);function it(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,o;if(t){for(let l of e.state.facet(m.scrollMargins)){let s=l(e);s?.top&&(n=Math.max(s?.top,n)),s?.bottom&&(r=Math.max(s?.bottom,r))}o=e.scrollDOM.clientHeight-n-r}else o=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:t,height:Math.max(e.defaultLineHeight,o-5)}}function ct(e,t){let n=it(e),{state:r}=e,o=q(r.selection,s=>s.empty?e.moveVertically(s,t,n.height):te(s,t));if(o.eq(r.selection))return!1;let l;if(n.selfScroll){let s=e.coordsAtPos(r.selection.main.head),i=e.scrollDOM.getBoundingClientRect(),c=i.top+n.marginTop,a=i.bottom-n.marginBottom;s&&s.top>c&&s.bottom<a&&(l=m.scrollIntoView(o.main.head,{y:"start",yMargin:s.top-c}))}return e.dispatch(L(r,o),{effects:l}),!0}const Ee=e=>ct(e,!1),de=e=>ct(e,!0);function b(e,t,n){let r=e.lineBlockAt(t.head),o=e.moveToLineBoundary(t,n);if(o.head==t.head&&o.head!=(n?r.to:r.from)&&(o=e.moveToLineBoundary(t,n,!1)),!n&&o.head==r.from&&r.length){let l=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;l&&t.head!=r.from+l&&(o=f.cursor(r.from+l))}return o}const Tn=e=>v(e,t=>b(e,t,!0)),Rn=e=>v(e,t=>b(e,t,!1)),On=e=>v(e,t=>b(e,t,!p(e))),In=e=>v(e,t=>b(e,t,p(e))),Wn=e=>v(e,t=>e.moveToLineBoundary(t,!1,!1)),Fn=e=>v(e,t=>e.moveToLineBoundary(t,!0,!1));function Pn(e,t,n){let r=!1,o=q(e.selection,l=>{let s=W(e,l.head,-1)||W(e,l.head,1)||l.head>0&&W(e,l.head-1,1)||l.head<e.doc.length&&W(e,l.head+1,-1);if(!s||!s.end)return l;r=!0;let i=s.start.from==l.head?s.end.to:s.end.from;return f.cursor(i)});return r?(t(L(e,o)),!0):!1}const qn=({state:e,dispatch:t})=>Pn(e,t);function M(e,t,n){let r=q(e.state.selection,o=>{o.undirectional&&o.head>=o.anchor!=t&&(o=f.range(o.head,o.anchor));let l=n(o);return f.range(o.anchor,l.head,l.goalColumn,l.bidiLevel||void 0,l.assoc)});return r.eq(e.state.selection)?!1:(e.dispatch(L(e.state,r)),!0)}function at(e,t){return M(e,t,n=>e.moveByChar(n,t))}const ht=e=>at(e,!p(e)),ut=e=>at(e,p(e));function ft(e,t){return M(e,t,n=>e.moveByGroup(n,t))}const Nn=e=>ft(e,!p(e)),Vn=e=>ft(e,p(e)),wn=e=>{let t=!p(e);return M(e,t,n=>ne(e.state,n,t))},Gn=e=>{let t=p(e);return M(e,t,n=>ne(e.state,n,t))};function dt(e,t){return M(e,t,n=>e.moveVertically(n,t))}const mt=e=>dt(e,!1),pt=e=>dt(e,!0);function gt(e,t){return M(e,t,n=>e.moveVertically(n,t,it(e).height))}const Te=e=>gt(e,!1),Re=e=>gt(e,!0),Un=e=>M(e,!0,t=>b(e,t,!0)),zn=e=>M(e,!1,t=>b(e,t,!1)),Hn=e=>{let t=!p(e);return M(e,t,n=>b(e,n,t))},Jn=e=>{let t=p(e);return M(e,t,n=>b(e,n,t))},$n=e=>M(e,!1,t=>f.cursor(e.lineBlockAt(t.head).from)),_n=e=>M(e,!0,t=>f.cursor(e.lineBlockAt(t.head).to)),Oe=({state:e,dispatch:t})=>(t(L(e,{anchor:0})),!0),Ie=({state:e,dispatch:t})=>(t(L(e,{anchor:e.doc.length})),!0),We=({state:e,dispatch:t})=>(t(L(e,{anchor:e.selection.main.anchor,head:0})),!0),Fe=({state:e,dispatch:t})=>(t(L(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),Kn=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),Qn=({state:e,dispatch:t})=>{let n=re(e).map(({from:r,to:o})=>f.undirectionalRange(r,Math.min(o+1,e.doc.length)));return t(e.update({selection:f.create(n),userEvent:"select"})),!0},jn=({state:e,dispatch:t})=>{let n=q(e.selection,r=>{let o=Se(e),l=o.resolveStack(r.from,1);if(r.empty){let s=o.resolveStack(r.from,-1);s.node.from>=l.node.from&&s.node.to<=l.node.to&&(l=s)}for(let s=l;s;s=s.next){let{node:i}=s;if((i.from<r.from&&i.to>=r.to||i.to>r.to&&i.from<=r.from)&&s.next)return f.undirectionalRange(i.from,i.to)}return r});return n.eq(e.selection)?!1:(t(L(e,n)),!0)};function yt(e,t){let{state:n}=e,r=n.selection,o=n.selection.ranges.slice();for(let l of n.selection.ranges){let s=n.doc.lineAt(l.head);if(t?s.to<e.state.doc.length:s.from>0)for(let i=l;;){let c=e.moveVertically(i,t);if(c.head<s.from||c.head>s.to){o.some(a=>a.head==c.head)||o.push(c);break}else{if(c.head==i.head)break;i=c}}}return o.length==r.ranges.length?!1:(e.dispatch(L(n,f.create(o,o.length-1))),!0)}const Xn=e=>yt(e,!1),Yn=e=>yt(e,!0),Zn=({state:e,dispatch:t})=>{let n=e.selection,r=null;return n.ranges.length>1?r=f.create([n.main]):n.main.empty||(r=f.create([f.cursor(n.main.head)])),r?(t(L(e,r)),!0):!1};function G(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:r}=e,o=r.changeByRange(l=>{let{from:s,to:i}=l;if(s==i){let c=t(l);c<s?(n="delete.backward",c=z(e,c,!1)):c>s&&(n="delete.forward",c=z(e,c,!0)),s=Math.min(s,c),i=Math.max(i,c)}else s=z(e,s,!1),i=z(e,i,!0);return s==i?{range:l}:{changes:{from:s,to:i},range:f.cursor(s,s<l.head?-1:1)}});return o.changes.empty?!1:(e.dispatch(r.update(o,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?m.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function z(e,t,n){if(e instanceof m)for(let r of e.state.facet(m.atomicRanges).map(o=>o(e)))r.between(t,t,(o,l)=>{o<t&&l>t&&(t=n?l:o)});return t}const xt=(e,t,n)=>G(e,r=>{let o=r.from,{state:l}=e,s=l.doc.lineAt(o),i,c;if(n&&!t&&o>s.from&&o<s.from+200&&!/[^ \t]/.test(i=s.text.slice(0,o-s.from))){if(i[i.length-1]==" ")return o-1;let a=xe(i,l.tabSize),h=a%he(l)||he(l);for(let u=0;u<h&&i[i.length-1-u]==" ";u++)o--;c=o}else c=E(s.text,o-s.from,t,t)+s.from,c==o&&s.number!=(t?l.doc.lines:1)?c+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(s.text.slice(c-s.from,o-s.from))&&(c=E(s.text,c-s.from,!1,!1)+s.from);return c}),me=e=>xt(e,!1,!0),St=e=>xt(e,!0,!1),kt=(e,t)=>G(e,n=>{let r=n.head,{state:o}=e,l=o.doc.lineAt(r),s=o.charCategorizer(r);for(let i=null;;){if(r==(t?l.to:l.from)){r==n.head&&l.number!=(t?o.doc.lines:1)&&(r+=t?1:-1);break}let c=E(l.text,r-l.from,t)+l.from,a=l.text.slice(Math.min(r,c)-l.from,Math.max(r,c)-l.from),h=s(a);if(i!=null&&h!=i)break;(a!=" "||r!=n.head)&&(i=h),r=c}return r}),At=e=>kt(e,!1),er=e=>kt(e,!0),tr=e=>G(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),nr=e=>G(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),rr=e=>G(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),or=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:He.of(["",""])},range:f.cursor(r.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},lr=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{if(!r.empty||r.from==0||r.from==e.doc.length)return{range:r};let o=r.from,l=e.doc.lineAt(o),s=o==l.from?o-1:E(l.text,o-l.from,!1)+l.from,i=o==l.to?o+1:E(l.text,o-l.from,!0)+l.from;return{changes:{from:s,to:i,insert:e.doc.slice(o,i).append(e.doc.slice(s,o))},range:f.cursor(i)}});return n.changes.empty?!1:(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function re(e){let t=[],n=-1;for(let r of e.selection.ranges){let o=e.doc.lineAt(r.from),l=e.doc.lineAt(r.to);if(!r.empty&&r.to==l.from&&(l=e.doc.lineAt(r.to-1)),n>=o.number){let s=t[t.length-1];s.to=l.to,s.ranges.push(r)}else t.push({from:o.from,to:l.to,ranges:[r]});n=l.number+1}return t}function Mt(e,t,n){if(e.readOnly)return!1;let r=[],o=[];for(let l of re(e)){if(n?l.to==e.doc.length:l.from==0)continue;let s=e.doc.lineAt(n?l.to+1:l.from-1),i=s.length+1;if(n){r.push({from:l.to,to:s.to},{from:l.from,insert:s.text+e.lineBreak});for(let c of l.ranges)o.push(f.range(Math.min(e.doc.length,c.anchor+i),Math.min(e.doc.length,c.head+i)))}else{r.push({from:s.from,to:l.from},{from:l.to,insert:e.lineBreak+s.text});for(let c of l.ranges)o.push(f.range(c.anchor-i,c.head-i))}}return r.length?(t(e.update({changes:r,scrollIntoView:!0,selection:f.create(o,e.selection.mainIndex),userEvent:"move.line"})),!0):!1}const sr=({state:e,dispatch:t})=>Mt(e,t,!1),ir=({state:e,dispatch:t})=>Mt(e,t,!0);function Ct(e,t,n){if(e.readOnly)return!1;let r=[];for(let l of re(e))n?r.push({from:l.from,insert:e.doc.slice(l.from,l.to)+e.lineBreak}):r.push({from:l.to,insert:e.lineBreak+e.doc.slice(l.from,l.to)});let o=e.changes(r);return t(e.update({changes:o,selection:e.selection.map(o,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const cr=({state:e,dispatch:t})=>Ct(e,t,!1),ar=({state:e,dispatch:t})=>Ct(e,t,!0),hr=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(re(t).map(({from:o,to:l})=>(o>0?o--:l<t.doc.length&&l++,{from:o,to:l}))),r=q(t.selection,o=>{let l;if(e.lineWrapping){let s=e.lineBlockAt(o.head),i=e.coordsAtPos(o.head,o.assoc||1);i&&(l=s.bottom+e.documentTop-i.bottom+e.defaultLineHeight/2)}return e.moveVertically(o,!0,l)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function ur(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=Se(e).resolveInner(t),r=n.childBefore(t),o=n.childAfter(t),l;return r&&o&&r.to<=t&&o.from>=t&&(l=r.type.prop(ae.closedBy))&&l.indexOf(o.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(o.from).from&&!/\S/.test(e.sliceDoc(r.to,o.from))?{from:r.to,to:o.from}:null}const Pe=Lt(!1),fr=Lt(!0);function Lt(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=t.changeByRange(o=>{let{from:l,to:s}=o,i=t.doc.lineAt(l),c=!e&&l==s&&ur(t,l);e&&(l=s=(s<=i.to?i:t.doc.lineAt(s)).to);let a=new Ge(t,{simulateBreak:l,simulateDoubleBreak:!!c}),h=ze(a,l);for(h==null&&(h=xe(/^\s*/.exec(t.doc.lineAt(l).text)[0],t.tabSize));s<i.to&&/\s/.test(i.text[s-i.from]);)s++;c?{from:l,to:s}=c:l>i.from&&l<i.from+100&&!/\S/.test(i.text.slice(0,l))&&(l=i.from);let u=["",$(t,h)];return c&&u.push($(t,a.lineIndent(i.from,-1))),{changes:{from:l,to:s,insert:He.of(u)},range:f.cursor(l+1+u[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function Me(e,t){let n=-1;return e.changeByRange(r=>{let o=[];for(let s=r.from;s<=r.to;){let i=e.doc.lineAt(s);i.number>n&&(r.empty||r.to>i.from)&&(t(i,o,r),n=i.number),s=i.to+1}let l=e.changes(o);return{changes:o,range:f.range(l.mapPos(r.anchor,1),l.mapPos(r.head,1))}})}const dr=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new Ge(e,{overrideIndentation:l=>{let s=n[l];return s??-1}}),o=Me(e,(l,s,i)=>{let c=ze(r,l.from);if(c==null)return;/\S/.test(l.text)||(c=0);let a=/^\s*/.exec(l.text)[0],h=$(e,c);(a!=h||i.from<l.from+a.length)&&(n[l.from]=c,s.push({from:l.from,to:l.from+a.length,insert:h}))});return o.changes.empty||t(e.update(o,{userEvent:"indent"})),!0},vt=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(Me(e,(n,r)=>{r.push({from:n.from,insert:e.facet(Vt)})}),{userEvent:"input.indent"})),!0),Dt=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(Me(e,(n,r)=>{let o=/^\s*/.exec(n.text)[0];if(!o)return;let l=xe(o,e.tabSize),s=0,i=$(e,Math.max(0,l-he(e)));for(;s<o.length&&s<i.length&&o.charCodeAt(s)==i.charCodeAt(s);)s++;r.push({from:n.from+s,to:n.from+o.length,insert:i.slice(s)})}),{userEvent:"delete.dedent"})),!0),mr=e=>(e.setTabFocusMode(),!0),pr=[{key:"Ctrl-b",run:tt,shift:ht,preventDefault:!0},{key:"Ctrl-f",run:nt,shift:ut},{key:"Ctrl-p",run:lt,shift:mt},{key:"Ctrl-n",run:st,shift:pt},{key:"Ctrl-a",run:Wn,shift:$n},{key:"Ctrl-e",run:Fn,shift:_n},{key:"Ctrl-d",run:St},{key:"Ctrl-h",run:me},{key:"Ctrl-k",run:tr},{key:"Ctrl-Alt-h",run:At},{key:"Ctrl-o",run:or},{key:"Ctrl-t",run:lr},{key:"Ctrl-v",run:de}],gr=[{key:"ArrowLeft",run:tt,shift:ht,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:vn,shift:Nn,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:On,shift:Hn,preventDefault:!0},{key:"ArrowRight",run:nt,shift:ut,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:Dn,shift:Vn,preventDefault:!0},{mac:"Cmd-ArrowRight",run:In,shift:Jn,preventDefault:!0},{key:"ArrowUp",run:lt,shift:mt,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Oe,shift:We},{mac:"Ctrl-ArrowUp",run:Ee,shift:Te},{key:"ArrowDown",run:st,shift:pt,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Ie,shift:Fe},{mac:"Ctrl-ArrowDown",run:de,shift:Re},{key:"PageUp",run:Ee,shift:Te},{key:"PageDown",run:de,shift:Re},{key:"Home",run:Rn,shift:zn,preventDefault:!0},{key:"Mod-Home",run:Oe,shift:We},{key:"End",run:Tn,shift:Un,preventDefault:!0},{key:"Mod-End",run:Ie,shift:Fe},{key:"Enter",run:Pe,shift:Pe},{key:"Mod-a",run:Kn},{key:"Backspace",run:me,shift:me,preventDefault:!0},{key:"Delete",run:St,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:At,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:er,preventDefault:!0},{mac:"Mod-Backspace",run:nr,preventDefault:!0},{mac:"Mod-Delete",run:rr,preventDefault:!0}].concat(pr.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),yr=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:bn,shift:wn},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:En,shift:Gn},{key:"Alt-ArrowUp",run:sr},{key:"Shift-Alt-ArrowUp",run:cr},{key:"Alt-ArrowDown",run:ir},{key:"Shift-Alt-ArrowDown",run:ar},{key:"Mod-Alt-ArrowUp",run:Xn},{key:"Mod-Alt-ArrowDown",run:Yn},{key:"Escape",run:Zn},{key:"Mod-Enter",run:fr},{key:"Alt-l",mac:"Ctrl-l",run:Qn},{key:"Mod-i",run:jn,preventDefault:!0},{key:"Mod-[",run:Dt},{key:"Mod-]",run:vt},{key:"Mod-Alt-\\",run:dr},{key:"Shift-Mod-k",run:hr},{key:"Shift-Mod-\\",run:qn},{key:"Mod-/",run:ln},{key:"Alt-A",mac:"Ctrl-A",run:cn},{key:"Ctrl-m",mac:"Shift-Alt-m",run:mr}].concat(gr),xr={key:"Tab",run:vt,shift:Dt},qe=typeof String.prototype.normalize=="function"?e=>e.normalize("NFKD"):e=>e;class P{constructor(t,n,r=0,o=t.length,l,s){this.test=s,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=t.iterRange(r,o),this.bufferStart=r,this.normalize=l?i=>l(qe(i)):qe,this.query=this.normalize(n)}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 Ht(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let t=this.peek();if(t<0)return this.done=!0,this;let n=_t(t),r=this.bufferStart+this.bufferPos;this.bufferPos+=Jt(t);let o=this.normalize(n);if(o.length)for(let l=0,s=r,i=!0;;l++){let c=o.charCodeAt(l),a=this.match(c,s,i,this.bufferPos+this.bufferStart,l==o.length-1);if(a)return this.value=a,this;if(l==o.length-1)break;i&&l<n.length&&n.charCodeAt(l)==c?s++:i=!1}}}match(t,n,r,o,l){let s=null;for(let i=0;i<this.matches.length;){let c=this.matches[i],a=!1;this.query.charCodeAt(c.index)==t&&(c.index==this.query.length-1?s={from:c.from,to:o,precise:l&&c.precise}:(c.index++,a=!0)),a?i++:this.matches.splice(i,1)}return this.query.charCodeAt(0)==t&&(this.query.length==1?s={from:n,to:o,precise:r&&l}:this.matches.push({from:n,index:1,precise:r})),s&&this.test&&!this.test(s.from,s.to,this.buffer,this.bufferStart)&&(s=null),s}}typeof Symbol<"u"&&(P.prototype[Symbol.iterator]=function(){return this});const Bt={from:-1,to:-1,match:/.*/.exec(""),precise:!0},Ce="gm"+(/x/.unicode==null?"":"u");class bt{constructor(t,n,r,o=0,l=t.length){if(this.text=t,this.to=l,this.curLine="",this.done=!1,this.value=Bt,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new Et(t,n,r,o,l);this.re=new RegExp(n,Ce+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=t.iter();let s=t.lineAt(o);this.curLineStart=s.from,this.matchPos=K(t,o),this.getLine(this.curLineStart)}getLine(t){this.iter.next(t),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.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 t=this.matchPos-this.curLineStart;;){this.re.lastIndex=t;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let r=this.curLineStart+n.index,o=r+n[0].length;if(this.matchPos=K(this.text,o+(r==o?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<o||r>this.value.to)&&(!this.test||this.test(r,o,n)))return this.value={from:r,to:o,precise:!0,match:n},this;t=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),t=0;else return this.done=!0,this}}}const ie=new WeakMap;class F{constructor(t,n){this.from=t,this.text=n}get to(){return this.from+this.text.length}static get(t,n,r){let o=ie.get(t);if(!o||o.from>=r||o.to<=n){let i=new F(n,t.sliceString(n,r));return ie.set(t,i),i}if(o.from==n&&o.to==r)return o;let{text:l,from:s}=o;return s>n&&(l=t.sliceString(n,s)+l,s=n),o.to<r&&(l+=t.sliceString(o.to,r)),ie.set(t,new F(s,l)),new F(n,l.slice(n-s,r-s))}}class Et{constructor(t,n,r,o,l){this.text=t,this.to=l,this.done=!1,this.value=Bt,this.matchPos=K(t,o),this.re=new RegExp(n,Ce+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=F.get(t,o,this.chunkEnd(o+5e3))}chunkEnd(t){return t>=this.to?this.to:this.text.lineAt(t).to}next(){for(;;){let t=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==t&&(this.re.lastIndex=t+1,n=this.re.exec(this.flat.text)),n){let r=this.flat.from+n.index,o=r+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,o,n)))return this.value={from:r,to:o,precise:!0,match:n},this.matchPos=K(this.text,o+(r==o?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=F.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(bt.prototype[Symbol.iterator]=Et.prototype[Symbol.iterator]=function(){return this});function Sr(e){try{return new RegExp(e,Ce),!0}catch{return!1}}function K(e,t){if(t>=e.length)return t;let n=e.lineAt(t),r;for(;t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344;)t++;return t}const kr=e=>{let t=wt(e,"cm-goto-line");if(t){let s=t.dom.querySelector("input[type=text]");return s&&s.select(),!0}let{state:n}=e,r=String(n.doc.lineAt(e.state.selection.main.head).number),{close:o,result:l}=Gt(e,{class:"cm-goto-line",label:n.phrase("Go to line"),input:{type:"text",name:"line",value:r},focus:!0,submitLabel:n.phrase("go")});return l.then(s=>{let i=s&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(s.elements.line.value);if(!i){e.dispatch({effects:o});return}let c=n.doc.lineAt(n.selection.main.head),[,a,h,u,d]=i,R=u?+u.slice(1):0,C=h?+h:c.number;if(h&&d){let oe=C/100;a&&(oe=oe*(a=="-"?-1:1)+c.number/n.doc.lines),C=Math.round(n.doc.lines*oe)}else h&&a&&(C=C*(a=="-"?-1:1)+c.number);let Be=n.doc.line(Math.max(1,Math.min(n.doc.lines,C))),be=f.cursor(Be.from+Math.max(0,Math.min(R,Be.length)));e.dispatch({effects:[o,m.scrollIntoView(be.from,{y:"center"})],selection:be})}),!0},Ar={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Mr=Z.define({combine(e){return ye(e,Ar,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function Cr(e){return[br,Br]}const Lr=x.mark({class:"cm-selectionMatch"}),vr=x.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Ne(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=k.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=k.Word)}function Dr(e,t,n,r){return e(t.sliceDoc(n,n+1))==k.Word&&e(t.sliceDoc(r-1,r))==k.Word}const Br=$e.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(Mr),{state:n}=e,r=n.selection;if(r.ranges.length>1)return x.none;let o=r.main,l,s=null;if(o.empty){if(!t.highlightWordAroundCursor)return x.none;let c=n.wordAt(o.head);if(!c)return x.none;s=n.charCategorizer(o.head),l=n.sliceDoc(c.from,c.to)}else{let c=o.to-o.from;if(c<t.minSelectionLength||c>200)return x.none;if(t.wholeWords){if(l=n.sliceDoc(o.from,o.to),s=n.charCategorizer(o.head),!(Ne(s,n,o.from,o.to)&&Dr(s,n,o.from,o.to)))return x.none}else if(l=n.sliceDoc(o.from,o.to),!l)return x.none}let i=[];for(let c of e.visibleRanges){let a=new P(n.doc,l,c.from,c.to);for(;!a.next().done;){let{from:h,to:u}=a.value;if((!s||Ne(s,n,h,u))&&(o.empty&&h<=o.from&&u>=o.to?i.push(vr.range(h,u)):(h>=o.to||u<=o.from)&&i.push(Lr.range(h,u)),i.length>t.maxMatches))return x.none}}return x.set(i)}},{decorations:e=>e.decorations}),br=m.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),Er=({state:e,dispatch:t})=>{let{selection:n}=e,r=f.create(n.ranges.map(o=>e.wordAt(o.head)||f.cursor(o.head)),n.mainIndex);return r.eq(n)?!1:(t(e.update({selection:r})),!0)};function Tr(e,t){let{main:n,ranges:r}=e.selection,o=e.wordAt(n.head),l=o&&o.from==n.from&&o.to==n.to;for(let s=!1,i=new P(e.doc,t,r[r.length-1].to);;)if(i.next(),i.done){if(s)return null;i=new P(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),s=!0}else{if(s&&r.some(c=>c.from==i.value.from))continue;if(l){let c=e.wordAt(i.value.from);if(!c||c.from!=i.value.from||c.to!=i.value.to)continue}return i.value}}const Rr=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(l=>l.from===l.to))return Er({state:e,dispatch:t});let r=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(l=>e.sliceDoc(l.from,l.to)!=r))return!1;let o=Tr(e,r);return o?(t(e.update({selection:e.selection.addRange(f.range(o.from,o.to),!1),effects:m.scrollIntoView(o.to)})),!0):!1},T=Z.define({combine(e){return ye(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:t=>new $r(t),scrollToMatch:t=>m.scrollIntoView(t)})}});function Or(e){return e?[T.of(e),ge]:ge}class Tt{constructor(t){this.search=t.search,this.caseSensitive=!!t.caseSensitive,this.literal=!!t.literal,this.regexp=!!t.regexp,this.replace=t.replace||"",this.valid=!!this.search&&(!this.regexp||Sr(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!t.wholeWord,this.test=t.test}unquote(t){return this.literal?t:t.replace(/\\([nrt\\])/g,(n,r)=>r=="n"?`
2
2
  `:r=="r"?"\r":r=="t"?" ":"\\")}eq(t){return this.search==t.search&&this.replace==t.replace&&this.caseSensitive==t.caseSensitive&&this.regexp==t.regexp&&this.wholeWord==t.wholeWord&&this.test==t.test}create(){return this.regexp?new Nr(this):new Fr(this)}getCursor(t,n=0,r){let o=t.doc?t:_e.create({doc:t});return r==null&&(r=o.doc.length),this.regexp?I(this,o,n,r):O(this,o,n,r)}}class Rt{constructor(t){this.spec=t}}function Ir(e,t,n){return(r,o,l,s)=>{if(n&&!n(r,o,l,s))return!1;let i=r>=s&&o<=s+l.length?l.slice(r-s,o-s):t.doc.sliceString(r,o);return e(i,t,r,o)}}function O(e,t,n,r){let o;return e.wholeWord&&(o=Wr(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(o=Ir(e.test,t,o)),new P(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:l=>l.toLowerCase(),o)}function Wr(e,t){return(n,r,o,l)=>((l>n||l+o.length<r)&&(l=Math.max(0,n-2),o=e.sliceString(l,Math.min(e.length,r+2))),(t(Q(o,n-l))!=k.Word||t(j(o,n-l))!=k.Word)&&(t(j(o,r-l))!=k.Word||t(Q(o,r-l))!=k.Word))}class Fr extends Rt{constructor(t){super(t)}nextMatch(t,n,r){let o=O(this.spec,t,r,t.doc.length).nextOverlapping();if(o.done){let l=Math.min(t.doc.length,n+this.spec.unquoted.length);o=O(this.spec,t,0,l).nextOverlapping()}return o.done||o.value.from==n&&o.value.to==r?null:o.value}prevMatchInRange(t,n,r){for(let o=r;;){let l=Math.max(n,o-1e4-this.spec.unquoted.length),s=O(this.spec,t,l,o),i=null;for(;!s.nextOverlapping().done;)i=s.value;if(i)return i;if(l==n)return null;o-=1e4}}prevMatch(t,n,r){let o=this.prevMatchInRange(t,0,n);return o||(o=this.prevMatchInRange(t,Math.max(0,r-this.spec.unquoted.length),t.doc.length)),o&&(o.from!=n||o.to!=r)?o:null}getReplacement(t){return this.spec.unquote(this.spec.replace)}matchAll(t,n){let r=O(this.spec,t,0,t.doc.length),o=[];for(;!r.next().done;){if(o.length>=n)return null;o.push(r.value)}return o}highlight(t,n,r,o){let l=O(this.spec,t,Math.max(0,n-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,t.doc.length));for(;!l.next().done;)o(l.value.from,l.value.to)}}function Pr(e,t,n){return(r,o,l)=>(!n||n(r,o,l))&&e(l[0],t,r,o)}function I(e,t,n,r){let o;return e.wholeWord&&(o=qr(t.charCategorizer(t.selection.main.head))),e.test&&(o=Pr(e.test,t,o)),new bt(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:o},n,r)}function Q(e,t){return e.slice(E(e,t,!1),t)}function j(e,t){return e.slice(t,E(e,t))}function qr(e){return(t,n,r)=>!r[0].length||(e(Q(r.input,r.index))!=k.Word||e(j(r.input,r.index))!=k.Word)&&(e(j(r.input,r.index+r[0].length))!=k.Word||e(Q(r.input,r.index+r[0].length))!=k.Word)}class Nr extends Rt{nextMatch(t,n,r){let o=I(this.spec,t,r,t.doc.length).next();return o.done&&(o=I(this.spec,t,0,n).next()),o.done?null:o.value}prevMatchInRange(t,n,r){for(let o=1;;o++){let l=Math.max(n,r-o*1e4),s=I(this.spec,t,l,r),i=null;for(;!s.next().done;)i=s.value;if(i&&(l==n||i.from>l+10))return i;if(l==n)return null}}prevMatch(t,n,r){return this.prevMatchInRange(t,0,n)||this.prevMatchInRange(t,r,t.doc.length)}getReplacement(t){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,r)=>{if(r=="&")return t.match[0];if(r=="$")return"$";for(let o=r.length;o>0;o--){let l=+r.slice(0,o);if(l>0&&l<t.match.length)return t.match[l]+r.slice(o)}return n})}matchAll(t,n){let r=I(this.spec,t,0,t.doc.length),o=[];for(;!r.next().done;){if(o.length>=n)return null;o.push(r.value)}return o}highlight(t,n,r,o){let l=I(this.spec,t,Math.max(0,n-250),Math.min(r+250,t.doc.length));for(;!l.next().done;)o(l.value.from,l.value.to)}}const V=w.define(),Le=w.define(),B=we.define({create(e){return new ce(pe(e).create(),null)},update(e,t){for(let n of t.effects)n.is(V)?e=new ce(n.value.create(),e.panel):n.is(Le)&&(e=new ce(e.query,n.value?ve:null));return e},provide:e=>zt.from(e,t=>t.panel)});class ce{constructor(t,n){this.query=t,this.panel=n}}const Vr=x.mark({class:"cm-searchMatch"}),wr=x.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Gr=$e.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(B))}update(e){let t=e.state.field(B);(t!=e.startState.field(B)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return x.none;let{view:n}=this,r=new $t;for(let o=0,l=n.visibleRanges,s=l.length;o<s;o++){let{from:i,to:c}=l[o];for(;o<s-1&&c>l[o+1].from-500;)c=l[++o].to;e.highlight(n.state,i,c,(a,h)=>{let u=n.state.selection.ranges.some(d=>d.from==a&&d.to==h);r.add(a,h,u?wr:Vr)})}return r.finish()}},{decorations:e=>e.decorations});function U(e){return t=>{let n=t.state.field(B,!1);return n&&n.query.spec.valid?e(t,n):Wt(t)}}const X=U((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let o=f.single(r.from,r.to),l=e.state.facet(T);return e.dispatch({selection:o,effects:[De(e,r),l.scrollToMatch(o.main,e)],userEvent:"select.search"}),It(e),!0}),Y=U((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,o=t.prevMatch(n,r,r);if(!o)return!1;let l=f.single(o.from,o.to),s=e.state.facet(T);return e.dispatch({selection:l,effects:[De(e,o),s.scrollToMatch(l.main,e)],userEvent:"select.search"}),It(e),!0}),Ur=U((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:f.create(n.map(r=>f.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),zr=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:o}=n.main,l=[],s=0;for(let i=new P(e.doc,e.sliceDoc(r,o));!i.next().done;){if(l.length>1e3)return!1;i.value.from==r&&(s=l.length),l.push(f.range(i.value.from,i.value.to))}return t(e.update({selection:f.create(l,s),userEvent:"select.search.matches"})),!0},Ve=U((e,{query:t})=>{let{state:n}=e,{from:r,to:o}=n.selection.main;if(n.readOnly)return!1;let l=t.nextMatch(n,r,r);if(!l)return!1;let s=l,i=[],c,a,h=[];s.precise?s.from==r&&s.to==o&&(a=n.toText(t.getReplacement(s)),i.push({from:s.from,to:s.to,insert:a}),s=t.nextMatch(n,s.from,s.to),h.push(m.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+"."))):s=t.nextMatch(n,s.from,s.to);let u=e.state.changes(i);return s&&(c=f.single(s.from,s.to).map(u),h.push(De(e,s)),h.push(n.facet(T).scrollToMatch(c.main,e))),e.dispatch({changes:u,selection:c,effects:h,userEvent:"input.replace"}),!0}),Hr=U((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let o of t.matchAll(e.state,1e9)){let{from:l,to:s,precise:i}=o;i&&n.push({from:l,to:s,insert:t.getReplacement(o)})}if(!n.length)return!1;let r=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:m.announce.of(r),userEvent:"input.replace.all"}),!0});function ve(e){return e.state.facet(T).createPanel(e)}function pe(e,t){var n,r,o,l,s;let i=e.selection.main,c=i.empty||i.to>i.from+100?"":e.sliceDoc(i.from,i.to);if(t&&!c)return t;let a=e.facet(T);return new Tt({search:((n=t?.literal)!==null&&n!==void 0?n:a.literal)?c:c.replace(/\n/g,"\\n"),caseSensitive:(r=t?.caseSensitive)!==null&&r!==void 0?r:a.caseSensitive,literal:(o=t?.literal)!==null&&o!==void 0?o:a.literal,regexp:(l=t?.regexp)!==null&&l!==void 0?l:a.regexp,wholeWord:(s=t?.wholeWord)!==null&&s!==void 0?s:a.wholeWord})}function Ot(e){let t=Je(e,ve);return t&&t.dom.querySelector("[main-field]")}function It(e){let t=Ot(e);t&&t==e.root.activeElement&&t.select()}const Wt=e=>{let t=e.state.field(B,!1);if(t&&t.panel){let n=Ot(e);if(n&&n!=e.root.activeElement){let r=pe(e.state,t.query.spec);r.valid&&e.dispatch({effects:V.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[Le.of(!0),t?V.of(pe(e.state,t.query.spec)):w.appendConfig.of(ge)]});return!0},Ft=e=>{let t=e.state.field(B,!1);if(!t||!t.panel)return!1;let n=Je(e,ve);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:Le.of(!1)}),!0},Jr=[{key:"Mod-f",run:Wt,scope:"editor search-panel"},{key:"F3",run:X,shift:Y,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:X,shift:Y,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Ft,scope:"editor search-panel"},{key:"Mod-Shift-l",run:zr},{key:"Mod-Alt-g",run:kr},{key:"Mod-d",run:Rr,preventDefault:!0}];class $r{constructor(t){this.view=t;let n=this.query=t.state.field(B).query.spec;this.commit=this.commit.bind(this),this.searchField=S("input",{value:n.search,placeholder:y(t,"Find"),"aria-label":y(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=S("input",{value:n.replace,placeholder:y(t,"Replace"),"aria-label":y(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=S("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=S("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=S("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(o,l,s){return S("button",{class:"cm-button",name:o,onclick:l,type:"button"},s)}this.dom=S("div",{onkeydown:o=>this.keydown(o),class:"cm-search"},[this.searchField,r("next",()=>X(t),[y(t,"next")]),r("prev",()=>Y(t),[y(t,"previous")]),r("select",()=>Ur(t),[y(t,"all")]),S("label",null,[this.caseField,y(t,"match case")]),S("label",null,[this.reField,y(t,"regexp")]),S("label",null,[this.wordField,y(t,"by word")]),...t.state.readOnly?[]:[S("br"),this.replaceField,r("replace",()=>Ve(t),[y(t,"replace")]),r("replaceAll",()=>Hr(t),[y(t,"replace all")])],S("button",{name:"close",onclick:()=>Ft(t),"aria-label":y(t,"close"),type:"button"},["×"])])}commit(){let t=new Tt({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});t.eq(this.query)||(this.query=t,this.view.dispatch({effects:V.of(t)}))}keydown(t){Kt(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?Y:X)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),Ve(this.view))}update(t){for(let n of t.transactions)for(let r of n.effects)r.is(V)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(t){this.query=t,this.searchField.value=t.search,this.replaceField.value=t.replace,this.caseField.checked=t.caseSensitive,this.reField.checked=t.regexp,this.wordField.checked=t.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(T).top}}function y(e,t){return e.state.phrase(t)}const H=30,J=/[\s\.,:;?!]/;function De(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),o=e.state.doc.lineAt(n).to,l=Math.max(r.from,t-H),s=Math.min(o,n+H),i=e.state.sliceDoc(l,s);if(l!=r.from){for(let c=0;c<H;c++)if(!J.test(i[c+1])&&J.test(i[c])){i=i.slice(c);break}}if(s!=o){for(let c=i.length-1;c>i.length-H;c--)if(!J.test(i[c-1])&&J.test(i[c])){i=i.slice(0,c);break}}return m.announce.of(`${e.state.phrase("current match")}. ${i} ${e.state.phrase("on line")} ${r.number}.`)}const _r=m.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),ge=[B,Ut.low(Gr),_r],Kr=m.theme({"&":{height:"100%",color:"var(--butter)",backgroundColor:"transparent",fontSize:"0.95rem"},".cm-scroller":{fontFamily:"'Share Tech Mono', monospace",lineHeight:"1.45"},".cm-content":{caretColor:"var(--harvestgold)"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--harvestgold)",borderLeftWidth:"2px"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, ::selection":{backgroundColor:"color-mix(in srgb, var(--orange) 35%, transparent)"},".cm-gutters":{backgroundColor:"transparent",color:"var(--pumpkin-pie)",border:"none"},".cm-activeLine":{backgroundColor:"color-mix(in srgb, var(--orange) 8%, transparent)"},".cm-activeLineGutter":{backgroundColor:"transparent",color:"var(--harvestgold)"},".cm-matchingBracket":{outline:"1px solid var(--harvestgold)",backgroundColor:"transparent"},".cm-searchMatch":{backgroundColor:"color-mix(in srgb, var(--daybreak) 30%, transparent)"},".cm-panels":{backgroundColor:"#000",color:"var(--butter)"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid var(--orange)"}},{dark:!0});async function Xr(e,t,n,r){const o=await Qt(n),l=new m({parent:e,state:_e.create({doc:t,extensions:[jt(),Xt(),pn(),Yt(),Zt(),en(),tn(),Cr(),Or({top:!1}),nn(on),o,Kr,m.lineWrapping,rn.of([...yr,...Ln,...Jr,xr]),m.updateListener.of(s=>{s.docChanged&&r(s.state.doc.toString())})]})});return{text_get:()=>l.state.doc.toString(),text_set:s=>{l.dispatch({changes:{from:0,to:l.state.doc.length,insert:s}})},focus:()=>l.focus(),hasFocus:()=>l.contentDOM.contains(document.activeElement),blur:()=>l.contentDOM.blur(),destroy:()=>l.destroy()}}export{Xr as editField_create};
@@ -1 +1 @@
1
- import{v as H,B as U,t as E,E as M,g as L,a as W,b as S,u as G,s as $,V as q,c as Z,e as y,i as F,d as k,f as v,R as O,h as J,j as K,k as Y,l as Q,m as X,n as ee,o as te,p as ne,r as oe,q as se,w as ie,x as ae,y as re,z as de,A as ce,C as le,D as ge,F as me,G as he,I as ue,H as pe,J as N,S as xe,K as j,L as we,M as fe,N as Ie,O as Ve,P as Ce,Q as Pe,W as De,T as Re,U as Se,X as ve,Y as Ee,Z as Me,_ as _e,$ as Ge,a0 as ye,a1 as be,a2 as ze,a3 as Te,a4 as We,a5 as Fe,a6 as ke,a7 as Oe,a8 as Ae,a9 as Le,aa as Ne,ab as je}from"./Settings-Cc5lCv3O.js";import{ac as ft,ad as It,ae as Vt,af as Ct,ag as Pt,ah as Dt,ai as Rt,aj as St,ak as vt,al as Et,am as Mt,an as _t,ao as Gt,ap as yt,aq as bt,ar as zt,as as Tt,at as Wt,au as Ft,av as kt,aw as Ot,ax as At,ay as Lt,az as Nt,aA as jt,aB as Bt,aC as Ht,aD as Ut,aE as $t,aF as qt,aG as Zt,aH as Jt,aI as Kt,aJ as Yt,aK as Qt,aL as Xt,aM as en,aN as tn,aO as nn,aP as on,aQ as sn,aR as an,aS as rn,aT as dn,aU as cn,aV as ln,aW as gn,aX as mn,aY as hn,aZ as un,aO as pn,a_ as xn,a$ as wn,b0 as fn,b1 as In,b2 as Vn,b3 as Cn,b4 as Pn,b5 as Dn,b6 as Rn}from"./Settings-Cc5lCv3O.js";import{a as Be,T as He}from"./index-DtiTE7yb.js";import{g as vn,b as En,c as Mn,d as _n,s as Gn,u as yn,v as bn,e as zn,f as Tn,h as Wn}from"./index-DtiTE7yb.js";import"./cornerstoneEngine-PEP4UIJ7.js";import"./Texture-B157rLuy.js";import{a as kn}from"./addVolumesToViewports-CrkezNA_.js";import"./dcmjs.es-DfWkgqfk.js";import"./index-CEJn4PwZ.js";import"./refusal-DOpm8I8L.js";import"./_commonjsHelpers-CE1G-McA.js";import"./__vite-browser-external-D7Ct-6yo.js";function ct(l,e,t){for(const n of t){const s=l.getViewport(n);if(!s)throw new Error(`Viewport with Id ${n} does not exist`);if(!s.addImages){console.warn(`Viewport with Id ${n} does not have addImages. Cannot add image segmentation to this viewport.`);return}}t.forEach(n=>{l.getViewport(n).addImages(e)})}class Ue{constructor(e,t=""){this.contexts=[],this.offScreenCanvasContainers=[],this.viewportToContext=new Map,this.viewportSizes=new Map,this.contextMaxSizes=new Map;for(let n=0;n<e;n++){const s=H.newInstance(),o=document.createElement("div");s.setContainer(o),Be(s,t,n),this.contexts.push(s),this.offScreenCanvasContainers.push(o)}}getContextByIndex(e){return e>=0&&e<this.contexts.length?{context:this.contexts[e],container:this.offScreenCanvasContainers[e]}:null}assignViewportToContext(e,t){this.viewportToContext.set(e,t)}getContextIndexForViewport(e){return this.viewportToContext.get(e)}getAllContexts(){return this.contexts}getContextCount(){return this.contexts.length}updateViewportSize(e,t,n){const s=this.viewportToContext.get(e);if(s===void 0)return!1;this.viewportSizes.set(e,{width:t,height:n});const o=this.contextMaxSizes.get(s),i=this.calculateMaxSizeForContext(s);return this.contextMaxSizes.set(s,i),!o||o.width!==i.width||o.height!==i.height}getMaxSizeForContext(e){return this.contextMaxSizes.get(e)}calculateMaxSizeForContext(e){let t=0,n=0;return this.viewportToContext.forEach((s,o)=>{if(s===e){const i=this.viewportSizes.get(o);i&&(t=Math.max(t,i.width),n=Math.max(n,i.height))}}),{width:t,height:n}}removeViewport(e){const t=this.viewportToContext.get(e);if(this.viewportToContext.delete(e),this.viewportSizes.delete(e),t!==void 0){const n=this.calculateMaxSizeForContext(t);this.contextMaxSizes.set(t,n)}}destroy(){this.contexts.forEach(e=>{e.delete()}),this.contexts=[],this.offScreenCanvasContainers=[],this.viewportToContext.clear(),this.viewportSizes.clear(),this.contextMaxSizes.clear()}}class A extends U{constructor(e){super(e),this._renderFlaggedViewports=()=>{this._throwIfDestroyed();const n=this._getViewportsAsArray().filter(o=>this._needsRender.has(o.id));if(n.length===0){this._animationFrameSet=!1,this._animationFrameHandle=null;return}const s=n.map(o=>{const i=this.renderViewportUsingCustomOrVtkPipeline(o);return o.setRendered(),this._needsRender.delete(o.id),i});this._animationFrameSet=!1,this._animationFrameHandle=null,s.forEach(o=>{o?.element&&E(o.element,M.IMAGE_RENDERED,o)})},this.useCPURendering||this.ensureContextPool()}ensureContextPool(){if(!this.contextPool){const{rendering:e}=L(),{webGlContextCount:t}=e;this.contextPool=new Ue(t,this.id)}return this.contextPool}enableVTKjsDrivenViewport(e){const s=this._getViewportsAsArray().filter(a=>W(a.type)===!1).map(a=>a.canvas),o=S(e.element);G(o),s.push(o);const i={...e,canvas:o};this.addVtkjsDrivenViewport(i)}addVtkjsDrivenViewport(e){const t=this.ensureContextPool(),{element:n,canvas:s,viewportId:o,type:i,defaultOptions:a}=e;n.tabIndex=-1,$(n);let r=0;if(i===q.STACK){const u=t.getAllContexts();r=this._viewports.size%u.length}t.assignViewportToContext(o,r),t.updateViewportSize(o,s.width,s.height);const d=t.getContextByIndex(r),{context:g,container:m}=d,p=t.getMaxSizeForContext(r);m.width=p.width,m.height=p.height,g.resize(),g.addRenderer({viewport:[0,0,1,1],id:o,background:a.background?a.background:[0,0,0]});const x={id:o,element:n,renderingEngineId:this.id,type:i,canvas:s,sx:0,sy:0,sWidth:s.width,sHeight:s.height,defaultOptions:a||{}},f=Z(e);if(!f)throw new Error(`Viewport Type ${i} is not supported`);const h=new f(x);h.requestedType=e.requestedType??i,this._viewports.set(o,h);const c={element:n,viewportId:o,renderingEngineId:this.id};h.suppressEvents||E(y,M.ELEMENT_ENABLED,c)}setVtkjsDrivenViewports(e){if(e.length){const t=e.map(n=>S(n.element));t.forEach(n=>G(n));for(let n=0;n<e.length;n++){const s=e[n],o=t[n],i={...s,canvas:o};this.addVtkjsDrivenViewport(i)}}}_getDisplayedSize(e){const t=window.devicePixelRatio||1,n=F(e)?e.element:S(e.element);return{displayedWidth:Math.round(n.clientWidth*t),displayedHeight:Math.round(n.clientHeight*t)}}_resizeVTKViewports(e,t=!0,n=!0){const s=[];for(const o of e){const i=S(o.element),{displayedWidth:a,displayedHeight:r}=this._getDisplayedSize(o);if(a===0||r===0)continue;const d=i.width,g=i.height;a===d&&r===g||s.push(o)}if(s.length!==0){for(const o of s){const{displayedWidth:i,displayedHeight:a}=this._getDisplayedSize(o),r=Math.max(v,i),d=Math.max(v,a);o.sWidth=r,o.sHeight=d}this._animationFrameSet||(e.length&&this._resize(e),e.forEach(o=>{if(o.resize?.(),F(o))return;const i=o.getCamera(),a=o.getRotation?.()??0,{flipHorizontal:r}=i,d=o;d.resetViewStateForResize?d.resetViewStateForResize():d.resetCameraForResize?.();const g=o.getDisplayArea();t&&(g?(r&&o.setCamera({flipHorizontal:r}),a&&o.setViewPresentation({rotation:a})):o.setCamera(i))}),n&&this.render())}}renderViewportUsingCustomOrVtkPipeline(e){if(k(e))return e.customRenderViewportToCanvas();if(!this.contextPool)throw new Error("GPU not available, and using a viewport with no custom render pipeline.");const t=this.contextPool.getContextIndexForViewport(e.id),n=this.contextPool.getContextByIndex(t),{context:s,container:o}=n;return this._renderViewportWithContext(e,s,o)}_renderViewportWithContext(e,t,n){if(e.canvas.clientWidth===0||e.canvas.clientHeight===0)return;if(e.sWidth<v||e.sHeight<v){console.warn("Viewport is too small",e.sWidth,e.sHeight);return}if(k(e))return e.customRenderViewportToCanvas();if(!this.contextPool)throw new Error("GPU not available, and using a viewport with no custom render pipeline.");t.getRenderer(e.id)||t.addRenderer({viewport:[0,0,1,1],id:e.id,background:e.defaultOptions?.background||[0,0,0]});const s=t.getRenderWindow(),o=s.getViews()[0],i=o.getRenderPasses(),a=this.getViewportRenderPasses(e.id);a&&o.setRenderPasses(a),this._resizeOffScreenCanvasForViewport(e,n,t);const r=t.getRenderer(e.id),d=this.contextPool.getContextIndexForViewport(e.id),g=this.contextPool.getMaxSizeForContext(d),m=e.sWidth,p=e.sHeight,x=Math.min(1,m/g.width),f=Math.min(1,p/g.height);r.setViewport(0,0,x,f);const h=t.getRenderers();h.forEach(({renderer:w,id:V})=>{const _=V.split("::")[0];w.setDraw(_===e.id)});const c=this.getWidgetRenderers();c.forEach((w,V)=>{V.setDraw(w===e.id)}),s.render(),h.forEach(({renderer:w})=>w.setDraw(!1)),c.forEach((w,V)=>{V.setDraw(!1)}),i&&o.setRenderPasses(i);const I=t.getOpenGLRenderWindow().get3DContext().canvas;return this._copyToOnscreenCanvas(e,I)}_renderViewportFromVtkCanvasToOnscreenCanvas(e,t){return this._copyToOnscreenCanvas(e,t)}_resizeOffScreenCanvasForViewport(e,t,n){const s=this.contextPool.getContextIndexForViewport(e.id);if(s===void 0||!this.contextPool.updateViewportSize(e.id,e.sWidth,e.sHeight))return;const i=this.contextPool.getMaxSizeForContext(s);t.width===i.width&&t.height===i.height||(t.width=i.width,t.height=i.height,n.resize())}_copyToOnscreenCanvas(e,t){const{element:n,canvas:s,id:o,renderingEngineId:i,suppressEvents:a}=e,r=e.sWidth,d=e.sHeight;G(s,{width:r,height:d});const g=s.getContext("2d"),m=this.contextPool.getContextIndexForViewport(o),x=this.contextPool.getMaxSizeForContext(m).height-d;return g.drawImage(t,0,x,r,d,0,0,r,d),{element:n,suppressEvents:a,viewportId:o,renderingEngineId:i,viewportStatus:e.viewportStatus}}_resize(e){const t=new Set;for(const n of e){n.sx=0,n.sy=0;const s=this.contextPool.getContextIndexForViewport(n.id);this.contextPool.updateViewportSize(n.id,n.sWidth,n.sHeight)&&t.add(s);const i=this.contextPool.getContextByIndex(s),{context:a}=i,r=a.getRenderer(n.id),d=this.contextPool.getMaxSizeForContext(s),g=Math.min(1,n.sWidth/d.width),m=Math.min(1,n.sHeight/d.height);r.setViewport(0,0,g,m)}t.forEach(n=>{const s=this.contextPool.getContextByIndex(n);if(s){const{context:o,container:i}=s,a=this.contextPool.getMaxSizeForContext(n);i.width=a.width,i.height=a.height,o.resize()}})}getWidgetRenderers(){const e=this._getViewportsAsArray(),t=new Map;return e.forEach(n=>{(n.getWidgets?n.getWidgets():[]).forEach(o=>{const i=o.getRenderer?o.getRenderer():null;i&&t.set(i,n.id)})}),t}getViewportRenderPasses(e){const t=this.getViewport(e);return t?.getRenderPasses?t.getRenderPasses():null}getRenderer(e){const t=this.contextPool?.getContextIndexForViewport(e);if(t===void 0||!this.contextPool)return;const n=this.contextPool.getContextByIndex(t);if(!n)return;const{context:s}=n;return s.getRenderer(e)}disableElement(e){const t=this.getViewport(e);if(t&&(super.disableElement(e),!W(t.type)&&this.contextPool)){const n=this.contextPool.getContextIndexForViewport(e);if(n!==void 0){const s=this.contextPool.getContextByIndex(n);if(s){const{context:o}=s;o.removeRenderer(e)}}this.contextPool.removeViewport(e)}}destroy(){super.destroy(),this.contextPool&&this.contextPool.destroy()}getOffscreenMultiRenderWindow(e){if(!this.contextPool)throw new Error("Offscreen multi render window is not available.");const t=this.contextPool.getContextIndexForViewport(e);if(t===void 0)throw new Error(`Offscreen multi render window is not available for viewport ${e}.`);const n=this.contextPool.getContextByIndex(t);if(!n)throw new Error(`Offscreen multi render window is not available for viewport ${e}.`);return n.context}}class lt{constructor(e){const n=L()?.rendering?.renderingEngineMode;switch(n){case O.Tiled:this._implementation=new He(e);break;case O.ContextPool:this._implementation=new A(e);break;default:console.warn(`RenderingEngine: Unknown rendering engine mode "${n}". Defaulting to Next rendering engine.`),this._implementation=new A(e);break}}get id(){return this._implementation.id}disableViewport(e){return this._implementation.disableElement(e)}enableElement(e){return this._implementation.enableElement(e)}disableElement(e){return this._implementation.disableElement(e)}setViewports(e){return this._implementation.setViewports(e)}resize(e=!0,t=!0){return this._implementation.resize(e,t)}getViewport(e){return this._implementation.getViewport(e)}getViewports(){return this._implementation.getViewports()}getRenderer(e){return this._implementation.getRenderer(e)}fillCanvasWithBackgroundColor(e,t){return this._implementation.fillCanvasWithBackgroundColor(e,t)}render(){return this._implementation.render()}renderViewports(e){return this._implementation.renderViewports(e)}renderViewport(e){return this._implementation.renderViewport(e)}destroy(){return this._implementation.destroy()}getOffscreenMultiRenderWindow(e){return this._implementation.getOffscreenMultiRenderWindow(e)}}const $e={adapter:K,getSnapshot:J},qe={adapter:Q,getSnapshot:Y},Ze={adapter:de,getSnapshot:re,getZoom:ae,getScale:ie,getPan:se,resolveICamera:oe,derivePresentation:ne,applyToRenderer:te,createImageSliceBasis:ee,createVolumeSliceBasis:X},Je={adapter:le,getSnapshot:ce},Ke={adapter:me,getSnapshot:ge},gt="5.8.2";class Ye extends he{constructor(e,t){super(e,t),this._dimensionGroupNumber=1,this._loadedDimensionGroups=new Set,this._getImageIdRequests=(o,i)=>this.getImageIdsRequests(o,i),this.getImageLoadRequests=o=>{const i=this.getImageIdsToLoad();return this._getImageIdRequests(i,o)};const{imageIdGroups:n,splittingTag:s}=e;this._splittingTag=s,this._imageIdGroups=n,this.numDimensionGroups=this._imageIdGroups.length}_getImageIdsToLoad(){const e=this._imageIdGroups,t=this._dimensionGroupNumber-1,n=[...e[t]];let s=t-1,o=t+1;for(;s>=0||o<e.length;)s>=0&&n.push(...e[s--]),o<e.length&&n.push(...e[o++]);return n}getImageIdsToLoad(){return this._getImageIdsToLoad()}get dimensionGroupNumber(){return this._dimensionGroupNumber}set dimensionGroupNumber(e){this._dimensionGroupNumber!==e&&(this._dimensionGroupNumber=e,this.voxelManager.setDimensionGroupNumber(e),this.invalidateVolume(!0),E(y,M.DYNAMIC_VOLUME_DIMENSION_GROUP_CHANGED,{volumeId:this.volumeId,dimensionGroupNumber:e,numDimensionGroups:this.numDimensionGroups,imageIdGroupIndex:e-1,numImageIdGroups:this.numDimensionGroups,splittingTag:this.splittingTag}))}scroll(e){const t=this._dimensionGroupNumber+e;t<1?this.dimensionGroupNumber=this.numDimensionGroups:t>this.numDimensionGroups?this.dimensionGroupNumber=1:this.dimensionGroupNumber=t}getCurrentDimensionGroupImageIds(){return this._imageIdGroups[this._dimensionGroupNumber-1]}flatImageIdIndexToDimensionGroupNumber(e){return Math.floor(e/this._imageIdGroups[0].length)+1}flatImageIdIndexToImageIdIndex(e){return e%this._imageIdGroups[0].length}get splittingTag(){return this._splittingTag}isDimensionGroupLoaded(e){return this._loadedDimensionGroups.has(e)}markDimensionGroupAsLoaded(e){this._loadedDimensionGroups.add(e),E(y,M.DYNAMIC_VOLUME_DIMENSION_GROUP_LOADED,{volumeId:this.volumeId,dimensionGroupNumber:e})}checkDimensionGroupCompletion(e){const t=this.flatImageIdIndexToDimensionGroupNumber(e);this._imageIdGroups[t-1].every(o=>{const i=this.getImageIdIndex(o);return this.cachedFrames[i]===ue.FULL_RESOLUTION})&&!this.isDimensionGroupLoaded(t)&&this.markDimensionGroupAsLoaded(t)}}function Qe(l,e,t){return e.reduce((n,s)=>s.apply(n,t),l)}const Xe={name:"InPlaneDecimationModifier",apply(l,e){const[t=1,n=t]=e.options.ijkDecimation??[],s=Math.max(1,Math.floor(t)),o=Math.max(1,Math.floor(n));if(s===1&&o===1)return l;const[i,a]=l.dimensions,r=Math.max(1,Math.floor(i/s)),d=Math.max(1,Math.floor(a/o)),g=[r,d,l.dimensions[2]],m=[l.spacing[0]*s,l.spacing[1]*o,l.spacing[2]],p={...l.metadata,Columns:r,Rows:d,PixelSpacing:[m[1],m[0]]};return{...l,dimensions:g,spacing:m,metadata:p}}};function mt(l,e){if(!e||!e.imageIds||!e.imageIds.length)throw new Error("ImageIds must be provided to create a streaming image volume ");const[t=1,n=t,s=1]=e.ijkDecimation??[],o=Math.max(1,Math.floor(t)),i=n>1?Math.max(1,Math.floor(n)):o,a=Math.max(1,Math.floor(s)),r=o>1||i>1,d={ijkDecimation:[o,i,a]},g=[Xe];function m(c,u){return u===1?c:`${c}#decimation=${u}`}const p=Math.floor(e.imageIds.length/a),x=a>1&&e.imageIds.length<=p+1;if(a>1&&!x){const c=pe(e.imageIds,a),u=Array.isArray(c)&&c.length&&typeof c[0]=="number"?c.map(P=>e.imageIds[P]):c;e.imageIds=u}o>1&&(e.imageIds=e.imageIds.map(c=>m(c,o)));async function f(){const c=N(e.imageIds,l),u={volumeId:l,imageIds:e.imageIds,options:d},P=Qe(c,g,u),{dimensions:I,spacing:R,origin:w,direction:V,metadata:_,imageIds:b,dataType:B,numberOfComponents:z}=P,C=new xe({volumeId:l,metadata:_,dimensions:I,spacing:R,origin:w,direction:V,imageIds:b,dataType:B,numberOfComponents:z},{imageIds:b,loadStatus:{loaded:!1,loading:!1,cancelled:!1,cachedFrames:[],callbacks:[]}});if(r){const D=C.imageData;D&&(D.setDimensions(C.dimensions),D.setSpacing(C.spacing),D.modified());const T=j.createImageVolumeVoxelManager({dimensions:C.dimensions,imageIds:C.imageIds,numberOfComponents:z});C.voxelManager=T,D&&D.set({voxelManager:T})}return C}const h=f();return{promise:h,decache:()=>{h.then(c=>{c.destroy(),c=null})},cancel:()=>{h.then(c=>{c.cancelLoading()})}}}function ht(l,e){if(!e||!e.imageIds||!e.imageIds.length)throw new Error("ImageIds must be provided to create a 4D streaming image volume");const{imageIds:t}=e,{splittingTag:n,imageIdGroups:s}=we(t),o=Math.floor(s.length/2),i=N(s[o],l),{metadata:a,dimensions:r,spacing:d,direction:g,sizeInBytes:m,origin:p,numberOfComponents:x,dataType:f}=i,h=g.slice(6,9),c=s.map(R=>fe(R,h).sortedImageIds),u=c.flat(),P=j.createScalarDynamicVolumeVoxelManager({dimensions:r,imageIdGroups:c,dimensionGroupNumber:1,numberOfComponents:x});let I=new Ye({volumeId:l,metadata:a,dimensions:r,spacing:d,origin:p,direction:g,sizeInBytes:m,imageIds:u,imageIdGroups:c,splittingTag:n,voxelManager:P,numberOfComponents:x,dataType:f},{imageIds:u,loadStatus:{loaded:!1,loading:!1,cancelled:!1,cachedFrames:[],callbacks:[]}});return{promise:Promise.resolve(I),decache:()=>{I.destroy(),I=null},cancel:()=>{I.cancelLoading()}}}const ut={GenericViewport:je,DefaultRenderPathResolver:Ne,defaultRenderPathResolver:Le,ECGGenericViewport:Ae,createDefaultECGRenderPaths:Oe,createECGRenderPathResolver:ke,DefaultECGDataProvider:Fe,ecgProjection:$e,VideoGenericViewport:We,createDefaultVideoRenderPaths:Te,createVideoRenderPathResolver:ze,DefaultVideoDataProvider:be,videoProjection:qe,PlanarViewport:ye,createDefaultPlanarRenderPaths:Ge,createPlanarRenderPathResolver:_e,DefaultPlanarDataProvider:Me,planarProjection:Ze,VolumeViewport3D:Ee,createDefaultVolume3DRenderPaths:ve,createVolume3DRenderPathResolver:Se,DefaultVolume3DDataProvider:Re,volume3DProjection:Je,WSIGenericViewport:De,createDefaultWSIRenderPaths:Pe,createWSIRenderPathResolver:Ce,DefaultWSIDataProvider:Ve,wsiProjection:Ke},pt=Ie;export{ft as ActorRenderMode,U as BaseRenderingEngine,It as BaseVolumeViewport,Vt as CONSTANTS,A as ContextPoolRenderingEngine,Fe as DefaultECGDataProvider,Me as DefaultPlanarDataProvider,Ne as DefaultRenderPathResolver,be as DefaultVideoDataProvider,Re as DefaultVolume3DDataProvider,Ve as DefaultWSIDataProvider,Ae as ECGGenericViewport,Ct as ECGViewport,Pt as EPSILON,M as EVENTS,Dt as Enums,je as GenericViewport,Ee as GenericVolumeViewport3D,Rt as ImageVolume,pt as LegacyVolumeViewport3D,ye as PlanarViewport,St as ProgressiveRetrieveImages,vt as RenderBackends,lt as RenderingEngine,Et as Settings,Mt as StackViewport,Ye as StreamingDynamicImageVolume,xe as StreamingImageVolume,_t as Surface,He as TiledRenderingEngine,We as VideoGenericViewport,Gt as VideoViewport,yt as Viewport,bt as ViewportProjectionService,zt as VolumeViewport,Ie as VolumeViewport3D,De as WSIGenericViewport,Tt as WSIViewport,ct as addImageSlicesToViewports,kn as addVolumesToViewports,Wt as cache,Ft as canRenderFloatTextures,kt as convertColorArrayToRgbString,Ot as convertMapperToNotSharedMapper,At as cornerstoneMeshLoader,ht as cornerstoneStreamingDynamicImageVolumeLoader,Lt as cornerstoneStreamingImageVolumeLoader,Nt as createCanvas,Oe as createDefaultECGRenderPaths,Ge as createDefaultPlanarRenderPaths,Te as createDefaultVideoRenderPaths,ve as createDefaultVolume3DRenderPaths,Pe as createDefaultWSIRenderPaths,ke as createECGRenderPathResolver,_e as createPlanarRenderPathResolver,ze as createVideoRenderPathResolver,jt as createViewportElement,Se as createVolume3DRenderPathResolver,Bt as createVolumeActor,Ht as createVolumeMapper,Ce as createWSIRenderPathResolver,mt as decimatedVolumeLoader,Le as defaultRenderPathResolver,Ut as detectRenderingCapabilities,$e as ecgProjection,y as eventTarget,$t as geometryLoader,L as getConfiguration,qt as getEffectiveRenderBackend,vn as getEnabledElement,En as getEnabledElementByIds,Mn as getEnabledElementByViewportId,_n as getEnabledElements,S as getOrCreateCanvas,Zt as getProjectionScaleMatrix,Jt as getRenderBackend,Kt as getRenderingCapabilities,Yt as getRenderingEngine,Qt as getRenderingEngines,Xt as getShouldUseCPURendering,en as getUseGenericViewport,tn as getWebWorkerManager,nn as imageLoadPoolManager,on as imageLoader,sn as imageRetrievalPoolManager,an as init,rn as isCornerstoneInitialized,dn as isRegisteredRenderBackend,cn as isRegisteredViewportType,ln as metaData,gn as peerImport,Ze as planarProjection,mn as registerImageLoader,hn as registerRenderBackend,un as registerViewportType,ut as renderingEngineExportsV2,pn as requestPoolManager,xn as resetInitialization,wn as resetUseCPURendering,fn as setCanvasCreator,In as setConfiguration,Vn as setPreferSizeOverAccuracy,Cn as setRenderBackend,Pn as setUseCPURendering,Gn as setVolumesForViewports,E as triggerEvent,G as updateCanvasSizeAndAspectRatio,yn as utilities,gt as version,qe as videoProjection,bn as viewportHasCanvasWorldTransform,zn as viewportHasFrameOfReferenceUID,Tn as viewportHasPan,Wn as viewportHasZoom,Dn as viewportProjection,Je as volume3DProjection,Rn as volumeLoader,Ke as wsiProjection};
1
+ import{v as H,B as U,t as E,E as M,g as L,a as W,b as S,u as G,s as $,V as q,c as Z,e as y,i as F,d as k,f as v,R as O,h as J,j as K,k as Y,l as Q,m as X,n as ee,o as te,p as ne,r as oe,q as se,w as ie,x as ae,y as re,z as de,A as ce,C as le,D as ge,F as me,G as he,I as ue,H as pe,J as N,S as xe,K as j,L as we,M as fe,N as Ie,O as Ve,P as Ce,Q as Pe,W as De,T as Re,U as Se,X as ve,Y as Ee,Z as Me,_ as _e,$ as Ge,a0 as ye,a1 as be,a2 as ze,a3 as Te,a4 as We,a5 as Fe,a6 as ke,a7 as Oe,a8 as Ae,a9 as Le,aa as Ne,ab as je}from"./Settings-zroG5v-C.js";import{ac as ft,ad as It,ae as Vt,af as Ct,ag as Pt,ah as Dt,ai as Rt,aj as St,ak as vt,al as Et,am as Mt,an as _t,ao as Gt,ap as yt,aq as bt,ar as zt,as as Tt,at as Wt,au as Ft,av as kt,aw as Ot,ax as At,ay as Lt,az as Nt,aA as jt,aB as Bt,aC as Ht,aD as Ut,aE as $t,aF as qt,aG as Zt,aH as Jt,aI as Kt,aJ as Yt,aK as Qt,aL as Xt,aM as en,aN as tn,aO as nn,aP as on,aQ as sn,aR as an,aS as rn,aT as dn,aU as cn,aV as ln,aW as gn,aX as mn,aY as hn,aZ as un,aO as pn,a_ as xn,a$ as wn,b0 as fn,b1 as In,b2 as Vn,b3 as Cn,b4 as Pn,b5 as Dn,b6 as Rn}from"./Settings-zroG5v-C.js";import{a as Be,T as He}from"./index-CxdNGKra.js";import{g as vn,b as En,c as Mn,d as _n,s as Gn,u as yn,v as bn,e as zn,f as Tn,h as Wn}from"./index-CxdNGKra.js";import"./cornerstoneEngine-CceJDY0T.js";import"./Texture-BH3G5drd.js";import{a as kn}from"./addVolumesToViewports-CI-Z_EFJ.js";import"./dcmjs.es-DfWkgqfk.js";import"./index-JZcFnVLl.js";import"./refusal-DOpm8I8L.js";import"./_commonjsHelpers-CE1G-McA.js";import"./__vite-browser-external-D7Ct-6yo.js";function ct(l,e,t){for(const n of t){const s=l.getViewport(n);if(!s)throw new Error(`Viewport with Id ${n} does not exist`);if(!s.addImages){console.warn(`Viewport with Id ${n} does not have addImages. Cannot add image segmentation to this viewport.`);return}}t.forEach(n=>{l.getViewport(n).addImages(e)})}class Ue{constructor(e,t=""){this.contexts=[],this.offScreenCanvasContainers=[],this.viewportToContext=new Map,this.viewportSizes=new Map,this.contextMaxSizes=new Map;for(let n=0;n<e;n++){const s=H.newInstance(),o=document.createElement("div");s.setContainer(o),Be(s,t,n),this.contexts.push(s),this.offScreenCanvasContainers.push(o)}}getContextByIndex(e){return e>=0&&e<this.contexts.length?{context:this.contexts[e],container:this.offScreenCanvasContainers[e]}:null}assignViewportToContext(e,t){this.viewportToContext.set(e,t)}getContextIndexForViewport(e){return this.viewportToContext.get(e)}getAllContexts(){return this.contexts}getContextCount(){return this.contexts.length}updateViewportSize(e,t,n){const s=this.viewportToContext.get(e);if(s===void 0)return!1;this.viewportSizes.set(e,{width:t,height:n});const o=this.contextMaxSizes.get(s),i=this.calculateMaxSizeForContext(s);return this.contextMaxSizes.set(s,i),!o||o.width!==i.width||o.height!==i.height}getMaxSizeForContext(e){return this.contextMaxSizes.get(e)}calculateMaxSizeForContext(e){let t=0,n=0;return this.viewportToContext.forEach((s,o)=>{if(s===e){const i=this.viewportSizes.get(o);i&&(t=Math.max(t,i.width),n=Math.max(n,i.height))}}),{width:t,height:n}}removeViewport(e){const t=this.viewportToContext.get(e);if(this.viewportToContext.delete(e),this.viewportSizes.delete(e),t!==void 0){const n=this.calculateMaxSizeForContext(t);this.contextMaxSizes.set(t,n)}}destroy(){this.contexts.forEach(e=>{e.delete()}),this.contexts=[],this.offScreenCanvasContainers=[],this.viewportToContext.clear(),this.viewportSizes.clear(),this.contextMaxSizes.clear()}}class A extends U{constructor(e){super(e),this._renderFlaggedViewports=()=>{this._throwIfDestroyed();const n=this._getViewportsAsArray().filter(o=>this._needsRender.has(o.id));if(n.length===0){this._animationFrameSet=!1,this._animationFrameHandle=null;return}const s=n.map(o=>{const i=this.renderViewportUsingCustomOrVtkPipeline(o);return o.setRendered(),this._needsRender.delete(o.id),i});this._animationFrameSet=!1,this._animationFrameHandle=null,s.forEach(o=>{o?.element&&E(o.element,M.IMAGE_RENDERED,o)})},this.useCPURendering||this.ensureContextPool()}ensureContextPool(){if(!this.contextPool){const{rendering:e}=L(),{webGlContextCount:t}=e;this.contextPool=new Ue(t,this.id)}return this.contextPool}enableVTKjsDrivenViewport(e){const s=this._getViewportsAsArray().filter(a=>W(a.type)===!1).map(a=>a.canvas),o=S(e.element);G(o),s.push(o);const i={...e,canvas:o};this.addVtkjsDrivenViewport(i)}addVtkjsDrivenViewport(e){const t=this.ensureContextPool(),{element:n,canvas:s,viewportId:o,type:i,defaultOptions:a}=e;n.tabIndex=-1,$(n);let r=0;if(i===q.STACK){const u=t.getAllContexts();r=this._viewports.size%u.length}t.assignViewportToContext(o,r),t.updateViewportSize(o,s.width,s.height);const d=t.getContextByIndex(r),{context:g,container:m}=d,p=t.getMaxSizeForContext(r);m.width=p.width,m.height=p.height,g.resize(),g.addRenderer({viewport:[0,0,1,1],id:o,background:a.background?a.background:[0,0,0]});const x={id:o,element:n,renderingEngineId:this.id,type:i,canvas:s,sx:0,sy:0,sWidth:s.width,sHeight:s.height,defaultOptions:a||{}},f=Z(e);if(!f)throw new Error(`Viewport Type ${i} is not supported`);const h=new f(x);h.requestedType=e.requestedType??i,this._viewports.set(o,h);const c={element:n,viewportId:o,renderingEngineId:this.id};h.suppressEvents||E(y,M.ELEMENT_ENABLED,c)}setVtkjsDrivenViewports(e){if(e.length){const t=e.map(n=>S(n.element));t.forEach(n=>G(n));for(let n=0;n<e.length;n++){const s=e[n],o=t[n],i={...s,canvas:o};this.addVtkjsDrivenViewport(i)}}}_getDisplayedSize(e){const t=window.devicePixelRatio||1,n=F(e)?e.element:S(e.element);return{displayedWidth:Math.round(n.clientWidth*t),displayedHeight:Math.round(n.clientHeight*t)}}_resizeVTKViewports(e,t=!0,n=!0){const s=[];for(const o of e){const i=S(o.element),{displayedWidth:a,displayedHeight:r}=this._getDisplayedSize(o);if(a===0||r===0)continue;const d=i.width,g=i.height;a===d&&r===g||s.push(o)}if(s.length!==0){for(const o of s){const{displayedWidth:i,displayedHeight:a}=this._getDisplayedSize(o),r=Math.max(v,i),d=Math.max(v,a);o.sWidth=r,o.sHeight=d}this._animationFrameSet||(e.length&&this._resize(e),e.forEach(o=>{if(o.resize?.(),F(o))return;const i=o.getCamera(),a=o.getRotation?.()??0,{flipHorizontal:r}=i,d=o;d.resetViewStateForResize?d.resetViewStateForResize():d.resetCameraForResize?.();const g=o.getDisplayArea();t&&(g?(r&&o.setCamera({flipHorizontal:r}),a&&o.setViewPresentation({rotation:a})):o.setCamera(i))}),n&&this.render())}}renderViewportUsingCustomOrVtkPipeline(e){if(k(e))return e.customRenderViewportToCanvas();if(!this.contextPool)throw new Error("GPU not available, and using a viewport with no custom render pipeline.");const t=this.contextPool.getContextIndexForViewport(e.id),n=this.contextPool.getContextByIndex(t),{context:s,container:o}=n;return this._renderViewportWithContext(e,s,o)}_renderViewportWithContext(e,t,n){if(e.canvas.clientWidth===0||e.canvas.clientHeight===0)return;if(e.sWidth<v||e.sHeight<v){console.warn("Viewport is too small",e.sWidth,e.sHeight);return}if(k(e))return e.customRenderViewportToCanvas();if(!this.contextPool)throw new Error("GPU not available, and using a viewport with no custom render pipeline.");t.getRenderer(e.id)||t.addRenderer({viewport:[0,0,1,1],id:e.id,background:e.defaultOptions?.background||[0,0,0]});const s=t.getRenderWindow(),o=s.getViews()[0],i=o.getRenderPasses(),a=this.getViewportRenderPasses(e.id);a&&o.setRenderPasses(a),this._resizeOffScreenCanvasForViewport(e,n,t);const r=t.getRenderer(e.id),d=this.contextPool.getContextIndexForViewport(e.id),g=this.contextPool.getMaxSizeForContext(d),m=e.sWidth,p=e.sHeight,x=Math.min(1,m/g.width),f=Math.min(1,p/g.height);r.setViewport(0,0,x,f);const h=t.getRenderers();h.forEach(({renderer:w,id:V})=>{const _=V.split("::")[0];w.setDraw(_===e.id)});const c=this.getWidgetRenderers();c.forEach((w,V)=>{V.setDraw(w===e.id)}),s.render(),h.forEach(({renderer:w})=>w.setDraw(!1)),c.forEach((w,V)=>{V.setDraw(!1)}),i&&o.setRenderPasses(i);const I=t.getOpenGLRenderWindow().get3DContext().canvas;return this._copyToOnscreenCanvas(e,I)}_renderViewportFromVtkCanvasToOnscreenCanvas(e,t){return this._copyToOnscreenCanvas(e,t)}_resizeOffScreenCanvasForViewport(e,t,n){const s=this.contextPool.getContextIndexForViewport(e.id);if(s===void 0||!this.contextPool.updateViewportSize(e.id,e.sWidth,e.sHeight))return;const i=this.contextPool.getMaxSizeForContext(s);t.width===i.width&&t.height===i.height||(t.width=i.width,t.height=i.height,n.resize())}_copyToOnscreenCanvas(e,t){const{element:n,canvas:s,id:o,renderingEngineId:i,suppressEvents:a}=e,r=e.sWidth,d=e.sHeight;G(s,{width:r,height:d});const g=s.getContext("2d"),m=this.contextPool.getContextIndexForViewport(o),x=this.contextPool.getMaxSizeForContext(m).height-d;return g.drawImage(t,0,x,r,d,0,0,r,d),{element:n,suppressEvents:a,viewportId:o,renderingEngineId:i,viewportStatus:e.viewportStatus}}_resize(e){const t=new Set;for(const n of e){n.sx=0,n.sy=0;const s=this.contextPool.getContextIndexForViewport(n.id);this.contextPool.updateViewportSize(n.id,n.sWidth,n.sHeight)&&t.add(s);const i=this.contextPool.getContextByIndex(s),{context:a}=i,r=a.getRenderer(n.id),d=this.contextPool.getMaxSizeForContext(s),g=Math.min(1,n.sWidth/d.width),m=Math.min(1,n.sHeight/d.height);r.setViewport(0,0,g,m)}t.forEach(n=>{const s=this.contextPool.getContextByIndex(n);if(s){const{context:o,container:i}=s,a=this.contextPool.getMaxSizeForContext(n);i.width=a.width,i.height=a.height,o.resize()}})}getWidgetRenderers(){const e=this._getViewportsAsArray(),t=new Map;return e.forEach(n=>{(n.getWidgets?n.getWidgets():[]).forEach(o=>{const i=o.getRenderer?o.getRenderer():null;i&&t.set(i,n.id)})}),t}getViewportRenderPasses(e){const t=this.getViewport(e);return t?.getRenderPasses?t.getRenderPasses():null}getRenderer(e){const t=this.contextPool?.getContextIndexForViewport(e);if(t===void 0||!this.contextPool)return;const n=this.contextPool.getContextByIndex(t);if(!n)return;const{context:s}=n;return s.getRenderer(e)}disableElement(e){const t=this.getViewport(e);if(t&&(super.disableElement(e),!W(t.type)&&this.contextPool)){const n=this.contextPool.getContextIndexForViewport(e);if(n!==void 0){const s=this.contextPool.getContextByIndex(n);if(s){const{context:o}=s;o.removeRenderer(e)}}this.contextPool.removeViewport(e)}}destroy(){super.destroy(),this.contextPool&&this.contextPool.destroy()}getOffscreenMultiRenderWindow(e){if(!this.contextPool)throw new Error("Offscreen multi render window is not available.");const t=this.contextPool.getContextIndexForViewport(e);if(t===void 0)throw new Error(`Offscreen multi render window is not available for viewport ${e}.`);const n=this.contextPool.getContextByIndex(t);if(!n)throw new Error(`Offscreen multi render window is not available for viewport ${e}.`);return n.context}}class lt{constructor(e){const n=L()?.rendering?.renderingEngineMode;switch(n){case O.Tiled:this._implementation=new He(e);break;case O.ContextPool:this._implementation=new A(e);break;default:console.warn(`RenderingEngine: Unknown rendering engine mode "${n}". Defaulting to Next rendering engine.`),this._implementation=new A(e);break}}get id(){return this._implementation.id}disableViewport(e){return this._implementation.disableElement(e)}enableElement(e){return this._implementation.enableElement(e)}disableElement(e){return this._implementation.disableElement(e)}setViewports(e){return this._implementation.setViewports(e)}resize(e=!0,t=!0){return this._implementation.resize(e,t)}getViewport(e){return this._implementation.getViewport(e)}getViewports(){return this._implementation.getViewports()}getRenderer(e){return this._implementation.getRenderer(e)}fillCanvasWithBackgroundColor(e,t){return this._implementation.fillCanvasWithBackgroundColor(e,t)}render(){return this._implementation.render()}renderViewports(e){return this._implementation.renderViewports(e)}renderViewport(e){return this._implementation.renderViewport(e)}destroy(){return this._implementation.destroy()}getOffscreenMultiRenderWindow(e){return this._implementation.getOffscreenMultiRenderWindow(e)}}const $e={adapter:K,getSnapshot:J},qe={adapter:Q,getSnapshot:Y},Ze={adapter:de,getSnapshot:re,getZoom:ae,getScale:ie,getPan:se,resolveICamera:oe,derivePresentation:ne,applyToRenderer:te,createImageSliceBasis:ee,createVolumeSliceBasis:X},Je={adapter:le,getSnapshot:ce},Ke={adapter:me,getSnapshot:ge},gt="5.8.2";class Ye extends he{constructor(e,t){super(e,t),this._dimensionGroupNumber=1,this._loadedDimensionGroups=new Set,this._getImageIdRequests=(o,i)=>this.getImageIdsRequests(o,i),this.getImageLoadRequests=o=>{const i=this.getImageIdsToLoad();return this._getImageIdRequests(i,o)};const{imageIdGroups:n,splittingTag:s}=e;this._splittingTag=s,this._imageIdGroups=n,this.numDimensionGroups=this._imageIdGroups.length}_getImageIdsToLoad(){const e=this._imageIdGroups,t=this._dimensionGroupNumber-1,n=[...e[t]];let s=t-1,o=t+1;for(;s>=0||o<e.length;)s>=0&&n.push(...e[s--]),o<e.length&&n.push(...e[o++]);return n}getImageIdsToLoad(){return this._getImageIdsToLoad()}get dimensionGroupNumber(){return this._dimensionGroupNumber}set dimensionGroupNumber(e){this._dimensionGroupNumber!==e&&(this._dimensionGroupNumber=e,this.voxelManager.setDimensionGroupNumber(e),this.invalidateVolume(!0),E(y,M.DYNAMIC_VOLUME_DIMENSION_GROUP_CHANGED,{volumeId:this.volumeId,dimensionGroupNumber:e,numDimensionGroups:this.numDimensionGroups,imageIdGroupIndex:e-1,numImageIdGroups:this.numDimensionGroups,splittingTag:this.splittingTag}))}scroll(e){const t=this._dimensionGroupNumber+e;t<1?this.dimensionGroupNumber=this.numDimensionGroups:t>this.numDimensionGroups?this.dimensionGroupNumber=1:this.dimensionGroupNumber=t}getCurrentDimensionGroupImageIds(){return this._imageIdGroups[this._dimensionGroupNumber-1]}flatImageIdIndexToDimensionGroupNumber(e){return Math.floor(e/this._imageIdGroups[0].length)+1}flatImageIdIndexToImageIdIndex(e){return e%this._imageIdGroups[0].length}get splittingTag(){return this._splittingTag}isDimensionGroupLoaded(e){return this._loadedDimensionGroups.has(e)}markDimensionGroupAsLoaded(e){this._loadedDimensionGroups.add(e),E(y,M.DYNAMIC_VOLUME_DIMENSION_GROUP_LOADED,{volumeId:this.volumeId,dimensionGroupNumber:e})}checkDimensionGroupCompletion(e){const t=this.flatImageIdIndexToDimensionGroupNumber(e);this._imageIdGroups[t-1].every(o=>{const i=this.getImageIdIndex(o);return this.cachedFrames[i]===ue.FULL_RESOLUTION})&&!this.isDimensionGroupLoaded(t)&&this.markDimensionGroupAsLoaded(t)}}function Qe(l,e,t){return e.reduce((n,s)=>s.apply(n,t),l)}const Xe={name:"InPlaneDecimationModifier",apply(l,e){const[t=1,n=t]=e.options.ijkDecimation??[],s=Math.max(1,Math.floor(t)),o=Math.max(1,Math.floor(n));if(s===1&&o===1)return l;const[i,a]=l.dimensions,r=Math.max(1,Math.floor(i/s)),d=Math.max(1,Math.floor(a/o)),g=[r,d,l.dimensions[2]],m=[l.spacing[0]*s,l.spacing[1]*o,l.spacing[2]],p={...l.metadata,Columns:r,Rows:d,PixelSpacing:[m[1],m[0]]};return{...l,dimensions:g,spacing:m,metadata:p}}};function mt(l,e){if(!e||!e.imageIds||!e.imageIds.length)throw new Error("ImageIds must be provided to create a streaming image volume ");const[t=1,n=t,s=1]=e.ijkDecimation??[],o=Math.max(1,Math.floor(t)),i=n>1?Math.max(1,Math.floor(n)):o,a=Math.max(1,Math.floor(s)),r=o>1||i>1,d={ijkDecimation:[o,i,a]},g=[Xe];function m(c,u){return u===1?c:`${c}#decimation=${u}`}const p=Math.floor(e.imageIds.length/a),x=a>1&&e.imageIds.length<=p+1;if(a>1&&!x){const c=pe(e.imageIds,a),u=Array.isArray(c)&&c.length&&typeof c[0]=="number"?c.map(P=>e.imageIds[P]):c;e.imageIds=u}o>1&&(e.imageIds=e.imageIds.map(c=>m(c,o)));async function f(){const c=N(e.imageIds,l),u={volumeId:l,imageIds:e.imageIds,options:d},P=Qe(c,g,u),{dimensions:I,spacing:R,origin:w,direction:V,metadata:_,imageIds:b,dataType:B,numberOfComponents:z}=P,C=new xe({volumeId:l,metadata:_,dimensions:I,spacing:R,origin:w,direction:V,imageIds:b,dataType:B,numberOfComponents:z},{imageIds:b,loadStatus:{loaded:!1,loading:!1,cancelled:!1,cachedFrames:[],callbacks:[]}});if(r){const D=C.imageData;D&&(D.setDimensions(C.dimensions),D.setSpacing(C.spacing),D.modified());const T=j.createImageVolumeVoxelManager({dimensions:C.dimensions,imageIds:C.imageIds,numberOfComponents:z});C.voxelManager=T,D&&D.set({voxelManager:T})}return C}const h=f();return{promise:h,decache:()=>{h.then(c=>{c.destroy(),c=null})},cancel:()=>{h.then(c=>{c.cancelLoading()})}}}function ht(l,e){if(!e||!e.imageIds||!e.imageIds.length)throw new Error("ImageIds must be provided to create a 4D streaming image volume");const{imageIds:t}=e,{splittingTag:n,imageIdGroups:s}=we(t),o=Math.floor(s.length/2),i=N(s[o],l),{metadata:a,dimensions:r,spacing:d,direction:g,sizeInBytes:m,origin:p,numberOfComponents:x,dataType:f}=i,h=g.slice(6,9),c=s.map(R=>fe(R,h).sortedImageIds),u=c.flat(),P=j.createScalarDynamicVolumeVoxelManager({dimensions:r,imageIdGroups:c,dimensionGroupNumber:1,numberOfComponents:x});let I=new Ye({volumeId:l,metadata:a,dimensions:r,spacing:d,origin:p,direction:g,sizeInBytes:m,imageIds:u,imageIdGroups:c,splittingTag:n,voxelManager:P,numberOfComponents:x,dataType:f},{imageIds:u,loadStatus:{loaded:!1,loading:!1,cancelled:!1,cachedFrames:[],callbacks:[]}});return{promise:Promise.resolve(I),decache:()=>{I.destroy(),I=null},cancel:()=>{I.cancelLoading()}}}const ut={GenericViewport:je,DefaultRenderPathResolver:Ne,defaultRenderPathResolver:Le,ECGGenericViewport:Ae,createDefaultECGRenderPaths:Oe,createECGRenderPathResolver:ke,DefaultECGDataProvider:Fe,ecgProjection:$e,VideoGenericViewport:We,createDefaultVideoRenderPaths:Te,createVideoRenderPathResolver:ze,DefaultVideoDataProvider:be,videoProjection:qe,PlanarViewport:ye,createDefaultPlanarRenderPaths:Ge,createPlanarRenderPathResolver:_e,DefaultPlanarDataProvider:Me,planarProjection:Ze,VolumeViewport3D:Ee,createDefaultVolume3DRenderPaths:ve,createVolume3DRenderPathResolver:Se,DefaultVolume3DDataProvider:Re,volume3DProjection:Je,WSIGenericViewport:De,createDefaultWSIRenderPaths:Pe,createWSIRenderPathResolver:Ce,DefaultWSIDataProvider:Ve,wsiProjection:Ke},pt=Ie;export{ft as ActorRenderMode,U as BaseRenderingEngine,It as BaseVolumeViewport,Vt as CONSTANTS,A as ContextPoolRenderingEngine,Fe as DefaultECGDataProvider,Me as DefaultPlanarDataProvider,Ne as DefaultRenderPathResolver,be as DefaultVideoDataProvider,Re as DefaultVolume3DDataProvider,Ve as DefaultWSIDataProvider,Ae as ECGGenericViewport,Ct as ECGViewport,Pt as EPSILON,M as EVENTS,Dt as Enums,je as GenericViewport,Ee as GenericVolumeViewport3D,Rt as ImageVolume,pt as LegacyVolumeViewport3D,ye as PlanarViewport,St as ProgressiveRetrieveImages,vt as RenderBackends,lt as RenderingEngine,Et as Settings,Mt as StackViewport,Ye as StreamingDynamicImageVolume,xe as StreamingImageVolume,_t as Surface,He as TiledRenderingEngine,We as VideoGenericViewport,Gt as VideoViewport,yt as Viewport,bt as ViewportProjectionService,zt as VolumeViewport,Ie as VolumeViewport3D,De as WSIGenericViewport,Tt as WSIViewport,ct as addImageSlicesToViewports,kn as addVolumesToViewports,Wt as cache,Ft as canRenderFloatTextures,kt as convertColorArrayToRgbString,Ot as convertMapperToNotSharedMapper,At as cornerstoneMeshLoader,ht as cornerstoneStreamingDynamicImageVolumeLoader,Lt as cornerstoneStreamingImageVolumeLoader,Nt as createCanvas,Oe as createDefaultECGRenderPaths,Ge as createDefaultPlanarRenderPaths,Te as createDefaultVideoRenderPaths,ve as createDefaultVolume3DRenderPaths,Pe as createDefaultWSIRenderPaths,ke as createECGRenderPathResolver,_e as createPlanarRenderPathResolver,ze as createVideoRenderPathResolver,jt as createViewportElement,Se as createVolume3DRenderPathResolver,Bt as createVolumeActor,Ht as createVolumeMapper,Ce as createWSIRenderPathResolver,mt as decimatedVolumeLoader,Le as defaultRenderPathResolver,Ut as detectRenderingCapabilities,$e as ecgProjection,y as eventTarget,$t as geometryLoader,L as getConfiguration,qt as getEffectiveRenderBackend,vn as getEnabledElement,En as getEnabledElementByIds,Mn as getEnabledElementByViewportId,_n as getEnabledElements,S as getOrCreateCanvas,Zt as getProjectionScaleMatrix,Jt as getRenderBackend,Kt as getRenderingCapabilities,Yt as getRenderingEngine,Qt as getRenderingEngines,Xt as getShouldUseCPURendering,en as getUseGenericViewport,tn as getWebWorkerManager,nn as imageLoadPoolManager,on as imageLoader,sn as imageRetrievalPoolManager,an as init,rn as isCornerstoneInitialized,dn as isRegisteredRenderBackend,cn as isRegisteredViewportType,ln as metaData,gn as peerImport,Ze as planarProjection,mn as registerImageLoader,hn as registerRenderBackend,un as registerViewportType,ut as renderingEngineExportsV2,pn as requestPoolManager,xn as resetInitialization,wn as resetUseCPURendering,fn as setCanvasCreator,In as setConfiguration,Vn as setPreferSizeOverAccuracy,Cn as setRenderBackend,Pn as setUseCPURendering,Gn as setVolumesForViewports,E as triggerEvent,G as updateCanvasSizeAndAspectRatio,yn as utilities,gt as version,qe as videoProjection,bn as viewportHasCanvasWorldTransform,zn as viewportHasFrameOfReferenceUID,Tn as viewportHasPan,Wn as viewportHasZoom,Dn as viewportProjection,Je as volume3DProjection,Rn as volumeLoader,Ke as wsiProjection};
@@ -1,2 +1,2 @@
1
- import We,{data as A,normalizers as k,utilities as D,derivations as Ie,constants as hn,sr as yn}from"./dcmjs.es-DfWkgqfk.js";import{bY as Bt,bZ as Yt,dA as Dn,at as Tn,cD as Kt,t as Cn,e as bn,bi as q,cp as $e,cs as Rn}from"./Settings-Cc5lCv3O.js";import"./cornerstoneEngine-PEP4UIJ7.js";import"./Texture-B157rLuy.js";import{m as Mn,t as Pn}from"./throttle-CjIII7Yf.js";import"./index-CEJn4PwZ.js";import"./refusal-DOpm8I8L.js";import"./_commonjsHelpers-CE1G-McA.js";import"./__vite-browser-external-D7Ct-6yo.js";const R=r=>Array.isArray(r)?r:r!==void 0?[r]:[],Pe=r=>e=>e.ConceptNameCodeSequence.CodeMeaning===r;A.datasetToBlob;const vn=Bt;let Nn=vn;function E(r,e){let t=r.is3DMeasurement,n=r.referencedImageId;if(t)return{x:e[0],y:e[1],z:e[2]};const a=Nn(n,e);return{x:a[0],y:a[1]}}function Q(r,e){return e.map(t=>E(r,t))}const En=Yt;function pe(r,e){let t=r.is3DMeasurement,n=r.referencedImageId;const a=[];if(t){const o=e.GraphicData;for(let s=0;s<o.length;s+=3){const i=[o[s],o[s+1],o[s+2]];a.push(i)}}else{const o=e.GraphicData;for(let s=0;s<o.length;s+=2){const i=En(n,[o[s],o[s+1]]);a.push(i)}}return a}const zt=D.TID1500,st=D.addAccessors,wn=Ie.StructuredReport,An=k.Normalizer,Un=zt.TID1500MeasurementReport,jn=zt.TID1501MeasurementGroup,xn=A.DicomMetaDictionary,Gn={CodingSchemeDesignator:"DCM",CodeValue:"121071"},_n={CodingSchemeDesignator:"SCT",CodeValue:"363698007"},Vn={CodingSchemeDesignator:"SRT",CodeValue:"G-C0E3"},it=(r,e,t)=>{const n=r.ConceptNameCodeSequence;if(!n)return;const a=n.CodingSchemeDesignator,o=n.CodeValue;return a==e.CodingSchemeDesignator&&o==e.CodeValue||t&&a==t.CodingSchemeDesignator&&o==t.CodeValue};function $n(r,e,t){const n=t.getTID300RepresentationArguments(r);return n.ReferencedSOPSequence=e,n.ReferencedFrameOfReferenceUID=n.use3DSpatialCoordinates?r.metadata.FrameOfReferenceUID:null,new t.TID300Representation(n)}function qn(r,e,t){const n=e[r],a=M.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE[r];if(!n||!n.data||!n.data.length||!a)return;const o=n.data.map(s=>$n(s,t,a));return new jn(o)}let M=class ue{static getSetupMeasurementData(e){const t=e.ContentSequence,n=R(t),a=n.find(g=>it(g,Gn)),o=n.filter(g=>it(g,_n,Vn))||[],s=n.find(g=>g.ValueType==="NUM"),i=R(s.ContentSequence).find(g=>g.ValueType==="SCOORD"),c=i.ContentSequence.ReferencedSOPSequence,u=c.ReferencedSOPInstanceUID,l=c.ReferencedFrameNumber,d={sopInstanceUid:u,frameIndex:l||1,complete:!0,finding:a?st(a.ConceptCodeSequence):void 0,findingSites:o.map(g=>st(g.ConceptCodeSequence))};d.finding&&(d.description=d.finding.CodeMeaning);const p=d.findingSites&&d.findingSites[0];return p&&(d.location=p[0]&&p[0].CodeMeaning||p.CodeMeaning),{defaultState:d,findingGroup:a,findingSiteGroups:o,NUMGroup:s,SCOORDGroup:i,ReferencedSOPSequence:c,ReferencedSOPInstanceUID:u,ReferencedFrameNumber:l}}static generateReport(e,t,n){let a=[];const o=Object.keys(e)[0];if(!o)throw new Error("No measurements provided.");const s=t.get("generalSeriesModule",o),i=s.studyInstanceUID,c=s.seriesInstanceUID;Object.keys(e).forEach(m=>{const h=t.get("sopCommonModule",m),O=t.get("frameNumber",m),y=e[m],S=Object.keys(y),b={ReferencedSOPClassUID:h.sopClassUID,ReferencedSOPInstanceUID:h.sopInstanceUID};An.isMultiframeSOPClassUID(h.sopClassUID)&&(b.ReferencedFrameNumber=O);const T=[];S.forEach(v=>{const j=qn(v,y,b);j&&T.push(j)}),a=a.concat(T)});const u=new Un({TID1501MeasurementGroups:a},n),l=new Uint8Array(2);l[1]=1;const d={StudyInstanceUID:i,SeriesInstanceUID:c},p={FileMetaInformationVersion:{Value:[l.buffer],vr:"OB"},TransferSyntaxUID:{Value:["1.2.840.10008.1.2.1"],vr:"UI"},ImplementationClassUID:{Value:[xn.uid()],vr:"UI"},ImplementationVersionName:{Value:["dcmjs"],vr:"SH"}},g={PixelData:"OW"};d._meta=p,d._vrMap=g;const f=new wn([d]),I=u.contentItem(d);return f.dataset=Object.assign(f.dataset,I),f.dataset._meta=p,f.dataset.SpecificCharacterSet="ISO_IR 192",f}static generateToolState(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e.ContentTemplateSequence.TemplateIdentifier!=="1500")throw new Error("This package can currently only interpret DICOM SR TID 1500");const n="Imaging Measurements",a="Measurement Group",o="Tracking Identifier",s=R(e.ContentSequence).find(Pe(n)),i=R(s.ContentSequence).filter(Pe(a)),c={},u=ue.CORNERSTONE_TOOL_CLASSES_BY_UTILITY_TYPE,l=[];return Object.keys(u).forEach(d=>{l.push(u[d]),c[d]=[]}),i.forEach(d=>{const f=R(d.ContentSequence).find(m=>m.ConceptNameCodeSequence.CodeMeaning===o).TextValue,I=t.getToolClass?t.getToolClass(d,e,l):l.find(m=>m.isValidCornerstoneTrackingIdentifier(f));if(I){const m=I.getMeasurementData(d);console.log("=== ".concat(I.toolType," ===")),console.log(m),c[I.toolType].push(m)}}),c}static registerTool(e){ue.CORNERSTONE_TOOL_CLASSES_BY_UTILITY_TYPE[e.utilityToolType]=e,ue.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE[e.toolType]=e,ue.MEASUREMENT_BY_TOOLTYPE[e.toolType]=e.utilityToolType}};M.MEASUREMENT_BY_TOOLTYPE={};M.CORNERSTONE_TOOL_CLASSES_BY_UTILITY_TYPE={};M.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE={};function Fn(r){if(Array.isArray(r))return r}function Ln(r,e){var t=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(t!=null){var n,a,o,s,i=[],c=!0,u=!1;try{if(o=(t=t.call(r)).next,e===0){if(Object(t)!==t)return;c=!1}else for(;!(c=(n=o.call(t)).done)&&(i.push(n.value),i.length!==e);c=!0);}catch(l){u=!0,a=l}finally{try{if(!c&&t.return!=null&&(s=t.return(),Object(s)!==s))return}finally{if(u)throw a}}return i}}function ct(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}function kn(r,e){if(r){if(typeof r=="string")return ct(r,e);var t={}.toString.call(r).slice(8,-1);return t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set"?Array.from(r):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?ct(r,e):void 0}}function Bn(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1
+ import We,{data as A,normalizers as k,utilities as D,derivations as Ie,constants as hn,sr as yn}from"./dcmjs.es-DfWkgqfk.js";import{bY as Bt,bZ as Yt,dA as Dn,at as Tn,cD as Kt,t as Cn,e as bn,bi as q,cp as $e,cs as Rn}from"./Settings-zroG5v-C.js";import"./cornerstoneEngine-CceJDY0T.js";import"./Texture-BH3G5drd.js";import{m as Mn,t as Pn}from"./throttle-CjIII7Yf.js";import"./index-JZcFnVLl.js";import"./refusal-DOpm8I8L.js";import"./_commonjsHelpers-CE1G-McA.js";import"./__vite-browser-external-D7Ct-6yo.js";const R=r=>Array.isArray(r)?r:r!==void 0?[r]:[],Pe=r=>e=>e.ConceptNameCodeSequence.CodeMeaning===r;A.datasetToBlob;const vn=Bt;let Nn=vn;function E(r,e){let t=r.is3DMeasurement,n=r.referencedImageId;if(t)return{x:e[0],y:e[1],z:e[2]};const a=Nn(n,e);return{x:a[0],y:a[1]}}function Q(r,e){return e.map(t=>E(r,t))}const En=Yt;function pe(r,e){let t=r.is3DMeasurement,n=r.referencedImageId;const a=[];if(t){const o=e.GraphicData;for(let s=0;s<o.length;s+=3){const i=[o[s],o[s+1],o[s+2]];a.push(i)}}else{const o=e.GraphicData;for(let s=0;s<o.length;s+=2){const i=En(n,[o[s],o[s+1]]);a.push(i)}}return a}const zt=D.TID1500,st=D.addAccessors,wn=Ie.StructuredReport,An=k.Normalizer,Un=zt.TID1500MeasurementReport,jn=zt.TID1501MeasurementGroup,xn=A.DicomMetaDictionary,Gn={CodingSchemeDesignator:"DCM",CodeValue:"121071"},_n={CodingSchemeDesignator:"SCT",CodeValue:"363698007"},Vn={CodingSchemeDesignator:"SRT",CodeValue:"G-C0E3"},it=(r,e,t)=>{const n=r.ConceptNameCodeSequence;if(!n)return;const a=n.CodingSchemeDesignator,o=n.CodeValue;return a==e.CodingSchemeDesignator&&o==e.CodeValue||t&&a==t.CodingSchemeDesignator&&o==t.CodeValue};function $n(r,e,t){const n=t.getTID300RepresentationArguments(r);return n.ReferencedSOPSequence=e,n.ReferencedFrameOfReferenceUID=n.use3DSpatialCoordinates?r.metadata.FrameOfReferenceUID:null,new t.TID300Representation(n)}function qn(r,e,t){const n=e[r],a=M.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE[r];if(!n||!n.data||!n.data.length||!a)return;const o=n.data.map(s=>$n(s,t,a));return new jn(o)}let M=class ue{static getSetupMeasurementData(e){const t=e.ContentSequence,n=R(t),a=n.find(g=>it(g,Gn)),o=n.filter(g=>it(g,_n,Vn))||[],s=n.find(g=>g.ValueType==="NUM"),i=R(s.ContentSequence).find(g=>g.ValueType==="SCOORD"),c=i.ContentSequence.ReferencedSOPSequence,u=c.ReferencedSOPInstanceUID,l=c.ReferencedFrameNumber,d={sopInstanceUid:u,frameIndex:l||1,complete:!0,finding:a?st(a.ConceptCodeSequence):void 0,findingSites:o.map(g=>st(g.ConceptCodeSequence))};d.finding&&(d.description=d.finding.CodeMeaning);const p=d.findingSites&&d.findingSites[0];return p&&(d.location=p[0]&&p[0].CodeMeaning||p.CodeMeaning),{defaultState:d,findingGroup:a,findingSiteGroups:o,NUMGroup:s,SCOORDGroup:i,ReferencedSOPSequence:c,ReferencedSOPInstanceUID:u,ReferencedFrameNumber:l}}static generateReport(e,t,n){let a=[];const o=Object.keys(e)[0];if(!o)throw new Error("No measurements provided.");const s=t.get("generalSeriesModule",o),i=s.studyInstanceUID,c=s.seriesInstanceUID;Object.keys(e).forEach(m=>{const h=t.get("sopCommonModule",m),O=t.get("frameNumber",m),y=e[m],S=Object.keys(y),b={ReferencedSOPClassUID:h.sopClassUID,ReferencedSOPInstanceUID:h.sopInstanceUID};An.isMultiframeSOPClassUID(h.sopClassUID)&&(b.ReferencedFrameNumber=O);const T=[];S.forEach(v=>{const j=qn(v,y,b);j&&T.push(j)}),a=a.concat(T)});const u=new Un({TID1501MeasurementGroups:a},n),l=new Uint8Array(2);l[1]=1;const d={StudyInstanceUID:i,SeriesInstanceUID:c},p={FileMetaInformationVersion:{Value:[l.buffer],vr:"OB"},TransferSyntaxUID:{Value:["1.2.840.10008.1.2.1"],vr:"UI"},ImplementationClassUID:{Value:[xn.uid()],vr:"UI"},ImplementationVersionName:{Value:["dcmjs"],vr:"SH"}},g={PixelData:"OW"};d._meta=p,d._vrMap=g;const f=new wn([d]),I=u.contentItem(d);return f.dataset=Object.assign(f.dataset,I),f.dataset._meta=p,f.dataset.SpecificCharacterSet="ISO_IR 192",f}static generateToolState(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e.ContentTemplateSequence.TemplateIdentifier!=="1500")throw new Error("This package can currently only interpret DICOM SR TID 1500");const n="Imaging Measurements",a="Measurement Group",o="Tracking Identifier",s=R(e.ContentSequence).find(Pe(n)),i=R(s.ContentSequence).filter(Pe(a)),c={},u=ue.CORNERSTONE_TOOL_CLASSES_BY_UTILITY_TYPE,l=[];return Object.keys(u).forEach(d=>{l.push(u[d]),c[d]=[]}),i.forEach(d=>{const f=R(d.ContentSequence).find(m=>m.ConceptNameCodeSequence.CodeMeaning===o).TextValue,I=t.getToolClass?t.getToolClass(d,e,l):l.find(m=>m.isValidCornerstoneTrackingIdentifier(f));if(I){const m=I.getMeasurementData(d);console.log("=== ".concat(I.toolType," ===")),console.log(m),c[I.toolType].push(m)}}),c}static registerTool(e){ue.CORNERSTONE_TOOL_CLASSES_BY_UTILITY_TYPE[e.utilityToolType]=e,ue.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE[e.toolType]=e,ue.MEASUREMENT_BY_TOOLTYPE[e.toolType]=e.utilityToolType}};M.MEASUREMENT_BY_TOOLTYPE={};M.CORNERSTONE_TOOL_CLASSES_BY_UTILITY_TYPE={};M.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE={};function Fn(r){if(Array.isArray(r))return r}function Ln(r,e){var t=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(t!=null){var n,a,o,s,i=[],c=!0,u=!1;try{if(o=(t=t.call(r)).next,e===0){if(Object(t)!==t)return;c=!1}else for(;!(c=(n=o.call(t)).done)&&(i.push(n.value),i.length!==e);c=!0);}catch(l){u=!0,a=l}finally{try{if(!c&&t.return!=null&&(s=t.return(),Object(s)!==s))return}finally{if(u)throw a}}return i}}function ct(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}function kn(r,e){if(r){if(typeof r=="string")return ct(r,e);var t={}.toString.call(r).slice(8,-1);return t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set"?Array.from(r):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?ct(r,e):void 0}}function Bn(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function w(r,e){return Fn(r)||Ln(r,e)||kn(r,e)||Bn()}function me(r){"@babel/helpers - typeof";return me=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},me(r)}function Yn(r,e){if(me(r)!="object"||!r)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e);if(me(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function Kn(r){var e=Yn(r,"string");return me(e)=="symbol"?e:e+""}function P(r,e,t){return(e=Kn(e))in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var $="cornerstoneTools@^4.0.0";function ut(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function dt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ut(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):ut(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const zn=D.TID300.Length,Qe="Length";let J=class Xt{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,o=t.SCOORDGroup,s=dt(dt({},n),{},{length:a.MeasuredValueSequence.NumericValue,toolType:Xt.toolType,handles:{start:{},end:{},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}});var i=w(o.GraphicData,4);return s.handles.start.x=i[0],s.handles.start.y=i[1],s.handles.end.x=i[2],s.handles.end.y=i[3],s}static getTID300RepresentationArguments(e){const t=e.handles,n=e.finding,a=e.findingSites,o=t.start,s=t.end,i=e.length;return{point1:o,point2:s,distance:i,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:Length",finding:n,findingSites:a||[]}}};J.toolType=Qe;J.utilityToolType=Qe;J.TID300Representation=zn;J.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===Qe};M.registerTool(J);function lt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function pt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?lt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):lt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Xn=D.TID300.Polyline;class _{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.SCOORDGroup,o=t.NUMGroup,s=pt(pt({},n),{},{toolType:_.toolType,handles:{points:[],textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},cachedStats:{area:o?o.MeasuredValueSequence.NumericValue:0},color:void 0,invalidated:!0}),i=a.GraphicData;for(let c=0;c<i.length;c+=2)s.handles.points.push({x:i[c],y:i[c+1]});return s}static getTID300RepresentationArguments(e){const t=e.handles,n=e.finding,a=e.findingSites,o=e.cachedStats,s=o===void 0?{}:o,i=t.points,c=s.area,u=c===void 0?0:c,l=s.perimeter;return{points:i,area:u,perimeter:l===void 0?0:l,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:FreehandRoi",finding:n,findingSites:a||[]}}}_.toolType="FreehandRoi";_.utilityToolType="FreehandRoi";_.TID300Representation=Xn;_.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===_.toolType};M.registerTool(_);const Hn=D.TID300.Bidirectional,Je="Bidirectional",Wn="Long Axis",Qn="Short Axis",Jn="121071",Zn="G-C0E3";let Z=class Ht{static getMeasurementData(e){const t=e.ContentSequence,n=R(t).find(m=>m.ConceptNameCodeSequence.CodeValue===Jn),a=R(t).filter(m=>m.ConceptNameCodeSequence.CodeValue===Zn),o=R(t).find(m=>m.ConceptNameCodeSequence.CodeMeaning===Wn),s=R(o.ContentSequence).find(m=>m.ValueType==="SCOORD"),i=R(t).find(m=>m.ConceptNameCodeSequence.CodeMeaning===Qn),c=R(i.ContentSequence).find(m=>m.ValueType==="SCOORD"),u=s.ContentSequence.ReferencedSOPSequence,l=u.ReferencedSOPInstanceUID,d=u.ReferencedFrameNumber,p=String(o.MeasuredValueSequence.NumericValue),g=String(i.MeasuredValueSequence.NumericValue),f={x:Math.max(s.GraphicData[0],s.GraphicData[2],c.GraphicData[0],c.GraphicData[2]),y:Math.max(s.GraphicData[1],s.GraphicData[3],c.GraphicData[1],c.GraphicData[3])};return{sopInstanceUid:l,frameIndex:d||1,toolType:Ht.toolType,active:!1,handles:{start:{x:s.GraphicData[0],y:s.GraphicData[1],drawnIndependently:!1,allowedOutsideImage:!1,active:!1,highlight:!1,index:0},end:{x:s.GraphicData[2],y:s.GraphicData[3],drawnIndependently:!1,allowedOutsideImage:!1,active:!1,highlight:!1,index:1},perpendicularStart:{x:c.GraphicData[0],y:c.GraphicData[1],drawnIndependently:!1,allowedOutsideImage:!1,active:!1,highlight:!1,index:2},perpendicularEnd:{x:c.GraphicData[2],y:c.GraphicData[3],drawnIndependently:!1,allowedOutsideImage:!1,active:!1,highlight:!1,index:3},textBox:{highlight:!1,hasMoved:!0,active:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0,x:f.x+10,y:f.y+10}},invalidated:!1,isCreating:!1,longestDiameter:p,shortestDiameter:g,toolName:"Bidirectional",visible:!0,finding:n?n.ConceptCodeSequence:void 0,findingSites:a.map(m=>m.ConceptCodeSequence)}}static getTID300RepresentationArguments(e){const t=e.handles,n=t.start,a=t.end,o=t.perpendicularStart,s=t.perpendicularEnd,i=e.shortestDiameter,c=e.longestDiameter,u=e.finding,l=e.findingSites;return{longAxis:{point1:n,point2:a},shortAxis:{point1:o,point2:s},longAxisLength:c,shortAxisLength:i,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:Bidirectional",finding:u,findingSites:l||[]}}};Z.toolType=Je;Z.utilityToolType=Je;Z.TID300Representation=Hn;Z.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===Je};M.registerTool(Z);function gt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function ft(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?gt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):gt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const er=D.TID300.Ellipse,Ze="EllipticalRoi";class B{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,s=t.SCOORDGroup.GraphicData,i=[{x:s[0],y:s[1]},{x:s[2],y:s[3]}],c=[{x:s[4],y:s[5]},{x:s[6],y:s[7]}],u=Math.sqrt(Math.pow(c[0].x-c[1].x,2)+Math.pow(c[0].y-c[1].y,2)),l={x:(c[1].x-c[0].x)/u,y:(c[1].y-c[0].y)/u},d=u/2,p={x:i[0].x+l.x*d,y:i[0].y+l.y*d},g={x:i[1].x-l.x*d,y:i[1].y-l.y*d};return ft(ft({},n),{},{toolType:B.toolType,active:!1,cachedStats:{area:a?a.MeasuredValueSequence.NumericValue:0},handles:{end:{x:p.x,y:p.y,highlight:!1,active:!1},initialRotation:0,start:{x:g.x,y:g.y,highlight:!1,active:!1},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},invalidated:!0,visible:!0})}static getTID300RepresentationArguments(e){const t=e.cachedStats,n=t===void 0?{}:t,a=e.handles,o=e.finding,s=e.findingSites,i=a.start,c=a.end,u=n.area,l=Math.abs(i.x-c.x)/2,d=Math.abs(i.y-c.y)/2,p=[],g={x:(i.x+c.x)/2,y:(i.y+c.y)/2};return l>d?(p.push({x:g.x-l,y:g.y}),p.push({x:g.x+l,y:g.y}),p.push({x:g.x,y:g.y-d}),p.push({x:g.x,y:g.y+d})):(p.push({x:g.x,y:g.y-d}),p.push({x:g.x,y:g.y+d}),p.push({x:g.x-l,y:g.y}),p.push({x:g.x+l,y:g.y})),{area:u,points:p,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:EllipticalRoi",finding:o,findingSites:s||[]}}}B.toolType=Ze;B.utilityToolType=Ze;B.TID300Representation=er;B.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===Ze};M.registerTool(B);function mt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function X(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?mt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):mt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const tr=D.TID300.Circle,et="CircleRoi";class Y{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,s=t.SCOORDGroup.GraphicData,i={x:s[0],y:s[1]},c={x:s[2],y:s[3]};return X(X({},n),{},{toolType:Y.toolType,active:!1,cachedStats:{area:a?a.MeasuredValueSequence.NumericValue:0,radius:0,perimeter:0},handles:{end:X(X({},c),{},{highlight:!1,active:!1}),initialRotation:0,start:X(X({},i),{},{highlight:!1,active:!1}),textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},invalidated:!0,visible:!0})}static getTID300RepresentationArguments(e){const t=e.cachedStats,n=t===void 0?{}:t,a=e.handles,o=e.finding,s=e.findingSites,i=a.start,c=a.end,u=n.area,l=n.radius,d=2*Math.PI*l,p=[];return p.push(i),p.push(c),{area:u,perimeter:d,radius:l,points:p,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:CircleRoi",finding:o,findingSites:s||[]}}}Y.toolType=et;Y.utilityToolType=et;Y.TID300Representation=tr;Y.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===et};M.registerTool(Y);function It(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function St(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?It(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):It(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const nr=D.TID300.Point,tt="ArrowAnnotate",Ot="CORNERSTONEFREETEXT";let ee=class Wt{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.SCOORDGroup;t.findingGroup;const o=a.GraphicData;return St(St({},n),{},{toolType:Wt.toolType,active:!1,handles:{start:{x:o[0],y:o[1],highlight:!0,active:!1},end:{x:o.length==4?o[2]:o[0]+20,y:o.length==4?o[3]:o[1]+20,highlight:!0,active:!1},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},invalidated:!0,visible:!0})}static getTID300RepresentationArguments(e){const t=[e.handles.start,e.handles.end],n=e.findingSites;let a=e.finding;const o={points:t,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:ArrowAnnotate",findingSites:n||[]};return(!a||a.CodeValue!==Ot)&&(a={CodeValue:Ot,CodingSchemeDesignator:"CST4",CodeMeaning:e.label}),o.finding=a,o}};ee.toolType=tt;ee.utilityToolType=tt;ee.TID300Representation=nr;ee.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===tt};M.registerTool(ee);function ht(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function yt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ht(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):ht(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const rr=D.TID300.CobbAngle,nt="CobbAngle";let te=class Qt{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,o=t.SCOORDGroup,s=yt(yt({},n),{},{rAngle:a.MeasuredValueSequence.NumericValue,toolType:Qt.toolType,handles:{start:{},end:{},start2:{highlight:!0,drawnIndependently:!0},end2:{highlight:!0,drawnIndependently:!0},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}});var i=w(o.GraphicData,8);return s.handles.start.x=i[0],s.handles.start.y=i[1],s.handles.end.x=i[2],s.handles.end.y=i[3],s.handles.start2.x=i[4],s.handles.start2.y=i[5],s.handles.end2.x=i[6],s.handles.end2.y=i[7],s}static getTID300RepresentationArguments(e){const t=e.handles,n=e.finding,a=e.findingSites,o=t.start,s=t.end,i=t.start2,c=t.end2,u=e.rAngle;return{point1:o,point2:s,point3:i,point4:c,rAngle:u,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:CobbAngle",finding:n,findingSites:a||[]}}};te.toolType=nt;te.utilityToolType=nt;te.TID300Representation=rr;te.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===nt};M.registerTool(te);function Dt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Tt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Dt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Dt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const ar=D.TID300.Angle,rt="Angle";let ne=class Jt{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.NUMGroup,o=t.SCOORDGroup,s=Tt(Tt({},n),{},{rAngle:a.MeasuredValueSequence.NumericValue,toolType:Jt.toolType,handles:{start:{},middle:{},end:{},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}});var i=w(o.GraphicData,8);return s.handles.start.x=i[0],s.handles.start.y=i[1],s.handles.middle.x=i[2],s.handles.middle.y=i[3],s.handles.middle.x=i[4],s.handles.middle.y=i[5],s.handles.end.x=i[6],s.handles.end.y=i[7],s}static getTID300RepresentationArguments(e){const t=e.handles,n=e.finding,a=e.findingSites,o=t.start,s=t.middle,i=t.middle,c=t.end,u=e.rAngle;return{point1:o,point2:s,point3:i,point4:c,rAngle:u,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:Angle",finding:n,findingSites:a||[]}}};ne.toolType=rt;ne.utilityToolType=rt;ne.TID300Representation=ar;ne.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===rt};M.registerTool(ne);function Ct(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function bt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ct(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ct(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const or=D.TID300.Polyline;class V{static getMeasurementData(e){const t=M.getSetupMeasurementData(e),n=t.defaultState,a=t.SCOORDGroup,o=t.NUMGroup,s=bt(bt({},n),{},{toolType:V.toolType,handles:{start:{},end:{},textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0},initialRotation:0},cachedStats:{area:o?o.MeasuredValueSequence.NumericValue:0},color:void 0,invalidated:!0});var i=w(a.GraphicData,6);return s.handles.start.x=i[0],s.handles.start.y=i[1],i[2],i[3],s.handles.end.x=i[4],s.handles.end.y=i[5],s}static getTID300RepresentationArguments(e){const t=e.finding,n=e.findingSites,a=e.cachedStats,o=a===void 0?{}:a,s=e.handles,i=s.start,c=s.end,u=[i,{x:i.x,y:c.y},c,{x:c.x,y:i.y}],l=o.area,d=o.perimeter;return{points:u,area:l,perimeter:d,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:RectangleRoi",finding:t,findingSites:n||[]}}}V.toolType="RectangleRoi";V.utilityToolType="RectangleRoi";V.TID300Representation=or;V.isValidCornerstoneTrackingIdentifier=r=>{if(!r.includes(":"))return!1;const e=r.split(":"),t=w(e,2),n=t[0],a=t[1];return n!==$?!1:a===V.toolType};M.registerTool(V);A.DicomMessage;A.DicomMetaDictionary;k.Normalizer;const we=D.orientation;we.rotateDirectionCosinesInPlane;we.flipImageOrientationPatient;we.flipMatrix2D;we.rotateMatrix902D;D.datasetToBlob;D.BitArray;D.DicomMessage;D.DicomMetaDictionary;k.Normalizer;Ie.Segmentation;hn.EXPLICIT_LITTLE_ENDIAN;var qe;(function(r){r.SEGMENTATION_LOAD_PROGRESS="CORNERSTONE_ADAPTER_SEGMENTATION_LOAD_PROGRESS"})(qe||(qe={}));const Ae=D.orientation;Ae.rotateDirectionCosinesInPlane;Ae.flipImageOrientationPatient;Ae.flipMatrix2D;Ae.rotateMatrix902D;A.BitArray;A.DicomMessage;A.DicomMetaDictionary;k.Normalizer;Ie.Segmentation;const Zt=D.compression;Zt.encode;Zt.decode;A.DicomMessage;A.DicomMetaDictionary;k.Normalizer;const sr={Length:J,FreehandRoi:_,Bidirectional:Z,EllipticalRoi:B,CircleRoi:Y,ArrowAnnotate:ee,MeasurementReport:M,CobbAngle:te,Angle:ne,RectangleRoi:V};var ge="Cornerstone3DTools@^0.1.0";const ir=["PatientName","PatientID","PatientBirthDate","PatientBirthTime","IssuerOfPatientID","OtherPatientIDs","OtherPatientIDsSequence","PatientSex","PatientIdentityRemoved","DeidentificationMethodCodeSequence"],cr=["StudyDate","StudyTime","StudyStatusID","StudyPriorityID","StudyInstanceUID","StudyDescription","AccessionNumber","StudyID","ReferringPhysicianName","TimezoneOffsetFromUTC"],ur=[...ir,...cr];function dr(r){const e={_meta:r._meta,_vrMap:r._vrMap};for(const t of ur){const n=r[t];n!==void 0&&(e[t]=n)}return e}const lr=["SeriesInstanceUID","SeriesNumber","SeriesDescription","Modality","SeriesDate","SeriesTime","_meta","_vrMap"];function pr(r){const e={};for(const t of lr){const n=r[t];n!==void 0&&(e[t]=n)}return e}function gr(r){const e=[];if(!(r!=null&&r.length))return e;const t=r.length;if(t%3!==0)throw new Error("Points array should be divisible by 3 for SCOORD3D, but contents are: ".concat(JSON.stringify(r)," of length ").concat(t));for(let n=0;n<t;n+=3)e.push([r[n],r[n+1],r[n+2]]);return e}const fr="CORNERSTONEFREETEXT",mr="CORNERSTONEJS",en={CodingSchemeDesignator:mr,codeValues:{CORNERSTONEFREETEXT:fr}};function Rt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Mt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Rt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Rt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Fe="none",at="99CS3D",ve={schemeDesignator:at,meaning:"Text Annotation Position",value:"TextPosition"},F={schemeDesignator:at,meaning:"Control Points",value:"ControlPoints"},fe={schemeDesignator:at,meaning:"Spline Type",value:"SplineType"},Ne={schemeDesignator:"DCM",meaning:"Comment",value:"121106"},Ir=new Uint8Array(2);Ir[1]=1;const tn=new Uint8Array(2);tn[1]=2;const Sr="2.25.2470123695996825859949881583571202391.1.0.1",Or="2.25.2470123695996825859949881583571202391.2.0.1",hr=new Uint8Array(2);hr[1]=1;const ot={FileMetaInformationVersion:{Value:[tn.buffer],vr:"OB"},TransferSyntaxUID:{Value:["1.2.840.10008.1.2"],vr:"UI"},ImplementationClassUID:{Value:[Sr],vr:"UI"},ImplementationVersionName:{Value:["cs3d-4.8.4"],vr:"SH"}},yr=Mt(Mt({},ot),{},{ImplementationClassUID:{Value:[Or],vr:"UI"}}),nn=We.sr,x=nn.valueTypes,Pt=nn.coding,Dr=We.adapters.Cornerstone3D;class Tr{constructor(e,t){this.tid300Item=e,this.annotation=t,this.ReferencedSOPSequence=e.ReferencedSOPSequence}contentItem(){var e;const t=this.tid300Item.contentItem();this.fixScoordRelationships(t);const n=this.annotation.data,a=n.label,o=n.handles;return a&&(t.push(this.createQualitativeLabel(a)),this.filterCornerstoneFreeText(t)),o!=null&&(e=o.textBox)!==null&&e!==void 0&&e.hasMoved&&t.push(this.createQualitativeLabelPosition(this.annotation)),t}fixScoordRelationships(e){const t=x.RelationshipTypes.INFERRED_FROM;for(const n of e){const o=n.ContentSequence,s=this.normalizeContentSequence(o);for(const i of s)(i.ValueType==="SCOORD"||i.ValueType==="SCOORD3D")&&(i.RelationshipType==="CONTAINS"||i.RelationshipType==="Contains")&&(i.RelationshipType=t)}}normalizeContentSequence(e){return e?Array.isArray(e)?e:[e]:[]}filterCornerstoneFreeText(e){const t=Dr.CodeScheme.codeValues,n=[t.FREE_TEXT_CODE_VALUE,t.CORNERSTONEFREETEXT];for(let a=0;a<e.length;a++){const o=e[a];if(!o.ConceptCodeSequence)continue;const s=o.ConceptCodeSequence.findIndex(i=>n.includes(i.CodeValue));if(s!==-1){o.ConceptCodeSequence.splice(s,1),o.ConceptCodeSequence.length===0&&e.splice(a,1);return}}}createQualitativeLabel(e){const t=x.RelationshipTypes.CONTAINS;return new x.TextContentItem({name:new Pt.CodedConcept(Ne),relationshipType:t,value:e})}createQualitativeLabelPosition(e){const t=e.data.handles.textBox,n=e.metadata,a=n.referencedImageId,o=n.FrameOfReferenceUID,s=!a,i=E({is3DMeasurement:s,referencedImageId:a},t.worldPosition),c=i.x,u=i.y,l=i.z,d=x.GraphicTypes.POINT,p=x.RelationshipTypes.CONTAINS,g=new Pt.CodedConcept(ve),f=s?new x.Scoord3DContentItem({name:g,relationshipType:p,graphicType:d,graphicData:[c,u,l],frameOfReferenceUID:o}):new x.ScoordContentItem({name:g,relationshipType:p,graphicType:d,graphicData:[c,u]});return f.ContentSequence=[{RelationshipType:x.RelationshipTypes.SELECTED_FROM,ValueType:x.ValueTypes.IMAGE,ReferencedSOPSequence:this.ReferencedSOPSequence}],f}}var z;function vt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function W(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?vt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):vt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Cr=Kt,rn=D.TID1500,Nt=D.addAccessors,br=Ie.StructuredReport,Rr=k.Normalizer,Mr=rn.TID1500MeasurementReport,Pr=rn.TID1501MeasurementGroup,Se=A.DicomMetaDictionary,vr={CodingSchemeDesignator:"DCM",CodeValue:"121071"},Nr={CodingSchemeDesignator:Ne.schemeDesignator,CodeValue:Ne.value},Er={CodingSchemeDesignator:ve.schemeDesignator,CodeValue:ve.value},Ee={CodingSchemeDesignator:F.schemeDesignator,CodeValue:F.value},wr={CodingSchemeDesignator:"SCT",CodeValue:"363698007"},Ar={CodingSchemeDesignator:"SRT",CodeValue:"G-C0E3"};function Et(r){if(r.ValueType!=="SCOORD"&&r.ValueType!=="SCOORD3D")return!1;const e=r.ConceptNameCodeSequence,t=Array.isArray(e)?e[0]:e;return!!t&&t.CodingSchemeDesignator===Ee.CodingSchemeDesignator&&t.CodeValue===Ee.CodeValue}class N{static getTID300ContentItem(e,t,n,a){const o=n.getTID300RepresentationArguments(e,a);o.ReferencedSOPSequence=t,o.use3DSpatialCoordinates&&(o.ReferencedFrameOfReferenceUID=e.metadata.FrameOfReferenceUID);const s=new n.TID300Representation(o);return new Tr(s,e)}static getMeasurementGroup(e,t,n,a){const o=t[e],s=this.measurementAdapterByToolType.get(e);if(!o||!o.data||!o.data.length||!s)return;const i=o.data.map(c=>this.getTID300ContentItem(c,n,s,a));return new Pr(i)}static getCornerstoneLabelFromDefaultState(e){const t=e.findingSites,n=t===void 0?[]:t,a=e.finding,o=e.commentGroup;if(o!=null&&o.TextValue)return o.TextValue;const s=en.codeValues.CORNERSTONEFREETEXT,i=n.find(c=>c.CodeValue===s);if(i)return i.CodeMeaning;if(a&&a.CodeValue===s)return a.CodeMeaning}static generateDatasetMeta(){return ot}static processSCOORDGroup(e){let t=e.SCOORDGroup,n=e.toolType,a=e.sopInstanceUIDToImageIdMap,o=e.metadata;const s=t.ContentSequence.ReferencedSOPSequence,i=s.ReferencedSOPInstanceUID,c=s.ReferencedFrameNumber,u=c===void 0?1:c,l=a["".concat(i,":").concat(u)],d=o.get("imagePlaneModule",l),p=Se.uid();return{SCOORDGroup:t,ReferencedSOPSequence:s,ReferencedSOPInstanceUID:i,ReferencedFrameNumber:u,referencedImageId:l,state:{description:void 0,sopInstanceUid:i,annotation:{data:{annotationUID:p,cachedStats:{},handles:{activeHandleIndex:0,textBox:{hasMoved:!1}}},annotationUID:p,metadata:{toolName:n,referencedImageId:l,FrameOfReferenceUID:d.frameOfReferenceUID}}}}}static processSCOORD3DGroup(e){let t=e.SCOORD3DGroup,n=e.toolType;const a=Se.uid(),o={SCOORD3DGroup:t,FrameOfReferenceUID:t.ReferencedFrameOfReferenceUID,state:{description:void 0,annotation:{annotationUID:a,data:{annotationUID:a,cachedStats:{},handles:{activeHandleIndex:0,textBox:{hasMoved:!1}}},metadata:{toolName:n,FrameOfReferenceUID:t.ReferencedFrameOfReferenceUID}}}};return Dn(gr(t.GraphicData),o.state.annotation.metadata),o}static getSpatialCoordinatesState(e){var t,n;let a=e.NUMGroup,o=e.sopInstanceUIDToImageIdMap,s=e.metadata,i=e.toolType;const c=R(a.ContentSequence),u=(t=c.find(p=>p.ValueType==="SCOORD"&&!Et(p)))!==null&&t!==void 0?t:c.find(p=>p.ValueType==="SCOORD"),l=(n=c.find(p=>p.ValueType==="SCOORD3D"&&!Et(p)))!==null&&n!==void 0?n:c.find(p=>p.ValueType==="SCOORD3D"),d=l&&this.processSCOORD3DGroup({SCOORD3DGroup:l,toolType:i})||u&&this.processSCOORDGroup({SCOORDGroup:u,toolType:i,metadata:s,sopInstanceUIDToImageIdMap:o});if(!d)throw new Error("No spatial coordinates group found.");return d}static processSpatialCoordinatesGroup(e){let t=e.NUMGroup,n=e.sopInstanceUIDToImageIdMap,a=e.metadata,o=e.findingGroup,s=e.findingSiteGroups,i=e.commentGroup,c=e.commentPositionGroup,u=e.controlPointsGroup,l=e.toolType;const d=this.getSpatialCoordinatesState({NUMGroup:t,sopInstanceUIDToImageIdMap:n,metadata:a,toolType:l}),p=d.state,g=d.SCOORDGroup,f=d.ReferencedSOPSequence,I=d.ReferencedSOPInstanceUID,m=d.ReferencedFrameNumber,h=d.SCOORD3DGroup,O=d.FrameOfReferenceUID,y=d.referencedImageId,S=d.textBoxPosition,b=o?Nt(o.ConceptCodeSequence):void 0,T=s.map(v=>Nt(v.ConceptCodeSequence));if(c){p.commentPositionGroup=c;const v=pe({is3DMeasurement:!y,referencedImageId:y},c);p.annotation.data.handles.textBox={hasMoved:!0,worldPosition:v[0]}}if(u){const v=pe({is3DMeasurement:!y,referencedImageId:y},u);p.annotation.data.handles.points=v}return p.finding=b,p.findingSites=T,p.commentGroup=i,p.commentPositionGroup=c,b&&(p.description=b.CodeMeaning),p.annotation.data.label=this.getCornerstoneLabelFromDefaultState(p),{defaultState:p,state:p,NUMGroup:t,scoord:h||g,SCOORDGroup:g,ReferencedSOPSequence:f,ReferencedSOPInstanceUID:I,referencedImageId:y,textBoxPosition:S,ReferencedFrameNumber:m,SCOORD3DGroup:h,FrameOfReferenceUID:O}}static getSetupMeasurementData(e,t,n,a){const o=e.ContentSequence,s=R(o),i=s.find(S=>this.codeValueMatch(S,vr)),c=s.find(S=>this.codeValueMatch(S,Nr)),u=s.find(S=>this.codeValueMatch(S,Er));let l=s.find(S=>this.codeValueMatch(S,Ee));const d=s.find(S=>S.ValueType==="NUM");!l&&d!==null&&d!==void 0&&d.ContentSequence&&(l=R(d.ContentSequence).find(S=>this.codeValueMatch(S,Ee)));const p=s.filter(S=>this.codeValueMatch(S,wr,Ar))||[],g=d||{ContentSequence:s.filter(S=>S.ValueType==="SCOORD"||S.ValueType==="SCOORD3D")},f=this.processSpatialCoordinatesGroup({NUMGroup:g,sopInstanceUIDToImageIdMap:t,metadata:n,findingGroup:i,findingSiteGroups:p,commentGroup:c,commentPositionGroup:u,controlPointsGroup:l,toolType:a}),I=f.state.annotation.metadata.referencedImageId,m=!!f.SCOORD3DGroup,h={referencedImageId:I,is3DMeasurement:m},O=f.SCOORD3DGroup||f.SCOORDGroup,y=pe(h,O);return W(W({},f),{},{is3DMeasurement:m,scoordArgs:h,scoord:O,worldCoords:y})}static generateReferencedSOPSequence(e){let t=e.toolData,n=e.toolTypes,a=e.metadataProvider,o=e.imageId,s=e.sopInstanceUIDsToSeriesInstanceUIDMap,i=e.derivationSourceDatasets;const c=o===Fe?this.getImageIdFromVolume({toolData:t,toolTypes:n}):o,u=a.get("sopCommonModule",c),l=a.get("instance",c),d=u.sopInstanceUID,p=u.sopClassUID,g=l.SeriesInstanceUID;if(s[d]=g,!i.find(m=>m.SeriesInstanceUID===g)){const m=N.generateDerivationSourceDataset(l);i.push(m)}const f=a.get("frameNumber",c),I={ReferencedSOPClassUID:p,ReferencedSOPInstanceUID:d,ReferencedFrameNumber:void 0};return(l&&l.NumberOfFrames&&l.NumberOfFrames>1||Rr.isMultiframeSOPClassUID(p))&&(I.ReferencedFrameNumber=f),I}static getImageIdFromVolume(e){var t,n;let a=e.toolData,o=e.toolTypes;const s=a==null||(t=a[o?.[0]])===null||t===void 0||(t=t.data)===null||t===void 0?void 0:t[0],i=s==null||(n=s.metadata)===null||n===void 0?void 0:n.volumeId,c=Tn.getVolume(i);if(!c)throw new Error("No volume found for ".concat(i));return c.imageIds[0]}static generateReport(e,t,n){var a;let o=[];const s={},i=[],c=N.generateDatasetMeta();let u=!1;Object.keys(e).forEach(g=>{const f=e[g],I=Object.keys(f),m=g===Fe,h=this.generateReferencedSOPSequence({toolData:f,toolTypes:I,metadataProvider:t,imageId:g,sopInstanceUIDsToSeriesInstanceUIDMap:s,derivationSourceDatasets:i});m&&(u=!0);const O=[];I.forEach(y=>{const S=this.getMeasurementGroup(y,f,h,m);S&&O.push(S)}),o=o.concat(O)});const l=new Mr({TID1501MeasurementGroups:o},n),d=new br(i,n),p=l.contentItem(i,W(W({},n),{},{sopInstanceUIDsToSeriesInstanceUIDMap:s}));if(d.dataset=Object.assign(d.dataset,p),d.dataset._meta=c,d.SpecificCharacterSet="ISO_IR 192",(a=d.dataset).InstanceNumber||(a.InstanceNumber=n.InstanceNumber||1),n.predecessorImageId&&Object.assign(d.dataset,t.get(Cr.PREDECESSOR_SEQUENCE,n.predecessorImageId)),u&&(d.dataset.SOPClassUID=Se.sopClassUIDsByName.Comprehensive3DSR,!d.dataset.SOPClassUID))throw new Error("NO sop class defined for Comprehensive3DSR in ".concat(JSON.stringify(Se.sopClassUIDsByName)));return d}static generateToolState(e,t,n,a){if(e.ContentTemplateSequence.TemplateIdentifier!=="1500")throw new Error("This package can currently only interpret DICOM SR TID 1500");const o="Imaging Measurements",s="Measurement Group",i="Tracking Identifier",c="Tracking Unique Identifier",u=e.imageId,l=R(e.ContentSequence).find(Pe(o)),d=R(l.ContentSequence).filter(Pe(s)),p={};return d.forEach(g=>{try{var f;const m=R(g.ContentSequence),O=m.find(T=>T.ConceptNameCodeSequence.CodeMeaning===i).TextValue,y=m.find(T=>T.ConceptNameCodeSequence.CodeMeaning===c),S=y?.UID,b=(a==null||(f=a.getToolClass)===null||f===void 0?void 0:f.call(a,g,e,this.measurementAdapterByToolType))||this.getAdapterForTrackingIdentifier(O)||this.getAdapterForCodeType(g);if(b){var I;const T=b.getMeasurementData(g,t,n,O);T.TrackingUniqueIdentifier=S,T.predecessorImageId=u,console.log("=== ".concat(b.toolType," ===")),console.log(T),p[I=b.toolType]||(p[I]=[]),p[b.toolType].push(T)}}catch(m){console.warn("Unable to generate tool state for",g,m)}}),p}static registerTool(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.toolType;if(this.measurementAdapterByToolType.has(n)){if(!t)throw new Error("The registered tool name ".concat(n," already exists in adapters, use a different toolType or use replace"));typeof t=="function"&&t(this.measurementAdapterByToolType.get(n))}this.measurementAdapterByToolType.set(e.toolType,e),this.measurementAdapterByTrackingIdentifier.set(e.trackingIdentifierTextValue,e)}static registerTrackingIdentifier(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];for(const o of n)this.measurementAdapterByTrackingIdentifier.set(o,e)}static getAdapterForTrackingIdentifier(e){const t=this.measurementAdapterByTrackingIdentifier.get(e);if(t)return t;for(const n of[...this.measurementAdapterByToolType.values()])if(n.isValidCornerstoneTrackingIdentifier(e))return this.measurementAdapterByTrackingIdentifier.set(e,n),n}static getAdapterForCodeType(e){for(const t of this.measurementAdapterByTrackingIdentifier.values())if(t.isValidMeasurement(e))return t}static registerAdapterTypes(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];for(const o of n){this.measurementAdaptersByType.has(o)||this.measurementAdaptersByType.set(o,[]);const s=this.measurementAdaptersByType.get(o);s.indexOf(e)===-1&&s.push(e)}}static getAdaptersForTypes(e,t,n){const a=[];return Oe(a,this.measurementAdaptersByType.get("".concat(e,"-").concat(t,"-").concat(n))),Oe(a,this.measurementAdaptersByType.get("".concat(e,"-").concat(t))),Oe(a,this.measurementAdaptersByType.get(e)),Oe(a,this.measurementAdaptersByType.get(t)),a}}z=N;z.CORNERSTONE_3D_TAG=ge;z.measurementAdapterByToolType=new Map;z.measurementAdaptersByType=new Map;z.measurementAdapterByTrackingIdentifier=new Map;z.codeValueMatch=(r,e,t)=>{const n=r.ConceptNameCodeSequence;if(!n)return;const a=Array.isArray(n)?n[0]:n;if(!a)return;const o=a.CodingSchemeDesignator,s=a.CodeValue;return o==e.CodingSchemeDesignator&&s==e.CodeValue||t&&o==t.CodingSchemeDesignator&&s==t.CodeValue};z.generateDerivationSourceDataset=r=>{const e=dr(r),t=pr(r);return W(W({},e),t)};function Oe(r,e){e!=null&&e.length&&r.push(...e)}class U{static registerType(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=e;t&&(a="".concat(a).concat(a.length?"-":"").concat(t)),n&&(a="".concat(a).concat(a.length?"-":"").concat(n)),N.registerAdapterTypes(this,a)}static getPointsCount(e){const n=e.ValueType==="SCOORD3D"?3:2;return e.GraphicData.length/n}static getGraphicItems(e,t){const n=e.ContentSequence.filter(a=>a.ValueType==="SCOORD"||a.ValueType==="SCOORD3D");return t?n.filter(t):n}static getGraphicItem(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;return this.getGraphicItems(e,n&&(o=>o.ValueType===n))[t]}static getGraphicCode(e){const t=e.ConceptNameCodeSequence,n=t.CodeValue,a=t.CodingSchemeDesignator;return"".concat(a,":").concat(n)}static getGraphicType(e){return e.GraphicType}static isValidMeasurement(e){return!1}static init(e,t,n){if(this.toolType=e,U.toolType)throw new Error("Base adapter tool type set to ".concat(this.toolType," while setting ").concat(e));if(this.parentType=n?.parentType,this.trackingIdentifiers=new Set,this.TID300Representation=t,this.parentType){this.trackingIdentifierTextValue="".concat(ge,":").concat(this.parentType,":").concat(this.toolType);const a="".concat(ge,":").concat(this.toolType);this.trackingIdentifiers.add(a)}else this.trackingIdentifierTextValue="".concat(ge,":").concat(e);this.trackingIdentifiers.add(this.trackingIdentifierTextValue),N.registerTool(this)}static registerLegacy(){this.trackingIdentifiers.add("cornerstoneTools@^4.0.0:".concat(this.toolType))}static registerSubType(e,t,n){const a=Object.create(e);return a.init(t,e.TID300Representation,{parentType:e.parentType||e.toolType,replace:n}),a}static isValidCornerstoneTrackingIdentifier(e){return this.trackingIdentifiers.has(e)?!0:e.includes(":")?e.startsWith(this.trackingIdentifierTextValue):!1}static getMeasurementData(e,t,n,a){const o=N.getSetupMeasurementData(e,t,n,this.toolType),s=o.defaultState,i=o.ReferencedFrameNumber;return s.annotation.data={cachedStats:{},frameNumber:i,seriesLevel:a?.indexOf(":Series")>0},s}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.metadata,a=e.finding,o=e.findingSites,s=n.referencedImageId;return{points:Q({is3DMeasurement:t,referencedImageId:s},e.data.handles.points),trackingIdentifierTextValue:this.trackingIdentifierTextValue,findingSites:o||[],finding:a,ReferencedFrameOfReferenceUID:t?n.FrameOfReferenceUID:null}}static getCachedStats(e,t){const n=t.referencedImageId,a=t.volumeId;return e["imageId:".concat(n)]||e["volumeId:".concat(a)]||{}}}var Le;function wt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function he(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?wt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):wt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Ur=D.TID300.ArrowAnnotate,jr=Yt;class an extends U{static getMeasurementData(e,t,n,a){const o=N.getSetupMeasurementData(e,t,n,this.toolType),s=o.state,i=o.SCOORDGroup,c=o.worldCoords,u=o.referencedImageId,l=o.ReferencedFrameNumber,d=s.annotation.data.label;if(c.length===1&&i){const p=n.get("imagePixelModule",u);let g=10,f=10;if(p){const h=p.columns,O=p.rows;g=h/10,f=O/10}const I=i.GraphicData,m=jr(u,[I[0]+g,I[1]+f]);c.push(m)}return s.annotation.data=he(he({},s.annotation.data),{},{text:d,handles:he(he({},s.annotation.data.handles),{},{arrowFirst:!0,points:c}),frameNumber:l}),s}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.metadata,o=e.findingSites,s=e.finding,i=a.referencedImageId,c={is3DMeasurement:t,referencedImageId:i},u=n.handles,l=u.points,d=u.arrowFirst,p=d?l[0]:l[1],g=d?l[1]:l[0],f=E(c,p),I=E(c,g);return{points:[f,I],trackingIdentifierTextValue:this.trackingIdentifierTextValue,findingSites:o||[],finding:s,ReferencedFrameOfReferenceUID:t?a.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}Le=an;Le.init("ArrowAnnotate",Ur),Le.registerLegacy();var ke;function At(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function ye(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?At(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):At(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const xr=D.TID300.Bidirectional,Gr="Long Axis",_r="Short Axis";class on extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.scoordArgs,i=a.referencedImageId,c=a.ReferencedFrameNumber,u=e.ContentSequence,l=R(u).find(I=>I.ConceptNameCodeSequence.CodeMeaning===Gr),d=R(u).find(I=>I.ConceptNameCodeSequence.CodeMeaning===_r),p=R(l.ContentSequence).find(I=>I.ValueType==="SCOORD3D"||I.ValueType==="SCOORD"),g=R(d.ContentSequence).find(I=>I.ValueType==="SCOORD3D"||I.ValueType==="SCOORD"),f=[];return f.push(...pe(s,p)),f.push(...pe(s,g)),o.annotation.data=ye(ye({},o.annotation.data),{},{handles:ye(ye({},o.annotation.data.handles),{},{points:[f[0],f[1],f[2],f[3]]}),frameNumber:c}),i&&(o.annotation.data.cachedStats={["imageId:".concat(i)]:{length:l.MeasuredValueSequence.NumericValue,width:d.MeasuredValueSequence.NumericValue,unit:l.MeasuredValueSequence.MeasurementUnitsCodeSequence.CodeValue,widthUnit:d.MeasuredValueSequence.MeasurementUnitsCodeSequence.CodeValue}}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,d={is3DMeasurement:t,referencedImageId:l},p=u.points,g=[p[0],p[1]],f=[p[2],p[3]],I=Math.sqrt(Math.pow(g[0][0]-g[1][0],2)+Math.pow(g[0][1]-g[1][1],2)+Math.pow(g[0][2]-g[1][2],2)),m=Math.sqrt(Math.pow(f[0][0]-f[1][0],2)+Math.pow(f[0][1]-f[1][1],2)+Math.pow(f[0][2]-f[1][2],2));let h,O;I>m?(h=g,O=f):(h=f,O=g);const y=E(d,h[0]),S=E(d,h[1]),b=E(d,O[0]),T=E(d,O[1]),v=super.getCachedStats(c,s),j=v.length,re=v.width,ae=v.unit;return{longAxis:{point1:y,point2:S},shortAxis:{point1:b,point2:T},longAxisLength:j,shortAxisLength:re,unit:ae,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}ke=on;ke.init("Bidirectional",xr),ke.registerLegacy();var Be;function Ut(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function De(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ut(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ut(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Vr=D.TID300.CobbAngle;class sn extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.NUMGroup,i=a.worldCoords,c=a.referencedImageId,u=a.ReferencedFrameNumber,l=c?{["imageId:".concat(c)]:{angle:s?s.MeasuredValueSequence.NumericValue:null}}:{};return o.annotation.data=De(De({},o.annotation.data),{},{handles:De(De({},o.annotation.data.handles),{},{points:[i[0],i[1],i[3]]}),cachedStats:l,frameNumber:u}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,d={is3DMeasurement:t,referencedImageId:l},p=E(d,u.points[0]),g=E(d,u.points[1]),f=E(d,u.points[1]),I=E(d,u.points[2]),m=super.getCachedStats(c,s),h=m.angle;return{point1:p,point2:g,point3:f,point4:I,rAngle:h,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}Be=sn;Be.init("Angle",Vr),Be.registerLegacy();var Ye;function jt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Te(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?jt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):jt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const $r=D.TID300.CobbAngle;class Ue extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,Ue.toolType),o=a.state,s=a.NUMGroup,i=a.referencedImageId,c=a.worldCoords,u=a.ReferencedFrameNumber;return o.annotation.data=Te(Te({},o.annotation.data),{},{handles:Te(Te({},o.annotation.data.handles),{},{points:[c[0],c[1],c[2],c[3]]}),frameNumber:u}),i&&(o.annotation.data.cachedStats={["imageId:".concat(i)]:{angle:s?s.MeasuredValueSequence.NumericValue:null}}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,p=Q({is3DMeasurement:t,referencedImageId:l},u.points),g=w(p,4),f=g[0],I=g[1],m=g[2],h=g[3],O=c["imageId:".concat(l)]||{},y=O.angle;return{point1:f,point2:I,point3:m,point4:h,rAngle:y,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}Ye=Ue;Ye.init("CobbAngle",$r),Ye.registerLegacy();const qr="[hnsf'U]",Fr="HU",Lr="mm2",kr="mm²",Br={[qr]:Fr,[Lr]:kr};function cn(r){return r&&(Br[r]||r)}const Ke=new Set(["Mean","Standard Deviation","Maximum","Minimum"]);function je(r,e){const t={};return r.ContentSequence&&r.ContentSequence.forEach(n=>{if(n.ValueType==="NUM"&&n.ConceptNameCodeSequence){var a,o;const s=n.ConceptNameCodeSequence.CodeMeaning,i=(a=n.MeasuredValueSequence)===null||a===void 0?void 0:a.NumericValue,c=(o=n.MeasuredValueSequence)===null||o===void 0||(o=o.MeasurementUnitsCodeSequence)===null||o===void 0?void 0:o.CodeValue;if(i!==void 0&&e){t[e]||(t[e]={});let u="";c&&(u=Yr(s,c)),t[e][s]={value:i,unit:u}}}}),t}function xe(r){const e={};let t="";const n={Mean:"mean","Standard Deviation":"stdDev",Maximum:"max",Minimum:"min",Area:"area",Radius:"radius",Perimeter:"perimeter",Length:"length",Width:"width"},a={mean:"modalityUnit",stdDev:"modalityUnit",max:"modalityUnit",min:"modalityUnit",area:"areaUnit",radius:"radiusUnit",perimeter:"unit",length:"unit",width:"widthUnit"};for(const s of Object.entries(n)){var o=w(s,2);const i=o[0],c=o[1],u=r[i];if(!u)continue;const l=u.value,d=u.unit;if(l==null||(e[c]=l,!d))continue;const p=cn(d);if(!p)continue;Ke.has(i)&&!t&&(t=p);const g=a[c];g?e[g]||(e[g]=p):e["".concat(c,"Unit")]=p}return e.modalityUnit=t,e}function Yr(r,e){if(!e)return"";const t=e.CodeValue,n=e.CodeMeaning;return t==="1"?!Ke.has(r)&&r==="Area"?"".concat(n,"²"):Ke.has(r)?"":n:t}var ze;function xt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function oe(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?xt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):xt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Kr=D.TID300.Circle;class un extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.NUMGroup,i=a.worldCoords,c=a.referencedImageId,u=a.ReferencedFrameNumber,l=o.sopInstanceUid,p=je(e,l)[l]||{};return o.annotation.data=oe(oe({},o.annotation.data),{},{handles:oe(oe({},o.annotation.data.handles),{},{points:i}),frameNumber:u}),c&&(o.annotation.data.cachedStats={["imageId:".concat(c)]:oe({area:s?s.MeasuredValueSequence.NumericValue:0,radius:0,perimeter:0},xe(p))}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,d={is3DMeasurement:t,referencedImageId:l},p=E(d,u.points[0]),g=E(d,u.points[1]),f=super.getCachedStats(c,s),I=f.area,m=f.radius,h=f.max,O=f.min,y=f.stdDev,S=f.mean,b=f.modalityUnit,T=f.radiusUnit,v=f.areaUnit,j=2*Math.PI*m;return{area:I,areaUnit:v,perimeter:j,modalityUnit:b,radiusUnit:T,radius:m,max:h,min:O,stdDev:y,mean:S,points:[p,g],trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}ze=un;ze.init("CircleROI",Kr),ze.registerLegacy();var dn;function Gt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function se(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Gt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Gt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const zr=D.TID300.Ellipse;class Ge extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,Ge.toolType),o=a.state,s=a.NUMGroup,i=a.worldCoords,c=a.referencedImageId,u=a.ReferencedFrameNumber,l=o.sopInstanceUid,p=je(e,l)[l]||{};return o.annotation.data=se(se({},o.annotation.data),{},{handles:se(se({},o.annotation.data.handles),{},{points:i}),frameNumber:u}),o.annotation.data.cachedStats=c?{["imageId:".concat(c)]:se({area:s?s.MeasuredValueSequence.NumericValue:0},xe(p))}:{},o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=n.initialRotation||0,d=s.referencedImageId,p={is3DMeasurement:t,referencedImageId:d};let g,f,I,m;l==90||l==270?(f=u.points[2],g=u.points[3],I=u.points[0],m=u.points[1]):(g=u.points[0],f=u.points[1],I=u.points[2],m=u.points[3]);const h=Math.sqrt((g[0]-f[0])**2+(g[1]-f[1])**2+(g[2]-f[2])**2),O=Math.sqrt((I[0]-m[0])**2+(I[1]-m[1])**2+(I[2]-m[2])**2),y=[];h>O?y.push(g,f,I,m):y.push(I,m,g,f);const S=super.getCachedStats(c,s),b=S.area,T=S.max,v=S.min,j=S.mean,re=S.stdDev,ae=S.modalityUnit,Ve=S.areaUnit,Sn=y.map(On=>E(p,On));return{area:b,areaUnit:Ve,max:T,min:v,mean:j,stdDev:re,modalityUnit:ae,points:Sn,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],ReferencedFrameOfReferenceUID:t?s.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}dn=Ge;dn.init("EllipticalROI",zr);var de;function _t(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function ie(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?_t(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):_t(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Xr=D.TID300.Polyline;class ln extends U{static isValidMeasurement(e){const t=this.getGraphicItem(e),n=this.getPointsCount(t);return this.getGraphicType(t)==="POLYLINE"&&(n===4||n===5)}static getMeasurementData(e,t,n){var a,o;const s=N.getSetupMeasurementData(e,t,n,this.toolType),i=s.state,c=s.worldCoords,u=s.referencedImageId,l=s.ReferencedFrameNumber,d=c.length===5?c.slice(0,4):c,p=e.ContentSequence.find(T=>T.ValueType==="NUM"&&T.ConceptNameCodeSequence.CodeMeaning==="Area"),g=i.sopInstanceUid,I=je(e,g)[g]||{},m=xe(I),h=p==null||(a=p.MeasuredValueSequence)===null||a===void 0||(a=a[0])===null||a===void 0?void 0:a.MeasurementUnitsCodeSequence,O=h?.CodeValue,y=O?cn(O):m.areaUnit,S=u?{["imageId:".concat(u)]:ie({area:(p==null||(o=p.MeasuredValueSequence)===null||o===void 0||(o=o[0])===null||o===void 0?void 0:o.NumericValue)||0,areaUnit:y},m)}:{},b=[d[0],d[1],d[3],d[2]];return i.annotation.data=ie(ie({},i.annotation.data),{},{handles:ie(ie({},i.annotation.data.handles),{},{points:b}),cachedStats:S,frameNumber:l}),i}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=s.referencedImageId,u=Q({is3DMeasurement:t,referencedImageId:i},n.handles.points),l=super.getCachedStats(n.cachedStats,s),d=l.area,p=l.perimeter,g=l.max,f=l.mean,I=l.stdDev,m=l.areaUnit,h=l.modalityUnit;return{points:[u[0],u[1],u[3],u[2],u[0]],area:d,perimeter:p,max:g,mean:f,stdDev:I,areaUnit:m,modalityUnit:h,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],use3DSpatialCoordinates:t}}}de=ln;de.init("RectangleROI",Xr),de.registerLegacy(),de.registerType("DCM:111030","POLYLINE",4),de.registerType("DCM:111030","POLYLINE",5);var Xe;function Vt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Ce(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Vt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Vt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Hr=D.TID300.Length,Wr="Length";class pn extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.NUMGroup,i=a.worldCoords,c=a.referencedImageId,u=a.ReferencedFrameNumber,l=c?{["imageId:".concat(c)]:{length:s?s.MeasuredValueSequence.NumericValue:0,unit:s.MeasuredValueSequence.MeasurementUnitsCodeSequence.CodeValue}}:{};return o.annotation.data=Ce(Ce({},o.annotation.data),{},{handles:Ce(Ce({},o.annotation.data.handles),{},{points:[i[0],i[1]],activeHandleIndex:0}),cachedStats:l,frameNumber:u}),o}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.cachedStats,c=i===void 0?{}:i,u=n.handles,l=s.referencedImageId,d={is3DMeasurement:t,referencedImageId:l},p=E(d,u.points[0]),g=E(d,u.points[1]),f=super.getCachedStats(c,s),I=f.length;return{point1:p,point2:g,distance:I,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[],use3DSpatialCoordinates:t}}}Xe=pn;Xe.init(Wr,Hr),Xe.registerLegacy();const G=yn.valueTypes,Qr=D.TID300.Polyline;class Jr extends Qr{contentItem(){const e=super.contentItem(),t=this,n=t.props,a=n.controlPoints,o=n.use3DSpatialCoordinates,s=n.ReferencedSOPSequence,i=n.ReferencedFrameOfReferenceUID,c=n.use3DSpatialCoordinates;if(!(a!=null&&a.length))return e;const u=t.flattenPoints({points:a,use3DSpatialCoordinates:o}),l=G.GraphicTypes.MULTIPOINT,d=c?{RelationshipType:G.RelationshipTypes.CONTAINS,ValueType:"SCOORD3D",ConceptNameCodeSequence:[{CodeValue:F.value,CodingSchemeDesignator:F.schemeDesignator,CodeMeaning:F.meaning}],GraphicType:l,GraphicData:u,ReferencedFrameOfReferenceUID:i,ContentSequence:[{RelationshipType:G.RelationshipTypes.SELECTED_FROM,ValueType:G.ValueTypes.IMAGE,ReferencedSOPSequence:s}]}:{RelationshipType:G.RelationshipTypes.CONTAINS,ValueType:"SCOORD",ConceptNameCodeSequence:[{CodeValue:F.value,CodingSchemeDesignator:F.schemeDesignator,CodeMeaning:F.meaning}],GraphicType:l,GraphicData:u,ContentSequence:[{RelationshipType:G.RelationshipTypes.SELECTED_FROM,ValueType:G.ValueTypes.IMAGE,ReferencedSOPSequence:s}]},p=t.props.splineType,g=e,f=g.find(I=>I.ValueType==="NUM");if(f){const I=f.ContentSequence,m=Array.isArray(I)?I:I?[I]:[];f.ContentSequence=[...m,d]}else g.push(d);if(p){const I={RelationshipType:G.RelationshipTypes.HAS_OBS_CONTEXT,ValueType:"TEXT",ConceptNameCodeSequence:{CodeValue:fe.value,CodingSchemeDesignator:fe.schemeDesignator,CodeMeaning:fe.meaning},TextValue:p},m=g.findIndex(O=>O.RelationshipType===G.RelationshipTypes.HAS_OBS_CONTEXT),h=m>=0?m+2:2;g.splice(h,0,I)}return g}}var K;function $t(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function H(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?$t(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):$t(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}class gn extends U{static getMeasurementData(e,t,n){var a,o,s;const i=N.getSetupMeasurementData(e,t,n,this.toolType),c=i.state,u=i.NUMGroup,l=i.worldCoords,d=i.referencedImageId,p=i.ReferencedFrameNumber,g=Mn(l[l.length-1],l[0]);let f=!0;g<this.closedContourThreshold&&(l.pop(),f=!1);let I=(a=(o=c.annotation.data.handles)===null||o===void 0?void 0:o.points)!==null&&a!==void 0?a:[];f&&I.length===0&&(I=[l[0],l[l.length-1]]);const m=c.sopInstanceUid,O=je(e,m)[m]||{},y={CodingSchemeDesignator:fe.schemeDesignator,CodeValue:fe.value},S=u?R(u.ContentSequence):[],b=R(e.ContentSequence),T=(s=S.find(v=>N.codeValueMatch(v,y)))!==null&&s!==void 0?s:b.find(v=>N.codeValueMatch(v,y));return c.annotation.data=H(H({},c.annotation.data),{},{contour:{polyline:l,closed:!f},handles:H(H({},c.annotation.data.handles),{},{points:I}),frameNumber:p},T&&{spline:{type:T.TextValue}}),d&&(c.annotation.data.cachedStats={["imageId:".concat(d)]:H(H({},!f&&u?{area:u.MeasuredValueSequence.NumericValue}:{}),xe(O))}),c}static getTID300RepresentationArguments(e){var t,n;let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const o=e.data,s=e.finding,i=e.findingSites,c=e.metadata,u=o.handles,l=o.contour,d=l.polyline,g=l.closed!==!0,f=c.referencedImageId,I={is3DMeasurement:a,referencedImageId:f},m=Q(I,d);if(!g){const Ve=m[0];m.push(Ve)}const h=(u==null||(t=u.points)===null||t===void 0?void 0:t.length)&&Q(I,u.points),O=super.getCachedStats(o.cachedStats,c),y=O.area,S=O.areaUnit,b=O.modalityUnit,T=O.perimeter,v=O.mean,j=O.max,re=O.stdDev,ae=O.length;return{points:m,controlPoints:h,area:y,areaUnit:S,perimeter:T??ae,modalityUnit:b,mean:v,max:j,stdDev:re,splineType:(n=o.spline)===null||n===void 0?void 0:n.type,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:s,findingSites:i||[],ReferencedFrameOfReferenceUID:a?c.FrameOfReferenceUID:null,use3DSpatialCoordinates:a}}}K=gn;K.closedContourThreshold=1e-5;K.init("PlanarFreehandROI",Jr),K.registerSubType(K,"LivewireContour"),K.registerSubType(K,"SplineROI");var le;function qt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function be(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?qt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):qt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Zr=D.TID300.Point;class _e extends U{static isValidMeasurement(e){const t=this.getGraphicItem(e);return this.getGraphicType(t)==="POINT"&&this.getPointsCount(t)<=2}static getMeasurementData(e,t,n,a){var o,s;const i=N.getSetupMeasurementData(e,t,n,this.toolType),c=i.state,u=i.NUMGroup,l=i.worldCoords,d=i.referencedImageId,p=i.ReferencedFrameNumber,g=d?{["imageId:".concat(d)]:{value:(o=u==null||(s=u.MeasuredValueSequence)===null||s===void 0?void 0:s.NumericValue)!==null&&o!==void 0?o:null}}:{};return c.annotation.data=be(be({},c.annotation.data),{},{handles:be(be({},c.annotation.data.handles),{},{points:l}),cachedStats:g,frameNumber:p,invalidated:!0}),c}static getTID300RepresentationArguments(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=e.data,a=e.metadata,o=e.finding,s=e.findingSites,i=a.referencedImageId,c={is3DMeasurement:t,referencedImageId:i},u=n.handles.points;return{points:Q(c,u===void 0?[]:u),trackingIdentifierTextValue:this.trackingIdentifierTextValue,findingSites:s||[],finding:o,ReferencedFrameOfReferenceUID:t?a.FrameOfReferenceUID:null,use3DSpatialCoordinates:t}}}le=_e;le.init("Probe",Zr),le.registerLegacy(),le.registerType("DCM:111030","POINT",1),le.registerType("DCM:111030","POINT",2);var fn;function Ft(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function Re(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ft(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ft(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const ea=D.TID300.Length,Lt=Bt;class mn extends U{static getMeasurementData(e,t,n){const a=N.getSetupMeasurementData(e,t,n,this.toolType),o=a.state,s=a.worldCoords,i=a.ReferencedFrameNumber;return o.annotation.data=Re(Re({},o.annotation.data),{},{handles:Re(Re({},o.annotation.data.handles),{},{points:s}),frameNumber:i}),o}static getTID300RepresentationArguments(e,t){const n=e.data,a=e.finding,o=e.findingSites,s=e.metadata,i=n.handles,c=s.referencedImageId;if(!c)throw new Error("UltrasoundDirectionalTool.getTID300RepresentationArguments: referencedImageId is not defined");const u=Lt(c,i.points[0]),l=Lt(c,i.points[1]),d={x:u[0],y:u[1]},p={x:l[0],y:l[1]};return{point1:d,point2:p,trackingIdentifierTextValue:this.trackingIdentifierTextValue,finding:a,findingSites:o||[]}}}fn=mn;fn.init("UltrasoundDirectionalTool",ea);k.SEGImageNormalizer;Ie.Segmentation;A.DicomMessage;A.DicomMetaDictionary;k.Normalizer;Pn(r=>{Cn(bn,qe.SEGMENTATION_LOAD_PROGRESS,{percentComplete:r})},200);function kt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(r,a).enumerable})),t.push.apply(t,n)}return t}function ce(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?kt(Object(t),!0).forEach(function(n){P(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):kt(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const Me=We.data.DicomMetaDictionary,C=Kt,ta=[C.GENERAL_STUDY,C.PATIENT_STUDY,C.PATIENT],na=[C.GENERAL_SERIES],ra=[C.GENERAL_IMAGE,C.IMAGE_PLANE,C.CINE,C.VOI_LUT,C.MODALITY_LUT,C.SOP_COMMON],He={get:function(r,e,t){var n;return(n=He[r])===null||n===void 0?void 0:n.call(He,e,t)},[C.IMAGE_SOP_INSTANCE_REFERENCE]:function(r){const e=q(C.FRAME_MODULE,r),t=e.sopClassUID,n=e.sopInstanceUID,a=e.frameNumber;return e.numberOfFrames>1?{ReferencedSOPClassUID:t,ReferencedSOPInstanceUID:n,ReferencedFrameNumber:a}:{ReferencedSOPClassUID:e.sopClassUID,ReferencedSOPInstanceUID:e.sopInstanceUID}},[C.REFERENCED_SERIES_REFERENCE]:r=>{const e=q(C.SOP_COMMON,r);return{SeriesInstanceUID:q(C.GENERAL_SERIES,r).seriesInstanceUID,ReferencedInstanceSequence:[{ReferencedSOPClassUID:e.sopClassUID,ReferencedSOPInstanceUID:e.sopInstanceUID}]}},[C.PREDECESSOR_SEQUENCE]:r=>{const e=ce({},q(C.SERIES_DATA,r)),t=q(C.GENERAL_IMAGE,r),n=q(C.GENERAL_STUDY,r);return e.InstanceNumber=1+Number(t.instanceNumber),e.PredecessorDocumentsSequence={StudyInstanceUID:n.studyInstanceUID,ReferencedSeriesSequence:{SeriesInstanceUID:e.SeriesInstanceUID,ReferencedSOPSequence:{ReferencedSOPClassUID:t.sopClassUID,ReferencedSOPInstanceUID:t.sopInstanceUID}}},e},[C.STUDY_DATA]:r=>$e(r,ta),[C.SERIES_DATA]:r=>$e(r,na),[C.IMAGE_DATA]:r=>$e(r,ra),[C.RTSS_INSTANCE_DATA]:r=>{const e=q(C.NEW_INSTANCE_DATA,r);return ce(ce({},e),{},{SeriesNumber:"3201",StructureSetROISequence:[],ROIContourSequence:[],RTROIObservationsSequence:[],ReferencedFrameOfReferenceSequence:[],Modality:"RTSTRUCT",SOPClassUID:"1.2.840.10008.5.1.4.1.1.481.3",PositionReferenceIndicator:"",StructureSetLabel:"",StructureSetName:"",StructureSetDate:Me.date(),StructureSetTime:Me.time()})},[C.NEW_INSTANCE_DATA]:r=>{const e=q(C.STUDY_DATA,r);return ce(ce({},e),{},{SeriesNumber:"50000",InstanceNumber:"1",OperatorsName:"",ReferringPhysicianName:"",SpecificCharacterSet:"ISO_IR 192",Manufacturer:"cs3d",SOPInstanceUID:Me.uid(),SeriesInstanceUID:Me.uid()})},[C.RTSS_CONTOUR]:()=>yr,[C.SR_ANNOTATION]:()=>ot};Rn(He.get,9023);var L;const aa=D.TID300.Point;class In extends _e{static getMeasurementData(e,t,n,a){const o=super.getMeasurementData(e,t,n,a),s=o.annotation.data;return s.isPoint=a.indexOf("Point")!==-1,o}static getTID300RepresentationArguments(e){const t=super.getTID300RepresentationArguments(e),n=e.data;return n.isPoint&&(n.seriesLevel?t.trackingIdentifierTextValue=this.trackingSeriesPointIdentifier:t.trackingIdentifierTextValue=this.trackingPointIdentifier),n.seriesLevel&&(t.trackingIdentifierTextValue=this.trackingSeriesIdentifier),t.points.length||t.points.push({x:0,y:0}),t}}L=In;L.init("KeyImage",aa,{parentType:_e.toolType});L.trackingSeriesIdentifier="".concat(L.trackingIdentifierTextValue,":Series");L.trackingPointIdentifier="".concat(L.trackingIdentifierTextValue,":Point");L.trackingSeriesPointIdentifier="".concat(L.trackingIdentifierTextValue,":SeriesPoint");const oa={BaseAdapter3D:U,Bidirectional:on,CobbAngle:Ue,Angle:sn,Length:pn,CircleROI:un,EllipticalROI:Ge,RectangleROI:ln,ArrowAnnotate:an,Probe:_e,PlanarFreehandROI:gn,UltrasoundDirectional:mn,KeyImage:In,MeasurementReport:N,CodeScheme:en,CORNERSTONE_3D_TAG:ge,COMMENT_CODE:Ne,NO_IMAGE_ID:Fe,TEXT_ANNOTATION_POSITION:ve};A.Colors;A.BitArray;const ma={Cornerstone:sr,Cornerstone3D:oa};export{Fe as NO_IMAGE_ID,ma as adaptersSR};