@motionscript/code 0.0.0-stage → 0.1.0-alpha.10

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 (105) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/LICENSE +201 -0
  3. package/NOTICE +49 -0
  4. package/README.md +174 -3
  5. package/dist/browser/THIRD_PARTY_LICENSES.txt +431 -0
  6. package/dist/browser/chunks/chunk-HET2RCSD.js +2 -0
  7. package/dist/browser/chunks/chunk-HET2RCSD.js.map +7 -0
  8. package/dist/browser/chunks/chunk-SYZUZB3M.js +2 -0
  9. package/dist/browser/chunks/chunk-SYZUZB3M.js.map +7 -0
  10. package/dist/browser/chunks/dist-3F5TQHM6.js +2 -0
  11. package/dist/browser/chunks/dist-3F5TQHM6.js.map +7 -0
  12. package/dist/browser/chunks/dist-3SIR23P4.js +2 -0
  13. package/dist/browser/chunks/dist-3SIR23P4.js.map +7 -0
  14. package/dist/browser/chunks/dist-AQRNACF3.js +2 -0
  15. package/dist/browser/chunks/dist-AQRNACF3.js.map +7 -0
  16. package/dist/browser/chunks/dist-B46VH2YP.js +2 -0
  17. package/dist/browser/chunks/dist-B46VH2YP.js.map +7 -0
  18. package/dist/browser/chunks/dist-FH6BHJ6A.js +7 -0
  19. package/dist/browser/chunks/dist-FH6BHJ6A.js.map +7 -0
  20. package/dist/browser/chunks/dist-FQDUBZKU.js +2 -0
  21. package/dist/browser/chunks/dist-FQDUBZKU.js.map +7 -0
  22. package/dist/browser/chunks/dist-GPNEVCJI.js +2 -0
  23. package/dist/browser/chunks/dist-GPNEVCJI.js.map +7 -0
  24. package/dist/browser/chunks/dist-LRSXSDHT.js +2 -0
  25. package/dist/browser/chunks/dist-LRSXSDHT.js.map +7 -0
  26. package/dist/browser/chunks/dist-N4CNBNHL.js +2 -0
  27. package/dist/browser/chunks/dist-N4CNBNHL.js.map +7 -0
  28. package/dist/browser/chunks/dist-OXJDTPQ6.js +2 -0
  29. package/dist/browser/chunks/dist-OXJDTPQ6.js.map +7 -0
  30. package/dist/browser/chunks/dist-SH7H4MRK.js +2 -0
  31. package/dist/browser/chunks/dist-SH7H4MRK.js.map +7 -0
  32. package/dist/browser/chunks/dist-UG3NTKWL.js +2 -0
  33. package/dist/browser/chunks/dist-UG3NTKWL.js.map +7 -0
  34. package/dist/browser/chunks/dist-W5ZXIMV7.js +2 -0
  35. package/dist/browser/chunks/dist-W5ZXIMV7.js.map +7 -0
  36. package/dist/browser/index.js +11 -0
  37. package/dist/browser/index.js.map +7 -0
  38. package/dist/browser/manifest.json +93 -0
  39. package/dist/code-range.d.ts +75 -0
  40. package/dist/code-range.d.ts.map +1 -0
  41. package/dist/code-range.js +132 -0
  42. package/dist/code-range.js.map +1 -0
  43. package/dist/diff.d.ts +56 -0
  44. package/dist/diff.d.ts.map +1 -0
  45. package/dist/diff.js +311 -0
  46. package/dist/diff.js.map +1 -0
  47. package/dist/engine.d.ts +15 -0
  48. package/dist/engine.d.ts.map +1 -0
  49. package/dist/engine.js +17 -0
  50. package/dist/engine.js.map +1 -0
  51. package/dist/highlight.d.ts +51 -0
  52. package/dist/highlight.d.ts.map +1 -0
  53. package/dist/highlight.js +277 -0
  54. package/dist/highlight.js.map +1 -0
  55. package/dist/index.d.ts +4 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +4 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/layout.d.ts +77 -0
  60. package/dist/layout.d.ts.map +1 -0
  61. package/dist/layout.js +74 -0
  62. package/dist/layout.js.map +1 -0
  63. package/dist/measure-cache.d.ts +38 -0
  64. package/dist/measure-cache.d.ts.map +1 -0
  65. package/dist/measure-cache.js +0 -0
  66. package/dist/measure-cache.js.map +1 -0
  67. package/dist/node.d.ts +287 -0
  68. package/dist/node.d.ts.map +1 -0
  69. package/dist/node.js +667 -0
  70. package/dist/node.js.map +1 -0
  71. package/dist/nodes.d.ts +15 -0
  72. package/dist/nodes.d.ts.map +1 -0
  73. package/dist/nodes.js +16 -0
  74. package/dist/nodes.js.map +1 -0
  75. package/dist/render.d.ts +35 -0
  76. package/dist/render.d.ts.map +1 -0
  77. package/dist/render.js +282 -0
  78. package/dist/render.js.map +1 -0
  79. package/dist/style.d.ts +88 -0
  80. package/dist/style.d.ts.map +1 -0
  81. package/dist/style.js +207 -0
  82. package/dist/style.js.map +1 -0
  83. package/dist/tokens.d.ts +24 -0
  84. package/dist/tokens.d.ts.map +1 -0
  85. package/dist/tokens.js +54 -0
  86. package/dist/tokens.js.map +1 -0
  87. package/dist/transitions.d.ts +133 -0
  88. package/dist/transitions.d.ts.map +1 -0
  89. package/dist/transitions.js +85 -0
  90. package/dist/transitions.js.map +1 -0
  91. package/package.json +85 -3
  92. package/registry.json +6 -0
  93. package/src/code-range.ts +165 -0
  94. package/src/diff.ts +351 -0
  95. package/src/engine.ts +21 -0
  96. package/src/highlight.ts +340 -0
  97. package/src/index.ts +3 -0
  98. package/src/layout.ts +157 -0
  99. package/src/measure-cache.ts +0 -0
  100. package/src/node.ts +854 -0
  101. package/src/nodes.ts +16 -0
  102. package/src/render.ts +315 -0
  103. package/src/style.ts +255 -0
  104. package/src/tokens.ts +79 -0
  105. package/src/transitions.ts +204 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../node_modules/.pnpm/@lezer+python@1.1.19/node_modules/@lezer/python/dist/index.js"],
