module Arborist::Grammar::Rules

Extended Modules

Defined in:

grammar_rules.cr

Constant Summary

Alnum = choice(apply("letter"), apply("digit"))
Alt = seq(apply("Seq"), star(seq(term("/"), apply("Seq"))))
Base = choice((apply("MutexAlt")).label("mutexAlt"), (seq(apply("ident"), neg(term("<-")), neg(term("=")))).label("application"), (apply("range")).label("range"), (apply("terminal")).label("terminal"), (seq(term("("), apply("Alt"), term(")"))).label("group"), (term(".")).label("dot"))
CaseName = seq(term("--"), star(seq(neg(term("\n")), apply("space"))), apply("name"), star(seq(neg(term("\n")), apply("space"))), choice(term("\n"), pos(term("}"))))
Comment = choice((seq(choice(term("//"), term("#")), star(seq(neg(term("\n")), dot)), term("\n"))).label("singleLine"), (seq(term("/*"), star(seq(neg(term("*/")), dot)), term("*/"))).label("multiLine"))

comment = ("//" / "#") (!"\n" dot)* "\n" -- singleLine / "/" (!"/" dot)* "*/" -- multiLine

Digit = range('0'..'9')
EscapeChar = choice((term("\\\\")).label("backslash"), (term("\\\"")).label("doubleQuote"), (term("\\'")).label("singleQuote"), (term("\\b")).label("backspace"), (term("\\n")).label("lineFeed"), (term("\\r")).label("carriageReturn"), (term("\\t")).label("tab"), (seq(term("\\u{"), plus(apply("hexDigit")), term("}"))).label("unicodeEscapeLong"), (seq(term("\\u"), apply("hexDigit"), apply("hexDigit"), apply("hexDigit"), apply("hexDigit"))).label("unicodeEscape"), (seq(term("\\x"), apply("hexDigit"), apply("hexDigit"))).label("hexEscape"))
Grammar = choice((seq(star(apply("space")), apply("ident"), term("{"), star(apply("Rule")), term("}"), star(apply("skip")))).label("named"), (seq(star(apply("space")), star(apply("Rule")), star(apply("skip")))).label("unnamed"))

Grammar = ident "{" Rule* "}" / Rule*

GrammarParser = (((((((((((((((((((((((((((((((((((Matcher.new.add_rule("Grammar", Grammar)).add_rule("Rule", Rule)).add_rule("RuleBody", RuleBody)).add_rule("TopLevelTerm", TopLevelTerm)).add_rule("Alt", Alt)).add_rule("Seq", Seq)).add_rule("Pred", Pred)).add_rule("Iter", Iter)).add_rule("Label", Label)).add_rule("Base", Base)).add_rule("MutexAlt", MutexAlt)).add_rule("mutexAltTerm", MutexAltTerm)).add_rule("range", Range)).add_rule("caseName", CaseName)).add_rule("name", Name)).add_rule("nameFirst", NameFirst)).add_rule("nameRest", NameRest)).add_rule("ident", Ident)).add_rule("terminal", Terminal)).add_rule("oneCharTerminal", OneCharTerminal)).add_rule("terminalChar", TerminalChar)).add_rule("escapeChar", EscapeChar)).add_rule("skip", Skip)).add_rule("space", Space)).add_rule("comment", Comment)).add_rule("alnum", Alnum)).add_rule("letter", Letter)).add_rule("digit", Digit)).add_rule("hexDigit", HexDigit)).add_rule("unicode_digit", UnicodeDigit)).add_rule("unicode_upper", UnicodeUpper)).add_rule("unicode_lower", UnicodeLower)).add_rule("unicode_titlecase", UnicodeTitlecase)).add_rule("unicode_modifier", UnicodeModifier)).add_rule("unicode_other_letter", UnicodeOtherLetter)).add_rule("unicode_letter", UnicodeLetter)
HexDigit = alt(range('0'..'9'), range('A'..'F'), range('a'..'f'))
Ident = apply("name")
Iter = choice((seq(apply("Label"), term("*"))).label("star"), (seq(apply("Label"), term("+"))).label("plus"), (seq(apply("Label"), term("?"))).label("opt"), (apply("Label")).label("label"))
Label = choice((seq(apply("ident"), term("="), apply("Base"))).label("label"), (apply("Base")).label("base"))
Letter = apply("unicode_letter")
MutexAlt = seq(apply("mutexAltTerm"), plus(seq(term("|"), apply("mutexAltTerm"))))
MutexAltTerm = choice((seq(apply("ident"), neg(term("<-")), neg(term("=")))).label("application"), (apply("range")).label("range"), (apply("terminal")).label("terminal"), (term(".")).label("dot"))
Name = seq(apply("nameFirst"), star(apply("nameRest")))
NameFirst = choice(term("_"), apply("letter"))
NameRest = choice(term("_"), apply("alnum"))
OneCharTerminal = seq(term("\""), apply("terminalChar"), term("\""))
Pred = choice((seq(term("!"), apply("Iter"))).label("neg"), (seq(term("&"), apply("Iter"))).label("pos"), (apply("Iter")).label("iter"))
Range = seq((apply("oneCharTerminal")).label("start_char"), term(".."), (apply("oneCharTerminal")).label("end_char"))
Rule = (seq(apply("ident"), term("<-"), apply("RuleBody"))).label("define")
RuleBody = seq(opt(term("/")), apply("TopLevelTerm"), star(seq(term("/"), apply("TopLevelTerm"))))
Seq = star(apply("Pred"))
Skip = choice(range('\0'..' '), apply("comment"))

The skip rule is special, in that Syntactic rules (rules named with an uppercase first letter) will implicitly apply the skip rule 0+ times between terms, consuming any characters matched by the skip rule. Characters consumed by the skip rule will be treated as non-existent by the other terms in the grammar. For example, if the skip rule were defined as skip <- " " | "\n" | "\t", then the following rule, Foo = "bar" "baz", would match on the string "bar \t\t\n\n baz"", because the whitespace in between the terms would be ignored.

Space = choice(range('\0'..' '), apply("comment"))
Terminal = seq(term("\""), star(apply("terminalChar")), term("\""))
TerminalChar = choice((apply("escapeChar")).label("escape"), (seq(neg(term("\\")), neg(term("\"")), neg(term("\n")), dot.label("char"))).label("char"))
TopLevelTerm = choice((seq(apply("Seq"), apply("caseName"))).label("inline"), (apply("Seq")).label("seq"))
UnicodeDigit = alt([range((Unicode.char("30"))..(Unicode.char("39"))), range((Unicode.char("660"))..(Unicode.char("669"))), range((Unicode.char("6F0"))..(Unicode.char("6F9"))), range((Unicode.char("7C0"))..(Unicode.char("7C9"))), range((Unicode.char("966"))..(Unicode.char("96F"))), range((Unicode.char("9E6"))..(Unicode.char("9EF"))), range((Unicode.char("A66"))..(Unicode.char("A6F"))), range((Unicode.char("AE6"))..(Unicode.char("AEF"))), range((Unicode.char("B66"))..(Unicode.char("B6F"))), range((Unicode.char("BE6"))..(Unicode.char("BEF"))), range((Unicode.char("C66"))..(Unicode.char("C6F"))), range((Unicode.char("CE6"))..(Unicode.char("CEF"))), range((Unicode.char("D66"))..(Unicode.char("D6F"))), range((Unicode.char("DE6"))..(Unicode.char("DEF"))), range((Unicode.char("E50"))..(Unicode.char("E59"))), range((Unicode.char("ED0"))..(Unicode.char("ED9"))), range((Unicode.char("F20"))..(Unicode.char("F29"))), range((Unicode.char("1040"))..(Unicode.char("1049"))), range((Unicode.char("1090"))..(Unicode.char("1099"))), range((Unicode.char("17E0"))..(Unicode.char("17E9"))), range((Unicode.char("1810"))..(Unicode.char("1819"))), range((Unicode.char("1946"))..(Unicode.char("194F"))), range((Unicode.char("19D0"))..(Unicode.char("19D9"))), range((Unicode.char("1A80"))..(Unicode.char("1A89"))), range((Unicode.char("1A90"))..(Unicode.char("1A99"))), range((Unicode.char("1B50"))..(Unicode.char("1B59"))), range((Unicode.char("1BB0"))..(Unicode.char("1BB9"))), range((Unicode.char("1C40"))..(Unicode.char("1C49"))), range((Unicode.char("1C50"))..(Unicode.char("1C59"))), range((Unicode.char("A620"))..(Unicode.char("A629"))), range((Unicode.char("A8D0"))..(Unicode.char("A8D9"))), range((Unicode.char("A900"))..(Unicode.char("A909"))), range((Unicode.char("A9D0"))..(Unicode.char("A9D9"))), range((Unicode.char("A9F0"))..(Unicode.char("A9F9"))), range((Unicode.char("AA50"))..(Unicode.char("AA59"))), range((Unicode.char("ABF0"))..(Unicode.char("ABF9"))), range((Unicode.char("FF10"))..(Unicode.char("FF19"))), range((Unicode.char("104A0"))..(Unicode.char("104A9"))), range((Unicode.char("10D30"))..(Unicode.char("10D39"))), range((Unicode.char("11066"))..(Unicode.char("1106F"))), range((Unicode.char("110F0"))..(Unicode.char("110F9"))), range((Unicode.char("11136"))..(Unicode.char("1113F"))), range((Unicode.char("111D0"))..(Unicode.char("111D9"))), range((Unicode.char("112F0"))..(Unicode.char("112F9"))), range((Unicode.char("11450"))..(Unicode.char("11459"))), range((Unicode.char("114D0"))..(Unicode.char("114D9"))), range((Unicode.char("11650"))..(Unicode.char("11659"))), range((Unicode.char("116C0"))..(Unicode.char("116C9"))), range((Unicode.char("11730"))..(Unicode.char("11739"))), range((Unicode.char("118E0"))..(Unicode.char("118E9"))), range((Unicode.char("11C50"))..(Unicode.char("11C59"))), range((Unicode.char("11D50"))..(Unicode.char("11D59"))), range((Unicode.char("11DA0"))..(Unicode.char("11DA9"))), range((Unicode.char("16A60"))..(Unicode.char("16A69"))), range((Unicode.char("16B50"))..(Unicode.char("16B59"))), range((Unicode.char("1D7CE"))..(Unicode.char("1D7FF"))), range((Unicode.char("1E950"))..(Unicode.char("1E959")))] of Expr)

these rules generated by gen_combinator_rules.rb

UnicodeLetter = alt(UnicodeUpper, UnicodeLower, UnicodeTitlecase, UnicodeModifier, UnicodeOtherLetter)
UnicodeLower = alt([range((Unicode.char("61"))..(Unicode.char("7A"))), range((Unicode.char("B5"))..(Unicode.char("B5"))), range((Unicode.char("DF"))..(Unicode.char("F6"))), range((Unicode.char("F8"))..(Unicode.char("FF"))), range((Unicode.char("101"))..(Unicode.char("101"))), range((Unicode.char("103"))..(Unicode.char("103"))), range((Unicode.char("105"))..(Unicode.char("105"))), range((Unicode.char("107"))..(Unicode.char("107"))), range((Unicode.char("109"))..(Unicode.char("109"))), range((Unicode.char("10B"))..(Unicode.char("10B"))), range((Unicode.char("10D"))..(Unicode.char("10D"))), range((Unicode.char("10F"))..(Unicode.char("10F"))), range((Unicode.char("111"))..(Unicode.char("111"))), range((Unicode.char("113"))..(Unicode.char("113"))), range((Unicode.char("115"))..(Unicode.char("115"))), range((Unicode.char("117"))..(Unicode.char("117"))), range((Unicode.char("119"))..(Unicode.char("119"))), range((Unicode.char("11B"))..(Unicode.char("11B"))), range((Unicode.char("11D"))..(Unicode.char("11D"))), range((Unicode.char("11F"))..(Unicode.char("11F"))), range((Unicode.char("121"))..(Unicode.char("121"))), range((Unicode.char("123"))..(Unicode.char("123"))), range((Unicode.char("125"))..(Unicode.char("125"))), range((Unicode.char("127"))..(Unicode.char("127"))), range((Unicode.char("129"))..(Unicode.char("129"))), range((Unicode.char("12B"))..(Unicode.char("12B"))), range((Unicode.char("12D"))..(Unicode.char("12D"))), range((Unicode.char("12F"))..(Unicode.char("12F"))), range((Unicode.char("131"))..(Unicode.char("131"))), range((Unicode.char("133"))..(Unicode.char("133"))), range((Unicode.char("135"))..(Unicode.char("135"))), range((Unicode.char("137"))..(Unicode.char("138"))), range((Unicode.char("13A"))..(Unicode.char("13A"))), range((Unicode.char("13C"))..(Unicode.char("13C"))), range((Unicode.char("13E"))..(Unicode.char("13E"))), range((Unicode.char("140"))..(Unicode.char("140"))), range((Unicode.char("142"))..(Unicode.char("142"))), range((Unicode.char("144"))..(Unicode.char("144"))), range((Unicode.char("146"))..(Unicode.char("146"))), range((Unicode.char("148"))..(Unicode.char("149"))), range((Unicode.char("14B"))..(Unicode.char("14B"))), range((Unicode.char("14D"))..(Unicode.char("14D"))), range((Unicode.char("14F"))..(Unicode.char("14F"))), range((Unicode.char("151"))..(Unicode.char("151"))), range((Unicode.char("153"))..(Unicode.char("153"))), range((Unicode.char("155"))..(Unicode.char("155"))), range((Unicode.char("157"))..(Unicode.char("157"))), range((Unicode.char("159"))..(Unicode.char("159"))), range((Unicode.char("15B"))..(Unicode.char("15B"))), range((Unicode.char("15D"))..(Unicode.char("15D"))), range((Unicode.char("15F"))..(Unicode.char("15F"))), range((Unicode.char("161"))..(Unicode.char("161"))), range((Unicode.char("163"))..(Unicode.char("163"))), range((Unicode.char("165"))..(Unicode.char("165"))), range((Unicode.char("167"))..(Unicode.char("167"))), range((Unicode.char("169"))..(Unicode.char("169"))), range((Unicode.char("16B"))..(Unicode.char("16B"))), range((Unicode.char("16D"))..(Unicode.char("16D"))), range((Unicode.char("16F"))..(Unicode.char("16F"))), range((Unicode.char("171"))..(Unicode.char("171"))), range((Unicode.char("173"))..(Unicode.char("173"))), range((Unicode.char("175"))..(Unicode.char("175"))), range((Unicode.char("177"))..(Unicode.char("177"))), range((Unicode.char("17A"))..(Unicode.char("17A"))), range((Unicode.char("17C"))..(Unicode.char("17C"))), range((Unicode.char("17E"))..(Unicode.char("180"))), range((Unicode.char("183"))..(Unicode.char("183"))), range((Unicode.char("185"))..(Unicode.char("185"))), range((Unicode.char("188"))..(Unicode.char("188"))), range((Unicode.char("18C"))..(Unicode.char("18D"))), range((Unicode.char("192"))..(Unicode.char("192"))), range((Unicode.char("195"))..(Unicode.char("195"))), range((Unicode.char("199"))..(Unicode.char("19B"))), range((Unicode.char("19E"))..(Unicode.char("19E"))), range((Unicode.char("1A1"))..(Unicode.char("1A1"))), range((Unicode.char("1A3"))..(Unicode.char("1A3"))), range((Unicode.char("1A5"))..(Unicode.char("1A5"))), range((Unicode.char("1A8"))..(Unicode.char("1A8"))), range((Unicode.char("1AA"))..(Unicode.char("1AB"))), range((Unicode.char("1AD"))..(Unicode.char("1AD"))), range((Unicode.char("1B0"))..(Unicode.char("1B0"))), range((Unicode.char("1B4"))..(Unicode.char("1B4"))), range((Unicode.char("1B6"))..(Unicode.char("1B6"))), range((Unicode.char("1B9"))..(Unicode.char("1BA"))), range((Unicode.char("1BD"))..(Unicode.char("1BF"))), range((Unicode.char("1C6"))..(Unicode.char("1C6"))), range((Unicode.char("1C9"))..(Unicode.char("1C9"))), range((Unicode.char("1CC"))..(Unicode.char("1CC"))), range((Unicode.char("1CE"))..(Unicode.char("1CE"))), range((Unicode.char("1D0"))..(Unicode.char("1D0"))), range((Unicode.char("1D2"))..(Unicode.char("1D2"))), range((Unicode.char("1D4"))..(Unicode.char("1D4"))), range((Unicode.char("1D6"))..(Unicode.char("1D6"))), range((Unicode.char("1D8"))..(Unicode.char("1D8"))), range((Unicode.char("1DA"))..(Unicode.char("1DA"))), range((Unicode.char("1DC"))..(Unicode.char("1DD"))), range((Unicode.char("1DF"))..(Unicode.char("1DF"))), range((Unicode.char("1E1"))..(Unicode.char("1E1"))), range((Unicode.char("1E3"))..(Unicode.char("1E3"))), range((Unicode.char("1E5"))..(Unicode.char("1E5"))), range((Unicode.char("1E7"))..(Unicode.char("1E7"))), range((Unicode.char("1E9"))..(Unicode.char("1E9"))), range((Unicode.char("1EB"))..(Unicode.char("1EB"))), range((Unicode.char("1ED"))..(Unicode.char("1ED"))), range((Unicode.char("1EF"))..(Unicode.char("1F0"))), range((Unicode.char("1F3"))..(Unicode.char("1F3"))), range((Unicode.char("1F5"))..(Unicode.char("1F5"))), range((Unicode.char("1F9"))..(Unicode.char("1F9"))), range((Unicode.char("1FB"))..(Unicode.char("1FB"))), range((Unicode.char("1FD"))..(Unicode.char("1FD"))), range((Unicode.char("1FF"))..(Unicode.char("1FF"))), range((Unicode.char("201"))..(Unicode.char("201"))), range((Unicode.char("203"))..(Unicode.char("203"))), range((Unicode.char("205"))..(Unicode.char("205"))), range((Unicode.char("207"))..(Unicode.char("207"))), range((Unicode.char("209"))..(Unicode.char("209"))), range((Unicode.char("20B"))..(Unicode.char("20B"))), range((Unicode.char("20D"))..(Unicode.char("20D"))), range((Unicode.char("20F"))..(Unicode.char("20F"))), range((Unicode.char("211"))..(Unicode.char("211"))), range((Unicode.char("213"))..(Unicode.char("213"))), range((Unicode.char("215"))..(Unicode.char("215"))), range((Unicode.char("217"))..(Unicode.char("217"))), range((Unicode.char("219"))..(Unicode.char("219"))), range((Unicode.char("21B"))..(Unicode.char("21B"))), range((Unicode.char("21D"))..(Unicode.char("21D"))), range((Unicode.char("21F"))..(Unicode.char("21F"))), range((Unicode.char("221"))..(Unicode.char("221"))), range((Unicode.char("223"))..(Unicode.char("223"))), range((Unicode.char("225"))..(Unicode.char("225"))), range((Unicode.char("227"))..(Unicode.char("227"))), range((Unicode.char("229"))..(Unicode.char("229"))), range((Unicode.char("22B"))..(Unicode.char("22B"))), range((Unicode.char("22D"))..(Unicode.char("22D"))), range((Unicode.char("22F"))..(Unicode.char("22F"))), range((Unicode.char("231"))..(Unicode.char("231"))), range((Unicode.char("233"))..(Unicode.char("239"))), range((Unicode.char("23C"))..(Unicode.char("23C"))), range((Unicode.char("23F"))..(Unicode.char("240"))), range((Unicode.char("242"))..(Unicode.char("242"))), range((Unicode.char("247"))..(Unicode.char("247"))), range((Unicode.char("249"))..(Unicode.char("249"))), range((Unicode.char("24B"))..(Unicode.char("24B"))), range((Unicode.char("24D"))..(Unicode.char("24D"))), range((Unicode.char("24F"))..(Unicode.char("293"))), range((Unicode.char("295"))..(Unicode.char("2AF"))), range((Unicode.char("371"))..(Unicode.char("371"))), range((Unicode.char("373"))..(Unicode.char("373"))), range((Unicode.char("377"))..(Unicode.char("377"))), range((Unicode.char("37B"))..(Unicode.char("37D"))), range((Unicode.char("390"))..(Unicode.char("390"))), range((Unicode.char("3AC"))..(Unicode.char("3CE"))), range((Unicode.char("3D0"))..(Unicode.char("3D1"))), range((Unicode.char("3D5"))..(Unicode.char("3D7"))), range((Unicode.char("3D9"))..(Unicode.char("3D9"))), range((Unicode.char("3DB"))..(Unicode.char("3DB"))), range((Unicode.char("3DD"))..(Unicode.char("3DD"))), range((Unicode.char("3DF"))..(Unicode.char("3DF"))), range((Unicode.char("3E1"))..(Unicode.char("3E1"))), range((Unicode.char("3E3"))..(Unicode.char("3E3"))), range((Unicode.char("3E5"))..(Unicode.char("3E5"))), range((Unicode.char("3E7"))..(Unicode.char("3E7"))), range((Unicode.char("3E9"))..(Unicode.char("3E9"))), range((Unicode.char("3EB"))..(Unicode.char("3EB"))), range((Unicode.char("3ED"))..(Unicode.char("3ED"))), range((Unicode.char("3EF"))..(Unicode.char("3F3"))), range((Unicode.char("3F5"))..(Unicode.char("3F5"))), range((Unicode.char("3F8"))..(Unicode.char("3F8"))), range((Unicode.char("3FB"))..(Unicode.char("3FC"))), range((Unicode.char("430"))..(Unicode.char("45F"))), range((Unicode.char("461"))..(Unicode.char("461"))), range((Unicode.char("463"))..(Unicode.char("463"))), range((Unicode.char("465"))..(Unicode.char("465"))), range((Unicode.char("467"))..(Unicode.char("467"))), range((Unicode.char("469"))..(Unicode.char("469"))), range((Unicode.char("46B"))..(Unicode.char("46B"))), range((Unicode.char("46D"))..(Unicode.char("46D"))), range((Unicode.char("46F"))..(Unicode.char("46F"))), range((Unicode.char("471"))..(Unicode.char("471"))), range((Unicode.char("473"))..(Unicode.char("473"))), range((Unicode.char("475"))..(Unicode.char("475"))), range((Unicode.char("477"))..(Unicode.char("477"))), range((Unicode.char("479"))..(Unicode.char("479"))), range((Unicode.char("47B"))..(Unicode.char("47B"))), range((Unicode.char("47D"))..(Unicode.char("47D"))), range((Unicode.char("47F"))..(Unicode.char("47F"))), range((Unicode.char("481"))..(Unicode.char("481"))), range((Unicode.char("48B"))..(Unicode.char("48B"))), range((Unicode.char("48D"))..(Unicode.char("48D"))), range((Unicode.char("48F"))..(Unicode.char("48F"))), range((Unicode.char("491"))..(Unicode.char("491"))), range((Unicode.char("493"))..(Unicode.char("493"))), range((Unicode.char("495"))..(Unicode.char("495"))), range((Unicode.char("497"))..(Unicode.char("497"))), range((Unicode.char("499"))..(Unicode.char("499"))), range((Unicode.char("49B"))..(Unicode.char("49B"))), range((Unicode.char("49D"))..(Unicode.char("49D"))), range((Unicode.char("49F"))..(Unicode.char("49F"))), range((Unicode.char("4A1"))..(Unicode.char("4A1"))), range((Unicode.char("4A3"))..(Unicode.char("4A3"))), range((Unicode.char("4A5"))..(Unicode.char("4A5"))), range((Unicode.char("4A7"))..(Unicode.char("4A7"))), range((Unicode.char("4A9"))..(Unicode.char("4A9"))), range((Unicode.char("4AB"))..(Unicode.char("4AB"))), range((Unicode.char("4AD"))..(Unicode.char("4AD"))), range((Unicode.char("4AF"))..(Unicode.char("4AF"))), range((Unicode.char("4B1"))..(Unicode.char("4B1"))), range((Unicode.char("4B3"))..(Unicode.char("4B3"))), range((Unicode.char("4B5"))..(Unicode.char("4B5"))), range((Unicode.char("4B7"))..(Unicode.char("4B7"))), range((Unicode.char("4B9"))..(Unicode.char("4B9"))), range((Unicode.char("4BB"))..(Unicode.char("4BB"))), range((Unicode.char("4BD"))..(Unicode.char("4BD"))), range((Unicode.char("4BF"))..(Unicode.char("4BF"))), range((Unicode.char("4C2"))..(Unicode.char("4C2"))), range((Unicode.char("4C4"))..(Unicode.char("4C4"))), range((Unicode.char("4C6"))..(Unicode.char("4C6"))), range((Unicode.char("4C8"))..(Unicode.char("4C8"))), range((Unicode.char("4CA"))..(Unicode.char("4CA"))), range((Unicode.char("4CC"))..(Unicode.char("4CC"))), range((Unicode.char("4CE"))..(Unicode.char("4CF"))), range((Unicode.char("4D1"))..(Unicode.char("4D1"))), range((Unicode.char("4D3"))..(Unicode.char("4D3"))), range((Unicode.char("4D5"))..(Unicode.char("4D5"))), range((Unicode.char("4D7"))..(Unicode.char("4D7"))), range((Unicode.char("4D9"))..(Unicode.char("4D9"))), range((Unicode.char("4DB"))..(Unicode.char("4DB"))), range((Unicode.char("4DD"))..(Unicode.char("4DD"))), range((Unicode.char("4DF"))..(Unicode.char("4DF"))), range((Unicode.char("4E1"))..(Unicode.char("4E1"))), range((Unicode.char("4E3"))..(Unicode.char("4E3"))), range((Unicode.char("4E5"))..(Unicode.char("4E5"))), range((Unicode.char("4E7"))..(Unicode.char("4E7"))), range((Unicode.char("4E9"))..(Unicode.char("4E9"))), range((Unicode.char("4EB"))..(Unicode.char("4EB"))), range((Unicode.char("4ED"))..(Unicode.char("4ED"))), range((Unicode.char("4EF"))..(Unicode.char("4EF"))), range((Unicode.char("4F1"))..(Unicode.char("4F1"))), range((Unicode.char("4F3"))..(Unicode.char("4F3"))), range((Unicode.char("4F5"))..(Unicode.char("4F5"))), range((Unicode.char("4F7"))..(Unicode.char("4F7"))), range((Unicode.char("4F9"))..(Unicode.char("4F9"))), range((Unicode.char("4FB"))..(Unicode.char("4FB"))), range((Unicode.char("4FD"))..(Unicode.char("4FD"))), range((Unicode.char("4FF"))..(Unicode.char("4FF"))), range((Unicode.char("501"))..(Unicode.char("501"))), range((Unicode.char("503"))..(Unicode.char("503"))), range((Unicode.char("505"))..(Unicode.char("505"))), range((Unicode.char("507"))..(Unicode.char("507"))), range((Unicode.char("509"))..(Unicode.char("509"))), range((Unicode.char("50B"))..(Unicode.char("50B"))), range((Unicode.char("50D"))..(Unicode.char("50D"))), range((Unicode.char("50F"))..(Unicode.char("50F"))), range((Unicode.char("511"))..(Unicode.char("511"))), range((Unicode.char("513"))..(Unicode.char("513"))), range((Unicode.char("515"))..(Unicode.char("515"))), range((Unicode.char("517"))..(Unicode.char("517"))), range((Unicode.char("519"))..(Unicode.char("519"))), range((Unicode.char("51B"))..(Unicode.char("51B"))), range((Unicode.char("51D"))..(Unicode.char("51D"))), range((Unicode.char("51F"))..(Unicode.char("51F"))), range((Unicode.char("521"))..(Unicode.char("521"))), range((Unicode.char("523"))..(Unicode.char("523"))), range((Unicode.char("525"))..(Unicode.char("525"))), range((Unicode.char("527"))..(Unicode.char("527"))), range((Unicode.char("529"))..(Unicode.char("529"))), range((Unicode.char("52B"))..(Unicode.char("52B"))), range((Unicode.char("52D"))..(Unicode.char("52D"))), range((Unicode.char("52F"))..(Unicode.char("52F"))), range((Unicode.char("560"))..(Unicode.char("588"))), range((Unicode.char("10D0"))..(Unicode.char("10FA"))), range((Unicode.char("10FD"))..(Unicode.char("10FF"))), range((Unicode.char("13F8"))..(Unicode.char("13FD"))), range((Unicode.char("1C80"))..(Unicode.char("1C88"))), range((Unicode.char("1D00"))..(Unicode.char("1D2B"))), range((Unicode.char("1D6B"))..(Unicode.char("1D77"))), range((Unicode.char("1D79"))..(Unicode.char("1D9A"))), range((Unicode.char("1E01"))..(Unicode.char("1E01"))), range((Unicode.char("1E03"))..(Unicode.char("1E03"))), range((Unicode.char("1E05"))..(Unicode.char("1E05"))), range((Unicode.char("1E07"))..(Unicode.char("1E07"))), range((Unicode.char("1E09"))..(Unicode.char("1E09"))), range((Unicode.char("1E0B"))..(Unicode.char("1E0B"))), range((Unicode.char("1E0D"))..(Unicode.char("1E0D"))), range((Unicode.char("1E0F"))..(Unicode.char("1E0F"))), range((Unicode.char("1E11"))..(Unicode.char("1E11"))), range((Unicode.char("1E13"))..(Unicode.char("1E13"))), range((Unicode.char("1E15"))..(Unicode.char("1E15"))), range((Unicode.char("1E17"))..(Unicode.char("1E17"))), range((Unicode.char("1E19"))..(Unicode.char("1E19"))), range((Unicode.char("1E1B"))..(Unicode.char("1E1B"))), range((Unicode.char("1E1D"))..(Unicode.char("1E1D"))), range((Unicode.char("1E1F"))..(Unicode.char("1E1F"))), range((Unicode.char("1E21"))..(Unicode.char("1E21"))), range((Unicode.char("1E23"))..(Unicode.char("1E23"))), range((Unicode.char("1E25"))..(Unicode.char("1E25"))), range((Unicode.char("1E27"))..(Unicode.char("1E27"))), range((Unicode.char("1E29"))..(Unicode.char("1E29"))), range((Unicode.char("1E2B"))..(Unicode.char("1E2B"))), range((Unicode.char("1E2D"))..(Unicode.char("1E2D"))), range((Unicode.char("1E2F"))..(Unicode.char("1E2F"))), range((Unicode.char("1E31"))..(Unicode.char("1E31"))), range((Unicode.char("1E33"))..(Unicode.char("1E33"))), range((Unicode.char("1E35"))..(Unicode.char("1E35"))), range((Unicode.char("1E37"))..(Unicode.char("1E37"))), range((Unicode.char("1E39"))..(Unicode.char("1E39"))), range((Unicode.char("1E3B"))..(Unicode.char("1E3B"))), range((Unicode.char("1E3D"))..(Unicode.char("1E3D"))), range((Unicode.char("1E3F"))..(Unicode.char("1E3F"))), range((Unicode.char("1E41"))..(Unicode.char("1E41"))), range((Unicode.char("1E43"))..(Unicode.char("1E43"))), range((Unicode.char("1E45"))..(Unicode.char("1E45"))), range((Unicode.char("1E47"))..(Unicode.char("1E47"))), range((Unicode.char("1E49"))..(Unicode.char("1E49"))), range((Unicode.char("1E4B"))..(Unicode.char("1E4B"))), range((Unicode.char("1E4D"))..(Unicode.char("1E4D"))), range((Unicode.char("1E4F"))..(Unicode.char("1E4F"))), range((Unicode.char("1E51"))..(Unicode.char("1E51"))), range((Unicode.char("1E53"))..(Unicode.char("1E53"))), range((Unicode.char("1E55"))..(Unicode.char("1E55"))), range((Unicode.char("1E57"))..(Unicode.char("1E57"))), range((Unicode.char("1E59"))..(Unicode.char("1E59"))), range((Unicode.char("1E5B"))..(Unicode.char("1E5B"))), range((Unicode.char("1E5D"))..(Unicode.char("1E5D"))), range((Unicode.char("1E5F"))..(Unicode.char("1E5F"))), range((Unicode.char("1E61"))..(Unicode.char("1E61"))), range((Unicode.char("1E63"))..(Unicode.char("1E63"))), range((Unicode.char("1E65"))..(Unicode.char("1E65"))), range((Unicode.char("1E67"))..(Unicode.char("1E67"))), range((Unicode.char("1E69"))..(Unicode.char("1E69"))), range((Unicode.char("1E6B"))..(Unicode.char("1E6B"))), range((Unicode.char("1E6D"))..(Unicode.char("1E6D"))), range((Unicode.char("1E6F"))..(Unicode.char("1E6F"))), range((Unicode.char("1E71"))..(Unicode.char("1E71"))), range((Unicode.char("1E73"))..(Unicode.char("1E73"))), range((Unicode.char("1E75"))..(Unicode.char("1E75"))), range((Unicode.char("1E77"))..(Unicode.char("1E77"))), range((Unicode.char("1E79"))..(Unicode.char("1E79"))), range((Unicode.char("1E7B"))..(Unicode.char("1E7B"))), range((Unicode.char("1E7D"))..(Unicode.char("1E7D"))), range((Unicode.char("1E7F"))..(Unicode.char("1E7F"))), range((Unicode.char("1E81"))..(Unicode.char("1E81"))), range((Unicode.char("1E83"))..(Unicode.char("1E83"))), range((Unicode.char("1E85"))..(Unicode.char("1E85"))), range((Unicode.char("1E87"))..(Unicode.char("1E87"))), range((Unicode.char("1E89"))..(Unicode.char("1E89"))), range((Unicode.char("1E8B"))..(Unicode.char("1E8B"))), range((Unicode.char("1E8D"))..(Unicode.char("1E8D"))), range((Unicode.char("1E8F"))..(Unicode.char("1E8F"))), range((Unicode.char("1E91"))..(Unicode.char("1E91"))), range((Unicode.char("1E93"))..(Unicode.char("1E93"))), range((Unicode.char("1E95"))..(Unicode.char("1E9D"))), range((Unicode.char("1E9F"))..(Unicode.char("1E9F"))), range((Unicode.char("1EA1"))..(Unicode.char("1EA1"))), range((Unicode.char("1EA3"))..(Unicode.char("1EA3"))), range((Unicode.char("1EA5"))..(Unicode.char("1EA5"))), range((Unicode.char("1EA7"))..(Unicode.char("1EA7"))), range((Unicode.char("1EA9"))..(Unicode.char("1EA9"))), range((Unicode.char("1EAB"))..(Unicode.char("1EAB"))), range((Unicode.char("1EAD"))..(Unicode.char("1EAD"))), range((Unicode.char("1EAF"))..(Unicode.char("1EAF"))), range((Unicode.char("1EB1"))..(Unicode.char("1EB1"))), range((Unicode.char("1EB3"))..(Unicode.char("1EB3"))), range((Unicode.char("1EB5"))..(Unicode.char("1EB5"))), range((Unicode.char("1EB7"))..(Unicode.char("1EB7"))), range((Unicode.char("1EB9"))..(Unicode.char("1EB9"))), range((Unicode.char("1EBB"))..(Unicode.char("1EBB"))), range((Unicode.char("1EBD"))..(Unicode.char("1EBD"))), range((Unicode.char("1EBF"))..(Unicode.char("1EBF"))), range((Unicode.char("1EC1"))..(Unicode.char("1EC1"))), range((Unicode.char("1EC3"))..(Unicode.char("1EC3"))), range((Unicode.char("1EC5"))..(Unicode.char("1EC5"))), range((Unicode.char("1EC7"))..(Unicode.char("1EC7"))), range((Unicode.char("1EC9"))..(Unicode.char("1EC9"))), range((Unicode.char("1ECB"))..(Unicode.char("1ECB"))), range((Unicode.char("1ECD"))..(Unicode.char("1ECD"))), range((Unicode.char("1ECF"))..(Unicode.char("1ECF"))), range((Unicode.char("1ED1"))..(Unicode.char("1ED1"))), range((Unicode.char("1ED3"))..(Unicode.char("1ED3"))), range((Unicode.char("1ED5"))..(Unicode.char("1ED5"))), range((Unicode.char("1ED7"))..(Unicode.char("1ED7"))), range((Unicode.char("1ED9"))..(Unicode.char("1ED9"))), range((Unicode.char("1EDB"))..(Unicode.char("1EDB"))), range((Unicode.char("1EDD"))..(Unicode.char("1EDD"))), range((Unicode.char("1EDF"))..(Unicode.char("1EDF"))), range((Unicode.char("1EE1"))..(Unicode.char("1EE1"))), range((Unicode.char("1EE3"))..(Unicode.char("1EE3"))), range((Unicode.char("1EE5"))..(Unicode.char("1EE5"))), range((Unicode.char("1EE7"))..(Unicode.char("1EE7"))), range((Unicode.char("1EE9"))..(Unicode.char("1EE9"))), range((Unicode.char("1EEB"))..(Unicode.char("1EEB"))), range((Unicode.char("1EED"))..(Unicode.char("1EED"))), range((Unicode.char("1EEF"))..(Unicode.char("1EEF"))), range((Unicode.char("1EF1"))..(Unicode.char("1EF1"))), range((Unicode.char("1EF3"))..(Unicode.char("1EF3"))), range((Unicode.char("1EF5"))..(Unicode.char("1EF5"))), range((Unicode.char("1EF7"))..(Unicode.char("1EF7"))), range((Unicode.char("1EF9"))..(Unicode.char("1EF9"))), range((Unicode.char("1EFB"))..(Unicode.char("1EFB"))), range((Unicode.char("1EFD"))..(Unicode.char("1EFD"))), range((Unicode.char("1EFF"))..(Unicode.char("1F07"))), range((Unicode.char("1F10"))..(Unicode.char("1F15"))), range((Unicode.char("1F20"))..(Unicode.char("1F27"))), range((Unicode.char("1F30"))..(Unicode.char("1F37"))), range((Unicode.char("1F40"))..(Unicode.char("1F45"))), range((Unicode.char("1F50"))..(Unicode.char("1F57"))), range((Unicode.char("1F60"))..(Unicode.char("1F67"))), range((Unicode.char("1F70"))..(Unicode.char("1F7D"))), range((Unicode.char("1F80"))..(Unicode.char("1F87"))), range((Unicode.char("1F90"))..(Unicode.char("1F97"))), range((Unicode.char("1FA0"))..(Unicode.char("1FA7"))), range((Unicode.char("1FB0"))..(Unicode.char("1FB4"))), range((Unicode.char("1FB6"))..(Unicode.char("1FB7"))), range((Unicode.char("1FBE"))..(Unicode.char("1FBE"))), range((Unicode.char("1FC2"))..(Unicode.char("1FC4"))), range((Unicode.char("1FC6"))..(Unicode.char("1FC7"))), range((Unicode.char("1FD0"))..(Unicode.char("1FD3"))), range((Unicode.char("1FD6"))..(Unicode.char("1FD7"))), range((Unicode.char("1FE0"))..(Unicode.char("1FE7"))), range((Unicode.char("1FF2"))..(Unicode.char("1FF4"))), range((Unicode.char("1FF6"))..(Unicode.char("1FF7"))), range((Unicode.char("210A"))..(Unicode.char("210A"))), range((Unicode.char("210E"))..(Unicode.char("210F"))), range((Unicode.char("2113"))..(Unicode.char("2113"))), range((Unicode.char("212F"))..(Unicode.char("212F"))), range((Unicode.char("2134"))..(Unicode.char("2134"))), range((Unicode.char("2139"))..(Unicode.char("2139"))), range((Unicode.char("213C"))..(Unicode.char("213D"))), range((Unicode.char("2146"))..(Unicode.char("2149"))), range((Unicode.char("214E"))..(Unicode.char("214E"))), range((Unicode.char("2184"))..(Unicode.char("2184"))), range((Unicode.char("2C30"))..(Unicode.char("2C5E"))), range((Unicode.char("2C61"))..(Unicode.char("2C61"))), range((Unicode.char("2C65"))..(Unicode.char("2C66"))), range((Unicode.char("2C68"))..(Unicode.char("2C68"))), range((Unicode.char("2C6A"))..(Unicode.char("2C6A"))), range((Unicode.char("2C6C"))..(Unicode.char("2C6C"))), range((Unicode.char("2C71"))..(Unicode.char("2C71"))), range((Unicode.char("2C73"))..(Unicode.char("2C74"))), range((Unicode.char("2C76"))..(Unicode.char("2C7B"))), range((Unicode.char("2C81"))..(Unicode.char("2C81"))), range((Unicode.char("2C83"))..(Unicode.char("2C83"))), range((Unicode.char("2C85"))..(Unicode.char("2C85"))), range((Unicode.char("2C87"))..(Unicode.char("2C87"))), range((Unicode.char("2C89"))..(Unicode.char("2C89"))), range((Unicode.char("2C8B"))..(Unicode.char("2C8B"))), range((Unicode.char("2C8D"))..(Unicode.char("2C8D"))), range((Unicode.char("2C8F"))..(Unicode.char("2C8F"))), range((Unicode.char("2C91"))..(Unicode.char("2C91"))), range((Unicode.char("2C93"))..(Unicode.char("2C93"))), range((Unicode.char("2C95"))..(Unicode.char("2C95"))), range((Unicode.char("2C97"))..(Unicode.char("2C97"))), range((Unicode.char("2C99"))..(Unicode.char("2C99"))), range((Unicode.char("2C9B"))..(Unicode.char("2C9B"))), range((Unicode.char("2C9D"))..(Unicode.char("2C9D"))), range((Unicode.char("2C9F"))..(Unicode.char("2C9F"))), range((Unicode.char("2CA1"))..(Unicode.char("2CA1"))), range((Unicode.char("2CA3"))..(Unicode.char("2CA3"))), range((Unicode.char("2CA5"))..(Unicode.char("2CA5"))), range((Unicode.char("2CA7"))..(Unicode.char("2CA7"))), range((Unicode.char("2CA9"))..(Unicode.char("2CA9"))), range((Unicode.char("2CAB"))..(Unicode.char("2CAB"))), range((Unicode.char("2CAD"))..(Unicode.char("2CAD"))), range((Unicode.char("2CAF"))..(Unicode.char("2CAF"))), range((Unicode.char("2CB1"))..(Unicode.char("2CB1"))), range((Unicode.char("2CB3"))..(Unicode.char("2CB3"))), range((Unicode.char("2CB5"))..(Unicode.char("2CB5"))), range((Unicode.char("2CB7"))..(Unicode.char("2CB7"))), range((Unicode.char("2CB9"))..(Unicode.char("2CB9"))), range((Unicode.char("2CBB"))..(Unicode.char("2CBB"))), range((Unicode.char("2CBD"))..(Unicode.char("2CBD"))), range((Unicode.char("2CBF"))..(Unicode.char("2CBF"))), range((Unicode.char("2CC1"))..(Unicode.char("2CC1"))), range((Unicode.char("2CC3"))..(Unicode.char("2CC3"))), range((Unicode.char("2CC5"))..(Unicode.char("2CC5"))), range((Unicode.char("2CC7"))..(Unicode.char("2CC7"))), range((Unicode.char("2CC9"))..(Unicode.char("2CC9"))), range((Unicode.char("2CCB"))..(Unicode.char("2CCB"))), range((Unicode.char("2CCD"))..(Unicode.char("2CCD"))), range((Unicode.char("2CCF"))..(Unicode.char("2CCF"))), range((Unicode.char("2CD1"))..(Unicode.char("2CD1"))), range((Unicode.char("2CD3"))..(Unicode.char("2CD3"))), range((Unicode.char("2CD5"))..(Unicode.char("2CD5"))), range((Unicode.char("2CD7"))..(Unicode.char("2CD7"))), range((Unicode.char("2CD9"))..(Unicode.char("2CD9"))), range((Unicode.char("2CDB"))..(Unicode.char("2CDB"))), range((Unicode.char("2CDD"))..(Unicode.char("2CDD"))), range((Unicode.char("2CDF"))..(Unicode.char("2CDF"))), range((Unicode.char("2CE1"))..(Unicode.char("2CE1"))), range((Unicode.char("2CE3"))..(Unicode.char("2CE4"))), range((Unicode.char("2CEC"))..(Unicode.char("2CEC"))), range((Unicode.char("2CEE"))..(Unicode.char("2CEE"))), range((Unicode.char("2CF3"))..(Unicode.char("2CF3"))), range((Unicode.char("2D00"))..(Unicode.char("2D25"))), range((Unicode.char("2D27"))..(Unicode.char("2D27"))), range((Unicode.char("2D2D"))..(Unicode.char("2D2D"))), range((Unicode.char("A641"))..(Unicode.char("A641"))), range((Unicode.char("A643"))..(Unicode.char("A643"))), range((Unicode.char("A645"))..(Unicode.char("A645"))), range((Unicode.char("A647"))..(Unicode.char("A647"))), range((Unicode.char("A649"))..(Unicode.char("A649"))), range((Unicode.char("A64B"))..(Unicode.char("A64B"))), range((Unicode.char("A64D"))..(Unicode.char("A64D"))), range((Unicode.char("A64F"))..(Unicode.char("A64F"))), range((Unicode.char("A651"))..(Unicode.char("A651"))), range((Unicode.char("A653"))..(Unicode.char("A653"))), range((Unicode.char("A655"))..(Unicode.char("A655"))), range((Unicode.char("A657"))..(Unicode.char("A657"))), range((Unicode.char("A659"))..(Unicode.char("A659"))), range((Unicode.char("A65B"))..(Unicode.char("A65B"))), range((Unicode.char("A65D"))..(Unicode.char("A65D"))), range((Unicode.char("A65F"))..(Unicode.char("A65F"))), range((Unicode.char("A661"))..(Unicode.char("A661"))), range((Unicode.char("A663"))..(Unicode.char("A663"))), range((Unicode.char("A665"))..(Unicode.char("A665"))), range((Unicode.char("A667"))..(Unicode.char("A667"))), range((Unicode.char("A669"))..(Unicode.char("A669"))), range((Unicode.char("A66B"))..(Unicode.char("A66B"))), range((Unicode.char("A66D"))..(Unicode.char("A66D"))), range((Unicode.char("A681"))..(Unicode.char("A681"))), range((Unicode.char("A683"))..(Unicode.char("A683"))), range((Unicode.char("A685"))..(Unicode.char("A685"))), range((Unicode.char("A687"))..(Unicode.char("A687"))), range((Unicode.char("A689"))..(Unicode.char("A689"))), range((Unicode.char("A68B"))..(Unicode.char("A68B"))), range((Unicode.char("A68D"))..(Unicode.char("A68D"))), range((Unicode.char("A68F"))..(Unicode.char("A68F"))), range((Unicode.char("A691"))..(Unicode.char("A691"))), range((Unicode.char("A693"))..(Unicode.char("A693"))), range((Unicode.char("A695"))..(Unicode.char("A695"))), range((Unicode.char("A697"))..(Unicode.char("A697"))), range((Unicode.char("A699"))..(Unicode.char("A699"))), range((Unicode.char("A69B"))..(Unicode.char("A69B"))), range((Unicode.char("A723"))..(Unicode.char("A723"))), range((Unicode.char("A725"))..(Unicode.char("A725"))), range((Unicode.char("A727"))..(Unicode.char("A727"))), range((Unicode.char("A729"))..(Unicode.char("A729"))), range((Unicode.char("A72B"))..(Unicode.char("A72B"))), range((Unicode.char("A72D"))..(Unicode.char("A72D"))), range((Unicode.char("A72F"))..(Unicode.char("A731"))), range((Unicode.char("A733"))..(Unicode.char("A733"))), range((Unicode.char("A735"))..(Unicode.char("A735"))), range((Unicode.char("A737"))..(Unicode.char("A737"))), range((Unicode.char("A739"))..(Unicode.char("A739"))), range((Unicode.char("A73B"))..(Unicode.char("A73B"))), range((Unicode.char("A73D"))..(Unicode.char("A73D"))), range((Unicode.char("A73F"))..(Unicode.char("A73F"))), range((Unicode.char("A741"))..(Unicode.char("A741"))), range((Unicode.char("A743"))..(Unicode.char("A743"))), range((Unicode.char("A745"))..(Unicode.char("A745"))), range((Unicode.char("A747"))..(Unicode.char("A747"))), range((Unicode.char("A749"))..(Unicode.char("A749"))), range((Unicode.char("A74B"))..(Unicode.char("A74B"))), range((Unicode.char("A74D"))..(Unicode.char("A74D"))), range((Unicode.char("A74F"))..(Unicode.char("A74F"))), range((Unicode.char("A751"))..(Unicode.char("A751"))), range((Unicode.char("A753"))..(Unicode.char("A753"))), range((Unicode.char("A755"))..(Unicode.char("A755"))), range((Unicode.char("A757"))..(Unicode.char("A757"))), range((Unicode.char("A759"))..(Unicode.char("A759"))), range((Unicode.char("A75B"))..(Unicode.char("A75B"))), range((Unicode.char("A75D"))..(Unicode.char("A75D"))), range((Unicode.char("A75F"))..(Unicode.char("A75F"))), range((Unicode.char("A761"))..(Unicode.char("A761"))), range((Unicode.char("A763"))..(Unicode.char("A763"))), range((Unicode.char("A765"))..(Unicode.char("A765"))), range((Unicode.char("A767"))..(Unicode.char("A767"))), range((Unicode.char("A769"))..(Unicode.char("A769"))), range((Unicode.char("A76B"))..(Unicode.char("A76B"))), range((Unicode.char("A76D"))..(Unicode.char("A76D"))), range((Unicode.char("A76F"))..(Unicode.char("A76F"))), range((Unicode.char("A771"))..(Unicode.char("A778"))), range((Unicode.char("A77A"))..(Unicode.char("A77A"))), range((Unicode.char("A77C"))..(Unicode.char("A77C"))), range((Unicode.char("A77F"))..(Unicode.char("A77F"))), range((Unicode.char("A781"))..(Unicode.char("A781"))), range((Unicode.char("A783"))..(Unicode.char("A783"))), range((Unicode.char("A785"))..(Unicode.char("A785"))), range((Unicode.char("A787"))..(Unicode.char("A787"))), range((Unicode.char("A78C"))..(Unicode.char("A78C"))), range((Unicode.char("A78E"))..(Unicode.char("A78E"))), range((Unicode.char("A791"))..(Unicode.char("A791"))), range((Unicode.char("A793"))..(Unicode.char("A795"))), range((Unicode.char("A797"))..(Unicode.char("A797"))), range((Unicode.char("A799"))..(Unicode.char("A799"))), range((Unicode.char("A79B"))..(Unicode.char("A79B"))), range((Unicode.char("A79D"))..(Unicode.char("A79D"))), range((Unicode.char("A79F"))..(Unicode.char("A79F"))), range((Unicode.char("A7A1"))..(Unicode.char("A7A1"))), range((Unicode.char("A7A3"))..(Unicode.char("A7A3"))), range((Unicode.char("A7A5"))..(Unicode.char("A7A5"))), range((Unicode.char("A7A7"))..(Unicode.char("A7A7"))), range((Unicode.char("A7A9"))..(Unicode.char("A7A9"))), range((Unicode.char("A7AF"))..(Unicode.char("A7AF"))), range((Unicode.char("A7B5"))..(Unicode.char("A7B5"))), range((Unicode.char("A7B7"))..(Unicode.char("A7B7"))), range((Unicode.char("A7B9"))..(Unicode.char("A7B9"))), range((Unicode.char("A7FA"))..(Unicode.char("A7FA"))), range((Unicode.char("AB30"))..(Unicode.char("AB5A"))), range((Unicode.char("AB60"))..(Unicode.char("AB65"))), range((Unicode.char("AB70"))..(Unicode.char("ABBF"))), range((Unicode.char("FB00"))..(Unicode.char("FB06"))), range((Unicode.char("FB13"))..(Unicode.char("FB17"))), range((Unicode.char("FF41"))..(Unicode.char("FF5A"))), range((Unicode.char("10428"))..(Unicode.char("1044F"))), range((Unicode.char("104D8"))..(Unicode.char("104FB"))), range((Unicode.char("10CC0"))..(Unicode.char("10CF2"))), range((Unicode.char("118C0"))..(Unicode.char("118DF"))), range((Unicode.char("16E60"))..(Unicode.char("16E7F"))), range((Unicode.char("1D41A"))..(Unicode.char("1D433"))), range((Unicode.char("1D44E"))..(Unicode.char("1D454"))), range((Unicode.char("1D456"))..(Unicode.char("1D467"))), range((Unicode.char("1D482"))..(Unicode.char("1D49B"))), range((Unicode.char("1D4B6"))..(Unicode.char("1D4B9"))), range((Unicode.char("1D4BB"))..(Unicode.char("1D4BB"))), range((Unicode.char("1D4BD"))..(Unicode.char("1D4C3"))), range((Unicode.char("1D4C5"))..(Unicode.char("1D4CF"))), range((Unicode.char("1D4EA"))..(Unicode.char("1D503"))), range((Unicode.char("1D51E"))..(Unicode.char("1D537"))), range((Unicode.char("1D552"))..(Unicode.char("1D56B"))), range((Unicode.char("1D586"))..(Unicode.char("1D59F"))), range((Unicode.char("1D5BA"))..(Unicode.char("1D5D3"))), range((Unicode.char("1D5EE"))..(Unicode.char("1D607"))), range((Unicode.char("1D622"))..(Unicode.char("1D63B"))), range((Unicode.char("1D656"))..(Unicode.char("1D66F"))), range((Unicode.char("1D68A"))..(Unicode.char("1D6A5"))), range((Unicode.char("1D6C2"))..(Unicode.char("1D6DA"))), range((Unicode.char("1D6DC"))..(Unicode.char("1D6E1"))), range((Unicode.char("1D6FC"))..(Unicode.char("1D714"))), range((Unicode.char("1D716"))..(Unicode.char("1D71B"))), range((Unicode.char("1D736"))..(Unicode.char("1D74E"))), range((Unicode.char("1D750"))..(Unicode.char("1D755"))), range((Unicode.char("1D770"))..(Unicode.char("1D788"))), range((Unicode.char("1D78A"))..(Unicode.char("1D78F"))), range((Unicode.char("1D7AA"))..(Unicode.char("1D7C2"))), range((Unicode.char("1D7C4"))..(Unicode.char("1D7C9"))), range((Unicode.char("1D7CB"))..(Unicode.char("1D7CB"))), range((Unicode.char("1E922"))..(Unicode.char("1E943")))] of Expr)
UnicodeModifier = alt([range((Unicode.char("2B0"))..(Unicode.char("2C1"))), range((Unicode.char("2C6"))..(Unicode.char("2D1"))), range((Unicode.char("2E0"))..(Unicode.char("2E4"))), range((Unicode.char("2EC"))..(Unicode.char("2EC"))), range((Unicode.char("2EE"))..(Unicode.char("2EE"))), range((Unicode.char("374"))..(Unicode.char("374"))), range((Unicode.char("37A"))..(Unicode.char("37A"))), range((Unicode.char("559"))..(Unicode.char("559"))), range((Unicode.char("640"))..(Unicode.char("640"))), range((Unicode.char("6E5"))..(Unicode.char("6E6"))), range((Unicode.char("7F4"))..(Unicode.char("7F5"))), range((Unicode.char("7FA"))..(Unicode.char("7FA"))), range((Unicode.char("81A"))..(Unicode.char("81A"))), range((Unicode.char("824"))..(Unicode.char("824"))), range((Unicode.char("828"))..(Unicode.char("828"))), range((Unicode.char("971"))..(Unicode.char("971"))), range((Unicode.char("E46"))..(Unicode.char("E46"))), range((Unicode.char("EC6"))..(Unicode.char("EC6"))), range((Unicode.char("10FC"))..(Unicode.char("10FC"))), range((Unicode.char("17D7"))..(Unicode.char("17D7"))), range((Unicode.char("1843"))..(Unicode.char("1843"))), range((Unicode.char("1AA7"))..(Unicode.char("1AA7"))), range((Unicode.char("1C78"))..(Unicode.char("1C7D"))), range((Unicode.char("1D2C"))..(Unicode.char("1D6A"))), range((Unicode.char("1D78"))..(Unicode.char("1D78"))), range((Unicode.char("1D9B"))..(Unicode.char("1DBF"))), range((Unicode.char("2071"))..(Unicode.char("2071"))), range((Unicode.char("207F"))..(Unicode.char("207F"))), range((Unicode.char("2090"))..(Unicode.char("209C"))), range((Unicode.char("2C7C"))..(Unicode.char("2C7D"))), range((Unicode.char("2D6F"))..(Unicode.char("2D6F"))), range((Unicode.char("2E2F"))..(Unicode.char("2E2F"))), range((Unicode.char("3005"))..(Unicode.char("3005"))), range((Unicode.char("3031"))..(Unicode.char("3035"))), range((Unicode.char("303B"))..(Unicode.char("303B"))), range((Unicode.char("309D"))..(Unicode.char("309E"))), range((Unicode.char("30FC"))..(Unicode.char("30FE"))), range((Unicode.char("A015"))..(Unicode.char("A015"))), range((Unicode.char("A4F8"))..(Unicode.char("A4FD"))), range((Unicode.char("A60C"))..(Unicode.char("A60C"))), range((Unicode.char("A67F"))..(Unicode.char("A67F"))), range((Unicode.char("A69C"))..(Unicode.char("A69D"))), range((Unicode.char("A717"))..(Unicode.char("A71F"))), range((Unicode.char("A770"))..(Unicode.char("A770"))), range((Unicode.char("A788"))..(Unicode.char("A788"))), range((Unicode.char("A7F8"))..(Unicode.char("A7F9"))), range((Unicode.char("A9CF"))..(Unicode.char("A9CF"))), range((Unicode.char("A9E6"))..(Unicode.char("A9E6"))), range((Unicode.char("AA70"))..(Unicode.char("AA70"))), range((Unicode.char("AADD"))..(Unicode.char("AADD"))), range((Unicode.char("AAF3"))..(Unicode.char("AAF4"))), range((Unicode.char("AB5C"))..(Unicode.char("AB5F"))), range((Unicode.char("FF70"))..(Unicode.char("FF70"))), range((Unicode.char("FF9E"))..(Unicode.char("FF9F"))), range((Unicode.char("16B40"))..(Unicode.char("16B43"))), range((Unicode.char("16F93"))..(Unicode.char("16F9F"))), range((Unicode.char("16FE0"))..(Unicode.char("16FE1")))] of Expr)
UnicodeOtherLetter = alt([range((Unicode.char("AA"))..(Unicode.char("AA"))), range((Unicode.char("BA"))..(Unicode.char("BA"))), range((Unicode.char("1BB"))..(Unicode.char("1BB"))), range((Unicode.char("1C0"))..(Unicode.char("1C3"))), range((Unicode.char("294"))..(Unicode.char("294"))), range((Unicode.char("5D0"))..(Unicode.char("5EA"))), range((Unicode.char("5EF"))..(Unicode.char("5F2"))), range((Unicode.char("620"))..(Unicode.char("63F"))), range((Unicode.char("641"))..(Unicode.char("64A"))), range((Unicode.char("66E"))..(Unicode.char("66F"))), range((Unicode.char("671"))..(Unicode.char("6D3"))), range((Unicode.char("6D5"))..(Unicode.char("6D5"))), range((Unicode.char("6EE"))..(Unicode.char("6EF"))), range((Unicode.char("6FA"))..(Unicode.char("6FC"))), range((Unicode.char("6FF"))..(Unicode.char("6FF"))), range((Unicode.char("710"))..(Unicode.char("710"))), range((Unicode.char("712"))..(Unicode.char("72F"))), range((Unicode.char("74D"))..(Unicode.char("7A5"))), range((Unicode.char("7B1"))..(Unicode.char("7B1"))), range((Unicode.char("7CA"))..(Unicode.char("7EA"))), range((Unicode.char("800"))..(Unicode.char("815"))), range((Unicode.char("840"))..(Unicode.char("858"))), range((Unicode.char("860"))..(Unicode.char("86A"))), range((Unicode.char("8A0"))..(Unicode.char("8B4"))), range((Unicode.char("8B6"))..(Unicode.char("8BD"))), range((Unicode.char("904"))..(Unicode.char("939"))), range((Unicode.char("93D"))..(Unicode.char("93D"))), range((Unicode.char("950"))..(Unicode.char("950"))), range((Unicode.char("958"))..(Unicode.char("961"))), range((Unicode.char("972"))..(Unicode.char("980"))), range((Unicode.char("985"))..(Unicode.char("98C"))), range((Unicode.char("98F"))..(Unicode.char("990"))), range((Unicode.char("993"))..(Unicode.char("9A8"))), range((Unicode.char("9AA"))..(Unicode.char("9B0"))), range((Unicode.char("9B2"))..(Unicode.char("9B2"))), range((Unicode.char("9B6"))..(Unicode.char("9B9"))), range((Unicode.char("9BD"))..(Unicode.char("9BD"))), range((Unicode.char("9CE"))..(Unicode.char("9CE"))), range((Unicode.char("9DC"))..(Unicode.char("9DD"))), range((Unicode.char("9DF"))..(Unicode.char("9E1"))), range((Unicode.char("9F0"))..(Unicode.char("9F1"))), range((Unicode.char("9FC"))..(Unicode.char("9FC"))), range((Unicode.char("A05"))..(Unicode.char("A0A"))), range((Unicode.char("A0F"))..(Unicode.char("A10"))), range((Unicode.char("A13"))..(Unicode.char("A28"))), range((Unicode.char("A2A"))..(Unicode.char("A30"))), range((Unicode.char("A32"))..(Unicode.char("A33"))), range((Unicode.char("A35"))..(Unicode.char("A36"))), range((Unicode.char("A38"))..(Unicode.char("A39"))), range((Unicode.char("A59"))..(Unicode.char("A5C"))), range((Unicode.char("A5E"))..(Unicode.char("A5E"))), range((Unicode.char("A72"))..(Unicode.char("A74"))), range((Unicode.char("A85"))..(Unicode.char("A8D"))), range((Unicode.char("A8F"))..(Unicode.char("A91"))), range((Unicode.char("A93"))..(Unicode.char("AA8"))), range((Unicode.char("AAA"))..(Unicode.char("AB0"))), range((Unicode.char("AB2"))..(Unicode.char("AB3"))), range((Unicode.char("AB5"))..(Unicode.char("AB9"))), range((Unicode.char("ABD"))..(Unicode.char("ABD"))), range((Unicode.char("AD0"))..(Unicode.char("AD0"))), range((Unicode.char("AE0"))..(Unicode.char("AE1"))), range((Unicode.char("AF9"))..(Unicode.char("AF9"))), range((Unicode.char("B05"))..(Unicode.char("B0C"))), range((Unicode.char("B0F"))..(Unicode.char("B10"))), range((Unicode.char("B13"))..(Unicode.char("B28"))), range((Unicode.char("B2A"))..(Unicode.char("B30"))), range((Unicode.char("B32"))..(Unicode.char("B33"))), range((Unicode.char("B35"))..(Unicode.char("B39"))), range((Unicode.char("B3D"))..(Unicode.char("B3D"))), range((Unicode.char("B5C"))..(Unicode.char("B5D"))), range((Unicode.char("B5F"))..(Unicode.char("B61"))), range((Unicode.char("B71"))..(Unicode.char("B71"))), range((Unicode.char("B83"))..(Unicode.char("B83"))), range((Unicode.char("B85"))..(Unicode.char("B8A"))), range((Unicode.char("B8E"))..(Unicode.char("B90"))), range((Unicode.char("B92"))..(Unicode.char("B95"))), range((Unicode.char("B99"))..(Unicode.char("B9A"))), range((Unicode.char("B9C"))..(Unicode.char("B9C"))), range((Unicode.char("B9E"))..(Unicode.char("B9F"))), range((Unicode.char("BA3"))..(Unicode.char("BA4"))), range((Unicode.char("BA8"))..(Unicode.char("BAA"))), range((Unicode.char("BAE"))..(Unicode.char("BB9"))), range((Unicode.char("BD0"))..(Unicode.char("BD0"))), range((Unicode.char("C05"))..(Unicode.char("C0C"))), range((Unicode.char("C0E"))..(Unicode.char("C10"))), range((Unicode.char("C12"))..(Unicode.char("C28"))), range((Unicode.char("C2A"))..(Unicode.char("C39"))), range((Unicode.char("C3D"))..(Unicode.char("C3D"))), range((Unicode.char("C58"))..(Unicode.char("C5A"))), range((Unicode.char("C60"))..(Unicode.char("C61"))), range((Unicode.char("C80"))..(Unicode.char("C80"))), range((Unicode.char("C85"))..(Unicode.char("C8C"))), range((Unicode.char("C8E"))..(Unicode.char("C90"))), range((Unicode.char("C92"))..(Unicode.char("CA8"))), range((Unicode.char("CAA"))..(Unicode.char("CB3"))), range((Unicode.char("CB5"))..(Unicode.char("CB9"))), range((Unicode.char("CBD"))..(Unicode.char("CBD"))), range((Unicode.char("CDE"))..(Unicode.char("CDE"))), range((Unicode.char("CE0"))..(Unicode.char("CE1"))), range((Unicode.char("CF1"))..(Unicode.char("CF2"))), range((Unicode.char("D05"))..(Unicode.char("D0C"))), range((Unicode.char("D0E"))..(Unicode.char("D10"))), range((Unicode.char("D12"))..(Unicode.char("D3A"))), range((Unicode.char("D3D"))..(Unicode.char("D3D"))), range((Unicode.char("D4E"))..(Unicode.char("D4E"))), range((Unicode.char("D54"))..(Unicode.char("D56"))), range((Unicode.char("D5F"))..(Unicode.char("D61"))), range((Unicode.char("D7A"))..(Unicode.char("D7F"))), range((Unicode.char("D85"))..(Unicode.char("D96"))), range((Unicode.char("D9A"))..(Unicode.char("DB1"))), range((Unicode.char("DB3"))..(Unicode.char("DBB"))), range((Unicode.char("DBD"))..(Unicode.char("DBD"))), range((Unicode.char("DC0"))..(Unicode.char("DC6"))), range((Unicode.char("E01"))..(Unicode.char("E30"))), range((Unicode.char("E32"))..(Unicode.char("E33"))), range((Unicode.char("E40"))..(Unicode.char("E45"))), range((Unicode.char("E81"))..(Unicode.char("E82"))), range((Unicode.char("E84"))..(Unicode.char("E84"))), range((Unicode.char("E87"))..(Unicode.char("E88"))), range((Unicode.char("E8A"))..(Unicode.char("E8A"))), range((Unicode.char("E8D"))..(Unicode.char("E8D"))), range((Unicode.char("E94"))..(Unicode.char("E97"))), range((Unicode.char("E99"))..(Unicode.char("E9F"))), range((Unicode.char("EA1"))..(Unicode.char("EA3"))), range((Unicode.char("EA5"))..(Unicode.char("EA5"))), range((Unicode.char("EA7"))..(Unicode.char("EA7"))), range((Unicode.char("EAA"))..(Unicode.char("EAB"))), range((Unicode.char("EAD"))..(Unicode.char("EB0"))), range((Unicode.char("EB2"))..(Unicode.char("EB3"))), range((Unicode.char("EBD"))..(Unicode.char("EBD"))), range((Unicode.char("EC0"))..(Unicode.char("EC4"))), range((Unicode.char("EDC"))..(Unicode.char("EDF"))), range((Unicode.char("F00"))..(Unicode.char("F00"))), range((Unicode.char("F40"))..(Unicode.char("F47"))), range((Unicode.char("F49"))..(Unicode.char("F6C"))), range((Unicode.char("F88"))..(Unicode.char("F8C"))), range((Unicode.char("1000"))..(Unicode.char("102A"))), range((Unicode.char("103F"))..(Unicode.char("103F"))), range((Unicode.char("1050"))..(Unicode.char("1055"))), range((Unicode.char("105A"))..(Unicode.char("105D"))), range((Unicode.char("1061"))..(Unicode.char("1061"))), range((Unicode.char("1065"))..(Unicode.char("1066"))), range((Unicode.char("106E"))..(Unicode.char("1070"))), range((Unicode.char("1075"))..(Unicode.char("1081"))), range((Unicode.char("108E"))..(Unicode.char("108E"))), range((Unicode.char("1100"))..(Unicode.char("1248"))), range((Unicode.char("124A"))..(Unicode.char("124D"))), range((Unicode.char("1250"))..(Unicode.char("1256"))), range((Unicode.char("1258"))..(Unicode.char("1258"))), range((Unicode.char("125A"))..(Unicode.char("125D"))), range((Unicode.char("1260"))..(Unicode.char("1288"))), range((Unicode.char("128A"))..(Unicode.char("128D"))), range((Unicode.char("1290"))..(Unicode.char("12B0"))), range((Unicode.char("12B2"))..(Unicode.char("12B5"))), range((Unicode.char("12B8"))..(Unicode.char("12BE"))), range((Unicode.char("12C0"))..(Unicode.char("12C0"))), range((Unicode.char("12C2"))..(Unicode.char("12C5"))), range((Unicode.char("12C8"))..(Unicode.char("12D6"))), range((Unicode.char("12D8"))..(Unicode.char("1310"))), range((Unicode.char("1312"))..(Unicode.char("1315"))), range((Unicode.char("1318"))..(Unicode.char("135A"))), range((Unicode.char("1380"))..(Unicode.char("138F"))), range((Unicode.char("1401"))..(Unicode.char("166C"))), range((Unicode.char("166F"))..(Unicode.char("167F"))), range((Unicode.char("1681"))..(Unicode.char("169A"))), range((Unicode.char("16A0"))..(Unicode.char("16EA"))), range((Unicode.char("16F1"))..(Unicode.char("16F8"))), range((Unicode.char("1700"))..(Unicode.char("170C"))), range((Unicode.char("170E"))..(Unicode.char("1711"))), range((Unicode.char("1720"))..(Unicode.char("1731"))), range((Unicode.char("1740"))..(Unicode.char("1751"))), range((Unicode.char("1760"))..(Unicode.char("176C"))), range((Unicode.char("176E"))..(Unicode.char("1770"))), range((Unicode.char("1780"))..(Unicode.char("17B3"))), range((Unicode.char("17DC"))..(Unicode.char("17DC"))), range((Unicode.char("1820"))..(Unicode.char("1842"))), range((Unicode.char("1844"))..(Unicode.char("1878"))), range((Unicode.char("1880"))..(Unicode.char("1884"))), range((Unicode.char("1887"))..(Unicode.char("18A8"))), range((Unicode.char("18AA"))..(Unicode.char("18AA"))), range((Unicode.char("18B0"))..(Unicode.char("18F5"))), range((Unicode.char("1900"))..(Unicode.char("191E"))), range((Unicode.char("1950"))..(Unicode.char("196D"))), range((Unicode.char("1970"))..(Unicode.char("1974"))), range((Unicode.char("1980"))..(Unicode.char("19AB"))), range((Unicode.char("19B0"))..(Unicode.char("19C9"))), range((Unicode.char("1A00"))..(Unicode.char("1A16"))), range((Unicode.char("1A20"))..(Unicode.char("1A54"))), range((Unicode.char("1B05"))..(Unicode.char("1B33"))), range((Unicode.char("1B45"))..(Unicode.char("1B4B"))), range((Unicode.char("1B83"))..(Unicode.char("1BA0"))), range((Unicode.char("1BAE"))..(Unicode.char("1BAF"))), range((Unicode.char("1BBA"))..(Unicode.char("1BE5"))), range((Unicode.char("1C00"))..(Unicode.char("1C23"))), range((Unicode.char("1C4D"))..(Unicode.char("1C4F"))), range((Unicode.char("1C5A"))..(Unicode.char("1C77"))), range((Unicode.char("1CE9"))..(Unicode.char("1CEC"))), range((Unicode.char("1CEE"))..(Unicode.char("1CF1"))), range((Unicode.char("1CF5"))..(Unicode.char("1CF6"))), range((Unicode.char("2135"))..(Unicode.char("2138"))), range((Unicode.char("2D30"))..(Unicode.char("2D67"))), range((Unicode.char("2D80"))..(Unicode.char("2D96"))), range((Unicode.char("2DA0"))..(Unicode.char("2DA6"))), range((Unicode.char("2DA8"))..(Unicode.char("2DAE"))), range((Unicode.char("2DB0"))..(Unicode.char("2DB6"))), range((Unicode.char("2DB8"))..(Unicode.char("2DBE"))), range((Unicode.char("2DC0"))..(Unicode.char("2DC6"))), range((Unicode.char("2DC8"))..(Unicode.char("2DCE"))), range((Unicode.char("2DD0"))..(Unicode.char("2DD6"))), range((Unicode.char("2DD8"))..(Unicode.char("2DDE"))), range((Unicode.char("3006"))..(Unicode.char("3006"))), range((Unicode.char("303C"))..(Unicode.char("303C"))), range((Unicode.char("3041"))..(Unicode.char("3096"))), range((Unicode.char("309F"))..(Unicode.char("309F"))), range((Unicode.char("30A1"))..(Unicode.char("30FA"))), range((Unicode.char("30FF"))..(Unicode.char("30FF"))), range((Unicode.char("3105"))..(Unicode.char("312F"))), range((Unicode.char("3131"))..(Unicode.char("318E"))), range((Unicode.char("31A0"))..(Unicode.char("31BA"))), range((Unicode.char("31F0"))..(Unicode.char("31FF"))), range((Unicode.char("3400"))..(Unicode.char("4DB5"))), range((Unicode.char("4E00"))..(Unicode.char("9FEF"))), range((Unicode.char("A000"))..(Unicode.char("A014"))), range((Unicode.char("A016"))..(Unicode.char("A48C"))), range((Unicode.char("A4D0"))..(Unicode.char("A4F7"))), range((Unicode.char("A500"))..(Unicode.char("A60B"))), range((Unicode.char("A610"))..(Unicode.char("A61F"))), range((Unicode.char("A62A"))..(Unicode.char("A62B"))), range((Unicode.char("A66E"))..(Unicode.char("A66E"))), range((Unicode.char("A6A0"))..(Unicode.char("A6E5"))), range((Unicode.char("A78F"))..(Unicode.char("A78F"))), range((Unicode.char("A7F7"))..(Unicode.char("A7F7"))), range((Unicode.char("A7FB"))..(Unicode.char("A801"))), range((Unicode.char("A803"))..(Unicode.char("A805"))), range((Unicode.char("A807"))..(Unicode.char("A80A"))), range((Unicode.char("A80C"))..(Unicode.char("A822"))), range((Unicode.char("A840"))..(Unicode.char("A873"))), range((Unicode.char("A882"))..(Unicode.char("A8B3"))), range((Unicode.char("A8F2"))..(Unicode.char("A8F7"))), range((Unicode.char("A8FB"))..(Unicode.char("A8FB"))), range((Unicode.char("A8FD"))..(Unicode.char("A8FE"))), range((Unicode.char("A90A"))..(Unicode.char("A925"))), range((Unicode.char("A930"))..(Unicode.char("A946"))), range((Unicode.char("A960"))..(Unicode.char("A97C"))), range((Unicode.char("A984"))..(Unicode.char("A9B2"))), range((Unicode.char("A9E0"))..(Unicode.char("A9E4"))), range((Unicode.char("A9E7"))..(Unicode.char("A9EF"))), range((Unicode.char("A9FA"))..(Unicode.char("A9FE"))), range((Unicode.char("AA00"))..(Unicode.char("AA28"))), range((Unicode.char("AA40"))..(Unicode.char("AA42"))), range((Unicode.char("AA44"))..(Unicode.char("AA4B"))), range((Unicode.char("AA60"))..(Unicode.char("AA6F"))), range((Unicode.char("AA71"))..(Unicode.char("AA76"))), range((Unicode.char("AA7A"))..(Unicode.char("AA7A"))), range((Unicode.char("AA7E"))..(Unicode.char("AAAF"))), range((Unicode.char("AAB1"))..(Unicode.char("AAB1"))), range((Unicode.char("AAB5"))..(Unicode.char("AAB6"))), range((Unicode.char("AAB9"))..(Unicode.char("AABD"))), range((Unicode.char("AAC0"))..(Unicode.char("AAC0"))), range((Unicode.char("AAC2"))..(Unicode.char("AAC2"))), range((Unicode.char("AADB"))..(Unicode.char("AADC"))), range((Unicode.char("AAE0"))..(Unicode.char("AAEA"))), range((Unicode.char("AAF2"))..(Unicode.char("AAF2"))), range((Unicode.char("AB01"))..(Unicode.char("AB06"))), range((Unicode.char("AB09"))..(Unicode.char("AB0E"))), range((Unicode.char("AB11"))..(Unicode.char("AB16"))), range((Unicode.char("AB20"))..(Unicode.char("AB26"))), range((Unicode.char("AB28"))..(Unicode.char("AB2E"))), range((Unicode.char("ABC0"))..(Unicode.char("ABE2"))), range((Unicode.char("AC00"))..(Unicode.char("D7A3"))), range((Unicode.char("D7B0"))..(Unicode.char("D7C6"))), range((Unicode.char("D7CB"))..(Unicode.char("D7FB"))), range((Unicode.char("F900"))..(Unicode.char("FA6D"))), range((Unicode.char("FA70"))..(Unicode.char("FAD9"))), range((Unicode.char("FB1D"))..(Unicode.char("FB1D"))), range((Unicode.char("FB1F"))..(Unicode.char("FB28"))), range((Unicode.char("FB2A"))..(Unicode.char("FB36"))), range((Unicode.char("FB38"))..(Unicode.char("FB3C"))), range((Unicode.char("FB3E"))..(Unicode.char("FB3E"))), range((Unicode.char("FB40"))..(Unicode.char("FB41"))), range((Unicode.char("FB43"))..(Unicode.char("FB44"))), range((Unicode.char("FB46"))..(Unicode.char("FBB1"))), range((Unicode.char("FBD3"))..(Unicode.char("FD3D"))), range((Unicode.char("FD50"))..(Unicode.char("FD8F"))), range((Unicode.char("FD92"))..(Unicode.char("FDC7"))), range((Unicode.char("FDF0"))..(Unicode.char("FDFB"))), range((Unicode.char("FE70"))..(Unicode.char("FE74"))), range((Unicode.char("FE76"))..(Unicode.char("FEFC"))), range((Unicode.char("FF66"))..(Unicode.char("FF6F"))), range((Unicode.char("FF71"))..(Unicode.char("FF9D"))), range((Unicode.char("FFA0"))..(Unicode.char("FFBE"))), range((Unicode.char("FFC2"))..(Unicode.char("FFC7"))), range((Unicode.char("FFCA"))..(Unicode.char("FFCF"))), range((Unicode.char("FFD2"))..(Unicode.char("FFD7"))), range((Unicode.char("FFDA"))..(Unicode.char("FFDC"))), range((Unicode.char("10000"))..(Unicode.char("1000B"))), range((Unicode.char("1000D"))..(Unicode.char("10026"))), range((Unicode.char("10028"))..(Unicode.char("1003A"))), range((Unicode.char("1003C"))..(Unicode.char("1003D"))), range((Unicode.char("1003F"))..(Unicode.char("1004D"))), range((Unicode.char("10050"))..(Unicode.char("1005D"))), range((Unicode.char("10080"))..(Unicode.char("100FA"))), range((Unicode.char("10280"))..(Unicode.char("1029C"))), range((Unicode.char("102A0"))..(Unicode.char("102D0"))), range((Unicode.char("10300"))..(Unicode.char("1031F"))), range((Unicode.char("1032D"))..(Unicode.char("10340"))), range((Unicode.char("10342"))..(Unicode.char("10349"))), range((Unicode.char("10350"))..(Unicode.char("10375"))), range((Unicode.char("10380"))..(Unicode.char("1039D"))), range((Unicode.char("103A0"))..(Unicode.char("103C3"))), range((Unicode.char("103C8"))..(Unicode.char("103CF"))), range((Unicode.char("10450"))..(Unicode.char("1049D"))), range((Unicode.char("10500"))..(Unicode.char("10527"))), range((Unicode.char("10530"))..(Unicode.char("10563"))), range((Unicode.char("10600"))..(Unicode.char("10736"))), range((Unicode.char("10740"))..(Unicode.char("10755"))), range((Unicode.char("10760"))..(Unicode.char("10767"))), range((Unicode.char("10800"))..(Unicode.char("10805"))), range((Unicode.char("10808"))..(Unicode.char("10808"))), range((Unicode.char("1080A"))..(Unicode.char("10835"))), range((Unicode.char("10837"))..(Unicode.char("10838"))), range((Unicode.char("1083C"))..(Unicode.char("1083C"))), range((Unicode.char("1083F"))..(Unicode.char("10855"))), range((Unicode.char("10860"))..(Unicode.char("10876"))), range((Unicode.char("10880"))..(Unicode.char("1089E"))), range((Unicode.char("108E0"))..(Unicode.char("108F2"))), range((Unicode.char("108F4"))..(Unicode.char("108F5"))), range((Unicode.char("10900"))..(Unicode.char("10915"))), range((Unicode.char("10920"))..(Unicode.char("10939"))), range((Unicode.char("10980"))..(Unicode.char("109B7"))), range((Unicode.char("109BE"))..(Unicode.char("109BF"))), range((Unicode.char("10A00"))..(Unicode.char("10A00"))), range((Unicode.char("10A10"))..(Unicode.char("10A13"))), range((Unicode.char("10A15"))..(Unicode.char("10A17"))), range((Unicode.char("10A19"))..(Unicode.char("10A35"))), range((Unicode.char("10A60"))..(Unicode.char("10A7C"))), range((Unicode.char("10A80"))..(Unicode.char("10A9C"))), range((Unicode.char("10AC0"))..(Unicode.char("10AC7"))), range((Unicode.char("10AC9"))..(Unicode.char("10AE4"))), range((Unicode.char("10B00"))..(Unicode.char("10B35"))), range((Unicode.char("10B40"))..(Unicode.char("10B55"))), range((Unicode.char("10B60"))..(Unicode.char("10B72"))), range((Unicode.char("10B80"))..(Unicode.char("10B91"))), range((Unicode.char("10C00"))..(Unicode.char("10C48"))), range((Unicode.char("10D00"))..(Unicode.char("10D23"))), range((Unicode.char("10F00"))..(Unicode.char("10F1C"))), range((Unicode.char("10F27"))..(Unicode.char("10F27"))), range((Unicode.char("10F30"))..(Unicode.char("10F45"))), range((Unicode.char("11003"))..(Unicode.char("11037"))), range((Unicode.char("11083"))..(Unicode.char("110AF"))), range((Unicode.char("110D0"))..(Unicode.char("110E8"))), range((Unicode.char("11103"))..(Unicode.char("11126"))), range((Unicode.char("11144"))..(Unicode.char("11144"))), range((Unicode.char("11150"))..(Unicode.char("11172"))), range((Unicode.char("11176"))..(Unicode.char("11176"))), range((Unicode.char("11183"))..(Unicode.char("111B2"))), range((Unicode.char("111C1"))..(Unicode.char("111C4"))), range((Unicode.char("111DA"))..(Unicode.char("111DA"))), range((Unicode.char("111DC"))..(Unicode.char("111DC"))), range((Unicode.char("11200"))..(Unicode.char("11211"))), range((Unicode.char("11213"))..(Unicode.char("1122B"))), range((Unicode.char("11280"))..(Unicode.char("11286"))), range((Unicode.char("11288"))..(Unicode.char("11288"))), range((Unicode.char("1128A"))..(Unicode.char("1128D"))), range((Unicode.char("1128F"))..(Unicode.char("1129D"))), range((Unicode.char("1129F"))..(Unicode.char("112A8"))), range((Unicode.char("112B0"))..(Unicode.char("112DE"))), range((Unicode.char("11305"))..(Unicode.char("1130C"))), range((Unicode.char("1130F"))..(Unicode.char("11310"))), range((Unicode.char("11313"))..(Unicode.char("11328"))), range((Unicode.char("1132A"))..(Unicode.char("11330"))), range((Unicode.char("11332"))..(Unicode.char("11333"))), range((Unicode.char("11335"))..(Unicode.char("11339"))), range((Unicode.char("1133D"))..(Unicode.char("1133D"))), range((Unicode.char("11350"))..(Unicode.char("11350"))), range((Unicode.char("1135D"))..(Unicode.char("11361"))), range((Unicode.char("11400"))..(Unicode.char("11434"))), range((Unicode.char("11447"))..(Unicode.char("1144A"))), range((Unicode.char("11480"))..(Unicode.char("114AF"))), range((Unicode.char("114C4"))..(Unicode.char("114C5"))), range((Unicode.char("114C7"))..(Unicode.char("114C7"))), range((Unicode.char("11580"))..(Unicode.char("115AE"))), range((Unicode.char("115D8"))..(Unicode.char("115DB"))), range((Unicode.char("11600"))..(Unicode.char("1162F"))), range((Unicode.char("11644"))..(Unicode.char("11644"))), range((Unicode.char("11680"))..(Unicode.char("116AA"))), range((Unicode.char("11700"))..(Unicode.char("1171A"))), range((Unicode.char("11800"))..(Unicode.char("1182B"))), range((Unicode.char("118FF"))..(Unicode.char("118FF"))), range((Unicode.char("11A00"))..(Unicode.char("11A00"))), range((Unicode.char("11A0B"))..(Unicode.char("11A32"))), range((Unicode.char("11A3A"))..(Unicode.char("11A3A"))), range((Unicode.char("11A50"))..(Unicode.char("11A50"))), range((Unicode.char("11A5C"))..(Unicode.char("11A83"))), range((Unicode.char("11A86"))..(Unicode.char("11A89"))), range((Unicode.char("11A9D"))..(Unicode.char("11A9D"))), range((Unicode.char("11AC0"))..(Unicode.char("11AF8"))), range((Unicode.char("11C00"))..(Unicode.char("11C08"))), range((Unicode.char("11C0A"))..(Unicode.char("11C2E"))), range((Unicode.char("11C40"))..(Unicode.char("11C40"))), range((Unicode.char("11C72"))..(Unicode.char("11C8F"))), range((Unicode.char("11D00"))..(Unicode.char("11D06"))), range((Unicode.char("11D08"))..(Unicode.char("11D09"))), range((Unicode.char("11D0B"))..(Unicode.char("11D30"))), range((Unicode.char("11D46"))..(Unicode.char("11D46"))), range((Unicode.char("11D60"))..(Unicode.char("11D65"))), range((Unicode.char("11D67"))..(Unicode.char("11D68"))), range((Unicode.char("11D6A"))..(Unicode.char("11D89"))), range((Unicode.char("11D98"))..(Unicode.char("11D98"))), range((Unicode.char("11EE0"))..(Unicode.char("11EF2"))), range((Unicode.char("12000"))..(Unicode.char("12399"))), range((Unicode.char("12480"))..(Unicode.char("12543"))), range((Unicode.char("13000"))..(Unicode.char("1342E"))), range((Unicode.char("14400"))..(Unicode.char("14646"))), range((Unicode.char("16800"))..(Unicode.char("16A38"))), range((Unicode.char("16A40"))..(Unicode.char("16A5E"))), range((Unicode.char("16AD0"))..(Unicode.char("16AED"))), range((Unicode.char("16B00"))..(Unicode.char("16B2F"))), range((Unicode.char("16B63"))..(Unicode.char("16B77"))), range((Unicode.char("16B7D"))..(Unicode.char("16B8F"))), range((Unicode.char("16F00"))..(Unicode.char("16F44"))), range((Unicode.char("16F50"))..(Unicode.char("16F50"))), range((Unicode.char("17000"))..(Unicode.char("187F1"))), range((Unicode.char("18800"))..(Unicode.char("18AF2"))), range((Unicode.char("1B000"))..(Unicode.char("1B11E"))), range((Unicode.char("1B170"))..(Unicode.char("1B2FB"))), range((Unicode.char("1BC00"))..(Unicode.char("1BC6A"))), range((Unicode.char("1BC70"))..(Unicode.char("1BC7C"))), range((Unicode.char("1BC80"))..(Unicode.char("1BC88"))), range((Unicode.char("1BC90"))..(Unicode.char("1BC99"))), range((Unicode.char("1E800"))..(Unicode.char("1E8C4"))), range((Unicode.char("1EE00"))..(Unicode.char("1EE03"))), range((Unicode.char("1EE05"))..(Unicode.char("1EE1F"))), range((Unicode.char("1EE21"))..(Unicode.char("1EE22"))), range((Unicode.char("1EE24"))..(Unicode.char("1EE24"))), range((Unicode.char("1EE27"))..(Unicode.char("1EE27"))), range((Unicode.char("1EE29"))..(Unicode.char("1EE32"))), range((Unicode.char("1EE34"))..(Unicode.char("1EE37"))), range((Unicode.char("1EE39"))..(Unicode.char("1EE39"))), range((Unicode.char("1EE3B"))..(Unicode.char("1EE3B"))), range((Unicode.char("1EE42"))..(Unicode.char("1EE42"))), range((Unicode.char("1EE47"))..(Unicode.char("1EE47"))), range((Unicode.char("1EE49"))..(Unicode.char("1EE49"))), range((Unicode.char("1EE4B"))..(Unicode.char("1EE4B"))), range((Unicode.char("1EE4D"))..(Unicode.char("1EE4F"))), range((Unicode.char("1EE51"))..(Unicode.char("1EE52"))), range((Unicode.char("1EE54"))..(Unicode.char("1EE54"))), range((Unicode.char("1EE57"))..(Unicode.char("1EE57"))), range((Unicode.char("1EE59"))..(Unicode.char("1EE59"))), range((Unicode.char("1EE5B"))..(Unicode.char("1EE5B"))), range((Unicode.char("1EE5D"))..(Unicode.char("1EE5D"))), range((Unicode.char("1EE5F"))..(Unicode.char("1EE5F"))), range((Unicode.char("1EE61"))..(Unicode.char("1EE62"))), range((Unicode.char("1EE64"))..(Unicode.char("1EE64"))), range((Unicode.char("1EE67"))..(Unicode.char("1EE6A"))), range((Unicode.char("1EE6C"))..(Unicode.char("1EE72"))), range((Unicode.char("1EE74"))..(Unicode.char("1EE77"))), range((Unicode.char("1EE79"))..(Unicode.char("1EE7C"))), range((Unicode.char("1EE7E"))..(Unicode.char("1EE7E"))), range((Unicode.char("1EE80"))..(Unicode.char("1EE89"))), range((Unicode.char("1EE8B"))..(Unicode.char("1EE9B"))), range((Unicode.char("1EEA1"))..(Unicode.char("1EEA3"))), range((Unicode.char("1EEA5"))..(Unicode.char("1EEA9"))), range((Unicode.char("1EEAB"))..(Unicode.char("1EEBB"))), range((Unicode.char("20000"))..(Unicode.char("2A6D6"))), range((Unicode.char("2A700"))..(Unicode.char("2B734"))), range((Unicode.char("2B740"))..(Unicode.char("2B81D"))), range((Unicode.char("2B820"))..(Unicode.char("2CEA1"))), range((Unicode.char("2CEB0"))..(Unicode.char("2EBE0"))), range((Unicode.char("2F800"))..(Unicode.char("2FA1D")))] of Expr)
UnicodeTitlecase = alt([range((Unicode.char("1C5"))..(Unicode.char("1C5"))), range((Unicode.char("1C8"))..(Unicode.char("1C8"))), range((Unicode.char("1CB"))..(Unicode.char("1CB"))), range((Unicode.char("1F2"))..(Unicode.char("1F2"))), range((Unicode.char("1F88"))..(Unicode.char("1F8F"))), range((Unicode.char("1F98"))..(Unicode.char("1F9F"))), range((Unicode.char("1FA8"))..(Unicode.char("1FAF"))), range((Unicode.char("1FBC"))..(Unicode.char("1FBC"))), range((Unicode.char("1FCC"))..(Unicode.char("1FCC"))), range((Unicode.char("1FFC"))..(Unicode.char("1FFC")))] of Expr)
UnicodeUpper = alt([range((Unicode.char("41"))..(Unicode.char("5A"))), range((Unicode.char("C0"))..(Unicode.char("D6"))), range((Unicode.char("D8"))..(Unicode.char("DE"))), range((Unicode.char("100"))..(Unicode.char("100"))), range((Unicode.char("102"))..(Unicode.char("102"))), range((Unicode.char("104"))..(Unicode.char("104"))), range((Unicode.char("106"))..(Unicode.char("106"))), range((Unicode.char("108"))..(Unicode.char("108"))), range((Unicode.char("10A"))..(Unicode.char("10A"))), range((Unicode.char("10C"))..(Unicode.char("10C"))), range((Unicode.char("10E"))..(Unicode.char("10E"))), range((Unicode.char("110"))..(Unicode.char("110"))), range((Unicode.char("112"))..(Unicode.char("112"))), range((Unicode.char("114"))..(Unicode.char("114"))), range((Unicode.char("116"))..(Unicode.char("116"))), range((Unicode.char("118"))..(Unicode.char("118"))), range((Unicode.char("11A"))..(Unicode.char("11A"))), range((Unicode.char("11C"))..(Unicode.char("11C"))), range((Unicode.char("11E"))..(Unicode.char("11E"))), range((Unicode.char("120"))..(Unicode.char("120"))), range((Unicode.char("122"))..(Unicode.char("122"))), range((Unicode.char("124"))..(Unicode.char("124"))), range((Unicode.char("126"))..(Unicode.char("126"))), range((Unicode.char("128"))..(Unicode.char("128"))), range((Unicode.char("12A"))..(Unicode.char("12A"))), range((Unicode.char("12C"))..(Unicode.char("12C"))), range((Unicode.char("12E"))..(Unicode.char("12E"))), range((Unicode.char("130"))..(Unicode.char("130"))), range((Unicode.char("132"))..(Unicode.char("132"))), range((Unicode.char("134"))..(Unicode.char("134"))), range((Unicode.char("136"))..(Unicode.char("136"))), range((Unicode.char("139"))..(Unicode.char("139"))), range((Unicode.char("13B"))..(Unicode.char("13B"))), range((Unicode.char("13D"))..(Unicode.char("13D"))), range((Unicode.char("13F"))..(Unicode.char("13F"))), range((Unicode.char("141"))..(Unicode.char("141"))), range((Unicode.char("143"))..(Unicode.char("143"))), range((Unicode.char("145"))..(Unicode.char("145"))), range((Unicode.char("147"))..(Unicode.char("147"))), range((Unicode.char("14A"))..(Unicode.char("14A"))), range((Unicode.char("14C"))..(Unicode.char("14C"))), range((Unicode.char("14E"))..(Unicode.char("14E"))), range((Unicode.char("150"))..(Unicode.char("150"))), range((Unicode.char("152"))..(Unicode.char("152"))), range((Unicode.char("154"))..(Unicode.char("154"))), range((Unicode.char("156"))..(Unicode.char("156"))), range((Unicode.char("158"))..(Unicode.char("158"))), range((Unicode.char("15A"))..(Unicode.char("15A"))), range((Unicode.char("15C"))..(Unicode.char("15C"))), range((Unicode.char("15E"))..(Unicode.char("15E"))), range((Unicode.char("160"))..(Unicode.char("160"))), range((Unicode.char("162"))..(Unicode.char("162"))), range((Unicode.char("164"))..(Unicode.char("164"))), range((Unicode.char("166"))..(Unicode.char("166"))), range((Unicode.char("168"))..(Unicode.char("168"))), range((Unicode.char("16A"))..(Unicode.char("16A"))), range((Unicode.char("16C"))..(Unicode.char("16C"))), range((Unicode.char("16E"))..(Unicode.char("16E"))), range((Unicode.char("170"))..(Unicode.char("170"))), range((Unicode.char("172"))..(Unicode.char("172"))), range((Unicode.char("174"))..(Unicode.char("174"))), range((Unicode.char("176"))..(Unicode.char("176"))), range((Unicode.char("178"))..(Unicode.char("179"))), range((Unicode.char("17B"))..(Unicode.char("17B"))), range((Unicode.char("17D"))..(Unicode.char("17D"))), range((Unicode.char("181"))..(Unicode.char("182"))), range((Unicode.char("184"))..(Unicode.char("184"))), range((Unicode.char("186"))..(Unicode.char("187"))), range((Unicode.char("189"))..(Unicode.char("18B"))), range((Unicode.char("18E"))..(Unicode.char("191"))), range((Unicode.char("193"))..(Unicode.char("194"))), range((Unicode.char("196"))..(Unicode.char("198"))), range((Unicode.char("19C"))..(Unicode.char("19D"))), range((Unicode.char("19F"))..(Unicode.char("1A0"))), range((Unicode.char("1A2"))..(Unicode.char("1A2"))), range((Unicode.char("1A4"))..(Unicode.char("1A4"))), range((Unicode.char("1A6"))..(Unicode.char("1A7"))), range((Unicode.char("1A9"))..(Unicode.char("1A9"))), range((Unicode.char("1AC"))..(Unicode.char("1AC"))), range((Unicode.char("1AE"))..(Unicode.char("1AF"))), range((Unicode.char("1B1"))..(Unicode.char("1B3"))), range((Unicode.char("1B5"))..(Unicode.char("1B5"))), range((Unicode.char("1B7"))..(Unicode.char("1B8"))), range((Unicode.char("1BC"))..(Unicode.char("1BC"))), range((Unicode.char("1C4"))..(Unicode.char("1C4"))), range((Unicode.char("1C7"))..(Unicode.char("1C7"))), range((Unicode.char("1CA"))..(Unicode.char("1CA"))), range((Unicode.char("1CD"))..(Unicode.char("1CD"))), range((Unicode.char("1CF"))..(Unicode.char("1CF"))), range((Unicode.char("1D1"))..(Unicode.char("1D1"))), range((Unicode.char("1D3"))..(Unicode.char("1D3"))), range((Unicode.char("1D5"))..(Unicode.char("1D5"))), range((Unicode.char("1D7"))..(Unicode.char("1D7"))), range((Unicode.char("1D9"))..(Unicode.char("1D9"))), range((Unicode.char("1DB"))..(Unicode.char("1DB"))), range((Unicode.char("1DE"))..(Unicode.char("1DE"))), range((Unicode.char("1E0"))..(Unicode.char("1E0"))), range((Unicode.char("1E2"))..(Unicode.char("1E2"))), range((Unicode.char("1E4"))..(Unicode.char("1E4"))), range((Unicode.char("1E6"))..(Unicode.char("1E6"))), range((Unicode.char("1E8"))..(Unicode.char("1E8"))), range((Unicode.char("1EA"))..(Unicode.char("1EA"))), range((Unicode.char("1EC"))..(Unicode.char("1EC"))), range((Unicode.char("1EE"))..(Unicode.char("1EE"))), range((Unicode.char("1F1"))..(Unicode.char("1F1"))), range((Unicode.char("1F4"))..(Unicode.char("1F4"))), range((Unicode.char("1F6"))..(Unicode.char("1F8"))), range((Unicode.char("1FA"))..(Unicode.char("1FA"))), range((Unicode.char("1FC"))..(Unicode.char("1FC"))), range((Unicode.char("1FE"))..(Unicode.char("1FE"))), range((Unicode.char("200"))..(Unicode.char("200"))), range((Unicode.char("202"))..(Unicode.char("202"))), range((Unicode.char("204"))..(Unicode.char("204"))), range((Unicode.char("206"))..(Unicode.char("206"))), range((Unicode.char("208"))..(Unicode.char("208"))), range((Unicode.char("20A"))..(Unicode.char("20A"))), range((Unicode.char("20C"))..(Unicode.char("20C"))), range((Unicode.char("20E"))..(Unicode.char("20E"))), range((Unicode.char("210"))..(Unicode.char("210"))), range((Unicode.char("212"))..(Unicode.char("212"))), range((Unicode.char("214"))..(Unicode.char("214"))), range((Unicode.char("216"))..(Unicode.char("216"))), range((Unicode.char("218"))..(Unicode.char("218"))), range((Unicode.char("21A"))..(Unicode.char("21A"))), range((Unicode.char("21C"))..(Unicode.char("21C"))), range((Unicode.char("21E"))..(Unicode.char("21E"))), range((Unicode.char("220"))..(Unicode.char("220"))), range((Unicode.char("222"))..(Unicode.char("222"))), range((Unicode.char("224"))..(Unicode.char("224"))), range((Unicode.char("226"))..(Unicode.char("226"))), range((Unicode.char("228"))..(Unicode.char("228"))), range((Unicode.char("22A"))..(Unicode.char("22A"))), range((Unicode.char("22C"))..(Unicode.char("22C"))), range((Unicode.char("22E"))..(Unicode.char("22E"))), range((Unicode.char("230"))..(Unicode.char("230"))), range((Unicode.char("232"))..(Unicode.char("232"))), range((Unicode.char("23A"))..(Unicode.char("23B"))), range((Unicode.char("23D"))..(Unicode.char("23E"))), range((Unicode.char("241"))..(Unicode.char("241"))), range((Unicode.char("243"))..(Unicode.char("246"))), range((Unicode.char("248"))..(Unicode.char("248"))), range((Unicode.char("24A"))..(Unicode.char("24A"))), range((Unicode.char("24C"))..(Unicode.char("24C"))), range((Unicode.char("24E"))..(Unicode.char("24E"))), range((Unicode.char("370"))..(Unicode.char("370"))), range((Unicode.char("372"))..(Unicode.char("372"))), range((Unicode.char("376"))..(Unicode.char("376"))), range((Unicode.char("37F"))..(Unicode.char("37F"))), range((Unicode.char("386"))..(Unicode.char("386"))), range((Unicode.char("388"))..(Unicode.char("38A"))), range((Unicode.char("38C"))..(Unicode.char("38C"))), range((Unicode.char("38E"))..(Unicode.char("38F"))), range((Unicode.char("391"))..(Unicode.char("3A1"))), range((Unicode.char("3A3"))..(Unicode.char("3AB"))), range((Unicode.char("3CF"))..(Unicode.char("3CF"))), range((Unicode.char("3D2"))..(Unicode.char("3D4"))), range((Unicode.char("3D8"))..(Unicode.char("3D8"))), range((Unicode.char("3DA"))..(Unicode.char("3DA"))), range((Unicode.char("3DC"))..(Unicode.char("3DC"))), range((Unicode.char("3DE"))..(Unicode.char("3DE"))), range((Unicode.char("3E0"))..(Unicode.char("3E0"))), range((Unicode.char("3E2"))..(Unicode.char("3E2"))), range((Unicode.char("3E4"))..(Unicode.char("3E4"))), range((Unicode.char("3E6"))..(Unicode.char("3E6"))), range((Unicode.char("3E8"))..(Unicode.char("3E8"))), range((Unicode.char("3EA"))..(Unicode.char("3EA"))), range((Unicode.char("3EC"))..(Unicode.char("3EC"))), range((Unicode.char("3EE"))..(Unicode.char("3EE"))), range((Unicode.char("3F4"))..(Unicode.char("3F4"))), range((Unicode.char("3F7"))..(Unicode.char("3F7"))), range((Unicode.char("3F9"))..(Unicode.char("3FA"))), range((Unicode.char("3FD"))..(Unicode.char("42F"))), range((Unicode.char("460"))..(Unicode.char("460"))), range((Unicode.char("462"))..(Unicode.char("462"))), range((Unicode.char("464"))..(Unicode.char("464"))), range((Unicode.char("466"))..(Unicode.char("466"))), range((Unicode.char("468"))..(Unicode.char("468"))), range((Unicode.char("46A"))..(Unicode.char("46A"))), range((Unicode.char("46C"))..(Unicode.char("46C"))), range((Unicode.char("46E"))..(Unicode.char("46E"))), range((Unicode.char("470"))..(Unicode.char("470"))), range((Unicode.char("472"))..(Unicode.char("472"))), range((Unicode.char("474"))..(Unicode.char("474"))), range((Unicode.char("476"))..(Unicode.char("476"))), range((Unicode.char("478"))..(Unicode.char("478"))), range((Unicode.char("47A"))..(Unicode.char("47A"))), range((Unicode.char("47C"))..(Unicode.char("47C"))), range((Unicode.char("47E"))..(Unicode.char("47E"))), range((Unicode.char("480"))..(Unicode.char("480"))), range((Unicode.char("48A"))..(Unicode.char("48A"))), range((Unicode.char("48C"))..(Unicode.char("48C"))), range((Unicode.char("48E"))..(Unicode.char("48E"))), range((Unicode.char("490"))..(Unicode.char("490"))), range((Unicode.char("492"))..(Unicode.char("492"))), range((Unicode.char("494"))..(Unicode.char("494"))), range((Unicode.char("496"))..(Unicode.char("496"))), range((Unicode.char("498"))..(Unicode.char("498"))), range((Unicode.char("49A"))..(Unicode.char("49A"))), range((Unicode.char("49C"))..(Unicode.char("49C"))), range((Unicode.char("49E"))..(Unicode.char("49E"))), range((Unicode.char("4A0"))..(Unicode.char("4A0"))), range((Unicode.char("4A2"))..(Unicode.char("4A2"))), range((Unicode.char("4A4"))..(Unicode.char("4A4"))), range((Unicode.char("4A6"))..(Unicode.char("4A6"))), range((Unicode.char("4A8"))..(Unicode.char("4A8"))), range((Unicode.char("4AA"))..(Unicode.char("4AA"))), range((Unicode.char("4AC"))..(Unicode.char("4AC"))), range((Unicode.char("4AE"))..(Unicode.char("4AE"))), range((Unicode.char("4B0"))..(Unicode.char("4B0"))), range((Unicode.char("4B2"))..(Unicode.char("4B2"))), range((Unicode.char("4B4"))..(Unicode.char("4B4"))), range((Unicode.char("4B6"))..(Unicode.char("4B6"))), range((Unicode.char("4B8"))..(Unicode.char("4B8"))), range((Unicode.char("4BA"))..(Unicode.char("4BA"))), range((Unicode.char("4BC"))..(Unicode.char("4BC"))), range((Unicode.char("4BE"))..(Unicode.char("4BE"))), range((Unicode.char("4C0"))..(Unicode.char("4C1"))), range((Unicode.char("4C3"))..(Unicode.char("4C3"))), range((Unicode.char("4C5"))..(Unicode.char("4C5"))), range((Unicode.char("4C7"))..(Unicode.char("4C7"))), range((Unicode.char("4C9"))..(Unicode.char("4C9"))), range((Unicode.char("4CB"))..(Unicode.char("4CB"))), range((Unicode.char("4CD"))..(Unicode.char("4CD"))), range((Unicode.char("4D0"))..(Unicode.char("4D0"))), range((Unicode.char("4D2"))..(Unicode.char("4D2"))), range((Unicode.char("4D4"))..(Unicode.char("4D4"))), range((Unicode.char("4D6"))..(Unicode.char("4D6"))), range((Unicode.char("4D8"))..(Unicode.char("4D8"))), range((Unicode.char("4DA"))..(Unicode.char("4DA"))), range((Unicode.char("4DC"))..(Unicode.char("4DC"))), range((Unicode.char("4DE"))..(Unicode.char("4DE"))), range((Unicode.char("4E0"))..(Unicode.char("4E0"))), range((Unicode.char("4E2"))..(Unicode.char("4E2"))), range((Unicode.char("4E4"))..(Unicode.char("4E4"))), range((Unicode.char("4E6"))..(Unicode.char("4E6"))), range((Unicode.char("4E8"))..(Unicode.char("4E8"))), range((Unicode.char("4EA"))..(Unicode.char("4EA"))), range((Unicode.char("4EC"))..(Unicode.char("4EC"))), range((Unicode.char("4EE"))..(Unicode.char("4EE"))), range((Unicode.char("4F0"))..(Unicode.char("4F0"))), range((Unicode.char("4F2"))..(Unicode.char("4F2"))), range((Unicode.char("4F4"))..(Unicode.char("4F4"))), range((Unicode.char("4F6"))..(Unicode.char("4F6"))), range((Unicode.char("4F8"))..(Unicode.char("4F8"))), range((Unicode.char("4FA"))..(Unicode.char("4FA"))), range((Unicode.char("4FC"))..(Unicode.char("4FC"))), range((Unicode.char("4FE"))..(Unicode.char("4FE"))), range((Unicode.char("500"))..(Unicode.char("500"))), range((Unicode.char("502"))..(Unicode.char("502"))), range((Unicode.char("504"))..(Unicode.char("504"))), range((Unicode.char("506"))..(Unicode.char("506"))), range((Unicode.char("508"))..(Unicode.char("508"))), range((Unicode.char("50A"))..(Unicode.char("50A"))), range((Unicode.char("50C"))..(Unicode.char("50C"))), range((Unicode.char("50E"))..(Unicode.char("50E"))), range((Unicode.char("510"))..(Unicode.char("510"))), range((Unicode.char("512"))..(Unicode.char("512"))), range((Unicode.char("514"))..(Unicode.char("514"))), range((Unicode.char("516"))..(Unicode.char("516"))), range((Unicode.char("518"))..(Unicode.char("518"))), range((Unicode.char("51A"))..(Unicode.char("51A"))), range((Unicode.char("51C"))..(Unicode.char("51C"))), range((Unicode.char("51E"))..(Unicode.char("51E"))), range((Unicode.char("520"))..(Unicode.char("520"))), range((Unicode.char("522"))..(Unicode.char("522"))), range((Unicode.char("524"))..(Unicode.char("524"))), range((Unicode.char("526"))..(Unicode.char("526"))), range((Unicode.char("528"))..(Unicode.char("528"))), range((Unicode.char("52A"))..(Unicode.char("52A"))), range((Unicode.char("52C"))..(Unicode.char("52C"))), range((Unicode.char("52E"))..(Unicode.char("52E"))), range((Unicode.char("531"))..(Unicode.char("556"))), range((Unicode.char("10A0"))..(Unicode.char("10C5"))), range((Unicode.char("10C7"))..(Unicode.char("10C7"))), range((Unicode.char("10CD"))..(Unicode.char("10CD"))), range((Unicode.char("13A0"))..(Unicode.char("13F5"))), range((Unicode.char("1C90"))..(Unicode.char("1CBA"))), range((Unicode.char("1CBD"))..(Unicode.char("1CBF"))), range((Unicode.char("1E00"))..(Unicode.char("1E00"))), range((Unicode.char("1E02"))..(Unicode.char("1E02"))), range((Unicode.char("1E04"))..(Unicode.char("1E04"))), range((Unicode.char("1E06"))..(Unicode.char("1E06"))), range((Unicode.char("1E08"))..(Unicode.char("1E08"))), range((Unicode.char("1E0A"))..(Unicode.char("1E0A"))), range((Unicode.char("1E0C"))..(Unicode.char("1E0C"))), range((Unicode.char("1E0E"))..(Unicode.char("1E0E"))), range((Unicode.char("1E10"))..(Unicode.char("1E10"))), range((Unicode.char("1E12"))..(Unicode.char("1E12"))), range((Unicode.char("1E14"))..(Unicode.char("1E14"))), range((Unicode.char("1E16"))..(Unicode.char("1E16"))), range((Unicode.char("1E18"))..(Unicode.char("1E18"))), range((Unicode.char("1E1A"))..(Unicode.char("1E1A"))), range((Unicode.char("1E1C"))..(Unicode.char("1E1C"))), range((Unicode.char("1E1E"))..(Unicode.char("1E1E"))), range((Unicode.char("1E20"))..(Unicode.char("1E20"))), range((Unicode.char("1E22"))..(Unicode.char("1E22"))), range((Unicode.char("1E24"))..(Unicode.char("1E24"))), range((Unicode.char("1E26"))..(Unicode.char("1E26"))), range((Unicode.char("1E28"))..(Unicode.char("1E28"))), range((Unicode.char("1E2A"))..(Unicode.char("1E2A"))), range((Unicode.char("1E2C"))..(Unicode.char("1E2C"))), range((Unicode.char("1E2E"))..(Unicode.char("1E2E"))), range((Unicode.char("1E30"))..(Unicode.char("1E30"))), range((Unicode.char("1E32"))..(Unicode.char("1E32"))), range((Unicode.char("1E34"))..(Unicode.char("1E34"))), range((Unicode.char("1E36"))..(Unicode.char("1E36"))), range((Unicode.char("1E38"))..(Unicode.char("1E38"))), range((Unicode.char("1E3A"))..(Unicode.char("1E3A"))), range((Unicode.char("1E3C"))..(Unicode.char("1E3C"))), range((Unicode.char("1E3E"))..(Unicode.char("1E3E"))), range((Unicode.char("1E40"))..(Unicode.char("1E40"))), range((Unicode.char("1E42"))..(Unicode.char("1E42"))), range((Unicode.char("1E44"))..(Unicode.char("1E44"))), range((Unicode.char("1E46"))..(Unicode.char("1E46"))), range((Unicode.char("1E48"))..(Unicode.char("1E48"))), range((Unicode.char("1E4A"))..(Unicode.char("1E4A"))), range((Unicode.char("1E4C"))..(Unicode.char("1E4C"))), range((Unicode.char("1E4E"))..(Unicode.char("1E4E"))), range((Unicode.char("1E50"))..(Unicode.char("1E50"))), range((Unicode.char("1E52"))..(Unicode.char("1E52"))), range((Unicode.char("1E54"))..(Unicode.char("1E54"))), range((Unicode.char("1E56"))..(Unicode.char("1E56"))), range((Unicode.char("1E58"))..(Unicode.char("1E58"))), range((Unicode.char("1E5A"))..(Unicode.char("1E5A"))), range((Unicode.char("1E5C"))..(Unicode.char("1E5C"))), range((Unicode.char("1E5E"))..(Unicode.char("1E5E"))), range((Unicode.char("1E60"))..(Unicode.char("1E60"))), range((Unicode.char("1E62"))..(Unicode.char("1E62"))), range((Unicode.char("1E64"))..(Unicode.char("1E64"))), range((Unicode.char("1E66"))..(Unicode.char("1E66"))), range((Unicode.char("1E68"))..(Unicode.char("1E68"))), range((Unicode.char("1E6A"))..(Unicode.char("1E6A"))), range((Unicode.char("1E6C"))..(Unicode.char("1E6C"))), range((Unicode.char("1E6E"))..(Unicode.char("1E6E"))), range((Unicode.char("1E70"))..(Unicode.char("1E70"))), range((Unicode.char("1E72"))..(Unicode.char("1E72"))), range((Unicode.char("1E74"))..(Unicode.char("1E74"))), range((Unicode.char("1E76"))..(Unicode.char("1E76"))), range((Unicode.char("1E78"))..(Unicode.char("1E78"))), range((Unicode.char("1E7A"))..(Unicode.char("1E7A"))), range((Unicode.char("1E7C"))..(Unicode.char("1E7C"))), range((Unicode.char("1E7E"))..(Unicode.char("1E7E"))), range((Unicode.char("1E80"))..(Unicode.char("1E80"))), range((Unicode.char("1E82"))..(Unicode.char("1E82"))), range((Unicode.char("1E84"))..(Unicode.char("1E84"))), range((Unicode.char("1E86"))..(Unicode.char("1E86"))), range((Unicode.char("1E88"))..(Unicode.char("1E88"))), range((Unicode.char("1E8A"))..(Unicode.char("1E8A"))), range((Unicode.char("1E8C"))..(Unicode.char("1E8C"))), range((Unicode.char("1E8E"))..(Unicode.char("1E8E"))), range((Unicode.char("1E90"))..(Unicode.char("1E90"))), range((Unicode.char("1E92"))..(Unicode.char("1E92"))), range((Unicode.char("1E94"))..(Unicode.char("1E94"))), range((Unicode.char("1E9E"))..(Unicode.char("1E9E"))), range((Unicode.char("1EA0"))..(Unicode.char("1EA0"))), range((Unicode.char("1EA2"))..(Unicode.char("1EA2"))), range((Unicode.char("1EA4"))..(Unicode.char("1EA4"))), range((Unicode.char("1EA6"))..(Unicode.char("1EA6"))), range((Unicode.char("1EA8"))..(Unicode.char("1EA8"))), range((Unicode.char("1EAA"))..(Unicode.char("1EAA"))), range((Unicode.char("1EAC"))..(Unicode.char("1EAC"))), range((Unicode.char("1EAE"))..(Unicode.char("1EAE"))), range((Unicode.char("1EB0"))..(Unicode.char("1EB0"))), range((Unicode.char("1EB2"))..(Unicode.char("1EB2"))), range((Unicode.char("1EB4"))..(Unicode.char("1EB4"))), range((Unicode.char("1EB6"))..(Unicode.char("1EB6"))), range((Unicode.char("1EB8"))..(Unicode.char("1EB8"))), range((Unicode.char("1EBA"))..(Unicode.char("1EBA"))), range((Unicode.char("1EBC"))..(Unicode.char("1EBC"))), range((Unicode.char("1EBE"))..(Unicode.char("1EBE"))), range((Unicode.char("1EC0"))..(Unicode.char("1EC0"))), range((Unicode.char("1EC2"))..(Unicode.char("1EC2"))), range((Unicode.char("1EC4"))..(Unicode.char("1EC4"))), range((Unicode.char("1EC6"))..(Unicode.char("1EC6"))), range((Unicode.char("1EC8"))..(Unicode.char("1EC8"))), range((Unicode.char("1ECA"))..(Unicode.char("1ECA"))), range((Unicode.char("1ECC"))..(Unicode.char("1ECC"))), range((Unicode.char("1ECE"))..(Unicode.char("1ECE"))), range((Unicode.char("1ED0"))..(Unicode.char("1ED0"))), range((Unicode.char("1ED2"))..(Unicode.char("1ED2"))), range((Unicode.char("1ED4"))..(Unicode.char("1ED4"))), range((Unicode.char("1ED6"))..(Unicode.char("1ED6"))), range((Unicode.char("1ED8"))..(Unicode.char("1ED8"))), range((Unicode.char("1EDA"))..(Unicode.char("1EDA"))), range((Unicode.char("1EDC"))..(Unicode.char("1EDC"))), range((Unicode.char("1EDE"))..(Unicode.char("1EDE"))), range((Unicode.char("1EE0"))..(Unicode.char("1EE0"))), range((Unicode.char("1EE2"))..(Unicode.char("1EE2"))), range((Unicode.char("1EE4"))..(Unicode.char("1EE4"))), range((Unicode.char("1EE6"))..(Unicode.char("1EE6"))), range((Unicode.char("1EE8"))..(Unicode.char("1EE8"))), range((Unicode.char("1EEA"))..(Unicode.char("1EEA"))), range((Unicode.char("1EEC"))..(Unicode.char("1EEC"))), range((Unicode.char("1EEE"))..(Unicode.char("1EEE"))), range((Unicode.char("1EF0"))..(Unicode.char("1EF0"))), range((Unicode.char("1EF2"))..(Unicode.char("1EF2"))), range((Unicode.char("1EF4"))..(Unicode.char("1EF4"))), range((Unicode.char("1EF6"))..(Unicode.char("1EF6"))), range((Unicode.char("1EF8"))..(Unicode.char("1EF8"))), range((Unicode.char("1EFA"))..(Unicode.char("1EFA"))), range((Unicode.char("1EFC"))..(Unicode.char("1EFC"))), range((Unicode.char("1EFE"))..(Unicode.char("1EFE"))), range((Unicode.char("1F08"))..(Unicode.char("1F0F"))), range((Unicode.char("1F18"))..(Unicode.char("1F1D"))), range((Unicode.char("1F28"))..(Unicode.char("1F2F"))), range((Unicode.char("1F38"))..(Unicode.char("1F3F"))), range((Unicode.char("1F48"))..(Unicode.char("1F4D"))), range((Unicode.char("1F59"))..(Unicode.char("1F59"))), range((Unicode.char("1F5B"))..(Unicode.char("1F5B"))), range((Unicode.char("1F5D"))..(Unicode.char("1F5D"))), range((Unicode.char("1F5F"))..(Unicode.char("1F5F"))), range((Unicode.char("1F68"))..(Unicode.char("1F6F"))), range((Unicode.char("1FB8"))..(Unicode.char("1FBB"))), range((Unicode.char("1FC8"))..(Unicode.char("1FCB"))), range((Unicode.char("1FD8"))..(Unicode.char("1FDB"))), range((Unicode.char("1FE8"))..(Unicode.char("1FEC"))), range((Unicode.char("1FF8"))..(Unicode.char("1FFB"))), range((Unicode.char("2102"))..(Unicode.char("2102"))), range((Unicode.char("2107"))..(Unicode.char("2107"))), range((Unicode.char("210B"))..(Unicode.char("210D"))), range((Unicode.char("2110"))..(Unicode.char("2112"))), range((Unicode.char("2115"))..(Unicode.char("2115"))), range((Unicode.char("2119"))..(Unicode.char("211D"))), range((Unicode.char("2124"))..(Unicode.char("2124"))), range((Unicode.char("2126"))..(Unicode.char("2126"))), range((Unicode.char("2128"))..(Unicode.char("2128"))), range((Unicode.char("212A"))..(Unicode.char("212D"))), range((Unicode.char("2130"))..(Unicode.char("2133"))), range((Unicode.char("213E"))..(Unicode.char("213F"))), range((Unicode.char("2145"))..(Unicode.char("2145"))), range((Unicode.char("2183"))..(Unicode.char("2183"))), range((Unicode.char("2C00"))..(Unicode.char("2C2E"))), range((Unicode.char("2C60"))..(Unicode.char("2C60"))), range((Unicode.char("2C62"))..(Unicode.char("2C64"))), range((Unicode.char("2C67"))..(Unicode.char("2C67"))), range((Unicode.char("2C69"))..(Unicode.char("2C69"))), range((Unicode.char("2C6B"))..(Unicode.char("2C6B"))), range((Unicode.char("2C6D"))..(Unicode.char("2C70"))), range((Unicode.char("2C72"))..(Unicode.char("2C72"))), range((Unicode.char("2C75"))..(Unicode.char("2C75"))), range((Unicode.char("2C7E"))..(Unicode.char("2C80"))), range((Unicode.char("2C82"))..(Unicode.char("2C82"))), range((Unicode.char("2C84"))..(Unicode.char("2C84"))), range((Unicode.char("2C86"))..(Unicode.char("2C86"))), range((Unicode.char("2C88"))..(Unicode.char("2C88"))), range((Unicode.char("2C8A"))..(Unicode.char("2C8A"))), range((Unicode.char("2C8C"))..(Unicode.char("2C8C"))), range((Unicode.char("2C8E"))..(Unicode.char("2C8E"))), range((Unicode.char("2C90"))..(Unicode.char("2C90"))), range((Unicode.char("2C92"))..(Unicode.char("2C92"))), range((Unicode.char("2C94"))..(Unicode.char("2C94"))), range((Unicode.char("2C96"))..(Unicode.char("2C96"))), range((Unicode.char("2C98"))..(Unicode.char("2C98"))), range((Unicode.char("2C9A"))..(Unicode.char("2C9A"))), range((Unicode.char("2C9C"))..(Unicode.char("2C9C"))), range((Unicode.char("2C9E"))..(Unicode.char("2C9E"))), range((Unicode.char("2CA0"))..(Unicode.char("2CA0"))), range((Unicode.char("2CA2"))..(Unicode.char("2CA2"))), range((Unicode.char("2CA4"))..(Unicode.char("2CA4"))), range((Unicode.char("2CA6"))..(Unicode.char("2CA6"))), range((Unicode.char("2CA8"))..(Unicode.char("2CA8"))), range((Unicode.char("2CAA"))..(Unicode.char("2CAA"))), range((Unicode.char("2CAC"))..(Unicode.char("2CAC"))), range((Unicode.char("2CAE"))..(Unicode.char("2CAE"))), range((Unicode.char("2CB0"))..(Unicode.char("2CB0"))), range((Unicode.char("2CB2"))..(Unicode.char("2CB2"))), range((Unicode.char("2CB4"))..(Unicode.char("2CB4"))), range((Unicode.char("2CB6"))..(Unicode.char("2CB6"))), range((Unicode.char("2CB8"))..(Unicode.char("2CB8"))), range((Unicode.char("2CBA"))..(Unicode.char("2CBA"))), range((Unicode.char("2CBC"))..(Unicode.char("2CBC"))), range((Unicode.char("2CBE"))..(Unicode.char("2CBE"))), range((Unicode.char("2CC0"))..(Unicode.char("2CC0"))), range((Unicode.char("2CC2"))..(Unicode.char("2CC2"))), range((Unicode.char("2CC4"))..(Unicode.char("2CC4"))), range((Unicode.char("2CC6"))..(Unicode.char("2CC6"))), range((Unicode.char("2CC8"))..(Unicode.char("2CC8"))), range((Unicode.char("2CCA"))..(Unicode.char("2CCA"))), range((Unicode.char("2CCC"))..(Unicode.char("2CCC"))), range((Unicode.char("2CCE"))..(Unicode.char("2CCE"))), range((Unicode.char("2CD0"))..(Unicode.char("2CD0"))), range((Unicode.char("2CD2"))..(Unicode.char("2CD2"))), range((Unicode.char("2CD4"))..(Unicode.char("2CD4"))), range((Unicode.char("2CD6"))..(Unicode.char("2CD6"))), range((Unicode.char("2CD8"))..(Unicode.char("2CD8"))), range((Unicode.char("2CDA"))..(Unicode.char("2CDA"))), range((Unicode.char("2CDC"))..(Unicode.char("2CDC"))), range((Unicode.char("2CDE"))..(Unicode.char("2CDE"))), range((Unicode.char("2CE0"))..(Unicode.char("2CE0"))), range((Unicode.char("2CE2"))..(Unicode.char("2CE2"))), range((Unicode.char("2CEB"))..(Unicode.char("2CEB"))), range((Unicode.char("2CED"))..(Unicode.char("2CED"))), range((Unicode.char("2CF2"))..(Unicode.char("2CF2"))), range((Unicode.char("A640"))..(Unicode.char("A640"))), range((Unicode.char("A642"))..(Unicode.char("A642"))), range((Unicode.char("A644"))..(Unicode.char("A644"))), range((Unicode.char("A646"))..(Unicode.char("A646"))), range((Unicode.char("A648"))..(Unicode.char("A648"))), range((Unicode.char("A64A"))..(Unicode.char("A64A"))), range((Unicode.char("A64C"))..(Unicode.char("A64C"))), range((Unicode.char("A64E"))..(Unicode.char("A64E"))), range((Unicode.char("A650"))..(Unicode.char("A650"))), range((Unicode.char("A652"))..(Unicode.char("A652"))), range((Unicode.char("A654"))..(Unicode.char("A654"))), range((Unicode.char("A656"))..(Unicode.char("A656"))), range((Unicode.char("A658"))..(Unicode.char("A658"))), range((Unicode.char("A65A"))..(Unicode.char("A65A"))), range((Unicode.char("A65C"))..(Unicode.char("A65C"))), range((Unicode.char("A65E"))..(Unicode.char("A65E"))), range((Unicode.char("A660"))..(Unicode.char("A660"))), range((Unicode.char("A662"))..(Unicode.char("A662"))), range((Unicode.char("A664"))..(Unicode.char("A664"))), range((Unicode.char("A666"))..(Unicode.char("A666"))), range((Unicode.char("A668"))..(Unicode.char("A668"))), range((Unicode.char("A66A"))..(Unicode.char("A66A"))), range((Unicode.char("A66C"))..(Unicode.char("A66C"))), range((Unicode.char("A680"))..(Unicode.char("A680"))), range((Unicode.char("A682"))..(Unicode.char("A682"))), range((Unicode.char("A684"))..(Unicode.char("A684"))), range((Unicode.char("A686"))..(Unicode.char("A686"))), range((Unicode.char("A688"))..(Unicode.char("A688"))), range((Unicode.char("A68A"))..(Unicode.char("A68A"))), range((Unicode.char("A68C"))..(Unicode.char("A68C"))), range((Unicode.char("A68E"))..(Unicode.char("A68E"))), range((Unicode.char("A690"))..(Unicode.char("A690"))), range((Unicode.char("A692"))..(Unicode.char("A692"))), range((Unicode.char("A694"))..(Unicode.char("A694"))), range((Unicode.char("A696"))..(Unicode.char("A696"))), range((Unicode.char("A698"))..(Unicode.char("A698"))), range((Unicode.char("A69A"))..(Unicode.char("A69A"))), range((Unicode.char("A722"))..(Unicode.char("A722"))), range((Unicode.char("A724"))..(Unicode.char("A724"))), range((Unicode.char("A726"))..(Unicode.char("A726"))), range((Unicode.char("A728"))..(Unicode.char("A728"))), range((Unicode.char("A72A"))..(Unicode.char("A72A"))), range((Unicode.char("A72C"))..(Unicode.char("A72C"))), range((Unicode.char("A72E"))..(Unicode.char("A72E"))), range((Unicode.char("A732"))..(Unicode.char("A732"))), range((Unicode.char("A734"))..(Unicode.char("A734"))), range((Unicode.char("A736"))..(Unicode.char("A736"))), range((Unicode.char("A738"))..(Unicode.char("A738"))), range((Unicode.char("A73A"))..(Unicode.char("A73A"))), range((Unicode.char("A73C"))..(Unicode.char("A73C"))), range((Unicode.char("A73E"))..(Unicode.char("A73E"))), range((Unicode.char("A740"))..(Unicode.char("A740"))), range((Unicode.char("A742"))..(Unicode.char("A742"))), range((Unicode.char("A744"))..(Unicode.char("A744"))), range((Unicode.char("A746"))..(Unicode.char("A746"))), range((Unicode.char("A748"))..(Unicode.char("A748"))), range((Unicode.char("A74A"))..(Unicode.char("A74A"))), range((Unicode.char("A74C"))..(Unicode.char("A74C"))), range((Unicode.char("A74E"))..(Unicode.char("A74E"))), range((Unicode.char("A750"))..(Unicode.char("A750"))), range((Unicode.char("A752"))..(Unicode.char("A752"))), range((Unicode.char("A754"))..(Unicode.char("A754"))), range((Unicode.char("A756"))..(Unicode.char("A756"))), range((Unicode.char("A758"))..(Unicode.char("A758"))), range((Unicode.char("A75A"))..(Unicode.char("A75A"))), range((Unicode.char("A75C"))..(Unicode.char("A75C"))), range((Unicode.char("A75E"))..(Unicode.char("A75E"))), range((Unicode.char("A760"))..(Unicode.char("A760"))), range((Unicode.char("A762"))..(Unicode.char("A762"))), range((Unicode.char("A764"))..(Unicode.char("A764"))), range((Unicode.char("A766"))..(Unicode.char("A766"))), range((Unicode.char("A768"))..(Unicode.char("A768"))), range((Unicode.char("A76A"))..(Unicode.char("A76A"))), range((Unicode.char("A76C"))..(Unicode.char("A76C"))), range((Unicode.char("A76E"))..(Unicode.char("A76E"))), range((Unicode.char("A779"))..(Unicode.char("A779"))), range((Unicode.char("A77B"))..(Unicode.char("A77B"))), range((Unicode.char("A77D"))..(Unicode.char("A77E"))), range((Unicode.char("A780"))..(Unicode.char("A780"))), range((Unicode.char("A782"))..(Unicode.char("A782"))), range((Unicode.char("A784"))..(Unicode.char("A784"))), range((Unicode.char("A786"))..(Unicode.char("A786"))), range((Unicode.char("A78B"))..(Unicode.char("A78B"))), range((Unicode.char("A78D"))..(Unicode.char("A78D"))), range((Unicode.char("A790"))..(Unicode.char("A790"))), range((Unicode.char("A792"))..(Unicode.char("A792"))), range((Unicode.char("A796"))..(Unicode.char("A796"))), range((Unicode.char("A798"))..(Unicode.char("A798"))), range((Unicode.char("A79A"))..(Unicode.char("A79A"))), range((Unicode.char("A79C"))..(Unicode.char("A79C"))), range((Unicode.char("A79E"))..(Unicode.char("A79E"))), range((Unicode.char("A7A0"))..(Unicode.char("A7A0"))), range((Unicode.char("A7A2"))..(Unicode.char("A7A2"))), range((Unicode.char("A7A4"))..(Unicode.char("A7A4"))), range((Unicode.char("A7A6"))..(Unicode.char("A7A6"))), range((Unicode.char("A7A8"))..(Unicode.char("A7A8"))), range((Unicode.char("A7AA"))..(Unicode.char("A7AE"))), range((Unicode.char("A7B0"))..(Unicode.char("A7B4"))), range((Unicode.char("A7B6"))..(Unicode.char("A7B6"))), range((Unicode.char("A7B8"))..(Unicode.char("A7B8"))), range((Unicode.char("FF21"))..(Unicode.char("FF3A"))), range((Unicode.char("10400"))..(Unicode.char("10427"))), range((Unicode.char("104B0"))..(Unicode.char("104D3"))), range((Unicode.char("10C80"))..(Unicode.char("10CB2"))), range((Unicode.char("118A0"))..(Unicode.char("118BF"))), range((Unicode.char("16E40"))..(Unicode.char("16E5F"))), range((Unicode.char("1D400"))..(Unicode.char("1D419"))), range((Unicode.char("1D434"))..(Unicode.char("1D44D"))), range((Unicode.char("1D468"))..(Unicode.char("1D481"))), range((Unicode.char("1D49C"))..(Unicode.char("1D49C"))), range((Unicode.char("1D49E"))..(Unicode.char("1D49F"))), range((Unicode.char("1D4A2"))..(Unicode.char("1D4A2"))), range((Unicode.char("1D4A5"))..(Unicode.char("1D4A6"))), range((Unicode.char("1D4A9"))..(Unicode.char("1D4AC"))), range((Unicode.char("1D4AE"))..(Unicode.char("1D4B5"))), range((Unicode.char("1D4D0"))..(Unicode.char("1D4E9"))), range((Unicode.char("1D504"))..(Unicode.char("1D505"))), range((Unicode.char("1D507"))..(Unicode.char("1D50A"))), range((Unicode.char("1D50D"))..(Unicode.char("1D514"))), range((Unicode.char("1D516"))..(Unicode.char("1D51C"))), range((Unicode.char("1D538"))..(Unicode.char("1D539"))), range((Unicode.char("1D53B"))..(Unicode.char("1D53E"))), range((Unicode.char("1D540"))..(Unicode.char("1D544"))), range((Unicode.char("1D546"))..(Unicode.char("1D546"))), range((Unicode.char("1D54A"))..(Unicode.char("1D550"))), range((Unicode.char("1D56C"))..(Unicode.char("1D585"))), range((Unicode.char("1D5A0"))..(Unicode.char("1D5B9"))), range((Unicode.char("1D5D4"))..(Unicode.char("1D5ED"))), range((Unicode.char("1D608"))..(Unicode.char("1D621"))), range((Unicode.char("1D63C"))..(Unicode.char("1D655"))), range((Unicode.char("1D670"))..(Unicode.char("1D689"))), range((Unicode.char("1D6A8"))..(Unicode.char("1D6C0"))), range((Unicode.char("1D6E2"))..(Unicode.char("1D6FA"))), range((Unicode.char("1D71C"))..(Unicode.char("1D734"))), range((Unicode.char("1D756"))..(Unicode.char("1D76E"))), range((Unicode.char("1D790"))..(Unicode.char("1D7A8"))), range((Unicode.char("1D7CA"))..(Unicode.char("1D7CA"))), range((Unicode.char("1E900"))..(Unicode.char("1E921")))] of Expr)