4
+ "sourcesContent": ["import { ExternalTokenizer, ContextTracker, LRParser } from '@lezer/lr';\nimport { styleTags, tags } from '@lezer/highlight';\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst printKeyword = 1,\n indent = 194,\n dedent = 195,\n newline$1 = 196,\n blankLineStart = 197,\n newlineBracketed = 198,\n eof = 199,\n stringContent = 200,\n Escape = 2,\n replacementStart = 3,\n stringEnd = 201,\n ParenL = 24,\n ParenthesizedExpression = 25,\n TupleExpression = 49,\n ComprehensionExpression = 50,\n BracketL = 55,\n ArrayExpression = 56,\n ArrayComprehensionExpression = 57,\n BraceL = 59,\n DictionaryExpression = 60,\n DictionaryComprehensionExpression = 61,\n SetExpression = 62,\n SetComprehensionExpression = 63,\n ArgList = 65,\n subscript = 238,\n String$1 = 71,\n stringStart = 241,\n stringStartD = 242,\n stringStartL = 243,\n stringStartLD = 244,\n stringStartR = 245,\n stringStartRD = 246,\n stringStartRL = 247,\n stringStartRLD = 248,\n FormatString = 72,\n stringStartF = 249,\n stringStartFD = 250,\n stringStartFL = 251,\n stringStartFLD = 252,\n stringStartFR = 253,\n stringStartFRD = 254,\n stringStartFRL = 255,\n stringStartFRLD = 256,\n FormatReplacement = 73,\n nestedFormatReplacement = 77,\n importList = 263,\n TypeParamList = 112,\n ParamList = 130,\n SequencePattern = 151,\n MappingPattern = 152,\n PatternArgList = 155;\n\nconst newline = 10, carriageReturn = 13, space = 32, tab = 9, hash = 35, parenOpen = 40, dot = 46,\n braceOpen = 123, braceClose = 125, singleQuote = 39, doubleQuote = 34, backslash = 92,\n letter_o = 111, letter_x = 120, letter_N = 78, letter_u = 117, letter_U = 85;\n\nconst bracketed = new Set([\n ParenthesizedExpression, TupleExpression, ComprehensionExpression, importList, ArgList, ParamList,\n ArrayExpression, ArrayComprehensionExpression, subscript,\n SetExpression, SetComprehensionExpression, FormatString, FormatReplacement, nestedFormatReplacement,\n DictionaryExpression, DictionaryComprehensionExpression,\n SequencePattern, MappingPattern, PatternArgList, TypeParamList\n]);\n\nfunction isLineBreak(ch) {\n return ch == newline || ch == carriageReturn\n}\n\nfunction isHex(ch) {\n return ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102\n}\n\nconst newlines = new ExternalTokenizer((input, stack) => {\n let prev;\n if (input.next < 0) {\n input.acceptToken(eof);\n } else if (stack.context.flags & cx_Bracketed) {\n if (isLineBreak(input.next)) input.acceptToken(newlineBracketed, 1);\n } else if (((prev = input.peek(-1)) < 0 || isLineBreak(prev)) &&\n stack.canShift(blankLineStart)) {\n let spaces = 0;\n while (input.next == space || input.next == tab) { input.advance(); spaces++; }\n if (input.next == newline || input.next == carriageReturn || input.next == hash)\n input.acceptToken(blankLineStart, -spaces);\n } else if (isLineBreak(input.next)) {\n input.acceptToken(newline$1, 1);\n }\n}, {contextual: true});\n\nconst indentation = new ExternalTokenizer((input, stack) => {\n let context = stack.context;\n if (context.flags) return\n let prev = input.peek(-1);\n if (prev == newline || prev == carriageReturn) {\n let depth = 0, chars = 0;\n for (;;) {\n if (input.next == space) depth++;\n else if (input.next == tab) depth += 8 - (depth % 8);\n else break\n input.advance();\n chars++;\n }\n if (depth != context.indent &&\n input.next != newline && input.next != carriageReturn && input.next != hash) {\n if (depth < context.indent) input.acceptToken(dedent, -chars);\n else input.acceptToken(indent);\n }\n }\n});\n\n// Flags used in Context objects\nconst cx_Bracketed = 1, cx_String = 2, cx_DoubleQuote = 4, cx_Long = 8, cx_Raw = 16, cx_Format = 32;\n\nfunction Context(parent, indent, flags) {\n this.parent = parent;\n this.indent = indent;\n this.flags = flags;\n this.hash = (parent ? parent.hash + parent.hash << 8 : 0) + indent + (indent << 4) + flags + (flags << 6);\n}\n\nconst topIndent = new Context(null, 0, 0);\n\nfunction countIndent(space) {\n let depth = 0;\n for (let i = 0; i < space.length; i++)\n depth += space.charCodeAt(i) == tab ? 8 - (depth % 8) : 1;\n return depth\n}\n\nconst stringFlags = new Map([\n [stringStart, 0],\n [stringStartD, cx_DoubleQuote],\n [stringStartL, cx_Long],\n [stringStartLD, cx_Long | cx_DoubleQuote],\n [stringStartR, cx_Raw],\n [stringStartRD, cx_Raw | cx_DoubleQuote],\n [stringStartRL, cx_Raw | cx_Long],\n [stringStartRLD, cx_Raw | cx_Long | cx_DoubleQuote],\n [stringStartF, cx_Format],\n [stringStartFD, cx_Format | cx_DoubleQuote],\n [stringStartFL, cx_Format | cx_Long],\n [stringStartFLD, cx_Format | cx_Long | cx_DoubleQuote],\n [stringStartFR, cx_Format | cx_Raw],\n [stringStartFRD, cx_Format | cx_Raw | cx_DoubleQuote],\n [stringStartFRL, cx_Format | cx_Raw | cx_Long],\n [stringStartFRLD, cx_Format | cx_Raw | cx_Long | cx_DoubleQuote]\n].map(([term, flags]) => [term, flags | cx_String]));\n\nconst trackIndent = new ContextTracker({\n start: topIndent,\n reduce(context, term, _, input) {\n if ((context.flags & cx_Bracketed) && bracketed.has(term) ||\n (term == String$1 || term == FormatString) && (context.flags & cx_String))\n return context.parent\n return context\n },\n shift(context, term, stack, input) {\n if (term == indent)\n return new Context(context, countIndent(input.read(input.pos, stack.pos)), 0)\n if (term == dedent)\n return context.parent\n if (term == ParenL || term == BracketL || term == BraceL || term == replacementStart)\n return new Context(context, 0, cx_Bracketed)\n if (stringFlags.has(term))\n return new Context(context, 0, stringFlags.get(term) | (context.flags & cx_Bracketed))\n return context\n },\n hash(context) { return context.hash }\n});\n\nconst legacyPrint = new ExternalTokenizer(input => {\n for (let i = 0; i < 5; i++) {\n if (input.next != \"print\".charCodeAt(i)) return\n input.advance();\n }\n if (/\\w/.test(String.fromCharCode(input.next))) return\n for (let off = 0;; off++) {\n let next = input.peek(off);\n if (next == space || next == tab) continue\n if (next != parenOpen && next != dot && next != newline && next != carriageReturn && next != hash)\n input.acceptToken(printKeyword);\n return\n }\n});\n\nconst strings = new ExternalTokenizer((input, stack) => {\n let {flags} = stack.context;\n let quote = (flags & cx_DoubleQuote) ? doubleQuote : singleQuote;\n let long = (flags & cx_Long) > 0;\n let escapes = !(flags & cx_Raw);\n let format = (flags & cx_Format) > 0;\n\n let start = input.pos;\n for (;;) {\n if (input.next < 0) {\n break\n } else if (format && input.next == braceOpen) {\n if (input.peek(1) == braceOpen) {\n input.advance(2);\n } else {\n if (input.pos == start) {\n input.acceptToken(replacementStart, 1);\n return\n }\n break\n }\n } else if (escapes && input.next == backslash) {\n if (input.pos == start) {\n input.advance();\n let escaped = input.next;\n if (escaped >= 0) {\n input.advance();\n skipEscape(input, escaped);\n }\n input.acceptToken(Escape);\n return\n }\n break\n } else if (input.next == backslash && !escapes && input.peek(1) > -1) {\n // Raw strings still ignore escaped quotes, weirdly.\n input.advance(2);\n } else if (input.next == quote && (!long || input.peek(1) == quote && input.peek(2) == quote)) {\n if (input.pos == start) {\n input.acceptToken(stringEnd, long ? 3 : 1);\n return\n }\n break\n } else if (input.next == newline) {\n if (long) {\n input.advance();\n } else if (input.pos == start) {\n input.acceptToken(stringEnd);\n return\n }\n break\n } else {\n input.advance();\n }\n }\n if (input.pos > start) input.acceptToken(stringContent);\n});\n\nfunction skipEscape(input, ch) {\n if (ch == letter_o) {\n for (let i = 0; i < 2 && input.next >= 48 && input.next <= 55; i++) input.advance();\n } else if (ch == letter_x) {\n for (let i = 0; i < 2 && isHex(input.next); i++) input.advance();\n } else if (ch == letter_u) {\n for (let i = 0; i < 4 && isHex(input.next); i++) input.advance();\n } else if (ch == letter_U) {\n for (let i = 0; i < 8 && isHex(input.next); i++) input.advance();\n } else if (ch == letter_N) {\n if (input.next == braceOpen) {\n input.advance();\n while (input.next >= 0 && input.next != braceClose && input.next != singleQuote &&\n input.next != doubleQuote && input.next != newline) input.advance();\n if (input.next == braceClose) input.advance();\n }\n }\n}\n\nconst pythonHighlighting = styleTags({\n \"async \\\"*\\\" \\\"**\\\" FormatConversion FormatSpec\": tags.modifier,\n \"for while if elif else try except finally return raise break continue with pass assert await yield match case\": tags.controlKeyword,\n \"in not and or is del\": tags.operatorKeyword,\n \"from def class global nonlocal lambda\": tags.definitionKeyword,\n import: tags.moduleKeyword,\n \"with as print\": tags.keyword,\n Boolean: tags.bool,\n None: tags.null,\n VariableName: tags.variableName,\n \"CallExpression/VariableName\": tags.function(tags.variableName),\n \"FunctionDefinition/VariableName\": tags.function(tags.definition(tags.variableName)),\n \"ClassDefinition/VariableName\": tags.definition(tags.className),\n PropertyName: tags.propertyName,\n \"CallExpression/MemberExpression/PropertyName\": tags.function(tags.propertyName),\n Comment: tags.lineComment,\n Number: tags.number,\n String: tags.string,\n FormatString: tags.special(tags.string),\n Escape: tags.escape,\n UpdateOp: tags.updateOperator,\n \"ArithOp!\": tags.arithmeticOperator,\n BitOp: tags.bitwiseOperator,\n CompareOp: tags.compareOperator,\n AssignOp: tags.definitionOperator,\n Ellipsis: tags.punctuation,\n At: tags.meta,\n \"( )\": tags.paren,\n \"[ ]\": tags.squareBracket,\n \"{ }\": tags.brace,\n \".\": tags.derefOperator,\n \", ;\": tags.separator\n});\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst spec_identifier = {__proto__:null,await:44, or:54, and:56, in:60, not:62, is:64, if:70, else:72, lambda:76, yield:94, from:96, async:102, for:104, None:162, True:164, False:164, del:178, pass:182, break:186, continue:190, return:194, raise:202, import:206, as:208, global:212, nonlocal:214, assert:218, type:223, elif:236, while:240, try:246, except:248, finally:250, with:254, def:258, class:268, match:279, case:285};\nconst parser = LRParser.deserialize({\n version: 14,\n states: \"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyO<POWO,5:aOOQS,5:a,5:aO<[QdO'#HwOOOW'#Dw'#DwOOOW'#Fz'#FzO<lOWO,5:bOOQS,5:b,5:bOOQS'#F}'#F}O<zQtO,5:iO?lQtO,5=`O@VQ#xO,5=`O@vQtO,5=`OOQS,5:},5:}OA_QeO'#GWOBqQdO,5;^OOQV,5=^,5=^OB|QtO'#IPOCkQdO,5;tOOQS-E:[-E:[OOQV,5;s,5;sO4dQdO'#FQOOQV-E9o-E9oOCsQtO,59]OEzQtO,59iOFeQdO'#HVOFpQdO'#HVO1XQdO'#HVOF{QdO'#DTOGTQdO,59mOGYQdO'#HZO'vQdO'#HZO0rQdO,5=tOOQS,5=t,5=tO0rQdO'#EROOQS'#ES'#ESOGwQdO'#GPOHXQdO,58|OHXQdO,58|O*xQdO,5:oOHgQtO'#H]OOQS,5:r,5:rOOQS,5:z,5:zOHzQdO,5;OOI]QdO'#IOO1XQdO'#H}OOQS,5;Q,5;QOOQS'#GT'#GTOIqQtO,5;QOJPQdO,5;QOJUQdO'#IQOOQS,5;T,5;TOJdQdO'#H|OOQS,5;W,5;WOJuQdO,5;YO4iQdO,5;`O4iQdO,5;cOJ}QtO'#ITO'vQdO'#ITOKXQdO,5;eO4VQdO,5;eO0rQdO,5;jO1XQdO,5;lOK^QeO'#EuOLjQgO,5;fO!!kQdO'#IUO4iQdO,5;jO!!vQdO,5;lO!#OQdO,5;qO!#ZQtO,5;vO'vQdO,5;vPOOO,5=[,5=[P!#bOSO,5=[P!#jOdO,5=[O!&bQtO1G.jO!&iQtO1G.jO!)YQtO1G.jO!)dQtO1G.jO!+}QtO1G.jO!,bQtO1G.jO!,uQdO'#HcO!-TQtO'#GuO0rQdO'#HcO!-_QdO'#HbOOQS,5:Z,5:ZO!-gQdO,5:ZO!-lQdO'#HeO!-wQdO'#HeO!.[QdO,5>OOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5<jOOQS,5<j,5<jOOQS-E9|-E9|OOQS,5<r,5<rOOQS-E:U-E:UOOQV1G0x1G0xO1XQdO'#GRO!7dQtO,5>kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5<k,5<kOOQS-E9}-E9}O!9wQdO1G.hOOQS1G0Z1G0ZO!:VQdO,5=wO!:gQdO,5=wO0rQdO1G0jO0rQdO1G0jO!:xQdO,5>jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!<RQdO,5>lO!<aQdO,5>lO!<oQdO,5>hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5<m,5<mOOQS-E:P-E:POOQS7+&z7+&zOOQS1G3]1G3]OOQS,5<^,5<^OOQS-E9p-E9pOOQS7+$s7+$sO#)bQdO,5=`O#){QdO,5=`O#*^QtO,5<aO#*qQdO1G3cOOQS-E9s-E9sOOQS7+&U7+&UO#+RQdO7+&UO#+aQdO,5<nO#+uQdO1G4UOOQS-E:Q-E:QO#,WQdO1G4UOOQS1G4T1G4TOOQS7+&W7+&WO#,iQdO7+&WOOQS,5<p,5<pO#,tQdO1G4WOOQS-E:S-E:SOOQS,5<l,5<lO#-SQdO1G4SOOQS-E:O-E:OO1XQdO'#EqO#-jQdO'#EqO#-uQdO'#IRO#-}QdO,5;[OOQS7+&`7+&`O0rQdO7+&`O#.SQgO7+&fO!JmQdO'#GXO4iQdO7+&fO4iQdO7+&iO#2QQtO,5<tO'vQdO,5<tO#2[QdO1G4ZOOQS-E:W-E:WO#2fQdO1G4ZO4iQdO7+&kO0rQdO7+&kOOQV7+&p7+&pO!KrQ!fO7+&rO!KzQdO7+&rO`QeO1G0{OOQV-E:X-E:XO4iQdO7+&lO4iQdO7+&lOOQV,5<u,5<uO#2nQdO,5<uO!JmQdO,5<uOOQV7+&l7+&lO#2yQgO7+&lO#6tQdO,5<vO#7PQdO1G4[OOQS-E:Y-E:YO#7^QdO1G4[O#7fQdO'#IWO#7tQdO'#IWO1XQdO'#IWOOQS'#IW'#IWO#8PQdO'#IVOOQS,5;n,5;nO#8XQdO,5;nO0rQdO'#FUOOQV7+&r7+&rO4iQdO7+&rOOQV7+&w7+&wO4iQdO7+&wO#8^QfO,5;xOOQV7+&|7+&|POOO7+(b7+(bO#8cQdO1G3iOOQS,5<c,5<cO#8qQdO1G3hOOQS-E9u-E9uO#9UQdO,5<dO#9aQdO,5<dO#9tQdO1G3kOOQS-E9v-E9vO#:UQdO1G3kO#:^QdO1G3kO#:nQdO1G3kO#:UQdO1G3kOOQS<<H[<<H[O#:yQtO1G1zOOQS<<Hk<<HkP#;WQdO'#FtO8vQdO1G3bO#;eQdO1G3bO#;jQdO<<HkOOQS<<Hl<<HlO#;zQdO7+)QOOQS<<Hs<<HsO#<[QtO1G1yP#<{QdO'#FsO#=YQdO7+)RO#=jQdO7+)RO#=rQdO<<HwO#=wQdO7+({OOQS<<Hy<<HyO#>nQdO,5<bO'vQdO,5<bOOQS-E9t-E9tOOQS<<Hw<<HwOOQS,5<g,5<gO0rQdO,5<gO#>sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<<IpO1XQdO1G2YP1XQdO'#GSO#AOQdO7+)pO#AaQdO7+)pOOQS<<Ir<<IrP1XQdO'#GUP0rQdO'#GQOOQS,5;],5;]O#ArQdO,5>mO#BQQdO,5>mOOQS1G0v1G0vOOQS<<Iz<<IzOOQV-E:V-E:VO4iQdO<<JQOOQV,5<s,5<sO4iQdO,5<sOOQV<<JQ<<JQOOQV<<JT<<JTO#BYQtO1G2`P#BdQdO'#GYO#BkQdO7+)uO#BuQgO<<JVO4iQdO<<JVOOQV<<J^<<J^O4iQdO<<J^O!KrQ!fO<<J^O#FpQgO7+&gOOQV<<JW<<JWO#FzQgO<<JWOOQV1G2a1G2aO1XQdO1G2aO#JuQdO1G2aO4iQdO<<JWO1XQdO1G2bP0rQdO'#G[O#KQQdO7+)vO#K_QdO7+)vOOQS'#FT'#FTO0rQdO,5>rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<<Jc<<JcO#LhQdO1G1dOOQS7+)T7+)TP#LmQdO'#FwO#L}QdO1G2OO#MbQdO1G2OO#MrQdO1G2OP#M}QdO'#FxO#N[QdO7+)VO#NlQdO7+)VO#NlQdO7+)VO#NtQdO7+)VO$ UQdO7+(|O8vQdO7+(|OOQSAN>VAN>VO$ oQdO<<LmOOQSAN>cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<<MT<<MTO$#nQdO7+(fOOQSAN?[AN?[OOQS7+'t7+'tO$$XQdO<<M[OOQS,5<q,5<qO$$jQdO1G4XOOQS-E:T-E:TOOQVAN?lAN?lOOQV1G2_1G2_O4iQdOAN?qO$$xQgOAN?qOOQVAN?xAN?xO4iQdOAN?xOOQV<<JR<<JRO4iQdOAN?rO4iQdO7+'{OOQV7+'{7+'{O1XQdO7+'{OOQVAN?rAN?rOOQS7+'|7+'|O$(sQdO<<MbOOQS1G4^1G4^O0rQdO1G4^OOQS,5<w,5<wO$)QQdO1G4]OOQS-E:Z-E:ZOOQU'#G_'#G_O$)cQfO7+'OO$)nQdO'#F_O$*uQdO7+'jO$+VQdO7+'jOOQS7+'j7+'jO$+bQdO<<LqO$+rQdO<<LqO$+rQdO<<LqO$+zQdO'#H^OOQS<<Lh<<LhO$,UQdO<<LhOOQS7+'h7+'hOOQS'#D|'#D|OOOO1G4R1G4RO$,oQdO1G4RO$,wQdO1G4RP!=hQdO'#GVOOQVG25]G25]O4iQdOG25]OOQVG25dG25dOOQVG25^G25^OOQV<<Kg<<KgO4iQdO<<KgOOQS7+)x7+)xP$-SQdO'#G]OOQU-E:]-E:]OOQV<<Jj<<JjO$-vQtO'#FaOOQS'#Fc'#FcO$.WQdO'#FbO$.xQdO'#FbOOQS'#Fb'#FbO$.}QdO'#IYO$)nQdO'#FiO$)nQdO'#FiO$/fQdO'#FjO$)nQdO'#FkO$/mQdO'#IZOOQS'#IZ'#IZO$0[QdO,5;yOOQS<<KU<<KUO$0dQdO<<KUO$0tQdOANB]O$1UQdOANB]O$1^QdO'#H_OOQS'#H_'#H_O1sQdO'#DcO$1wQdO,5=xOOQSANBSANBSOOOO7+)m7+)mO$2`QdO7+)mOOQVLD*wLD*wOOQVANARANARO5uQ!fO'#GaO$2hQtO,5<SO$)nQdO'#FmOOQS,5<W,5<WOOQS'#Fd'#FdO$3YQdO,5;|O$3_QdO,5;|OOQS'#Fg'#FgO$)nQdO'#G`O$4PQdO,5<QO$4kQdO,5>tO$4{QdO,5>tO1XQdO,5<PO$5^QdO,5<TO$5cQdO,5<TO$)nQdO'#I[O$5hQdO'#I[O$5mQdO,5<UOOQS,5<V,5<VO0rQdO'#FpOOQU1G1e1G1eO4iQdO1G1eOOQSAN@pAN@pO$5rQdOG27wO$6SQdO,59}OOQS1G3d1G3dOOOO<<MX<<MXOOQS,5<{,5<{OOQS-E:_-E:_O$6XQtO'#FaO$6`QdO'#I]O$6nQdO'#I]O$6vQdO,5<XOOQS1G1h1G1hO$6{QdO1G1hO$7QQdO,5<zOOQS-E:^-E:^O$7lQdO,5=OO$8TQdO1G4`OOQS-E:b-E:bOOQS1G1k1G1kOOQS1G1o1G1oO$8eQdO,5>vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5<YO$8sQdO,5>wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5<ZP$)nQdO'#GcO$;XQdO1G2hO$)nQdO1G2hP$;gQdO'#GbO$;nQdO<<MhO$;xQdO1G1uO$<WQdO7+(SO8vQdO'#C}O8vQdO,59bO8vQdO,59bO8vQdO,59bO$<fQtO,5=`O8vQdO1G.|O0rQdO1G/XO0rQdO7+$pP$<yQdO'#GOO'vQdO'#GtO$=WQdO,59bO$=]QdO,59bO$=dQdO,59mO$=iQdO1G/UO1sQdO'#DRO8vQdO,59j\",\n stateData: \"$>S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~\",\n goto: \"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!<S!<VP!<_!<h!=d!=g]eOn#g$j)t,P'}`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r{!cQ#c#p$R$d$p%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g}!dQ#c#p$R$d$p$u%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!P!eQ#c#p$R$d$p$u$v%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!R!fQ#c#p$R$d$p$u$v$w%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!T!gQ#c#p$R$d$p$u$v$w$x%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!V!hQ#c#p$R$d$p$u$v$w$x$y%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!Z!hQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g'}TOTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r&eVOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0n0r%oXOYZ[dnrxy}!P!Q!U!i!k#[#d#g#y#{#}$Q$h$j$}%S%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/V/Z0i0j0kQ#vqQ/[.kR0o0q't`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rh#jhz{$W$Z&l&q)S)X+f+g-RW#rq&].k0qQ$]|Q$a!OQ$n!VQ$o!WW$|!i'm*d,gS&[#s#tQ'S$iQ(s&UQ)U&nU)Y&s)Z+jW)a&w+m-T-{Q*Q']W*R'_,`-h.TQ+l)`S,_*S*TQ-Q+eQ-_,TQ-c,WQ.R-al.W-l.^._.a.z.|/R/j/o/t/y0U0Z0^Q/S.`Q/a.tQ/l/OU0P/u0S0[X0V/z0W0_0`R&Z#r!_!wYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZR%^!vQ!{YQ%x#[Q&d#}Q&g$QR,{+YT.j-s/s!Y!jQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0gQ&X#kQ'c$oR*^'dR'l$|Q%V!mR/_.r'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rS#a_#b!P.[-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rT#a_#bT#^^#_R(o%xa(l%x(n(o+`,{-y-z.oT+[(k+]R-z,{Q$PsQ+l)aQ,^*RR-e,_X#}s$O$P&fQ&y$aQ'a$nQ'd$oR)s'SQ)b&wV-S+m-T-{ZgOn$j)t,PXkOn)t,PQ$k!TQ&z$bQ&{$cQ'^$mQ'b$oQ)q'RQ)x'WQ){'XQ)|'YQ*Z'`S*]'c'dQ+s)gQ+u)hQ+v)iQ+z)oS+|)r*[Q,Q)vQ,R)wS,S)y)zQ,d*^Q-V+rQ-W+tQ-Y+{S-Z+},OQ-`,UQ-b,VQ-|-XQ.O-[Q.P-^Q.Q-_Q.p-}Q.q.RQ/W.dR/r/XWkOn)t,PR#mjQ'`$nS)r'S'aR,O)sQ,]*RR-f,^Q*['`Q+})rR-[,OZiOjn)t,PQ'f$pR*`'gT-j,e-ku.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^t.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^Q/S.`X0V/z0W0_0`!P.Z-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`Q.w.YR/f.xg.z.].{/b/i/n/|0O0Q0]0a0bu.b-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^X.u.W.b/a0PR/c.tV0R/u0S0[R/X.dQnOS#on,PR,P)tQ&^#uR(x&^S%m#R#wS(_%m(bT(b%p&`Q%a!yQ%h!}W(P%a%h(U(YQ(U%eR(Y%jQ&i$RR)O&iQ(e%qQ*{(`T+R(e*{Q'n%OR*e'nS'q%R%SY*i'q*j,m-q.hU*j'r's'tU,m*k*l*mS-q,n,oR.h-rQ#Y]R%t#YQ#_^R%y#_Q(h%vS+W(h+XR+X(iQ+](kR,|+]Q#b_R%{#bQ#ebQ%}#cW&Q#e%}({+bQ({&cR+b0gQ$OsS&e$O&fR&f$PQ&v$_R)_&vQ&V#jR(t&VQ&m$VS)T&m+hR+h)UQ$Z{R&p$ZQ&t$]R)[&tQ+n)bR-U+nQ#hfR&S#hQ)f&zR+q)fQ&}$dS)m&})nR)n'OQ'V$kR)u'VQ'[$lS*P'[,ZR,Z*QQ,a*VR-i,aWjOn)t,PR#ljQ-k,eR.U-kd.{.]/b/i/n/|0O0Q0]0a0bR/h.{U.s.W/a0PR/`.sQ/{/nS0X/{0YR0Y/|S/v/b/cR0T/vQ.}.]R/k.}R!ZPXmOn)t,PWlOn)t,PR'T$jYfOn$j)t,PR&R#g[sOn#g$j)t,PR&d#}&dQOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0n0rQ!nTQ#caQ#poU$Rt%c(SS$d!R$gQ$p!XQ$u!cQ$v!dQ$w!eQ$x!fQ$y!gQ$z!hQ%e!zQ%j#OQ%p#SQ%q#TQ&`#xQ'O$eQ'g$qQ(q&OU(|&h(}+cW)j&|)l+x+yQ*o'|Q*x(]Q+w)kQ,v+QR0g0lQ!yYQ!}ZQ$b!PQ$c!QQ%R!kQ't%S^'{%`%g(O(W*q*t*v^*f'p*h,k,l-p.g/ZQ*l'rQ*m'sQ+t)gQ,j*gQ,n*kQ-n,hQ-o,iQ-r,oQ.e-mR/Y.f[bOn#g$j)t,P!^!vYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZQ#R[Q#fdS#wrxQ$UyW$_}$Q'P)pS$l!U$hW${!i'm*d,gS%v#[+Y`&P#d%|(p(r(z+a-O0kQ&a#yQ&b#{Q&c#}Q'j$}Q'z%^W([%l(^*y*}Q(`%nQ(i%wQ(v&ZS(y&_0iQ)P&jQ)Q&kU)]&u)^+kQ)d&xQ)y'WY)}'Z*O,X,Y-dQ*b'lS*n'w0jW+P(d*z,s,wW+T(g+V,y,zQ+p)eQ,U)zQ,c*YQ,x+UQ-P+dQ-e,]Q-v,uQ.S-fR/q/VhUOn#d#g$j%|&_'w(p(r)t,P%U!uYZ[drxy}!P!Q!U!i!k#[#y#{#}$Q$h$}%S%^%`%g%l%n%w&Z&j&k&u&x'P'W'Z'l'm'p'r's(O(W(^(d(g(z)^)e)g)p)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/V/Z0i0j0kQ#qpW%W!o!s0d0nQ%X!pQ%Y!qQ%[!tQ%f0cS'v%Z0hQ'x0eQ'y0fQ,p*rQ-u,qS.i-s/sR0p0rU#uq.k0qR(w&][cOn#g$j)t,PZ!xY#[#}$Q+YQ#W[Q#zrR$TxQ%b!yQ%i!}Q%o#RQ'j${Q(V%eQ(Z%jQ(c%pQ(f%qQ*|(`Q,f*bQ-t,pQ.m-uR/].lQ$StQ(R%cR*s(SQ.l-sR/}/sR#QZR#V[R%Q!iQ%O!iV*c'm*d,g!Z!lQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0gR%T!kT#]^#_Q%x#[R,{+YQ(m%xS+_(n(oQ,}+`Q-x,{S.n-y-zR/^.oT+Z(k+]Q$`}Q&g$QQ)o'PR+{)pQ$XzQ)W&qR+i)XQ$XzQ&o$WQ)W&qR+i)XQ#khW$Vz$W&q)XQ$[{Q&r$ZZ)R&l)S+f+g-RR$^|R)c&wXlOn)t,PQ$f!RR'Q$gQ$m!UR'R$hR*X'_Q*V'_V-g,`-h.TQ.d-lQ/P.^R/Q._U.]-l.^._Q/U.aQ/b.tQ/g.zU/i.|/j/yQ/n/RQ/|/oQ0O/tU0Q/u0S0[Q0]0UQ0a0ZR0b0^R/T.`R/d.t\",\n nodeNames: \"\u26A0 print Escape { Comment Script AssignStatement * BinaryExpression BitOp BitOp BitOp BitOp ArithOp ArithOp @ ArithOp ** UnaryExpression ArithOp BitOp AwaitExpression await ) ( ParenthesizedExpression BinaryExpression or and CompareOp in not is UnaryExpression ConditionalExpression if else LambdaExpression lambda ParamList VariableName AssignOp , : NamedExpression AssignOp YieldExpression yield from TupleExpression ComprehensionExpression async for LambdaExpression ] [ ArrayExpression ArrayComprehensionExpression } { DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression CallExpression ArgList AssignOp MemberExpression . PropertyName Number String FormatString FormatReplacement FormatSelfDoc FormatConversion FormatSpec FormatReplacement FormatSelfDoc ContinuedString Ellipsis None Boolean TypeDef AssignOp UpdateStatement UpdateOp ExpressionStatement DeleteStatement del PassStatement pass BreakStatement break ContinueStatement continue ReturnStatement return YieldStatement PrintStatement RaiseStatement raise ImportStatement import as ScopeStatement global nonlocal AssertStatement assert TypeDefinition type TypeParamList TypeParam StatementGroup ; IfStatement Body elif WhileStatement while ForStatement TryStatement try except finally WithStatement with FunctionDefinition def ParamList AssignOp TypeDef ClassDefinition class DecoratedStatement Decorator At MatchStatement match MatchBody MatchClause case CapturePattern LiteralPattern ArithOp ArithOp AsPattern OrPattern LogicOp AttributePattern SequencePattern MappingPattern StarPattern ClassPattern PatternArgList KeywordPattern KeywordPattern Guard\",\n maxTerm: 277,\n context: trackIndent,\n nodeProps: [\n [\"isolate\", -5,4,71,72,73,77,\"\"],\n [\"group\", -15,6,85,87,88,90,92,94,96,98,99,100,102,105,108,110,\"Statement Statement\",-22,8,18,21,25,40,49,50,56,57,60,61,62,63,64,67,70,71,72,79,80,81,82,\"Expression\",-10,114,116,119,121,122,126,128,133,135,138,\"Statement\",-9,143,144,147,148,150,151,152,153,154,\"Pattern\"],\n [\"openedBy\", 23,\"(\",54,\"[\",58,\"{\"],\n [\"closedBy\", 24,\")\",55,\"]\",59,\"}\"]\n ],\n propSources: [pythonHighlighting],\n skippedNodes: [0,4],\n repeatNodeCount: 34,\n tokenData: \"!2|~R!`OX%TXY%oY[%T[]%o]p%Tpq%oqr'ars)Yst*xtu%Tuv,dvw-hwx.Uxy/tyz0[z{0r{|2S|}2p}!O3W!O!P4_!P!Q:Z!Q!R;k!R![>_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T\",\n tokenizers: [legacyPrint, indentation, newlines, strings, 0, 1, 2, 3, 4],\n topRules: {\"Script\":[0,5]},\n specialized: [{term: 221, get: (value) => spec_identifier[value] || -1}],\n tokenPrec: 7668\n});\n\nexport { parser };\n"],
5
+ "mappings": "qGAIA,IAAMA,EAAe,EACnBC,EAAS,IACTC,EAAS,IACTC,EAAY,IACZC,EAAiB,IACjBC,EAAmB,IACnBC,EAAM,IACNC,EAAgB,IAChBC,EAAS,EACTC,EAAmB,EACnBC,EAAY,IACZC,EAAS,GACTC,EAA0B,GAC1BC,EAAkB,GAClBC,EAA0B,GAC1BC,EAAW,GACXC,EAAkB,GAClBC,EAA+B,GAC/BC,EAAS,GACTC,GAAuB,GACvBC,GAAoC,GACpCC,GAAgB,GAChBC,GAA6B,GAC7BC,GAAU,GACVC,GAAY,IACZC,GAAW,GACXC,GAAc,IACdC,GAAe,IACfC,GAAe,IACfC,GAAgB,IAChBC,GAAe,IACfC,GAAgB,IAChBC,GAAgB,IAChBC,GAAiB,IACjBC,EAAe,GACfC,GAAe,IACfC,GAAgB,IAChBC,GAAgB,IAChBC,GAAiB,IACjBC,GAAgB,IAChBC,GAAiB,IACjBC,GAAiB,IACjBC,GAAkB,IAClBC,GAAoB,GACpBC,GAA0B,GAC1BC,GAAa,IACbC,GAAgB,IAChBC,GAAY,IACZC,GAAkB,IAClBC,GAAiB,IACjBC,GAAiB,IAEbC,EAAU,GAAIC,EAAiB,GAAIC,EAAQ,GAAIC,EAAM,EAAGC,EAAO,GAAIC,GAAY,GAAIC,GAAM,GACzFC,EAAY,IAAKC,EAAa,IAAKC,EAAc,GAAIC,EAAc,GAAIC,EAAY,GACnFC,GAAW,IAAKC,GAAW,IAAKC,GAAW,GAAIC,GAAW,IAAKC,GAAW,GAE1EC,GAAY,IAAI,IAAI,CACxBxD,EAAyBC,EAAiBC,EAAyB+B,GAAYtB,GAASwB,GACxF/B,EAAiBC,EAA8BO,GAC/CH,GAAeC,GAA4BY,EAAcS,GAAmBC,GAC5EzB,GAAsBC,GACtB4B,GAAiBC,GAAgBC,GAAgBJ,EACnD,CAAC,EAED,SAASuB,EAAYC,EAAI,CACvB,OAAOA,GAAMnB,GAAWmB,GAAMlB,CAChC,CAEA,SAASmB,EAAMD,EAAI,CACjB,OAAOA,GAAM,IAAMA,GAAM,IAAMA,GAAM,IAAMA,GAAM,IAAMA,GAAM,IAAMA,GAAM,GAC3E,CAEA,IAAME,GAAW,IAAIC,EAAkB,CAACC,EAAOC,IAAU,CACvD,IAAIC,EACJ,GAAIF,EAAM,KAAO,EACfA,EAAM,YAAYpE,CAAG,UACZqE,EAAM,QAAQ,MAAQE,EAC3BR,EAAYK,EAAM,IAAI,GAAGA,EAAM,YAAYrE,EAAkB,CAAC,YACvDuE,EAAOF,EAAM,KAAK,EAAE,GAAK,GAAKL,EAAYO,CAAI,IAChDD,EAAM,SAASvE,CAAc,EAAG,CACzC,IAAI0E,EAAS,EACb,KAAOJ,EAAM,MAAQrB,GAASqB,EAAM,MAAQpB,GAAOoB,EAAM,QAAQ,EAAGI,KAChEJ,EAAM,MAAQvB,GAAWuB,EAAM,MAAQtB,GAAkBsB,EAAM,MAAQnB,IACzEmB,EAAM,YAAYtE,EAAgB,CAAC0E,CAAM,CAC7C,MAAWT,EAAYK,EAAM,IAAI,GAC/BA,EAAM,YAAYvE,EAAW,CAAC,CAElC,EAAG,CAAC,WAAY,EAAI,CAAC,EAEf4E,GAAc,IAAIN,EAAkB,CAACC,EAAOC,IAAU,CAC1D,IAAIK,EAAUL,EAAM,QACpB,GAAIK,EAAQ,MAAO,OACnB,IAAIJ,EAAOF,EAAM,KAAK,EAAE,EACxB,GAAIE,GAAQzB,GAAWyB,GAAQxB,EAAgB,CAC7C,IAAI6B,EAAQ,EAAGC,EAAQ,EACvB,OAAS,CACP,GAAIR,EAAM,MAAQrB,EAAO4B,YAChBP,EAAM,MAAQpB,EAAK2B,GAAS,EAAKA,EAAQ,MAC7C,OACLP,EAAM,QAAQ,EACdQ,GACF,CACID,GAASD,EAAQ,QACjBN,EAAM,MAAQvB,GAAWuB,EAAM,MAAQtB,GAAkBsB,EAAM,MAAQnB,IACrE0B,EAAQD,EAAQ,OAAQN,EAAM,YAAYxE,EAAQ,CAACgF,CAAK,EACvDR,EAAM,YAAYzE,CAAM,EAEjC,CACF,CAAC,EAGK4E,EAAe,EAAGM,EAAY,EAAGC,EAAiB,EAAGC,EAAU,EAAGC,EAAS,GAAIC,EAAY,GAEjG,SAASC,EAAQC,EAAQxF,EAAQyF,EAAO,CACtC,KAAK,OAASD,EACd,KAAK,OAASxF,EACd,KAAK,MAAQyF,EACb,KAAK,MAAQD,EAASA,EAAO,KAAOA,EAAO,MAAQ,EAAI,GAAKxF,GAAUA,GAAU,GAAKyF,GAASA,GAAS,EACzG,CAEA,IAAMC,GAAY,IAAIH,EAAQ,KAAM,EAAG,CAAC,EAExC,SAASI,GAAYvC,EAAO,CAC1B,IAAI4B,EAAQ,EACZ,QAAS,EAAI,EAAG,EAAI5B,EAAM,OAAQ,IAChC4B,GAAS5B,EAAM,WAAW,CAAC,GAAKC,EAAM,EAAK2B,EAAQ,EAAK,EAC1D,OAAOA,CACT,CAEA,IAAMY,EAAc,IAAI,IAAI,CAC1B,CAACnE,GAAa,CAAC,EACf,CAACC,GAAcyD,CAAc,EAC7B,CAACxD,GAAcyD,CAAO,EACtB,CAACxD,GAAewD,EAAUD,CAAc,EACxC,CAACtD,GAAcwD,CAAM,EACrB,CAACvD,GAAeuD,EAASF,CAAc,EACvC,CAACpD,GAAesD,EAASD,CAAO,EAChC,CAACpD,GAAgBqD,EAASD,EAAUD,CAAc,EAClD,CAACjD,GAAcoD,CAAS,EACxB,CAACnD,GAAemD,EAAYH,CAAc,EAC1C,CAAC/C,GAAekD,EAAYF,CAAO,EACnC,CAAC/C,GAAgBiD,EAAYF,EAAUD,CAAc,EACrD,CAAC7C,GAAegD,EAAYD,CAAM,EAClC,CAAC9C,GAAgB+C,EAAYD,EAASF,CAAc,EACpD,CAAC3C,GAAgB8C,EAAYD,EAASD,CAAO,EAC7C,CAAC3C,GAAiB6C,EAAYD,EAASD,EAAUD,CAAc,CACjE,EAAE,IAAI,CAAC,CAACU,EAAMJ,CAAK,IAAM,CAACI,EAAMJ,EAAQP,CAAS,CAAC,CAAC,EAE7CY,GAAc,IAAIC,EAAe,CACrC,MAAOL,GACP,OAAOX,EAASc,EAAMG,EAAGvB,EAAO,CAC9B,OAAKM,EAAQ,MAAQH,GAAiBT,GAAU,IAAI0B,CAAI,IACnDA,GAAQrE,IAAYqE,GAAQ5D,IAAkB8C,EAAQ,MAAQG,EAC1DH,EAAQ,OACVA,CACT,EACA,MAAMA,EAASc,EAAMnB,EAAOD,EAAO,CACjC,OAAIoB,GAAQ7F,EACH,IAAIuF,EAAQR,EAASY,GAAYlB,EAAM,KAAKA,EAAM,IAAKC,EAAM,GAAG,CAAC,EAAG,CAAC,EAC1EmB,GAAQ5F,EACH8E,EAAQ,OACbc,GAAQnF,GAAUmF,GAAQ/E,GAAY+E,GAAQ5E,GAAU4E,GAAQrF,EAC3D,IAAI+E,EAAQR,EAAS,EAAGH,CAAY,EACzCgB,EAAY,IAAIC,CAAI,EACf,IAAIN,EAAQR,EAAS,EAAGa,EAAY,IAAIC,CAAI,EAAKd,EAAQ,MAAQH,CAAa,EAChFG,CACT,EACA,KAAKA,EAAS,CAAE,OAAOA,EAAQ,IAAK,CACtC,CAAC,EAEKkB,GAAc,IAAIzB,EAAkBC,GAAS,CACjD,QAASyB,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAC1B,GAAIzB,EAAM,MAAQ,QAAQ,WAAWyB,CAAC,EAAG,OACzCzB,EAAM,QAAQ,CAChB,CACA,GAAI,MAAK,KAAK,OAAO,aAAaA,EAAM,IAAI,CAAC,EAC7C,QAAS0B,EAAM,GAAIA,IAAO,CACxB,IAAIC,EAAO3B,EAAM,KAAK0B,CAAG,EACzB,GAAI,EAAAC,GAAQhD,GAASgD,GAAQ/C,GAC7B,CAAI+C,GAAQ7C,IAAa6C,GAAQ5C,IAAO4C,GAAQlD,GAAWkD,GAAQjD,GAAkBiD,GAAQ9C,GAC3FmB,EAAM,YAAY1E,CAAY,EAChC,OACF,CACF,CAAC,EAEKsG,GAAU,IAAI7B,EAAkB,CAACC,EAAOC,IAAU,CACtD,GAAI,CAAC,MAAAe,CAAK,EAAIf,EAAM,QAChB4B,EAASb,EAAQN,EAAkBvB,EAAcD,EACjD4C,GAAQd,EAAQL,GAAW,EAC3BoB,EAAU,EAAEf,EAAQJ,GACpBoB,GAAUhB,EAAQH,GAAa,EAE/BoB,EAAQjC,EAAM,IAClB,KACM,EAAAA,EAAM,KAAO,IAEV,GAAIgC,GAAUhC,EAAM,MAAQhB,EACjC,GAAIgB,EAAM,KAAK,CAAC,GAAKhB,EACnBgB,EAAM,QAAQ,CAAC,MACV,CACL,GAAIA,EAAM,KAAOiC,EAAO,CACtBjC,EAAM,YAAYjE,EAAkB,CAAC,EACrC,MACF,CACA,KACF,SACSgG,GAAW/B,EAAM,MAAQZ,EAAW,CAC7C,GAAIY,EAAM,KAAOiC,EAAO,CACtBjC,EAAM,QAAQ,EACd,IAAIkC,EAAUlC,EAAM,KAChBkC,GAAW,IACblC,EAAM,QAAQ,EACdmC,GAAWnC,EAAOkC,CAAO,GAE3BlC,EAAM,YAAYlE,CAAM,EACxB,MACF,CACA,KACF,SAAWkE,EAAM,MAAQZ,GAAa,CAAC2C,GAAW/B,EAAM,KAAK,CAAC,EAAI,GAEhEA,EAAM,QAAQ,CAAC,UACNA,EAAM,MAAQ6B,IAAU,CAACC,GAAQ9B,EAAM,KAAK,CAAC,GAAK6B,GAAS7B,EAAM,KAAK,CAAC,GAAK6B,GAAQ,CAC7F,GAAI7B,EAAM,KAAOiC,EAAO,CACtBjC,EAAM,YAAYhE,EAAW8F,EAAO,EAAI,CAAC,EACzC,MACF,CACA,KACF,SAAW9B,EAAM,MAAQvB,EAAS,CAChC,GAAIqD,EACF9B,EAAM,QAAQ,UACLA,EAAM,KAAOiC,EAAO,CAC7BjC,EAAM,YAAYhE,CAAS,EAC3B,MACF,CACA,KACF,MACEgE,EAAM,QAAQ,EAGdA,EAAM,IAAMiC,GAAOjC,EAAM,YAAYnE,CAAa,CACxD,CAAC,EAED,SAASsG,GAAWnC,EAAOJ,EAAI,CAC7B,GAAIA,GAAMP,GACR,QAAS,EAAI,EAAG,EAAI,GAAKW,EAAM,MAAQ,IAAMA,EAAM,MAAQ,GAAI,IAAKA,EAAM,QAAQ,UACzEJ,GAAMN,GACf,QAAS,EAAI,EAAG,EAAI,GAAKO,EAAMG,EAAM,IAAI,EAAG,IAAKA,EAAM,QAAQ,UACtDJ,GAAMJ,GACf,QAAS,EAAI,EAAG,EAAI,GAAKK,EAAMG,EAAM,IAAI,EAAG,IAAKA,EAAM,QAAQ,UACtDJ,GAAMH,GACf,QAAS,EAAI,EAAG,EAAI,GAAKI,EAAMG,EAAM,IAAI,EAAG,IAAKA,EAAM,QAAQ,UACtDJ,GAAML,IACXS,EAAM,MAAQhB,EAAW,CAE3B,IADAgB,EAAM,QAAQ,EACPA,EAAM,MAAQ,GAAKA,EAAM,MAAQf,GAAce,EAAM,MAAQd,GAC7Dc,EAAM,MAAQb,GAAea,EAAM,MAAQvB,GAASuB,EAAM,QAAQ,EACrEA,EAAM,MAAQf,GAAYe,EAAM,QAAQ,CAC9C,CAEJ,CAEA,IAAMoC,GAAqBC,EAAU,CACnC,6CAAkDC,EAAK,SACvD,gHAAiHA,EAAK,eACtH,uBAAwBA,EAAK,gBAC7B,wCAAyCA,EAAK,kBAC9C,OAAQA,EAAK,cACb,gBAAiBA,EAAK,QACtB,QAASA,EAAK,KACd,KAAMA,EAAK,KACX,aAAcA,EAAK,aACnB,8BAA+BA,EAAK,SAASA,EAAK,YAAY,EAC9D,kCAAmCA,EAAK,SAASA,EAAK,WAAWA,EAAK,YAAY,CAAC,EACnF,+BAAgCA,EAAK,WAAWA,EAAK,SAAS,EAC9D,aAAcA,EAAK,aACnB,+CAAgDA,EAAK,SAASA,EAAK,YAAY,EAC/E,QAASA,EAAK,YACd,OAAQA,EAAK,OACb,OAAQA,EAAK,OACb,aAAcA,EAAK,QAAQA,EAAK,MAAM,EACtC,OAAQA,EAAK,OACb,SAAUA,EAAK,eACf,WAAYA,EAAK,mBACjB,MAAOA,EAAK,gBACZ,UAAWA,EAAK,gBAChB,SAAUA,EAAK,mBACf,SAAUA,EAAK,YACf,GAAIA,EAAK,KACT,MAAOA,EAAK,MACZ,MAAOA,EAAK,cACZ,MAAOA,EAAK,MACZ,IAAKA,EAAK,cACV,MAAOA,EAAK,SACd,CAAC,EAGKC,GAAkB,CAAC,UAAU,KAAK,MAAM,GAAI,GAAG,GAAI,IAAI,GAAI,GAAG,GAAI,IAAI,GAAI,GAAG,GAAI,GAAG,GAAI,KAAK,GAAI,OAAO,GAAI,MAAM,GAAI,KAAK,GAAI,MAAM,IAAK,IAAI,IAAK,KAAK,IAAK,KAAK,IAAK,MAAM,IAAK,IAAI,IAAK,KAAK,IAAK,MAAM,IAAK,SAAS,IAAK,OAAO,IAAK,MAAM,IAAK,OAAO,IAAK,GAAG,IAAK,OAAO,IAAK,SAAS,IAAK,OAAO,IAAK,KAAK,IAAK,KAAK,IAAK,MAAM,IAAK,IAAI,IAAK,OAAO,IAAK,QAAQ,IAAK,KAAK,IAAK,IAAI,IAAK,MAAM,IAAK,MAAM,IAAK,KAAK,GAAG,EACjaC,GAASC,EAAS,YAAY,CAClC,QAAS,GACT,OAAQ,u0PACR,UAAW,m5VACX,KAAM,0jMACN,UAAW,moDACX,QAAS,IACT,QAASpB,GACT,UAAW,CACT,CAAC,UAAW,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAC/B,CAAC,QAAS,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,sBAAsB,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,aAAa,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,YAAY,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,SAAS,EAC/Q,CAAC,WAAY,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,EACjC,CAAC,WAAY,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,CACnC,EACA,YAAa,CAACe,EAAkB,EAChC,aAAc,CAAC,EAAE,CAAC,EAClB,gBAAiB,GACjB,UAAW,o9KACX,WAAY,CAACZ,GAAanB,GAAaP,GAAU8B,GAAS,EAAG,EAAG,EAAG,EAAG,CAAC,EACvE,SAAU,CAAC,OAAS,CAAC,EAAE,CAAC,CAAC,EACzB,YAAa,CAAC,CAAC,KAAM,IAAK,IAAMc,GAAUH,GAAgBG,CAAK,GAAK,EAAE,CAAC,EACvE,UAAW,IACb,CAAC",
6
+ "names": ["printKeyword", "indent", "dedent", "newline$1", "blankLineStart", "newlineBracketed", "eof", "stringContent", "Escape", "replacementStart", "stringEnd", "ParenL", "ParenthesizedExpression", "TupleExpression", "ComprehensionExpression", "BracketL", "ArrayExpression", "ArrayComprehensionExpression", "BraceL", "DictionaryExpression", "DictionaryComprehensionExpression", "SetExpression", "SetComprehensionExpression", "ArgList", "subscript", "String$1", "stringStart", "stringStartD", "stringStartL", "stringStartLD", "stringStartR", "stringStartRD", "stringStartRL", "stringStartRLD", "FormatString", "stringStartF", "stringStartFD", "stringStartFL", "stringStartFLD", "stringStartFR", "stringStartFRD", "stringStartFRL", "stringStartFRLD", "FormatReplacement", "nestedFormatReplacement", "importList", "TypeParamList", "ParamList", "SequencePattern", "MappingPattern", "PatternArgList", "newline", "carriageReturn", "space", "tab", "hash", "parenOpen", "dot", "braceOpen", "braceClose", "singleQuote", "doubleQuote", "backslash", "letter_o", "letter_x", "letter_N", "letter_u", "letter_U", "bracketed", "isLineBreak", "ch", "isHex", "newlines", "ExternalTokenizer", "input", "stack", "prev", "cx_Bracketed", "spaces", "indentation", "context", "depth", "chars", "cx_String", "cx_DoubleQuote", "cx_Long", "cx_Raw", "cx_Format", "Context", "parent", "flags", "topIndent", "countIndent", "stringFlags", "term", "trackIndent", "ContextTracker", "_", "legacyPrint", "i", "off", "next", "strings", "quote", "long", "escapes", "format", "start", "escaped", "skipEscape", "pythonHighlighting", "styleTags", "tags", "spec_identifier", "parser", "LRParser", "value"]
7
+ }
@@ -0,0 +1,11 @@
1
+ import{j as St,k as Nt,l as n}from"./chunks/chunk-SYZUZB3M.js";import{Graphics2D as gt,Paint as je,Types as M,component2d as Re,lerpNumber as Vt}from"@motionscript/sdk";function ue(t,e,o){if(o<=t[0])return e[0];if(o>=t[t.length-1])return e[e.length-1];for(let i=0;i<t.length-1;i++)if(o<=t[i+1]){let r=t[i+1]-t[i],s=r===0?0:(o-t[i])/r;return e[i]+(e[i+1]-e[i])*s}return e[e.length-1]}function R(t,e){if(!t)return 1;let[o,i]=t;return e<=o?0:e>=i||i===o?1:(e-o)/(i-o)}function ge(t){return t*t*(3-2*t)}function et(t,e){return{id:t,opacity:e.values,opacityKeys:e.keys}}function he(t,e){return t&&e?{out:[0,.38],move:[.1,.68],in:[.52,1]}:t?{out:[0,.45],move:[.22,1],in:null}:e?{out:null,move:[0,.55],in:[.38,1]}:{out:null,move:[0,1],in:null}}var It=he;function B(t){return t?ge(R(t.phases.move,t.progress)):1}function Lt(t,e,o,i){let r=new Map;if(o!==null){let s=o;for(let a of t)for(let c of a.tokens)r.set(c.id,{opacity:i.has(c.id)?1:s})}for(let s of e)if(s.kind==="dim")for(let a of s.tokens)r.set(a.id,{opacity:ue(a.opacityKeys,a.opacity,s.progress)});return r}function Ct(t){let e=t.padding;return[t.fontSize,t.fontFamily,t.lineHeight,t.letterSpacing,e.left,e.right,e.top,e.bottom,t.showLineNumbers?1:0,t.lineNumberGap].join("|")}function pe(t,e,o){return o.advance(t," ",e.fontSize,e.fontFamily,0)*e.lineNumberGap}function me(t,e,o,i,r){if(!e.showLineNumbers)return 0;let s=String(Math.max(1,i));return o.advance(t,s,e.fontSize,e.fontFamily,0)+r}function W(t,e,o,i){let r=e.fontSize*e.lineHeight,s=e.showLineNumbers?pe(i,e,o):0,a=me(i,e,o,t.length,s),c=new Array(t.length),l=0;for(let b=0;b<t.length;b++){let w=0;for(let x of t[b].tokens)w+=o.advance(i,x.content,e.fontSize,e.fontFamily,e.letterSpacing);c[b]=w,w>l&&(l=w)}let f=l+a,u=t.length*r,d=f+e.padding.left+e.padding.right,h=u+e.padding.top+e.padding.bottom,p=-d/2+e.padding.left+a,g=h/2-e.padding.top,m=new Map,y=new Array(t.length),k=new Map;for(let b=0;b<t.length;b++){let w=g-b*r-r/2;y[b]=w,k.set(t[b].id,b);let x=p;for(let S of t[b].tokens)m.set(S.id,{x,y:w}),x+=o.advance(i,S.content,e.fontSize,e.fontFamily,e.letterSpacing)}return{tokens:m,lineY:y,lineW:c,lineIndex:k,gutter:a,gutterGap:s,innerW:f,innerH:u,blockW:d,blockH:h,startX:p}}import{Graphics2D as rt,parseColor as ye,lerpNumber as L}from"@motionscript/sdk";var we=[.82,.84,.86,1],ke=[.45,.5,.55,1],vt=new Map;function nt(t){if(!t)return we;let e=vt.get(t);return e||(e=ye(t),vt.set(t,e)),e}function Tt(t,e,o){return o<=0?t:o>=1?e:[t[0]+(e[0]-t[0])*o,t[1]+(e[1]-t[1])*o,t[2]+(e[2]-t[2])*o,t[3]+(e[3]-t[3])*o]}function be(t,e,o){if(!o)return 1;let i=1;for(let r of t.tokens){if(r.content.length===0)continue;let s=e.get(r.id)?.opacity??1;s<i&&(i=s)}return i}function it(t,e){let{tokenLines:o,metrics:i,advanceCache:r,from:s,to:a,edit:c,tokenStates:l}=e,f=c?c.progress:1,u=c?R(c.phases.out,f):1,d=B(c),h=c?R(c.phases.in,f):1,p=c?L(s.blockW,a.blockW,d):a.blockW,g=c?L(s.gutter,a.gutter,d):a.gutter,m=a.gutterGap||s.gutterGap,y=-p/2+i.padding.left+g-m;xe(t,e,Math.max(p,e.boxW??0),d);let k=(w,x,S)=>{if(S<=0)return;let C=r.advance(t,w,i.fontSize,i.fontFamily,0);t.draw(new rt().text({text:w,fontSize:i.fontSize,fontFamily:i.fontFamily,lineHeight:i.lineHeight,x:y-C/2,y:x,textAlign:"left"}).fill([{type:"solid",color:ke,opacity:S}]))},b=(w,x,S,C,A)=>{if(A<=0||w.length===0)return;let v=r.advance(t,w,i.fontSize,i.fontFamily,i.letterSpacing);t.draw(new rt().text({text:w,fontSize:i.fontSize,fontFamily:i.fontFamily,lineHeight:i.lineHeight,letterSpacing:i.letterSpacing,x:x+v/2,y:S,textAlign:"left"}).fill([{type:"solid",color:C,opacity:A}]))};for(let w=0;w<o.length;w++){let x=o[w],S=a.lineIndex.get(x.id);if(S===void 0)continue;let C=a.lineY[S],A=c?.enteringLineIds.has(x.id)??!1,v=C,F=1;if(c&&A)F=h;else if(c){let I=s.lineIndex.get(x.id);I!==void 0&&(v=L(s.lineY[I],C,d))}for(let I of x.tokens){let Z=a.tokens.get(I.id);if(!Z)continue;let kt=Z.x,bt=F,tt=nt(I.color);if(c&&!A)if(c.addedIds.has(I.id))bt=h;else{let xt=s.tokens.get(I.id);xt&&(kt=L(xt.x,Z.x,d)),c.fromColorById.has(I.id)&&(tt=Tt(nt(c.fromColorById.get(I.id)),tt,d))}b(I.content,kt,v,tt,bt*(l.get(I.id)?.opacity??1))}}if(c&&u<1)for(let w=0;w<c.from.length;w++){let x=c.from[w],S=s.lineIndex.get(x.id);if(S===void 0)continue;let C=a.lineIndex.get(x.id),A=C===void 0?s.lineY[S]:L(s.lineY[S],a.lineY[C],d);for(let v of x.tokens){if(!c.removedIds.has(v.id))continue;let F=s.tokens.get(v.id);F&&b(v.content,F.x,A,nt(v.color),1-u)}}i.showLineNumbers&&Se(e,k,d,h,u)}function ot(t,e,o){let{from:i,to:r,metrics:s}=e,a=s.fontSize*s.lineHeight/2,c=u=>{let d=r.lineIndex.get(u),h=i.lineIndex.get(u);return d!==void 0&&h!==void 0?L(i.lineY[h],r.lineY[d],o):d!==void 0?r.lineY[d]:h===void 0?null:i.lineY[h]},l=c(t.startId),f=c(t.endId);return l===null&&f===null?null:{top:(l??f)+a,bottom:(f??l)-a}}function xe(t,e,o,i){let{rowBands:r=[],rowsEdit:s=null}=e,a=(l,f,u,d,h)=>{h<=0||l<=f||t.draw(new rt().rect({x:0,y:(l+f)/2,width:o,height:l-f,cornerRadius:d}).fill([{type:"solid",color:u,opacity:h}]))};if(!s){for(let l of r){let f=ot(l,e,i);f&&a(f.top,f.bottom,l.color,l.radius,1)}return}let c=s.progress;for(let l=0;l<Math.max(s.from.length,s.to.length);l++){let f=s.from[l],u=s.to[l],d=f?ot(f,e,i):null,h=u?ot(u,e,i):null;d&&h?a(L(d.top,h.top,c),L(d.bottom,h.bottom,c),Tt(f.color,u.color,c),L(f.radius,u.radius,c),1):d?a(d.top,d.bottom,f.color,f.radius,1-c):h&&a(h.top,h.bottom,u.color,u.radius,c)}}function Se(t,e,o,i,r){let{tokenLines:s,from:a,to:c,edit:l,tokenStates:f,highlightActive:u}=t,d=s.length,h=l?l.from.length:d;for(let p=0;p<Math.max(h,d);p++){let g=p<h,m=p<d,y=m?s[p]:l?.from[p],k=y?be(y,f,u):1;l?g&&m?e(String(p+1),L(a.lineY[p],c.lineY[p],o),k):m?e(String(p+1),c.lineY[p],i*k):e(String(p+1),a.lineY[p],(1-r)*k):e(String(p+1),c.lineY[p],k)}}function $(t){return t.content.trim().length}function Mt(t){let e=0;for(let o of t.tokens)e+=$(o);return e}function Ne(t,e){let o=Mt(t),i=Mt(e);if(o===0&&i===0)return 1;if(o===0||i===0)return 0;let r=new Map;for(let a of t.tokens)$(a)!==0&&r.set(a.content,(r.get(a.content)??0)+1);let s=0;for(let a of e.tokens){let c=$(a);if(c===0)continue;let l=r.get(a.content)??0;l>0&&(r.set(a.content,l-1),s+=c)}return 2*s/(o+i)}function At(t,e,o){let i=e+1,r=new Float64Array((t+1)*i),s=new Float64Array(t*e);for(let f=1;f<=t;f++)for(let u=1;u<=e;u++){let d=o(f-1,u-1);s[(f-1)*e+(u-1)]=d;let h=r[(f-1)*i+u],p=r[f*i+(u-1)],g=h>p?h:p;if(d>0){let m=r[(f-1)*i+(u-1)]+d;m>g&&(g=m)}r[f*i+u]=g}let a=[],c=t,l=e;for(;c>0&&l>0;){let f=s[(c-1)*e+(l-1)];f>0&&r[c*i+l]===r[(c-1)*i+(l-1)]+f?(a.push([c-1,l-1]),c--,l--):r[(c-1)*i+l]>=r[c*i+(l-1)]?c--:l--}return a.reverse(),a}function Ie(t,e){return At(t.length,e.length,(o,i)=>t[o].content!==e[i].content?0:$(e[i])||.25)}function Le(t,e){if(t.tokens.length!==e.tokens.length)return!1;for(let o=0;o<t.tokens.length;o++)if(t.tokens[o].content!==e.tokens[o].content)return!1;return!0}function Et(t){let e="";for(let o of t.tokens)e+=o.content+"";return e}function Ce(t,e){let o=t.map(Et),i=e.map(Et),r=[],s=0;for(;s<t.length&&s<e.length&&o[s]===i[s];)r.push([s,s]),s++;let a=0;for(;a<t.length-s&&a<e.length-s&&o[t.length-1-a]===i[e.length-1-a];)a++;let c=ve(o,i,s,t.length-a,s,e.length-a),l=16e4,f=s,u=s;for(let[d,h]of[...c,[t.length-a,e.length-a]]){let p=d-f,g=h-u,m=p*g;if(m>0&&m<=4e4&&m<=l){l-=m;for(let[y,k]of At(p,g,(b,w)=>Ne(t[f+b],e[u+w])-.45))r.push([f+y,u+k])}d<t.length-a&&r.push([d,h]),f=d+1,u=h+1}for(let d=a;d>0;d--)r.push([t.length-d,e.length-d]);return r}function ve(t,e,o,i,r,s){let a=new Map,c=new Set;for(let g=o;g<i;g++){let m=t[g];c.has(m)?a.delete(m):a.set(m,g),c.add(m)}let l=new Map,f=new Set;for(let g=r;g<s;g++){let m=e[g];f.has(m)?l.delete(m):l.set(m,g),f.add(m)}let u=[];for(let g=r;g<s;g++){let m=a.get(e[g]);m!==void 0&&l.get(e[g])===g&&e[g].replaceAll("","").trim()!==""&&u.push([m,g])}let d=[],h=new Array(u.length).fill(-1);for(let g=0;g<u.length;g++){let m=0,y=d.length;for(;m<y;){let k=m+y>>1;u[d[k]][0]<u[g][0]?m=k+1:y=k}m>0&&(h[g]=d[m-1]),d[m]=g}let p=[];for(let g=d.length>0?d[d.length-1]:-1;g>=0;g=h[g])p.push(u[g]);return p.reverse()}function st(t,e){let o=new Set,i=new Set,r=new Set,s=new Map,a=Ce(t,e),c=new Set,l=new Set;for(let[f,u]of a){l.add(f),c.add(u);let d=t[f],h=e[u];h.id=d.id;let p=Le(d,h)?d.tokens.map((y,k)=>[k,k]):Ie(d.tokens,h.tokens),g=new Set,m=new Set;for(let[y,k]of p){g.add(y),m.add(k);let b=d.tokens[y],w=h.tokens[k];w.id=b.id,b.color!==w.color&&s.set(b.id,b.color)}for(let y=0;y<d.tokens.length;y++)g.has(y)||o.add(d.tokens[y].id);for(let y=0;y<h.tokens.length;y++)m.has(y)||i.add(h.tokens[y].id)}for(let f=0;f<t.length;f++)if(!l.has(f))for(let u of t[f].tokens)o.add(u.id);for(let f=0;f<e.length;f++)if(!c.has(f)){r.add(e[f].id);for(let u of e[f].tokens)i.add(u.id)}return{lines:e,removedIds:o,addedIds:i,newLineIds:r,fromColorById:s}}var T={name:"motion-canvas-default",defaultColor:"#d8dee9",rules:[{tag:n.keyword,color:"#5e81ac"},{tag:[n.name,n.deleted,n.character,n.propertyName,n.macroName],color:"#88c0d0"},{tag:[n.variableName],color:"#8fbcbb"},{tag:[n.function(n.variableName)],color:"#8fbcbb"},{tag:[n.labelName],color:"#81a1c1"},{tag:[n.color,n.constant(n.name),n.standard(n.name)],color:"#5e81ac"},{tag:[n.definition(n.name),n.separator],color:"#a3be8c"},{tag:[n.brace],color:"#8fbcbb"},{tag:[n.annotation],color:"#d30102"},{tag:[n.number,n.changed,n.annotation,n.modifier,n.self,n.namespace],color:"#b48ead"},{tag:[n.typeName,n.className],color:"#ECEFF4"},{tag:[n.operator,n.operatorKeyword],color:"#a3be8c"},{tag:[n.tagName],color:"#b48ead"},{tag:[n.squareBracket],color:"#ECEFF4"},{tag:[n.angleBracket],color:"#ECEFF4"},{tag:[n.attributeName],color:"#eceff4"},{tag:[n.regexp],color:"#5e81ac"},{tag:[n.quote],color:"#b48ead"},{tag:[n.string],color:"#a3be8c"},{tag:n.link,color:"#a3be8c"},{tag:[n.url,n.escape,n.special(n.string)],color:"#8fbcbb"},{tag:[n.meta],color:"#88c0d0"},{tag:[n.monospace],color:"#d8dee9"},{tag:[n.comment],color:"#4c566a"},{tag:n.strong,color:"#5e81ac"},{tag:n.emphasis,color:"#5e81ac"},{tag:n.heading,color:"#5e81ac"},{tag:n.special(n.heading1),color:"#5e81ac"},{tag:n.heading1,color:"#5e81ac"},{tag:[n.heading2,n.heading3,n.heading4],color:"#5e81ac"},{tag:[n.heading5,n.heading6],color:"#5e81ac"},{tag:[n.atom,n.bool,n.special(n.variableName)],color:"#d08770"},{tag:[n.processingInstruction,n.inserted],color:"#8fbcbb"},{tag:[n.contentSeparator],color:"#ebcb8b"},{tag:n.invalid,color:"#434c5e"}]},Ht={name:"github-dark",defaultColor:"#c9d1d9",rules:[{tag:[n.standard(n.tagName),n.tagName],color:"#7ee787"},{tag:[n.comment,n.bracket],color:"#8b949e"},{tag:[n.className,n.propertyName],color:"#d2a8ff"},{tag:[n.variableName,n.attributeName,n.number,n.operator],color:"#79c0ff"},{tag:[n.keyword,n.typeName,n.typeOperator],color:"#ff7b72"},{tag:[n.string,n.meta,n.regexp],color:"#a5d6ff"},{tag:[n.name,n.quote],color:"#7ee787"},{tag:[n.heading,n.strong],color:"#d2a8ff"},{tag:[n.emphasis],color:"#d2a8ff"},{tag:[n.deleted],color:"#ffdcd7"},{tag:[n.atom,n.bool,n.special(n.variableName)],color:"#ffab70"},{tag:n.invalid,color:"#f97583"}]},Ft={name:"github-light",defaultColor:"#24292e",rules:[{tag:[n.standard(n.tagName),n.tagName],color:"#116329"},{tag:[n.comment,n.bracket],color:"#6a737d"},{tag:[n.className,n.propertyName],color:"#6f42c1"},{tag:[n.variableName,n.attributeName,n.number,n.operator],color:"#005cc5"},{tag:[n.keyword,n.typeName,n.typeOperator],color:"#d73a49"},{tag:[n.string,n.meta,n.regexp],color:"#032f62"},{tag:[n.name,n.quote],color:"#22863a"},{tag:[n.heading,n.strong],color:"#24292e"},{tag:[n.emphasis],color:"#24292e"},{tag:[n.deleted],color:"#b31d28"},{tag:[n.atom,n.bool,n.special(n.variableName)],color:"#e36209"},{tag:[n.url,n.escape,n.regexp,n.link],color:"#032f62"},{tag:n.invalid,color:"#cb2431"}]},_t={name:"vscode-dark",defaultColor:"#9cdcfe",rules:[{tag:[n.keyword,n.operatorKeyword,n.modifier,n.color,n.constant(n.name),n.standard(n.name),n.standard(n.tagName),n.special(n.brace),n.atom,n.bool,n.special(n.variableName)],color:"#569cd6"},{tag:[n.controlKeyword,n.moduleKeyword],color:"#c586c0"},{tag:[n.name,n.deleted,n.character,n.macroName,n.propertyName,n.variableName,n.labelName,n.definition(n.name)],color:"#9cdcfe"},{tag:n.heading,color:"#9cdcfe"},{tag:[n.typeName,n.className,n.tagName,n.changed,n.annotation,n.self,n.namespace],color:"#4ec9b0"},{tag:[n.function(n.variableName),n.function(n.propertyName)],color:"#dcdcaa"},{tag:[n.number],color:"#b5cea8"},{tag:[n.operator,n.punctuation,n.separator,n.url,n.escape],color:"#d4d4d4"},{tag:[n.regexp],color:"#d16969"},{tag:[n.special(n.string),n.processingInstruction,n.string,n.inserted],color:"#ce9178"},{tag:[n.angleBracket],color:"#808080"},{tag:[n.meta,n.comment],color:"#6a9955"},{tag:n.link,color:"#6a9955"},{tag:n.invalid,color:"#ff0000"}]},Dt={name:"vscode-light",defaultColor:"#383a42",rules:[{tag:[n.keyword,n.operatorKeyword,n.modifier,n.color,n.constant(n.name),n.standard(n.name),n.standard(n.tagName),n.special(n.brace),n.atom,n.bool,n.special(n.variableName)],color:"#0000ff"},{tag:[n.moduleKeyword,n.controlKeyword],color:"#af00db"},{tag:[n.name,n.deleted,n.character,n.macroName,n.propertyName,n.variableName,n.labelName,n.definition(n.name)],color:"#0070c1"},{tag:n.heading,color:"#0070c1"},{tag:[n.typeName,n.className,n.tagName,n.changed,n.annotation,n.self,n.namespace],color:"#267f99"},{tag:[n.function(n.variableName),n.function(n.propertyName)],color:"#795e26"},{tag:[n.number],color:"#098658"},{tag:[n.operator,n.punctuation,n.separator,n.url,n.escape],color:"#383a42"},{tag:[n.regexp],color:"#af00db"},{tag:[n.special(n.string),n.processingInstruction,n.string,n.inserted],color:"#a31515"},{tag:[n.angleBracket],color:"#383a42"},{tag:[n.meta,n.comment],color:"#008000"},{tag:n.link,color:"#4078f2"},{tag:n.invalid,color:"#e45649"}]},Y={"motion-canvas-default":T,"github-dark":Ht,"github-light":Ft,"vscode-dark":_t,"vscode-light":Dt},Ot=new WeakMap;function at(t){let e=Ot.get(t);if(e)return e;let o=St(t.rules.map(i=>({tag:i.tag,class:i.color})));return Ot.set(t,o),o}var Gt={typescript:async()=>(await import("./chunks/dist-B46VH2YP.js")).parser.configure({dialect:"ts"}),tsx:async()=>(await import("./chunks/dist-B46VH2YP.js")).parser.configure({dialect:"ts jsx"}),javascript:async()=>(await import("./chunks/dist-B46VH2YP.js")).parser,jsx:async()=>(await import("./chunks/dist-B46VH2YP.js")).parser.configure({dialect:"jsx"}),python:async()=>(await import("./chunks/dist-W5ZXIMV7.js")).parser,json:async()=>(await import("./chunks/dist-3F5TQHM6.js")).parser,html:async()=>(await import("./chunks/dist-OXJDTPQ6.js")).parser,css:async()=>(await import("./chunks/dist-N4CNBNHL.js")).parser,rust:async()=>(await import("./chunks/dist-GPNEVCJI.js")).parser,go:async()=>(await import("./chunks/dist-FQDUBZKU.js")).parser,java:async()=>(await import("./chunks/dist-AQRNACF3.js")).parser,cpp:async()=>(await import("./chunks/dist-3SIR23P4.js")).parser,php:async()=>(await import("./chunks/dist-LRSXSDHT.js")).parser,markdown:async()=>(await import("./chunks/dist-FH6BHJ6A.js")).parser,xml:async()=>(await import("./chunks/dist-SH7H4MRK.js")).parser,yaml:async()=>(await import("./chunks/dist-UG3NTKWL.js")).parser},jt={ts:"typescript",js:"javascript",py:"python","c++":"cpp",md:"markdown",yml:"yaml",shell:"javascript"},Te=new Set(["","text","plaintext"]),zt=new Set;function lt(t,e,o){let i=`${t}:${e}`;zt.has(i)||(zt.add(i),console.warn(`[Code] ${o}`))}function N(t){return t.indexOf("\r")===-1?t:t.replace(/\r\n?/g,`
2
+ `)}function P(t){let e=t.toLowerCase();return jt[e]??e}var _=new Map,ct=new Map,ft=[T.name],Rt=["typescript","javascript","json","python"],Bt=new Map(Object.entries(Y));function Me(t){Bt.set(t.name,t)}function K(t){if(typeof t!="string")return t;let e=Bt.get(t);return e||(lt("theme",t,`unknown theme "${t}"; using "${T.name}". Built-in themes: ${Object.keys(Y).join(", ")}; register others with registerCodeTheme.`),T)}function Ee(t){return _.has(P(t))}function H(t=ft,e=Rt){let o=[];for(let i of e){let r=P(i);if(_.has(r))continue;let s=Gt[r];if(!s){Te.has(r)||lt("language",r,`no grammar for language "${i}"; drawing it as plain text. Supported: ${Object.keys(Gt).join(", ")} (aliases: ${Object.keys(jt).join(", ")}).`);continue}let a=ct.get(r);a||(a=s().then(c=>(_.set(r,c),c)).catch(c=>(lt("load",r,`could not load the "${i}" grammar; drawing it as plain text: ${c instanceof Error?c.message:String(c)}`),null)).finally(()=>ct.delete(r)),ct.set(r,a)),o.push(a)}return o.length===0?Promise.resolve():Promise.all(o).then(()=>{})}async function Ae(t,e){await H(ft,[t])}async function Oe(t=ft,e=Rt){await H(t,e)}function D(t,e){return Ee(t)}function Wt(t,e){return`${t}:${e}`}function He(t,e,o){let i=_.get(P(e));if(!i)return null;let r=i.parse(t),s=at(o),a=new Map;return Nt(r,s,(c,l,f)=>{let u=f;if(!u)return;let d=r.cursorAt(c,1);do a.set(Wt(d.from,d.to),u);while(d.next()&&d.to<=l)}),{tree:r,code:t,colorLookup:a}}function Fe(t,e){let o=e.tree.resolveInner(t,1),i=e.colorLookup.get(Wt(o.from,o.to));return i?{color:i,skipAhead:o.to-t}:{color:null,skipAhead:o.firstChild?0:o.to-t}}function _e(t,e){let o=_.get(P(e));if(!o)return[t];let r=o.parse(t).cursor(),s=[],a=0;do r.node.firstChild||(r.from>a&&s.push(t.slice(a,r.from)),r.from<r.to&&s.push(t.slice(r.from,r.to)),a=r.to);while(r.next());return a<t.length&&s.push(t.slice(a)),s}function $t(t,e,o=T){t=N(t);let i=K(o),r=He(t,e,i),s=[[]],a=()=>s.push([]);if(!r)return t.split(`
3
+ `).map(l=>[{content:l,color:i.defaultColor}]);let c=0;for(let l of _e(t,e)){let f=0;for(;f<l.length;){let{color:u,skipAhead:d}=Fe(c+f,r),h=f+Math.max(d,1);h>l.length&&(h=l.length);let p=l.indexOf(`
4
+ `,f);p!==-1&&p<h&&(h=p);let g=l.slice(f,h);g.length>0&&s[s.length-1].push({content:g,color:u??i.defaultColor}),p===h&&(a(),h+=1),f=h}c+=l.length}return s}var De=1,Ge=1;function Yt(t,e){return{id:De++,content:t,color:e}}function Pt(t){return{id:Ge++,tokens:t}}function dt(t,e,o){return t=N(t),D(e,o)?$t(t,e,o).map(i=>Pt(i.map(r=>Yt(r.content,r.color)))):(K(o),t.split(`
5
+ `).map(i=>Pt([Yt(i,"#d1d5db")])))}var G=class{cache=new Map;sig="";signature(e,o){return`${e}|${o}`}sync(e){e!==this.sig&&(this.cache.clear(),this.sig=e)}advance(e,o,i,r,s){if(o.length===0)return 0;let a=`${o}\0${s}`,c=this.cache.get(a);if(c!==void 0)return c;let{width:l}=e.measureText(o,i,r,void 0,s);return this.cache.set(a,l),l}};function Kt(t,e,o){return{startLine:t,startCol:e,endLine:t,endCol:o===void 0?1/0:e+o}}function Ut(t,e){return{startLine:t,startCol:1,endLine:e??t,endCol:1/0}}var U=class t{list;constructor(e=[]){this.list=e}lines(e,o){return new t([...this.list,Ut(e,o)])}word(e,o,i){return new t([...this.list,Kt(e,o,i)])}*[Symbol.iterator](){yield*this.list}toJSON(){return this.list}},ze=new U;function z(t,e){if(e.length===0)return{start:0,end:0};let o=new Array(e.length),i=0;for(let y=0;y<e.length;y++)o[y]=i,i+=e[y]+1;let r=i>0?i-1:0,s=y=>Math.max(0,Math.min(e.length-1,y-1)),a=t.endLine??1/0,c=t.endCol??1/0,l=s(t.startLine),f=s(a),u=e[l],d=e[f],h=Math.max(0,Math.min(u,t.startCol-1)),p=c===1/0?d:Math.max(0,Math.min(d,c-1)),g=Math.min(r,o[l]+h),m=Math.min(r,o[f]+p);return{start:Math.min(g,m),end:Math.max(g,m)}}function ut(t,e,o){let i=0,r=1,s=1,a=1,c=1,l=!1;for(let f=0;f<o.length;f++){let u=i,d=i+o[f];if(!l&&t>=u&&t<=d&&(r=f+1,s=t-u+1,l=!0),e>=u&&e<=d){a=f+1,c=e-u+1;break}i=d+1}return{startLine:r,startCol:s,endLine:a,endCol:c}}var Be="rgba(255, 255, 255, 0.12)",qt=6,ne=new WeakMap,oe={dim:null,ids:new Set,fade:null},We={bands:[],fade:null};function V(t){return M.custom(t,{private:!0})}var q=M.custom(void 0,{kind:"selector"}),X=M.text("",{multiline:!0});function $e(t={}){let e={diff:t.diffStrategy??st,phases:t.phaseStrategy??It,edits:new WeakMap},o=(r,s)=>s?r.animate(s):r.wait(0),i=Re({key:"code",state:{code:M.custom("",{lerp:Ue}),language:"typescript",fontFamily:"Fira Mono",theme:M.custom(T.name),fontSize:16,lineHeight:1.6,letterSpacing:1.1,showLineNumbers:!1,lineNumberGap:2,listing:V(null),edit:V(null),focus:V(oe),banding:V(We)},defaults:{width:"hug",height:"hug"},allowedChildren:[],load:(r,s)=>{r.font(s.fontFamily),r.task(`shiki:lang:${s.language}`,sn(s.language),{before:"layout"})},commands:{append:{args:{code:X},run:(r,s)=>{let a=E(s,e);return o(r,j(e,a,a.source+r.args.code,O(s)))}},prepend:{args:{code:X},run:(r,s)=>{let a=E(s,e);return o(r,j(e,a,r.args.code+a.source,O(s)))}},insert:{args:{position:M.custom(void 0,{kind:"point",properties:{line:{kind:"number",default:1,min:1,step:1},col:{kind:"number",default:1,min:1,step:1}}}),code:X},run:(r,s)=>{let a=E(s,e),c=nn(a.lines,r.args.position),l=a.source.slice(0,c)+r.args.code+a.source.slice(c);return o(r,j(e,a,l,O(s)))}},remove:{args:{target:q},run:(r,s)=>o(r,Ze(e,s,r.args.target))},replace:{args:{target:q,replacement:X},run:(r,s)=>{let a=E(s,e),{start:c,end:l}=z(r.args.target,Q(a.lines)),f=a.source.slice(0,c)+r.args.replacement+a.source.slice(l);return o(r,j(e,a,f,O(s)))}},highlight:{args:{target:q,dim:M.number(.4,{min:0,max:1,step:.01,scale:100,unit:"%"})},run:(r,s)=>o(r,tn(e,s,r.args.target,r.args.dim))},resetHighlight:(r,s)=>o(r,en(e,s)),highlightRows:{args:{target:q,color:M.color(Be),radius:M.number(qt,{min:0,step:1})},run:(r,s)=>{let a=E(s,e),c=rn(a.lines,ce(r.args.target),r.args.color,Math.max(0,r.args.radius??qt));return o(r,Zt(a,s.banding.bands,c))}},resetRowHighlight:(r,s)=>o(r,Zt(E(s,e),s.banding.bands,[]))},measure:(r,s)=>an(r,s,e),render:(r,s)=>r.textStyle(null,()=>fn(r,s,e))});return ne.set(i.node,e),i}var re=$e();function Rn(t){let e=ne.get(t.constructor);if(!e)throw new TypeError("listingOf takes a node a `Code` component built.");let o=pt(t,e);return{source:o.source,lines:o.lines,edit:ie(o)}}function Ye(t,e){let o=[];if(!e)return o;let i=N(J(t)),r=i.split(`
6
+ `).map(a=>a.length),s=0;for(;;){let a=i.indexOf(e,s);if(a===-1)break;o.push(ut(a,a+e.length,r)),s=a+Math.max(1,e.length)}return o}function Pe(t,e,o){return Ye(t,e)[o]??null}function Bn(t,e){return Pe(t,e,0)}function pt(t,e){let o=t.code;if(typeof o!="string"){let{transition:r}=se(ht(t,o.from,e),o.to,O(t),e);return{source:o.to,lines:r.to,transition:r,progress:o.t}}if(t.edit)return{source:N(o),lines:t.edit.transition.to,transition:t.edit.transition,progress:t.edit.progress};let i=ht(t,N(o),e);return{source:i.source,lines:i.lines,transition:null,progress:1}}function ie(t){return t.transition?{...t.transition,progress:t.progress}:null}function E(t,e){return ht(t,N(J(t.code)),e)}function ht(t,e,o){let i=O(t),r=t.listing;return r?r.source!==e?se(r,e,i,o).listing:Ke(r.basis,i)?r:r.basis.language===i.language&&r.basis.highlighted===i.highlighted?Xe(r,i):Xt(e,i):Xt(e,i)}function O(t){return{language:t.language,theme:t.theme,highlighted:D(t.language,t.theme)}}function Ke(t,e){return t.language===e.language&&t.theme===e.theme&&t.highlighted===e.highlighted}function J(t){return typeof t=="string"?t:t.to}function Ue(t,e,o){let i=J(t),r=J(e),s=N(i),a=N(r);return s===a?o>=1?r:i:o<=0?s:o>=1?a:{from:s,to:a,t:o}}var Ve=new Map,qe=256;function Xt(t,e){return wt(Ve,yt(e),t,qe,()=>({source:t,lines:mt(t,e),basis:e}))}var Jt=new WeakMap;function Xe(t,e){let o=Jt.get(t.lines);return o||Jt.set(t.lines,o=new Map),wt(o,yt(e),t.source,4,()=>{let i=mt(t.source,e);return Qe(t.lines,i),{source:t.source,lines:i,basis:e}})}function se(t,e,o,i){let r=i.edits.get(t.lines);return r||i.edits.set(t.lines,r=new Map),wt(r,yt(o),e,16,()=>ae(i,t.lines,e,o))}function ae(t,e,o,i){let r=t.diff(e,mt(o,i));return{transition:{kind:"structural",from:e,to:r.lines,removedIds:r.removedIds,addedIds:r.addedIds,enteringLineIds:r.newLineIds,fromColorById:r.fromColorById,phases:t.phases(r.removedIds.size>0,r.addedIds.size>0),progress:0,layoutKey:null,fromLayout:null,toLayout:null},listing:{source:o,lines:r.lines,basis:i}}}function mt(t,e){return e.highlighted||H(void 0,[e.language]).catch(()=>{}),dt(t,e.language,e.theme)}var Qt=new WeakMap,Je=1;function yt(t){let e;if(typeof t.theme=="string")e=`name:${t.theme}`;else{let o=Qt.get(t.theme);o===void 0&&Qt.set(t.theme,o=Je++),e=`style:${o}`}return`${t.language}
7
+ ${t.highlighted?1:0}
8
+ ${e}`}function wt(t,e,o,i,r){let s=t.get(e);s||t.set(e,s=new Map);let a=s.get(o);if(a!==void 0)return s.delete(o),s.set(o,a),a;let c=r();return s.set(o,c),s.size>i&&s.delete(s.keys().next().value),c}function Qe(t,e){if(t.length===e.length){for(let o=0;o<t.length;o++){let i=t[o].tokens,r=e[o].tokens;if(i.length!==r.length)return;for(let s=0;s<i.length;s++)if(i[s].content!==r[s].content)return}for(let o=0;o<t.length;o++){e[o].id=t[o].id;for(let i=0;i<t[o].tokens.length;i++)e[o].tokens[i].id=t[o].tokens[i].id}}}function j(t,e,o,i){let r=N(o);if(r===e.source)return null;let{transition:s,listing:a}=ae(t,e.lines,r,i);return c=>c<=0?{code:e.source,listing:e,edit:null}:c>=1?{code:r,listing:a,edit:null}:{code:r,listing:a,edit:{transition:s,progress:c}}}function Ze(t,e,o){let i=E(e,t),r=i.source,{start:s,end:a}=z(o,Q(i.lines)),c=s===0||r[s-1]===`
9
+ `,l=a===r.length||r[a]===`
10
+ `;if(c&&l)a<r.length?a+=1:s>0&&(s-=1);else if(a<=s)return null;return a<=s?null:j(t,i,r.slice(0,s)+r.slice(a),O(e))}function tn(t,e,o,i){let r=E(e,t),s=i??.4,a=on(r.lines,ce(o));if(a.size===0)return null;let c=e.focus,l=c.dim??1,f=c.ids.size>0,u=[];for(let p of r.lines)for(let g of p.tokens){let m=!f||c.ids.has(g.id)?1:l,y=a.has(g.id)?1:s;m!==y&&u.push(et(g.id,{keys:[0,1],values:[m,y]}))}let d={dim:f?l:null,ids:c.ids,fade:null},h={dim:s,ids:a,fade:null};return p=>({listing:r,focus:p<=0?d:p>=1?h:{...d,fade:{kind:"dim",tokens:u,progress:p}}})}function en(t,e){let o=e.focus;if(o.dim===null)return null;let i=E(e,t),r=o.dim,s=[];for(let c of i.lines)for(let l of c.tokens){let f=o.ids.has(l.id)?1:r;f!==1&&s.push(et(l.id,{keys:[0,1],values:[f,1]}))}let a={dim:r,ids:o.ids,fade:null};return c=>({listing:i,focus:c>=1?oe:c<=0?a:{...a,fade:{kind:"dim",tokens:s,progress:c}}})}function Zt(t,e,o){return e.length===0&&o.length===0?null:i=>({listing:t,banding:i>=1?{bands:o,fade:null}:i<=0?{bands:e,fade:null}:{bands:e,fade:{kind:"rows",from:e,to:o,progress:i}}})}function Q(t){return t.map(e=>e.tokens.reduce((o,i)=>o+i.content.length,0))}function nn(t,e){let o=Q(t);if(o.length===0)return 0;let[i,r]=e,s=Math.max(0,Math.min(o.length-1,i-1)),a=0;for(let c=0;c<s;c++)a+=o[c]+1;return a+Math.max(0,Math.min(o[s],r-1))}function on(t,e){let o=new Set,i=Q(t);if(i.length===0)return o;let r=e.map(a=>z(a,i)).filter(({start:a,end:c})=>c>a);if(r.length===0)return o;let s=0;for(let a=0;a<t.length;a++){for(let c of t[a].tokens){let l=s,f=s+c.content.length;r.some(({start:u,end:d})=>f>u&&l<d)&&o.add(c.id),s=f}a<t.length-1&&(s+=1)}return o}function rn(t,e,o,i){let r=t.length,s=[];for(let a of e){let c=Math.max(1,Math.round(a.startLine??1)),l=Math.min(r,a.endLine==null||a.endLine===1/0?r:Math.round(a.endLine));c>l||s.push({startId:t[c-1].id,endId:t[l-1].id,color:o,radius:i})}return s}function ce(t){if(typeof t[Symbol.iterator]=="function")return[...t];let o=t.list;return Array.isArray(o)?[...o]:[t]}var te=new Map;function sn(t){let e=te.get(t);return e===void 0&&(e=()=>H(void 0,[t]),te.set(t,e)),e}var ee=new WeakMap;function le(t){let e=ee.get(t);return e||ee.set(t,e={advances:new G,measurer:null,scope:null,settled:null,edit:null}),e}function fe(t){return{fontSize:t.fontSize,fontFamily:t.fontFamily,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,padding:t.padding,showLineNumbers:t.showLineNumbers,lineNumberGap:t.lineNumberGap}}function de(t,e,o){let i=t.advances.signature(o.fontSize,o.fontFamily);t.advances.sync(i);let r=`${Ct(o)}|${i}`,s=t.scope;if(!e.transition){let l=t.settled;if(l&&l.lines===e.lines&&l.key===r)return{from:l.layout,to:l.layout};if(!s)return null;let f=W(e.lines,o,t.advances,s);return t.settled={lines:e.lines,key:r,layout:f},{from:f,to:f}}let a=t.edit;if(a&&a.transition===e.transition&&a.key===r)return a;if(!s)return null;let c={transition:e.transition,key:r,from:W(e.transition.from,o,t.advances,s),to:W(e.transition.to,o,t.advances,s)};return t.edit=c,c}function an(t,e,o){let i=le(e);i.measurer!==t&&(i.measurer=t,i.scope={measureText:(u,d,h,p,g)=>t.text(u,{fontFamily:h,fontSize:d,fontWeight:p,letterSpacing:g})});let r=pt(e,o),s=fe(e),a=de(i,r,s);if(!a)return{width:0,height:0};let c=B(r.transition?{phases:r.transition.phases,progress:r.progress}:null),l=r.transition?Vt(a.from.innerW,a.to.innerW,c):a.to.innerW,f=r.transition?Vt(a.from.innerH,a.to.innerH,c):a.to.innerH;return{width:l+s.padding.left+s.padding.right,height:f+s.padding.top+s.padding.bottom}}var cn={fill:[],stroke:[],shadow:[],overlay:[],start:0,end:1,clip:!1},ln=()=>{};function fn(t,e,o){let i=le(e),r=pt(e,o),s=fe(e),a=de(i,r,s);je.draw(t,cn,null,{clipShape:dn(r,a,s,t.size),children:ln});let c=i.scope;if(!a||!c)return;let{focus:l,banding:f}=e;it({draw:u=>t.draw(u),measureText:c.measureText},{tokenLines:r.lines,metrics:s,advanceCache:i.advances,from:a.from,to:a.to,edit:ie(r),tokenStates:Lt(r.lines,l.fade?[l.fade]:[],l.dim,l.ids),highlightActive:l.dim!==null||l.fade!==null,rowBands:f.bands,rowsEdit:f.fade,boxW:t.size.width})}function dn(t,e,o,i){let r={x:0,y:0,width:i.width,height:i.height};if(t.transition||!e)return new gt().rect(r);let s=e.to,a=o.fontSize*o.lineHeight/2,c=o.showLineNumbers?s.gutter:0,l=Math.max(s.startX-c,-i.width/2),f=new gt,u=0;for(let d=0;d<s.lineY.length;d++){let h=s.lineW[d]??0;if(h+c<=0)continue;let p=Math.min(s.startX+h,i.width/2),g=s.lineY[d],m=Math.min(g+a,i.height/2),y=Math.max(g-a,-i.height/2);if(p<l||m<y)continue;let k=m===g+a&&y===g-a;f.rect({x:(l+p)/2,y:k?g:(m+y)/2,width:p-l,height:k?2*a:m-y}),u++}return u>0?f:new gt().rect(r).rect(r).cut()}var un=[re];export{Y as BUILTIN_THEMES,re as Code,U as CodeRangeChain,ze as CodeRanges,T as DefaultHighlightStyle,Ht as GithubDarkStyle,Ft as GithubLightStyle,un as NODES,G as TokenAdvanceCache,_t as VscodeDarkStyle,Dt as VscodeLightStyle,D as canHighlight,ut as charOffsetsToRange,at as compileStyle,st as defaultCodeDiff,It as defaultCodePhases,$e as defineCode,it as drawCode,H as ensureHighlighter,Ye as findAllRanges,Bn as findFirstRange,Pe as findRangeAt,Oe as initSyntaxHighlighter,W as layoutCode,Ut as lines,Rn as listingOf,Ae as loadCodeLanguage,et as makeAnim,Ct as metricsSignature,B as moveProgress,N as normalizeSource,he as phasesFor,z as rangeToCharOffsets,Me as registerCodeTheme,K as resolveTheme,Lt as resolveTokenStates,ue as sampleCurve,ge as smoothstep,dt as tokenizeCodeToIdLines,R as windowProgress,Kt as word};
11
+ //# sourceMappingURL=index.js.map