From 3269ec44c607a531bbcba4f949c3f02d8cb9cacb Mon Sep 17 00:00:00 2001 From: Justin Tennant Date: Tue, 22 Oct 2019 00:04:29 -0700 Subject: [PATCH] Fixes #1: Grammar updates for assetInfo, timeSamples, channel, reorder list edit action, metadata on properties --- README.md | 2 - build.gradle | 6 +- .../lang/lexer/USDHighlighterLexer.java | 1600 +++++++++-------- .../justint/usdidea/lang/lexer/USDLexer.java | 1508 ++++++++-------- .../usdidea/lang/parser/USDParser.java | 115 +- .../justint/usdidea/lang/psi/USDTypes.java | 1 + .../psi/impl/usdAttributePropertyImpl.java | 6 + .../lang/psi/impl/usdPropertySpecImpl.java | 6 + .../lang/psi/impl/usdTimeSampleImpl.java | 8 +- .../lang/psi/usdAttributeProperty.java | 3 + .../usdidea/lang/psi/usdPropertySpec.java | 3 + .../usdidea/lang/psi/usdTimeSample.java | 4 +- .../highlighting/USDColorSettingsPage.java | 14 +- .../highlighting/USDSyntaxHighlighter.java | 20 +- .../java/com/justint/usdidea/lang/USD.bnf | 19 +- .../lang/lexer/USDHighlighterLexer.flex | 1 + .../justint/usdidea/lang/lexer/USDLexer.flex | 1 + .../justint/usdidea/lang/lexer/_USDLexer.flex | 1 + src/main/resources/META-INF/change-notes.html | 24 +- src/main/resources/META-INF/plugin.xml | 2 +- 20 files changed, 1737 insertions(+), 1607 deletions(-) diff --git a/README.md b/README.md index 4de6724..f97b7a0 100644 --- a/README.md +++ b/README.md @@ -33,8 +33,6 @@ TODO: - Line markers for overrides, inheritance, etc -- Python autocompletions for the `pxr.Usd` library - ## License MIT license \ No newline at end of file diff --git a/build.gradle b/build.gradle index d20fa27..8f55872 100644 --- a/build.gradle +++ b/build.gradle @@ -3,13 +3,13 @@ plugins { } group 'com.justint' -version '0.2.2' +version '0.2.3' sourceSets.main.java.srcDirs = ['src/main/gen','src/main/java'] // See https://github.com/JetBrains/gradle-intellij-plugin/ intellij { - version = System.getenv().getOrDefault("IDEA_VERSION", "IC-145.1617.8") + version = System.getenv().getOrDefault("IDEA_VERSION", "IC-192.6817.14") //alternativeIdePath '/Applications/PyCharm.app' } @@ -19,5 +19,5 @@ def htmlFixer = {htmlFile -> file(htmlFile).text.replace('', '').replace(' patchPluginXml { changeNotes = htmlFixer('src/main/resources/META-INF/change-notes.html') sinceBuild '145' - untilBuild '191.*' + untilBuild '193.*' } \ No newline at end of file diff --git a/src/main/gen/com/justint/usdidea/lang/lexer/USDHighlighterLexer.java b/src/main/gen/com/justint/usdidea/lang/lexer/USDHighlighterLexer.java index b6ce753..c6f6e21 100644 --- a/src/main/gen/com/justint/usdidea/lang/lexer/USDHighlighterLexer.java +++ b/src/main/gen/com/justint/usdidea/lang/lexer/USDHighlighterLexer.java @@ -65,12 +65,12 @@ public static int ZZ_CMAP(int ch) { /* The ZZ_CMAP_A table has 544 entries */ static final char ZZ_CMAP_A[] = zzUnpackCMap( - "\11\0\1\2\1\1\2\2\1\1\22\0\1\2\1\0\1\3\1\16\3\0\1\4\1\43\1\41\1\15\1\5\1\70"+ - "\1\6\1\10\1\14\2\13\1\76\1\77\1\75\1\13\1\74\3\13\1\17\1\0\1\25\1\71\1\26"+ - "\1\0\1\23\1\66\1\12\1\57\1\53\1\11\1\67\2\12\1\102\2\12\1\64\1\12\1\60\1\12"+ - "\1\63\2\12\1\62\1\101\1\55\5\12\1\72\1\24\1\73\1\0\1\12\1\0\1\22\1\50\1\35"+ - "\1\27\1\30\1\31\1\52\1\20\1\47\1\12\1\56\1\36\1\21\1\45\1\32\1\44\1\100\1"+ - "\34\1\37\1\46\1\51\1\33\1\12\1\61\1\54\1\65\1\40\1\0\1\42\7\0\1\2\32\0\1\2"+ + "\11\0\1\2\1\1\2\2\1\1\22\0\1\2\1\0\1\3\1\16\3\0\1\4\1\43\1\41\1\15\1\5\1\71"+ + "\1\6\1\10\1\14\2\13\1\77\1\100\1\76\1\13\1\75\3\13\1\17\1\0\1\25\1\72\1\26"+ + "\1\0\1\23\1\67\1\12\1\60\1\54\1\11\1\70\2\12\1\47\2\12\1\65\1\12\1\61\1\12"+ + "\1\64\2\12\1\63\1\102\1\56\5\12\1\73\1\24\1\74\1\0\1\12\1\0\1\22\1\51\1\35"+ + "\1\27\1\30\1\31\1\53\1\20\1\50\1\12\1\57\1\36\1\21\1\45\1\32\1\44\1\101\1"+ + "\34\1\37\1\46\1\52\1\33\1\12\1\62\1\55\1\66\1\40\1\0\1\42\7\0\1\2\32\0\1\2"+ "\77\0\12\7\46\0\12\7\14\0\12\7\20\0\12\7\6\0\12\7\6\0\13\2\35\0\2\2\5\0\1"+ "\2\57\0\1\2\26\0\12\7\16\0\62\7"); @@ -95,25 +95,25 @@ public static int ZZ_CMAP(int ch) { "\1\52\1\53\4\5\2\0\1\5\1\54\1\55\1\56"+ "\2\5\1\57\2\5\2\0\5\5\1\60\1\5\1\61"+ "\13\5\1\62\17\5\1\63\2\5\1\64\1\65\4\5"+ - "\1\66\1\67\1\70\1\5\1\0\1\5\1\71\1\5"+ + "\1\66\1\67\1\70\1\5\1\0\1\5\1\71\2\5"+ "\1\72\1\5\1\27\1\0\1\5\1\73\1\74\3\5"+ "\1\75\1\76\1\77\1\100\11\5\1\101\1\5\1\102"+ - "\1\5\1\103\17\5\1\104\10\5\2\27\1\105\1\106"+ + "\1\5\1\103\17\5\1\104\11\5\2\27\1\105\1\106"+ "\1\107\1\110\2\5\1\111\1\5\1\112\2\5\1\113"+ "\2\5\1\114\1\115\1\116\1\117\1\120\1\121\1\122"+ "\5\5\1\123\1\5\1\124\1\125\1\126\1\5\1\127"+ - "\6\5\1\130\4\5\1\131\1\132\1\133\1\5\1\27"+ + "\6\5\1\130\4\5\1\131\1\132\1\133\2\5\1\27"+ "\2\5\1\134\1\5\1\135\1\136\1\137\14\5\1\140"+ - "\1\141\1\142\1\5\1\143\4\5\1\144\1\5\1\27"+ - "\4\5\1\145\1\146\3\5\1\147\12\5\1\150\1\151"+ - "\1\152\1\153\1\5\1\154\1\155\1\156\4\5\1\157"+ - "\1\5\1\160\1\5\1\161\1\162\1\163\1\164\1\165"+ - "\1\166\1\5\1\167\1\170\1\171\1\172\12\5\1\173"+ - "\5\5\1\174\12\5\1\175\2\5\1\176\3\5\1\177"+ - "\1\200"; + "\1\141\1\142\1\5\1\143\4\5\1\144\1\145\1\5"+ + "\1\27\4\5\1\146\1\147\3\5\1\150\12\5\1\151"+ + "\1\152\1\153\1\154\1\5\1\155\1\156\1\157\4\5"+ + "\1\160\1\5\1\161\1\5\1\162\1\163\1\164\1\165"+ + "\1\166\1\167\1\5\1\170\1\171\1\172\1\173\12\5"+ + "\1\174\5\5\1\175\12\5\1\176\2\5\1\177\3\5"+ + "\1\200\1\201"; private static int [] zzUnpackAction() { - int [] result = new int[556]; + int [] result = new int[560]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; @@ -173,44 +173,44 @@ private static int zzUnpackAction(String packed, int offset, int [] result) { "\0\u3b69\0\u02e1\0\u3bac\0\u3bef\0\u3c32\0\u02e1\0\u02e1\0\u02e1"+ "\0\u02e1\0\u3c75\0\u3cb8\0\u3cfb\0\u02e1\0\u02e1\0\u3d3e\0\u3d81"+ "\0\u3dc4\0\u3e07\0\u3e4a\0\u3e8d\0\u3ed0\0\u02e1\0\u02e1\0\u02e1"+ - "\0\u3f13\0\u3f56\0\u02e1\0\u3f99\0\u3fdc\0\u401f\0\u4062\0\u40a5"+ - "\0\u40e8\0\u412b\0\u416e\0\u41b1\0\u02e1\0\u41f4\0\u4237\0\u427a"+ - "\0\u42bd\0\u4300\0\u4343\0\u4386\0\u43c9\0\u440c\0\u444f\0\u4492"+ - "\0\u44d5\0\u4518\0\u02e1\0\u455b\0\u459e\0\u45e1\0\u4624\0\u4667"+ - "\0\u46aa\0\u46ed\0\u4730\0\u4773\0\u47b6\0\u47f9\0\u483c\0\u487f"+ - "\0\u48c2\0\u4905\0\u02e1\0\u4948\0\u498b\0\u02e1\0\u02e1\0\u49ce"+ - "\0\u4a11\0\u4a54\0\u4a97\0\u02e1\0\u02e1\0\u02e1\0\u4ada\0\u4b1d"+ - "\0\u4b60\0\u02e1\0\u4ba3\0\u02e1\0\u4be6\0\u4c29\0\u4c6c\0\u4caf"+ - "\0\u02e1\0\u4cf2\0\u4d35\0\u4d78\0\u4dbb\0\u02e1\0\u02e1\0\u02e1"+ - "\0\u02e1\0\u4dfe\0\u4e41\0\u4e84\0\u4ec7\0\u4f0a\0\u4f4d\0\u4f90"+ - "\0\u4fd3\0\u5016\0\u02e1\0\u5059\0\u509c\0\u50df\0\u02e1\0\u5122"+ - "\0\u5165\0\u51a8\0\u51eb\0\u522e\0\u5271\0\u52b4\0\u52f7\0\u533a"+ - "\0\u537d\0\u53c0\0\u5403\0\u5446\0\u5489\0\u54cc\0\u02e1\0\u550f"+ - "\0\u5552\0\u5595\0\u55d8\0\u561b\0\u565e\0\u56a1\0\u56e4\0\u5727"+ - "\0\u576a\0\u02e1\0\u02e1\0\u02e1\0\u02e1\0\u57ad\0\u57f0\0\u02e1"+ - "\0\u5833\0\u02e1\0\u5876\0\u58b9\0\u02e1\0\u58fc\0\u593f\0\u02e1"+ - "\0\u02e1\0\u02e1\0\u02e1\0\u02e1\0\u02e1\0\u02e1\0\u5982\0\u59c5"+ - "\0\u5a08\0\u5a4b\0\u5a8e\0\u02e1\0\u5ad1\0\u02e1\0\u02e1\0\u02e1"+ - "\0\u5b14\0\u02e1\0\u5b57\0\u5b9a\0\u5bdd\0\u5c20\0\u5c63\0\u5ca6"+ - "\0\u02e1\0\u5ce9\0\u5d2c\0\u5d6f\0\u5db2\0\u02e1\0\u02e1\0\u02e1"+ - "\0\u5df5\0\u5e38\0\u5e7b\0\u5ebe\0\u02e1\0\u5f01\0\u02e1\0\u02e1"+ - "\0\u02e1\0\u5f44\0\u5f87\0\u5fca\0\u600d\0\u6050\0\u6093\0\u60d6"+ - "\0\u6119\0\u615c\0\u619f\0\u61e2\0\u6225\0\u02e1\0\u02e1\0\u02e1"+ - "\0\u6268\0\u02e1\0\u62ab\0\u62ee\0\u6331\0\u6374\0\u02e1\0\u63b7"+ - "\0\u401f\0\u63fa\0\u643d\0\u6480\0\u64c3\0\u02e1\0\u02e1\0\u6506"+ - "\0\u6549\0\u658c\0\u02e1\0\u65cf\0\u6612\0\u6655\0\u6698\0\u66db"+ - "\0\u671e\0\u6761\0\u67a4\0\u67e7\0\u682a\0\u02e1\0\u02e1\0\u02e1"+ - "\0\u02e1\0\u686d\0\u68b0\0\u02e1\0\u02e1\0\u68f3\0\u6936\0\u6979"+ - "\0\u69bc\0\u02e1\0\u69ff\0\u02e1\0\u6a42\0\u02e1\0\u02e1\0\u02e1"+ - "\0\u02e1\0\u02e1\0\u02e1\0\u6a85\0\u02e1\0\u02e1\0\u02e1\0\u02e1"+ - "\0\u6ac8\0\u6b0b\0\u6b4e\0\u6b91\0\u6bd4\0\u6c17\0\u6c5a\0\u6c9d"+ - "\0\u6ce0\0\u6d23\0\u02e1\0\u6d66\0\u6da9\0\u6dec\0\u6e2f\0\u6e72"+ - "\0\u02e1\0\u6eb5\0\u6ef8\0\u6f3b\0\u6f7e\0\u6fc1\0\u7004\0\u7047"+ - "\0\u708a\0\u70cd\0\u7110\0\u02e1\0\u7153\0\u7196\0\u02e1\0\u71d9"+ - "\0\u721c\0\u725f\0\u02e1\0\u02e1"; + "\0\u3f13\0\u3f56\0\u3f99\0\u3fdc\0\u401f\0\u4062\0\u40a5\0\u40e8"+ + "\0\u412b\0\u416e\0\u41b1\0\u41f4\0\u02e1\0\u4237\0\u427a\0\u42bd"+ + "\0\u4300\0\u4343\0\u4386\0\u43c9\0\u440c\0\u444f\0\u4492\0\u44d5"+ + "\0\u4518\0\u455b\0\u02e1\0\u459e\0\u45e1\0\u4624\0\u4667\0\u46aa"+ + "\0\u46ed\0\u4730\0\u4773\0\u47b6\0\u47f9\0\u483c\0\u487f\0\u48c2"+ + "\0\u4905\0\u4948\0\u02e1\0\u498b\0\u49ce\0\u02e1\0\u02e1\0\u4a11"+ + "\0\u4a54\0\u4a97\0\u4ada\0\u02e1\0\u02e1\0\u02e1\0\u4b1d\0\u4b60"+ + "\0\u4ba3\0\u02e1\0\u4be6\0\u4c29\0\u02e1\0\u4c6c\0\u4caf\0\u4cf2"+ + "\0\u4d35\0\u02e1\0\u4d78\0\u4dbb\0\u4dfe\0\u4e41\0\u02e1\0\u02e1"+ + "\0\u02e1\0\u02e1\0\u4e84\0\u4ec7\0\u4f0a\0\u4f4d\0\u4f90\0\u4fd3"+ + "\0\u5016\0\u5059\0\u509c\0\u02e1\0\u50df\0\u5122\0\u5165\0\u02e1"+ + "\0\u51a8\0\u51eb\0\u522e\0\u5271\0\u52b4\0\u52f7\0\u533a\0\u537d"+ + "\0\u53c0\0\u5403\0\u5446\0\u5489\0\u54cc\0\u550f\0\u5552\0\u02e1"+ + "\0\u5595\0\u55d8\0\u561b\0\u565e\0\u56a1\0\u56e4\0\u5727\0\u576a"+ + "\0\u57ad\0\u57f0\0\u5833\0\u02e1\0\u02e1\0\u02e1\0\u02e1\0\u5876"+ + "\0\u58b9\0\u02e1\0\u58fc\0\u02e1\0\u593f\0\u5982\0\u02e1\0\u59c5"+ + "\0\u5a08\0\u02e1\0\u02e1\0\u02e1\0\u02e1\0\u02e1\0\u02e1\0\u02e1"+ + "\0\u5a4b\0\u5a8e\0\u5ad1\0\u5b14\0\u5b57\0\u02e1\0\u5b9a\0\u02e1"+ + "\0\u02e1\0\u02e1\0\u5bdd\0\u02e1\0\u5c20\0\u5c63\0\u5ca6\0\u5ce9"+ + "\0\u5d2c\0\u5d6f\0\u02e1\0\u5db2\0\u5df5\0\u5e38\0\u5e7b\0\u02e1"+ + "\0\u02e1\0\u02e1\0\u5ebe\0\u5f01\0\u5f44\0\u5f87\0\u5fca\0\u02e1"+ + "\0\u600d\0\u02e1\0\u02e1\0\u02e1\0\u6050\0\u6093\0\u60d6\0\u6119"+ + "\0\u615c\0\u619f\0\u61e2\0\u6225\0\u6268\0\u62ab\0\u62ee\0\u6331"+ + "\0\u02e1\0\u02e1\0\u02e1\0\u6374\0\u02e1\0\u63b7\0\u63fa\0\u643d"+ + "\0\u6480\0\u02e1\0\u02e1\0\u64c3\0\u4062\0\u6506\0\u6549\0\u658c"+ + "\0\u65cf\0\u02e1\0\u02e1\0\u6612\0\u6655\0\u6698\0\u02e1\0\u66db"+ + "\0\u671e\0\u6761\0\u67a4\0\u67e7\0\u682a\0\u686d\0\u68b0\0\u68f3"+ + "\0\u6936\0\u02e1\0\u02e1\0\u02e1\0\u02e1\0\u6979\0\u69bc\0\u02e1"+ + "\0\u02e1\0\u69ff\0\u6a42\0\u6a85\0\u6ac8\0\u02e1\0\u6b0b\0\u02e1"+ + "\0\u6b4e\0\u02e1\0\u02e1\0\u02e1\0\u02e1\0\u02e1\0\u02e1\0\u6b91"+ + "\0\u02e1\0\u02e1\0\u02e1\0\u02e1\0\u6bd4\0\u6c17\0\u6c5a\0\u6c9d"+ + "\0\u6ce0\0\u6d23\0\u6d66\0\u6da9\0\u6dec\0\u6e2f\0\u02e1\0\u6e72"+ + "\0\u6eb5\0\u6ef8\0\u6f3b\0\u6f7e\0\u02e1\0\u6fc1\0\u7004\0\u7047"+ + "\0\u708a\0\u70cd\0\u7110\0\u7153\0\u7196\0\u71d9\0\u721c\0\u02e1"+ + "\0\u725f\0\u72a2\0\u02e1\0\u72e5\0\u7328\0\u736b\0\u02e1\0\u02e1"; private static int [] zzUnpackRowMap() { - int [] result = new int[556]; + int [] result = new int[560]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; @@ -237,655 +237,662 @@ private static int zzUnpackRowMap(String packed, int offset, int [] result) { "\1\14\1\15\1\16\1\17\1\4\1\20\1\21\1\22"+ "\1\23\1\24\1\25\1\4\1\26\1\4\1\27\1\15"+ "\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37"+ - "\1\40\1\41\1\42\1\43\1\44\1\45\1\46\1\47"+ - "\1\50\4\15\1\51\1\15\1\52\2\15\1\53\3\15"+ - "\1\54\1\55\1\56\1\57\1\60\4\16\1\61\1\62"+ - "\1\15\1\4\2\5\1\63\1\64\1\10\1\11\1\12"+ + "\1\40\1\41\1\42\1\43\1\44\1\45\1\15\1\46"+ + "\1\47\1\50\4\15\1\51\1\15\1\52\2\15\1\53"+ + "\3\15\1\54\1\55\1\56\1\57\1\60\4\16\1\61"+ + "\1\62\1\4\2\5\1\63\1\64\1\10\1\11\1\12"+ "\1\13\1\14\1\15\1\16\1\17\2\4\1\65\1\66"+ "\1\23\1\67\1\25\1\4\1\26\1\4\1\70\1\15"+ "\1\30\1\71\1\32\1\33\1\72\1\73\1\36\1\74"+ - "\2\4\1\42\1\75\1\44\1\45\1\46\1\47\1\50"+ - "\4\15\1\51\1\15\1\52\2\15\1\53\3\15\1\54"+ - "\1\55\1\56\1\57\1\60\4\16\1\61\1\62\1\15"+ + "\2\4\1\42\1\75\1\44\1\45\1\15\1\46\1\47"+ + "\1\50\4\15\1\51\1\15\1\52\2\15\1\53\3\15"+ + "\1\54\1\55\1\56\1\57\1\60\4\16\1\61\1\62"+ "\1\4\2\5\1\6\1\7\1\10\1\11\1\12\1\13"+ "\1\14\1\15\1\16\1\17\2\4\1\76\1\77\1\23"+ "\1\100\1\25\1\4\1\26\1\4\1\70\1\15\1\30"+ "\1\71\1\32\1\33\1\72\1\101\1\36\1\4\1\102"+ - "\2\4\1\103\1\44\1\45\1\46\1\47\1\50\4\15"+ - "\1\51\1\15\1\52\2\15\1\53\3\15\1\54\1\55"+ - "\1\56\1\57\1\60\4\16\1\61\1\62\1\15\104\0"+ + "\2\4\1\103\1\44\1\45\1\15\1\46\1\47\1\50"+ + "\4\15\1\51\1\15\1\52\2\15\1\53\3\15\1\54"+ + "\1\55\1\56\1\57\1\60\4\16\1\61\1\62\104\0"+ "\2\5\100\0\3\104\1\105\77\104\4\106\1\107\76\106"+ - "\7\0\1\12\1\110\2\0\1\12\60\0\4\12\12\0"+ - "\1\12\1\110\2\0\1\12\33\0\1\111\24\0\4\12"+ - "\12\0\1\110\1\0\1\112\1\0\1\110\14\0\1\112"+ - "\43\0\4\110\14\0\3\15\4\0\3\15\4\0\1\113"+ - "\10\15\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\24\15\4\0\7\15\7\0"+ + "\7\0\1\12\1\110\2\0\1\12\61\0\4\12\11\0"+ + "\1\12\1\110\2\0\1\12\34\0\1\111\24\0\4\12"+ + "\11\0\1\110\1\0\1\112\1\0\1\110\14\0\1\112"+ + "\44\0\4\110\13\0\3\15\4\0\3\15\4\0\1\113"+ + "\10\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\25\15\4\0\6\15\7\0"+ "\1\12\1\110\2\15\1\16\4\0\3\15\4\0\11\15"+ - "\4\0\24\15\4\0\4\16\3\15\14\0\1\114\1\115"+ + "\4\0\25\15\4\0\4\16\2\15\14\0\1\114\1\115"+ "\65\0\1\20\1\0\101\20\17\0\1\116\1\0\2\117"+ - "\13\0\1\117\6\0\1\117\3\0\1\117\42\0\3\15"+ + "\13\0\1\117\6\0\1\117\4\0\1\117\41\0\3\15"+ "\3\0\1\116\1\15\1\35\1\120\4\0\7\15\1\35"+ - "\1\15\4\0\1\15\1\35\3\15\1\35\16\15\4\0"+ - "\7\15\11\0\3\15\4\0\2\15\1\121\4\0\11\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\3\0\1\116"+ + "\1\15\4\0\1\15\1\35\4\15\1\35\16\15\4\0"+ + "\6\15\11\0\3\15\4\0\2\15\1\121\4\0\11\15"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\3\0\1\116"+ "\1\15\2\35\4\0\1\122\6\15\1\35\1\123\4\0"+ - "\1\124\1\35\1\125\2\15\1\35\16\15\4\0\7\15"+ + "\1\124\1\35\1\125\3\15\1\35\16\15\4\0\6\15"+ "\23\126\1\127\57\126\1\130\1\0\23\130\1\0\1\131"+ "\54\130\11\0\3\15\4\0\3\15\4\0\1\15\1\132"+ - "\1\15\1\133\5\15\4\0\3\15\1\134\20\15\4\0"+ - "\7\15\11\0\3\15\4\0\2\15\1\135\4\0\5\15"+ - "\1\136\1\15\1\137\1\15\4\0\24\15\4\0\7\15"+ + "\1\15\1\133\5\15\4\0\4\15\1\134\20\15\4\0"+ + "\6\15\11\0\3\15\4\0\2\15\1\135\4\0\5\15"+ + "\1\136\1\15\1\137\1\15\4\0\25\15\4\0\6\15"+ "\11\0\3\15\4\0\3\15\4\0\2\15\1\140\1\15"+ - "\1\141\4\15\4\0\24\15\4\0\7\15\11\0\3\15"+ + "\1\141\4\15\4\0\25\15\4\0\6\15\11\0\3\15"+ "\4\0\2\15\1\142\4\0\1\15\1\143\7\15\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\1\15\1\144\1\15\1\145\5\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\3\15\1\146"+ - "\3\15\1\147\1\15\4\0\5\15\1\150\16\15\4\0"+ - "\7\15\11\0\3\15\3\0\1\116\1\15\2\35\4\0"+ - "\7\15\1\35\1\15\4\0\1\15\1\35\3\15\1\35"+ - "\16\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\1\151\1\15\1\152\2\15\1\153\2\15"+ - "\1\154\13\15\4\0\7\15\11\0\3\15\3\0\1\116"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\1\15\1\144\1\15\1\145\5\15\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\3\15\1\146"+ + "\3\15\1\147\1\15\4\0\6\15\1\150\16\15\4\0"+ + "\6\15\11\0\3\15\3\0\1\116\1\15\2\35\4\0"+ + "\7\15\1\35\1\15\4\0\1\15\1\35\4\15\1\35"+ + "\16\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\11\15\4\0\1\151\1\15\1\152\3\15\1\153\2\15"+ + "\1\154\13\15\4\0\6\15\11\0\3\15\3\0\1\116"+ "\1\15\1\35\1\155\4\0\1\15\1\156\1\15\1\157"+ "\1\15\1\160\1\15\1\35\1\15\4\0\1\15\1\35"+ - "\3\15\1\35\16\15\4\0\7\15\11\0\3\15\4\0"+ - "\2\15\1\161\4\0\3\15\1\162\5\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\1\15"+ - "\1\163\1\15\1\164\1\15\1\165\3\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\1\15\1\166\22\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\3\15\1\167\5\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\6\15"+ - "\1\170\2\15\4\0\1\15\1\171\1\15\1\172\20\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\3\15\1\173\20\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\3\15\1\174\5\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\3\15"+ - "\1\175\5\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\2\15\1\176\4\0\11\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\5\15\1\177\16\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\5\15\1\200\3\15\4\0\24\15\4\0"+ - "\7\15\3\201\1\202\77\201\4\203\1\204\76\203\17\0"+ - "\1\205\1\0\2\205\13\0\1\205\6\0\1\205\3\0"+ - "\1\205\42\0\3\15\3\0\1\205\1\15\1\73\1\206"+ - "\4\0\7\15\1\73\1\15\4\0\1\15\1\73\3\15"+ - "\1\73\16\15\4\0\7\15\11\0\3\15\3\0\1\205"+ + "\4\15\1\35\16\15\4\0\6\15\11\0\3\15\4\0"+ + "\2\15\1\161\4\0\3\15\1\162\5\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\1\15"+ + "\1\163\1\15\1\164\1\15\1\165\3\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\1\15\1\166\23\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\3\15\1\167\5\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\6\15"+ + "\1\170\2\15\4\0\1\15\1\171\2\15\1\172\20\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\4\15\1\173\20\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\3\15\1\174\5\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\3\15"+ + "\1\175\5\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\2\15\1\176\4\0\11\15\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ + "\6\15\1\177\16\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\5\15\1\200\3\15\4\0\25\15\4\0"+ + "\6\15\3\201\1\202\77\201\4\203\1\204\76\203\17\0"+ + "\1\205\1\0\2\205\13\0\1\205\6\0\1\205\4\0"+ + "\1\205\41\0\3\15\3\0\1\205\1\15\1\73\1\206"+ + "\4\0\7\15\1\73\1\15\4\0\1\15\1\73\4\15"+ + "\1\73\16\15\4\0\6\15\11\0\3\15\3\0\1\205"+ "\1\15\2\73\4\0\1\122\6\15\1\73\1\123\4\0"+ - "\1\124\1\73\1\125\2\15\1\73\16\15\4\0\7\15"+ + "\1\124\1\73\1\125\3\15\1\73\16\15\4\0\6\15"+ "\11\0\3\15\4\0\3\15\4\0\1\15\1\207\1\15"+ - "\1\133\5\15\4\0\3\15\1\134\20\15\4\0\7\15"+ + "\1\133\5\15\4\0\4\15\1\134\20\15\4\0\6\15"+ "\11\0\3\15\4\0\3\15\4\0\2\15\1\140\6\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\3\15\1\146\5\15\4\0\5\15\1\150\16\15"+ - "\4\0\7\15\11\0\3\15\3\0\1\205\1\15\2\73"+ - "\4\0\7\15\1\73\1\15\4\0\1\15\1\73\3\15"+ - "\1\73\16\15\4\0\7\15\11\0\3\15\3\0\1\205"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\3\15\1\146\5\15\4\0\6\15\1\150\16\15"+ + "\4\0\6\15\11\0\3\15\3\0\1\205\1\15\2\73"+ + "\4\0\7\15\1\73\1\15\4\0\1\15\1\73\4\15"+ + "\1\73\16\15\4\0\6\15\11\0\3\15\3\0\1\205"+ "\1\15\1\73\1\210\4\0\1\15\1\156\1\15\1\157"+ "\1\15\1\160\1\15\1\73\1\15\4\0\1\15\1\73"+ - "\3\15\1\73\16\15\4\0\7\15\17\0\1\211\1\0"+ - "\2\211\13\0\1\211\6\0\1\211\3\0\1\211\42\0"+ + "\4\15\1\73\16\15\4\0\6\15\17\0\1\211\1\0"+ + "\2\211\13\0\1\211\6\0\1\211\4\0\1\211\41\0"+ "\3\15\3\0\1\211\1\15\1\101\1\212\4\0\7\15"+ - "\1\101\1\15\4\0\1\15\1\101\3\15\1\101\16\15"+ - "\4\0\7\15\11\0\3\15\3\0\1\211\1\15\2\101"+ + "\1\101\1\15\4\0\1\15\1\101\4\15\1\101\16\15"+ + "\4\0\6\15\11\0\3\15\3\0\1\211\1\15\2\101"+ "\4\0\1\122\6\15\1\101\1\123\4\0\1\124\1\101"+ - "\1\125\2\15\1\101\16\15\4\0\7\15\11\0\3\15"+ + "\1\125\3\15\1\101\16\15\4\0\6\15\11\0\3\15"+ "\3\0\1\211\1\15\2\101\4\0\7\15\1\101\1\15"+ - "\4\0\1\15\1\101\3\15\1\101\16\15\4\0\7\15"+ + "\4\0\1\15\1\101\4\15\1\101\16\15\4\0\6\15"+ "\11\0\3\15\3\0\1\211\1\15\1\101\1\213\4\0"+ "\1\15\1\156\1\15\1\157\1\15\1\160\1\15\1\101"+ - "\1\15\4\0\1\15\1\101\3\15\1\101\16\15\4\0"+ - "\7\15\3\104\1\107\77\104\3\0\1\214\144\0\1\215"+ + "\1\15\4\0\1\15\1\101\4\15\1\101\16\15\4\0"+ + "\6\15\3\104\1\107\77\104\3\0\1\214\144\0\1\215"+ "\42\0\2\216\105\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\6\15\1\217\15\15\4\0\7\15\1\114\1\0"+ + "\4\0\7\15\1\217\15\15\4\0\6\15\1\114\1\0"+ "\101\114\15\115\1\220\65\115\17\0\1\221\1\222\1\117"+ - "\1\221\13\0\1\221\5\0\1\222\1\117\3\0\1\117"+ - "\42\0\3\15\3\0\1\116\1\15\2\35\4\0\7\15"+ - "\1\223\1\15\4\0\1\15\1\35\3\15\1\35\16\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\1\224\1\15\1\225\21\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\1\226\10\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\10\15"+ - "\1\227\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\1\230\23\15\4\0\7\15"+ + "\1\221\13\0\1\221\5\0\1\222\1\117\4\0\1\117"+ + "\41\0\3\15\3\0\1\116\1\15\2\35\4\0\7\15"+ + "\1\223\1\15\4\0\1\15\1\35\4\15\1\35\16\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\1\224\1\15\1\225\22\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\1\226\10\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\10\15"+ + "\1\227\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\1\230\24\15\4\0\6\15"+ "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\2\15"+ - "\1\231\21\15\4\0\7\15\23\126\1\232\57\126\23\0"+ + "\1\231\22\15\4\0\6\15\23\126\1\232\57\126\23\0"+ "\1\233\70\0\3\15\4\0\3\15\4\0\2\15\1\234"+ - "\4\15\1\235\1\15\4\0\24\15\4\0\7\15\11\0"+ + "\4\15\1\235\1\15\4\0\25\15\4\0\6\15\11\0"+ "\3\15\4\0\3\15\4\0\6\15\1\236\2\15\4\0"+ - "\5\15\1\237\16\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\6\15\1\240\1\15\1\241\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\7\15"+ - "\1\242\1\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\2\15\1\243\4\0\11\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\3\15\1\244"+ - "\5\15\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\2\15\1\245\6\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\1\15\1\246"+ - "\7\15\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\5\15\1\247\3\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\6\15\1\250"+ - "\2\15\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ + "\6\15\1\237\16\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\6\15\1\240\1\15\1\241\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\7\15"+ + "\1\242\1\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\2\15\1\243\4\0\11\15\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\3\15\1\244"+ + "\5\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\2\15\1\245\6\15\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\1\15\1\246"+ + "\7\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\5\15\1\247\3\15\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\6\15\1\250"+ + "\2\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ "\3\15\4\0\2\15\1\251\1\252\3\15\1\253\1\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\3\15\1\254\5\15\4\0\24\15\4\0\7\15"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\3\15\1\254\5\15\4\0\25\15\4\0\6\15"+ "\11\0\3\15\4\0\3\15\4\0\7\15\1\255\1\15"+ - "\4\0\1\15\1\256\22\15\4\0\7\15\11\0\3\15"+ - "\4\0\2\15\1\257\4\0\11\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\10\15\1\260"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\1\15\1\261\7\15\4\0\24\15\4\0\7\15"+ + "\4\0\1\15\1\256\23\15\4\0\6\15\11\0\3\15"+ + "\4\0\2\15\1\257\4\0\11\15\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\10\15\1\260"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\1\15\1\261\7\15\4\0\25\15\4\0\6\15"+ "\11\0\3\15\4\0\3\15\4\0\5\15\1\262\3\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\2\15\1\263\6\15\4\0\4\15\1\264\17\15"+ - "\4\0\7\15\11\0\3\15\4\0\1\15\1\265\1\15"+ - "\4\0\11\15\4\0\24\15\4\0\7\15\11\0\3\15"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\2\15\1\263\6\15\4\0\5\15\1\264\17\15"+ + "\4\0\6\15\11\0\3\15\4\0\1\15\1\265\1\15"+ + "\4\0\11\15\4\0\25\15\4\0\6\15\11\0\3\15"+ "\3\0\1\116\1\15\2\35\4\0\7\15\1\35\1\15"+ - "\4\0\1\15\1\35\3\15\1\35\2\15\1\266\13\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\5\15"+ - "\1\267\3\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\11\15\4\0\3\15\1\270\20\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\1\15"+ - "\1\271\1\15\1\272\5\15\4\0\24\15\4\0\7\15"+ + "\4\0\1\15\1\35\4\15\1\35\2\15\1\266\13\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\5\15"+ + "\1\267\3\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\4\15\1\270\20\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\1\15"+ + "\1\271\1\15\1\272\5\15\4\0\25\15\4\0\6\15"+ "\11\0\3\15\4\0\1\15\1\273\1\15\4\0\11\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\5\15\1\274\3\15\4\0\24\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\15\15"+ - "\1\275\6\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\11\15\4\0\12\15\1\276\11\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\5\15"+ - "\1\277\16\15\4\0\7\15\11\0\3\15\4\0\1\300"+ - "\2\15\4\0\11\15\4\0\2\15\1\301\21\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\3\15\1\302"+ - "\5\15\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\1\303\2\15\4\0\11\15\4\0\24\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\3\15"+ - "\1\304\20\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\11\15\4\0\1\15\1\305\22\15\4\0\7\15"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\5\15\1\274\3\15\4\0\25\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\16\15"+ + "\1\275\6\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\11\15\4\0\13\15\1\276\11\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\6\15"+ + "\1\277\16\15\4\0\6\15\11\0\3\15\4\0\1\300"+ + "\2\15\4\0\11\15\4\0\2\15\1\301\22\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\3\15\1\302"+ + "\5\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\1\303\2\15\4\0\11\15\4\0\25\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\4\15"+ + "\1\304\20\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\11\15\4\0\1\15\1\305\23\15\4\0\6\15"+ "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\1\15"+ - "\1\306\22\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\11\15\4\0\1\15\1\307\22\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\3\15"+ - "\1\310\20\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\6\15\1\311\2\15\4\0\24\15\4\0\7\15"+ + "\1\306\23\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\11\15\4\0\1\15\1\307\23\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\4\15"+ + "\1\310\20\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\6\15\1\311\2\15\4\0\25\15\4\0\6\15"+ "\11\0\3\15\4\0\2\15\1\312\4\0\11\15\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\2\15\1\313"+ - "\4\0\11\15\4\0\24\15\4\0\7\15\3\201\1\204"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\2\15\1\313"+ + "\4\0\11\15\4\0\25\15\4\0\6\15\3\201\1\204"+ "\77\201\3\0\1\314\110\0\3\15\3\0\1\205\1\15"+ "\2\73\4\0\7\15\1\315\1\15\4\0\1\15\1\73"+ - "\3\15\1\73\16\15\4\0\7\15\11\0\3\15\4\0"+ + "\4\15\1\73\16\15\4\0\6\15\11\0\3\15\4\0"+ "\3\15\4\0\2\15\1\316\4\15\1\235\1\15\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\3\0\1\205\1\15"+ + "\25\15\4\0\6\15\11\0\3\15\3\0\1\205\1\15"+ "\2\73\4\0\7\15\1\73\1\15\4\0\1\15\1\73"+ - "\3\15\1\73\2\15\1\266\13\15\4\0\7\15\11\0"+ + "\4\15\1\73\2\15\1\266\13\15\4\0\6\15\11\0"+ "\3\15\3\0\1\211\1\15\2\101\4\0\7\15\1\317"+ - "\1\15\4\0\1\15\1\101\3\15\1\101\16\15\4\0"+ - "\7\15\11\0\3\15\3\0\1\211\1\15\2\101\4\0"+ - "\7\15\1\101\1\15\4\0\1\15\1\101\3\15\1\101"+ - "\2\15\1\266\13\15\4\0\7\15\3\214\1\320\77\214"+ - "\31\0\1\321\60\0\1\322\3\0\1\322\60\0\4\322"+ - "\14\0\3\15\4\0\3\15\4\0\1\15\1\323\7\15"+ - "\4\0\24\15\4\0\7\15\14\115\1\324\1\220\65\115"+ + "\1\15\4\0\1\15\1\101\4\15\1\101\16\15\4\0"+ + "\6\15\11\0\3\15\3\0\1\211\1\15\2\101\4\0"+ + "\7\15\1\101\1\15\4\0\1\15\1\101\4\15\1\101"+ + "\2\15\1\266\13\15\4\0\6\15\3\214\1\320\77\214"+ + "\31\0\1\321\60\0\1\322\3\0\1\322\61\0\4\322"+ + "\13\0\3\15\4\0\3\15\4\0\1\15\1\323\7\15"+ + "\4\0\25\15\4\0\6\15\14\115\1\324\1\220\65\115"+ "\17\0\1\221\1\222\2\221\13\0\1\221\5\0\1\222"+ - "\1\221\3\0\1\221\50\0\4\222\13\0\1\222\5\0"+ - "\2\222\3\0\1\222\42\0\3\15\3\0\1\116\1\15"+ + "\1\221\4\0\1\221\47\0\4\222\13\0\1\222\5\0"+ + "\2\222\4\0\1\222\41\0\3\15\3\0\1\116\1\15"+ "\2\35\4\0\2\15\1\325\4\15\1\35\1\15\4\0"+ - "\1\15\1\35\3\15\1\35\16\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\1\326\23\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\5\15"+ - "\1\327\3\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\1\15\1\330\7\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\1\15"+ - "\1\331\7\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\5\15\1\332\3\15\4\0\24\15"+ - "\4\0\7\15\23\233\1\333\1\334\56\233\11\0\3\15"+ - "\4\0\2\15\1\335\4\0\11\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\1\15\1\336"+ - "\7\15\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\4\15\1\337\17\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\2\15\1\340\21\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\1\341\23\15\4\0\7\15"+ + "\1\15\1\35\4\15\1\35\16\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\11\15\4\0\1\326\24\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\5\15"+ + "\1\327\3\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\1\15\1\330\7\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\1\15"+ + "\1\331\7\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\5\15\1\332\3\15\4\0\25\15"+ + "\4\0\6\15\23\233\1\333\1\334\56\233\11\0\3\15"+ + "\4\0\2\15\1\335\4\0\11\15\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\1\15\1\336"+ + "\7\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\5\15\1\337\17\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ + "\2\15\1\340\22\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\1\341\24\15\4\0\6\15"+ "\11\0\3\15\4\0\3\15\4\0\10\15\1\342\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\1\15\1\343"+ - "\1\15\4\0\11\15\4\0\24\15\4\0\7\15\11\0"+ - "\3\15\4\0\2\15\1\344\4\0\11\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\10\15"+ - "\1\345\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\5\15\1\346\3\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\3\15\1\347\4\15\1\350\13\15\4\0\7\15\11\0"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\1\15\1\343"+ + "\1\15\4\0\11\15\4\0\25\15\4\0\6\15\11\0"+ + "\3\15\4\0\2\15\1\344\4\0\11\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\10\15"+ + "\1\345\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\5\15\1\346\3\15\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ + "\4\15\1\347\4\15\1\350\13\15\4\0\6\15\11\0"+ "\3\15\4\0\3\15\4\0\11\15\4\0\2\15\1\351"+ - "\21\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\1\15\1\352\7\15\4\0\24\15\4\0\7\15\11\0"+ + "\22\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\1\15\1\352\7\15\4\0\25\15\4\0\6\15\11\0"+ "\3\15\4\0\3\15\4\0\5\15\1\353\3\15\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\3\15\1\354\5\15\4\0\24\15\4\0\7\15\11\0"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\3\15\1\354\5\15\4\0\25\15\4\0\6\15\11\0"+ "\3\15\4\0\3\15\4\0\11\15\4\0\2\15\1\355"+ - "\21\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\3\15\1\356\5\15\4\0\24\15\4\0\7\15\11\0"+ + "\22\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\3\15\1\356\5\15\4\0\25\15\4\0\6\15\11\0"+ "\3\15\4\0\3\15\4\0\2\15\1\357\6\15\4\0"+ - "\1\15\1\360\22\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\10\15\1\361\4\0\24\15\4\0\7\15"+ + "\1\15\1\360\23\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\10\15\1\361\4\0\25\15\4\0\6\15"+ "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\2\15"+ - "\1\362\21\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\6\15\1\363\2\15\4\0\24\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\3\15"+ - "\1\364\20\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\2\15\1\365\6\15\4\0\24\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\20\15"+ - "\1\366\3\15\4\0\7\15\11\0\3\15\4\0\1\15"+ - "\1\367\1\15\4\0\11\15\4\0\24\15\4\0\7\15"+ + "\1\362\22\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\6\15\1\363\2\15\4\0\25\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\4\15"+ + "\1\364\20\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\2\15\1\365\6\15\4\0\25\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\21\15"+ + "\1\366\3\15\4\0\6\15\11\0\3\15\4\0\1\15"+ + "\1\367\1\15\4\0\11\15\4\0\25\15\4\0\6\15"+ "\11\0\3\15\4\0\3\15\4\0\7\15\1\370\1\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\1\15"+ - "\1\371\1\15\4\0\11\15\4\0\24\15\4\0\7\15"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\1\15"+ + "\1\371\1\15\4\0\11\15\4\0\25\15\4\0\6\15"+ "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\1\15"+ - "\1\372\22\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\2\15\1\373\6\15\4\0\1\374\23\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\1\375\23\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\1\15\1\376\7\15\4\0\24\15\4\0\7\15"+ + "\1\372\23\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\2\15\1\373\6\15\4\0\1\374\24\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ + "\1\375\24\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\1\15\1\376\7\15\4\0\25\15\4\0\6\15"+ "\11\0\3\15\4\0\1\15\1\377\1\15\4\0\11\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\11\15\4\0\13\15\1\u0100\10\15\4\0\7\15"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\11\15\4\0\14\15\1\u0100\10\15\4\0\6\15"+ "\11\0\3\15\4\0\3\15\4\0\1\15\1\u0101\7\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\1\15\1\u0102\7\15\4\0\24\15\4\0\7\15"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\1\15\1\u0102\7\15\4\0\25\15\4\0\6\15"+ "\11\0\3\15\4\0\3\15\4\0\1\15\1\u0103\7\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\1\15\1\u0104\7\15\4\0\24\15\4\0\1\u0105"+ - "\1\u0106\1\u0107\1\u0108\3\15\11\0\3\15\4\0\3\15"+ - "\4\0\7\15\1\u0109\1\15\4\0\24\15\4\0\7\15"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\1\15\1\u0104\7\15\4\0\25\15\4\0\1\u0105"+ + "\1\u0106\1\u0107\1\u0108\2\15\11\0\3\15\4\0\3\15"+ + "\4\0\7\15\1\u0109\1\15\4\0\25\15\4\0\6\15"+ "\11\0\3\15\4\0\2\15\1\u010a\4\0\11\15\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\2\15\1\u010b\6\15\4\0\24\15\4\0\7\15\11\0"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\2\15\1\u010b\6\15\4\0\25\15\4\0\6\15\11\0"+ "\3\15\4\0\3\15\4\0\11\15\4\0\2\15\1\u010c"+ - "\21\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\1\u010d\10\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\1\15\1\u010e\7\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\1\15\1\u010f\22\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\1\15\1\u0110\7\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\2\15\1\u0111\21\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\11\15\4\0\1\15\1\u0112\22\15"+ - "\4\0\7\15\3\314\1\u0113\77\314\11\0\3\15\3\0"+ + "\22\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\1\u010d\10\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\1\15\1\u010e\7\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\1\15\1\u010f\23\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\1\15\1\u0110\7\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\2\15\1\u0111\22\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\1\15\1\u0112\23\15"+ + "\4\0\6\15\3\314\1\u0113\77\314\11\0\3\15\3\0"+ "\1\205\1\15\2\73\4\0\2\15\1\325\4\15\1\73"+ - "\1\15\4\0\1\15\1\73\3\15\1\73\16\15\4\0"+ - "\7\15\11\0\3\15\3\0\1\211\1\15\2\101\4\0"+ + "\1\15\4\0\1\15\1\73\4\15\1\73\16\15\4\0"+ + "\6\15\11\0\3\15\3\0\1\211\1\15\2\101\4\0"+ "\2\15\1\325\4\15\1\101\1\15\4\0\1\15\1\101"+ - "\3\15\1\101\16\15\4\0\7\15\3\0\1\u0114\110\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\24\15\4\0"+ - "\6\15\1\u0115\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\24\15\4\0\1\15\1\u0116\1\u0117\1\u0118\3\15"+ - "\11\0\3\15\4\0\3\15\4\0\1\15\1\u0119\7\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\11\15\4\0\3\15\1\u011a\20\15\4\0\7\15"+ + "\4\15\1\101\16\15\4\0\6\15\3\0\1\u0114\110\0"+ + "\3\15\4\0\3\15\4\0\11\15\4\0\3\15\1\u0115"+ + "\21\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\11\15\4\0\25\15\4\0\1\15\1\u0116\1\u0117\1\u0118"+ + "\2\15\11\0\3\15\4\0\3\15\4\0\1\15\1\u0119"+ + "\7\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\4\15\1\u011a\20\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ + "\2\15\1\u011b\22\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\1\15\1\u011c\23\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ + "\4\15\1\u011d\20\15\4\0\6\15\23\233\1\u011e\102\233"+ + "\1\u011f\1\334\56\233\11\0\3\15\4\0\3\15\4\0"+ + "\11\15\4\0\6\15\1\u0120\16\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\11\15\4\0\2\15\1\u0121"+ + "\22\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\7\15\1\u0122\1\15\4\0\25\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\11\15\4\0\4\15\1\u0123"+ + "\20\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\7\15\1\u0124\1\15\4\0\25\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\1\15\1\u0125\7\15\4\0"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\1\15\1\u0126\7\15\4\0\25\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\11\15\4\0\2\15\1\u0127"+ + "\22\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\1\15\1\u0128\7\15\4\0\25\15\4\0\6\15\11\0"+ + "\3\15\4\0\2\15\1\u0129\4\0\11\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\4\15\1\u012a\20\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\3\15\1\u012b\5\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\5\15"+ + "\1\u012c\3\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\1\u012d\10\15\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\6\15\1\u012e"+ + "\2\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\20\15\1\u012f\4\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\5\15\1\u0130"+ + "\3\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\4\15\1\u0131\20\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\1\15\1\u0132"+ + "\7\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\10\15\1\u0133\4\0\25\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\3\15\1\u0134\5\15"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\11\15\4\0\4\15\1\u0135\20\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\1\15"+ + "\1\u0136\23\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\11\15\4\0\4\15\1\u0137\20\15\4\0\6\15"+ + "\11\0\3\15\4\0\2\15\1\u0138\4\0\11\15\4\0"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\1\15\1\u0139\7\15\4\0\25\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\3\15\1\u013a\5\15\4\0"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\11\15\4\0\4\15\1\u013b\20\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\11\15\4\0\2\15\1\u013c"+ + "\22\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\11\15\4\0\4\15\1\u013d\20\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\1\15\1\u013e\7\15\4\0"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\1\15\1\u013f\7\15\4\0\25\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\11\15\4\0\14\15\1\u0140"+ + "\10\15\4\0\6\15\11\0\3\15\4\0\2\15\1\u0141"+ + "\4\0\11\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\3\15\1\u0142\5\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\1\15\1\u0143\23\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\5\15\1\u0144\3\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\5\15"+ + "\1\u0145\3\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\25\15\4\0\1\15"+ + "\1\u0146\4\15\11\0\3\15\4\0\3\15\4\0\5\15"+ + "\1\u0147\3\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\3\15\1\u0148\5\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\25\15\4\0\1\u0149\5\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\2\15\1\u014a\22\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ + "\3\15\1\u014b\21\15\4\0\6\15\11\0\3\15\4\0"+ + "\1\u014c\2\15\4\0\1\u014d\1\15\1\u014e\6\15\4\0"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\10\15\1\u014f\4\0\25\15\4\0\6\15\3\0\1\u0150"+ + "\102\0\1\107\110\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\1\15\1\u0151\23\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\5\15\1\u0152\3\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\16\15\1\u0153\6\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\3\15\1\u0154\21\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\1\u0155"+ + "\10\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\5\15\1\u0156\17\15\4\0"+ + "\6\15\23\233\1\u0157\102\233\1\u0158\57\233\11\0\3\15"+ + "\4\0\3\15\4\0\7\15\1\u0159\1\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\1\15"+ + "\1\u015a\7\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\1\15\1\u015b\7\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\3\15"+ + "\1\u015c\5\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\2\15\1\u015d\4\0\11\15\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ + "\25\15\4\0\1\15\1\u015e\4\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\25\15\4\0\1\15\1\u015f"+ + "\1\u0160\1\u0161\2\15\11\0\3\15\4\0\3\15\4\0"+ + "\11\15\4\0\2\15\1\u0162\22\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\11\15\4\0\1\15\1\u0163"+ + "\23\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\11\15\4\0\1\15\1\u0164\23\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\5\15\1\u0165\3\15\4\0"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\1\15\1\u0166\7\15\4\0\25\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\1\15\1\u0167\7\15\4\0"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\2\15\1\u0168"+ + "\4\0\11\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\5\15\1\u0169\3\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\25\15\4\0\1\15\1\u016a\1\15\1\u016b\2\15"+ + "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\7\15"+ + "\1\u016c\15\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\6\15\1\u016d\2\15\4\0\25\15\4\0\6\15"+ + "\11\0\3\15\4\0\1\15\1\u016e\1\15\4\0\11\15"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\2\15"+ + "\1\u016f\4\0\11\15\4\0\25\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\11\15\4\0\7\15\1\u0170"+ + "\15\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\11\15\4\0\16\15\1\u0171\6\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\11\15\4\0\11\15\1\u0172"+ + "\13\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\11\15\4\0\2\15\1\u0173\22\15\4\0\6\15\11\0"+ + "\3\15\4\0\2\15\1\u0174\4\0\11\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\10\15"+ + "\1\u0175\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\25\15\4\0\3\15\1\u0176"+ + "\2\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ + "\16\15\1\u0177\6\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\1\15\1\u0178\23\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\5\15\1\u0179"+ + "\3\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\1\u017a\2\15\4\0\11\15\4\0\25\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\7\15\1\u017b\1\15"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\3\15\1\u017c\5\15\4\0\25\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\4\15"+ + "\1\u017d\20\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\11\15\4\0\1\u017e\24\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\5\15\1\u017f\3\15\4\0"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\11\15\4\0\25\15\4\0\1\15\1\u0180\4\15\11\0"+ + "\3\15\4\0\3\15\4\0\11\15\4\0\3\15\1\u0181"+ + "\21\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\11\15\4\0\1\15\1\u0182\23\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\2\15\1\u0183\6\15\4\0"+ + "\25\15\4\0\6\15\3\0\1\204\110\0\3\15\4\0"+ + "\3\15\4\0\1\u0184\10\15\4\0\25\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\25\15"+ + "\4\0\1\15\1\u0185\1\u0186\1\u0187\2\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\1\15\1\u0188\23\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\6\15\1\u0189\16\15\4\0\6\15\23\0\1\u018a"+ + "\57\0\23\233\1\u018b\57\233\11\0\3\15\4\0\3\15"+ + "\4\0\11\15\4\0\2\15\1\u018c\22\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\25\15"+ + "\4\0\1\15\1\u018d\1\u018e\1\u018f\2\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\1\15\1\u0190\23\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\11\15\1\u0191\13\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\1\u0192\10\15\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ + "\2\15\1\u0193\22\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\7\15\1\u0194\15\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ + "\25\15\4\0\3\15\1\u0195\2\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\1\15\1\u0196\23\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\5\15\1\u0197"+ + "\3\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\2\15\1\u0198\22\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ + "\4\15\1\u0199\20\15\4\0\6\15\11\0\3\15\4\0"+ + "\1\u019a\2\15\4\0\1\u019b\1\15\1\u019c\6\15\4\0"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\1\u019d\2\15"+ + "\4\0\1\u019e\1\15\1\u019f\6\15\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ + "\2\15\1\u01a0\22\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\10\15\1\u01a1\14\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\7\15\1\u01a2"+ + "\1\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\17\15\1\u01a3\5\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\1\15\1\u01a4"+ + "\7\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\5\15\1\u01a5\3\15\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\1\u01a6\10\15"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\10\15\1\u01a7\4\0\25\15\4\0\6\15\11\0"+ + "\3\15\4\0\1\u01a8\2\15\4\0\1\u01a9\1\15\1\u01aa"+ + "\6\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\17\15\1\u01ab\5\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\1\u01ac\10\15"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\11\15\4\0\2\15\1\u01ad\22\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\4\15"+ + "\1\u01ae\20\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\11\15\4\0\25\15\4\0\3\15\1\u01af\2\15"+ + "\11\0\3\15\4\0\3\15\4\0\5\15\1\u01b0\3\15"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\11\15\4\0\2\15\1\u01b1\22\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\3\15\1\u01b2\5\15"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\1\15"+ + "\1\u01b3\1\15\4\0\11\15\4\0\25\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\1\15"+ + "\1\u01b4\23\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\1\u01b5\10\15\4\0\25\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\3\15\1\u01b6\5\15\4\0"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\1\15\1\u01b7\7\15\4\0\25\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\1\u01b8\10\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\1\u01b9"+ + "\10\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\1\u01ba\10\15\4\0\25\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\2\15\1\u01bb\6\15"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\11\15\4\0\2\15\1\u01bc\22\15\4\0\6\15"+ + "\23\0\1\232\57\0\23\233\1\u01bd\1\334\56\233\11\0"+ + "\3\15\4\0\2\15\1\u01be\4\0\11\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\12\15\1\u01bf\12\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\10\15\1\u01c0\4\0\17\15\1\u01c1"+ + "\5\15\4\0\6\15\11\0\3\15\4\0\1\u01c2\2\15"+ + "\4\0\1\u01c3\1\15\1\u01c4\6\15\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\6\15\1\u01c5"+ + "\2\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\1\15\1\u01c6\7\15\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\1\15\1\u01c7\1\15\4\0"+ + "\11\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\2\15\1\u01c8\4\0\11\15\4\0\25\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\4\15"+ + "\1\u01c9\20\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\11\15\4\0\6\15\1\u01ca\16\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\5\15\1\u01cb\3\15"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\11\15\4\0\11\15\1\u01cc\13\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\4\15"+ + "\1\u01cd\20\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\11\15\4\0\6\15\1\u01ce\16\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\4\15"+ + "\1\u01cf\20\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\7\15\1\u01d0\1\15\4\0\25\15\4\0\6\15"+ + "\11\0\3\15\4\0\1\u01d1\2\15\4\0\1\u01d2\1\15"+ + "\1\u01d3\6\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\1\u01d4\10\15\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\10\15\1\u01d5"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\7\15\1\u01d6\1\15\4\0\25\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\1\u01d7\10\15\4\0"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\1\15\1\u01d8\7\15\4\0\25\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\5\15\1\u01d9\3\15\4\0"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\11\15\4\0\16\15\1\u01da\6\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\3\15\1\u01db\5\15\4\0"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\1\15\1\u01dc\7\15\4\0\25\15\4\0\6\15\23\233"+ + "\1\u01dd\57\233\11\0\3\15\4\0\3\15\4\0\5\15"+ + "\1\u01de\3\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\1\15\1\u01df\23\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\1\15"+ + "\1\u01e0\7\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\1\15\1\u01e1\7\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\10\15"+ + "\1\u01e2\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\10\15\1\u01e3\4\0\25\15\4\0\6\15"+ "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\2\15"+ - "\1\u011b\21\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\11\15\4\0\1\15\1\u011c\22\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\3\15"+ - "\1\u011d\20\15\4\0\7\15\23\233\1\u011e\102\233\1\u011f"+ - "\1\334\56\233\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\5\15\1\u0120\16\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\11\15\4\0\2\15\1\u0121\21\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\7\15"+ - "\1\u0122\1\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\11\15\4\0\3\15\1\u0123\20\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\7\15"+ - "\1\u0124\1\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\1\15\1\u0125\7\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\1\15"+ - "\1\u0126\7\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\11\15\4\0\2\15\1\u0127\21\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\1\15"+ - "\1\u0128\7\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\2\15\1\u0129\4\0\11\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\3\15\1\u012a\20\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\3\15\1\u012b\5\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\5\15\1\u012c"+ - "\3\15\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\1\u012d\10\15\4\0\24\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\6\15\1\u012e\2\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\11\15\4\0\17\15\1\u012f\4\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\5\15\1\u0130\3\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\11\15\4\0\3\15\1\u0131\20\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\1\15\1\u0132\7\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\10\15\1\u0133\4\0\24\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\3\15\1\u0134\5\15\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\3\15\1\u0135\20\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\1\15\1\u0136"+ - "\22\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\3\15\1\u0137\20\15\4\0\7\15\11\0"+ - "\3\15\4\0\2\15\1\u0138\4\0\11\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\1\15"+ - "\1\u0139\7\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\3\15\1\u013a\5\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\3\15\1\u013b\20\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\11\15\4\0\2\15\1\u013c\21\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\3\15\1\u013d\20\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\1\15\1\u013e\7\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\1\15"+ - "\1\u013f\7\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\11\15\4\0\13\15\1\u0140\10\15"+ - "\4\0\7\15\11\0\3\15\4\0\2\15\1\u0141\4\0"+ - "\11\15\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\3\15\1\u0142\5\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\1\15\1\u0143\22\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\5\15\1\u0144\3\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\5\15\1\u0145"+ - "\3\15\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\24\15\4\0\1\15\1\u0146"+ - "\5\15\11\0\3\15\4\0\3\15\4\0\5\15\1\u0147"+ - "\3\15\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\3\15\1\u0148\5\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\24\15\4\0\1\u0149\6\15\11\0\3\15\4\0\3\15"+ - "\4\0\11\15\4\0\2\15\1\u014a\21\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\24\15"+ - "\4\0\6\15\1\u014b\11\0\3\15\4\0\1\u014c\2\15"+ - "\4\0\1\u014d\1\15\1\u014e\6\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\10\15\1\u014f"+ - "\4\0\24\15\4\0\7\15\3\0\1\u0150\102\0\1\107"+ - "\110\0\3\15\4\0\3\15\4\0\11\15\4\0\1\15"+ - "\1\u0151\22\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\5\15\1\u0152\3\15\4\0\24\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\15\15"+ - "\1\u0153\6\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\1\u0154\10\15\4\0\24\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\4\15\1\u0155"+ - "\17\15\4\0\7\15\23\233\1\u0156\102\233\1\u0157\57\233"+ - "\11\0\3\15\4\0\3\15\4\0\7\15\1\u0158\1\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\1\15\1\u0159\7\15\4\0\24\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\1\15\1\u015a\7\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\3\15\1\u015b\5\15\4\0\24\15\4\0\7\15"+ - "\11\0\3\15\4\0\2\15\1\u015c\4\0\11\15\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\24\15\4\0\1\15\1\u015d\5\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\24\15\4\0"+ - "\1\15\1\u015e\1\u015f\1\u0160\3\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\2\15\1\u0161\21\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\1\15\1\u0162\22\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\1\15\1\u0163\22\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\5\15\1\u0164"+ - "\3\15\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\1\15\1\u0165\7\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\1\15\1\u0166"+ - "\7\15\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\2\15\1\u0167\4\0\11\15\4\0\24\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\5\15\1\u0168\3\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\11\15\4\0\24\15\4\0\1\15\1\u0169\1\15"+ - "\1\u016a\3\15\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\6\15\1\u016b\15\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\6\15\1\u016c\2\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\1\15\1\u016d\1\15"+ - "\4\0\11\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\2\15\1\u016e\4\0\11\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\6\15\1\u016f\15\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\15\15\1\u0170\6\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\10\15\1\u0171\13\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\2\15\1\u0172\21\15\4\0"+ - "\7\15\11\0\3\15\4\0\2\15\1\u0173\4\0\11\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\10\15\1\u0174\4\0\24\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\24\15\4\0"+ - "\3\15\1\u0175\3\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\15\15\1\u0176\6\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\1\15\1\u0177"+ - "\22\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\5\15\1\u0178\3\15\4\0\24\15\4\0\7\15\11\0"+ - "\3\15\4\0\1\u0179\2\15\4\0\11\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\7\15"+ - "\1\u017a\1\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\3\15\1\u017b\5\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\3\15\1\u017c\20\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\11\15\4\0\1\u017d\23\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\5\15\1\u017e"+ - "\3\15\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\24\15\4\0\1\15\1\u017f"+ - "\5\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\24\15\4\0\6\15\1\u0180\11\0\3\15\4\0\3\15"+ - "\4\0\11\15\4\0\1\15\1\u0181\22\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\2\15\1\u0182\6\15"+ - "\4\0\24\15\4\0\7\15\3\0\1\204\110\0\3\15"+ - "\4\0\3\15\4\0\1\u0183\10\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\24\15\4\0\1\15\1\u0184\1\u0185\1\u0186\3\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\5\15\1\u0187"+ - "\16\15\4\0\7\15\23\0\1\u0188\57\0\23\233\1\u0189"+ - "\57\233\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\2\15\1\u018a\21\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\24\15\4\0\1\15\1\u018b"+ - "\1\u018c\1\u018d\3\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\1\15\1\u018e\22\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\10\15\1\u018f"+ - "\13\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\1\u0190\10\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\11\15\4\0\2\15\1\u0191\21\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\6\15\1\u0192\15\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\11\15\4\0\24\15\4\0\3\15"+ - "\1\u0193\3\15\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\1\15\1\u0194\22\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\5\15\1\u0195\3\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\2\15\1\u0196\21\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\11\15\4\0\3\15\1\u0197\20\15"+ - "\4\0\7\15\11\0\3\15\4\0\1\u0198\2\15\4\0"+ - "\1\u0199\1\15\1\u019a\6\15\4\0\24\15\4\0\7\15"+ - "\11\0\3\15\4\0\1\u019b\2\15\4\0\1\u019c\1\15"+ - "\1\u019d\6\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\11\15\4\0\2\15\1\u019e\21\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\7\15\1\u019f\14\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\7\15\1\u01a0\1\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\16\15\1\u01a1\5\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\1\15\1\u01a2\7\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\5\15"+ - "\1\u01a3\3\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\1\u01a4\10\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\10\15\1\u01a5"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\1\u01a6"+ - "\2\15\4\0\1\u01a7\1\15\1\u01a8\6\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\16\15\1\u01a9\5\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\1\u01aa\10\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\2\15\1\u01ab\21\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\3\15\1\u01ac\20\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\24\15\4\0\3\15\1\u01ad\3\15\11\0\3\15\4\0"+ - "\3\15\4\0\5\15\1\u01ae\3\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\2\15\1\u01af\21\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\3\15\1\u01b0\5\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\1\15\1\u01b1\1\15\4\0"+ - "\11\15\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\1\15\1\u01b2\22\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\1\u01b3\10\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\3\15\1\u01b4\5\15\4\0\24\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\1\15\1\u01b5\7\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\1\u01b6\10\15\4\0\24\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\1\u01b7\10\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\1\u01b8"+ - "\10\15\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\2\15\1\u01b9\21\15\4\0"+ - "\7\15\23\0\1\232\57\0\23\233\1\u01ba\1\334\56\233"+ - "\11\0\3\15\4\0\2\15\1\u01bb\4\0\11\15\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\11\15\1\u01bc\12\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\10\15\1\u01bd\4\0\16\15"+ - "\1\u01be\5\15\4\0\7\15\11\0\3\15\4\0\1\u01bf"+ - "\2\15\4\0\1\u01c0\1\15\1\u01c1\6\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\6\15"+ - "\1\u01c2\2\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\1\15\1\u01c3\7\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\1\15\1\u01c4\1\15"+ - "\4\0\11\15\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\2\15\1\u01c5\4\0\11\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\3\15\1\u01c6\20\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\5\15\1\u01c7\16\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\5\15\1\u01c8"+ - "\3\15\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\10\15\1\u01c9\13\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\3\15\1\u01ca\20\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\5\15\1\u01cb\16\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\3\15\1\u01cc\20\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\7\15\1\u01cd\1\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\1\u01ce\2\15\4\0\1\u01cf"+ - "\1\15\1\u01d0\6\15\4\0\24\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\1\u01d1\10\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\10\15"+ - "\1\u01d2\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\7\15\1\u01d3\1\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\1\u01d4\10\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\1\15\1\u01d5\7\15\4\0\24\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\5\15\1\u01d6\3\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\11\15\4\0\15\15\1\u01d7\6\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\1\15\1\u01d8\7\15"+ - "\4\0\24\15\4\0\7\15\23\233\1\u01d9\57\233\11\0"+ - "\3\15\4\0\3\15\4\0\5\15\1\u01da\3\15\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\1\15\1\u01db\22\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\1\15\1\u01dc\7\15\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\1\15\1\u01dd\7\15\4\0\24\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\10\15\1\u01de\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\10\15"+ - "\1\u01df\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\2\15\1\u01e0\21\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\21\15\1\u01e1\2\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\4\15\1\u01e2\17\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\10\15\1\u01e3"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\11\15\4\0\22\15\1\u01e4\1\u01e5\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\3\15\1\u01e6\5\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\11\15\4\0\4\15\1\u01e7\17\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\1\15\1\u01e8\7\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\1\u01e9\10\15\4\0\24\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\24\15\4\0"+ - "\2\15\1\u01ea\1\u01eb\3\15\11\0\3\15\4\0\2\15"+ - "\1\u01ec\4\0\11\15\4\0\24\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\1\15\1\u01ed\7\15\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\15\15\1\u01ee\6\15\4\0\7\15\11\0"+ - "\3\15\4\0\1\15\1\u01ef\1\15\4\0\11\15\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\10\15\1\u01f0\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\11\15\4\0\10\15\1\u01f1\13\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\3\15\1\u01f2\20\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\11\15\4\0\2\15\1\u01f3\21\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\10\15"+ - "\1\u01f4\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\2\15\1\u01f5\4\0\11\15\4\0\24\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\1\15\1\u01f6\7\15"+ - "\4\0\24\15\4\0\7\15\11\0\3\15\4\0\3\15"+ - "\4\0\10\15\1\u01f7\4\0\24\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\5\15\1\u01f8\3\15\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\5\15\1\u01f9\16\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\1\15\1\u01fa"+ - "\22\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\10\15\1\u01fb\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\10\15\1\u01fc\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\5\15\1\u01fd"+ - "\3\15\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\1\u01fe\2\15\4\0\1\u01ff\1\15\1\u0200\6\15\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\1\u0201\2\15"+ - "\4\0\1\u0202\1\15\1\u0203\6\15\4\0\24\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\2\15\1\u0204\21\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\11\15\4\0\15\15\1\u0205\6\15\4\0"+ - "\7\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ - "\2\15\1\u0206\21\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\10\15\1\u0207\4\0\24\15\4\0\7\15"+ - "\11\0\3\15\4\0\3\15\4\0\10\15\1\u0208\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\2\15\1\u0209\21\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\6\15\1\u020a"+ - "\15\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\1\15\1\u020b\22\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\2\15\1\u020c"+ - "\21\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\1\15\1\u020d\7\15\4\0\24\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\3\15\1\u020e"+ - "\20\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\3\15\1\u020f\20\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\5\15\1\u0210"+ - "\16\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\6\15\1\u0211\2\15\4\0\24\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\3\15\1\u0212"+ - "\20\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\1\15\1\u0213\22\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\3\15\1\u0214\5\15\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\2\15\1\u0215\21\15\4\0\7\15\11\0"+ - "\3\15\4\0\1\15\1\u0216\1\15\4\0\11\15\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\2\15\1\u0217\21\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\2\15\1\u0218"+ - "\21\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\1\15\1\u0219\22\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\5\15\1\u021a"+ - "\16\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\1\15\1\u021b\7\15\4\0\24\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\3\15\1\u021c"+ - "\20\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\5\15\1\u021d\16\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\2\15\1\u021e"+ - "\21\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\1\15\1\u021f\22\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\3\15\1\u0220\5\15\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\2\15\1\u0221\21\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\3\15\1\u0222"+ - "\20\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\2\15\1\u0223\21\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\11\15\4\0\1\15\1\u0224"+ - "\22\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\11\15\4\0\3\15\1\u0225\20\15\4\0\7\15\11\0"+ - "\3\15\4\0\3\15\4\0\3\15\1\u0226\5\15\4\0"+ - "\24\15\4\0\7\15\11\0\3\15\4\0\3\15\4\0"+ - "\10\15\1\u0227\4\0\24\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\3\15\1\u0228\5\15\4\0\24\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\11\15"+ - "\4\0\1\15\1\u0229\22\15\4\0\7\15\11\0\3\15"+ - "\4\0\3\15\4\0\11\15\4\0\1\15\1\u022a\22\15"+ - "\4\0\7\15\11\0\3\15\4\0\3\15\4\0\10\15"+ - "\1\u022b\4\0\24\15\4\0\7\15\11\0\3\15\4\0"+ - "\3\15\4\0\10\15\1\u022c\4\0\24\15\4\0\7\15"; + "\1\u01e4\22\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\11\15\4\0\22\15\1\u01e5\2\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\5\15"+ + "\1\u01e6\17\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\10\15\1\u01e7\4\0\25\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\11\15\4\0\23\15\1\u01e8"+ + "\1\u01e9\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\3\15\1\u01ea\5\15\4\0\25\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\11\15\4\0\5\15\1\u01eb"+ + "\17\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\1\15\1\u01ec\7\15\4\0\25\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\1\u01ed\10\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\25\15\4\0\2\15\1\u01ee\1\u01ef\2\15\11\0"+ + "\3\15\4\0\2\15\1\u01f0\4\0\11\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\1\15"+ + "\1\u01f1\7\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\16\15\1\u01f2\6\15"+ + "\4\0\6\15\11\0\3\15\4\0\1\15\1\u01f3\1\15"+ + "\4\0\11\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\10\15\1\u01f4\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ + "\11\15\1\u01f5\13\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\4\15\1\u01f6\20\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ + "\2\15\1\u01f7\22\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\10\15\1\u01f8\4\0\25\15\4\0\6\15"+ + "\11\0\3\15\4\0\2\15\1\u01f9\4\0\11\15\4\0"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\1\15\1\u01fa\7\15\4\0\25\15\4\0\6\15\11\0"+ + "\3\15\4\0\3\15\4\0\10\15\1\u01fb\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\5\15"+ + "\1\u01fc\3\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\6\15\1\u01fd\16\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\1\15\1\u01fe\23\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\10\15\1\u01ff\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\10\15\1\u0200"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\5\15\1\u0201\3\15\4\0\25\15\4\0\6\15"+ + "\11\0\3\15\4\0\1\u0202\2\15\4\0\1\u0203\1\15"+ + "\1\u0204\6\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\1\u0205\2\15\4\0\1\u0206\1\15\1\u0207\6\15"+ + "\4\0\25\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\11\15\4\0\2\15\1\u0208\22\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\11\15\4\0\16\15"+ + "\1\u0209\6\15\4\0\6\15\11\0\3\15\4\0\3\15"+ + "\4\0\11\15\4\0\2\15\1\u020a\22\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\10\15\1\u020b\4\0"+ + "\25\15\4\0\6\15\11\0\3\15\4\0\3\15\4\0"+ + "\10\15\1\u020c\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\2\15\1\u020d\22\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\7\15\1\u020e\15\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\1\15\1\u020f\23\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\2\15\1\u0210\22\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\1\15\1\u0211\7\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\4\15\1\u0212\20\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\4\15\1\u0213\20\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\6\15\1\u0214\16\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\6\15\1\u0215\2\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\4\15\1\u0216\20\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\1\15\1\u0217\23\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\3\15"+ + "\1\u0218\5\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\2\15\1\u0219\22\15"+ + "\4\0\6\15\11\0\3\15\4\0\1\15\1\u021a\1\15"+ + "\4\0\11\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\2\15\1\u021b\22\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\2\15\1\u021c\22\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\1\15\1\u021d\23\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\6\15\1\u021e\16\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\1\15\1\u021f\7\15\4\0\25\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\4\15\1\u0220\20\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\6\15\1\u0221\16\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\2\15\1\u0222\22\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\1\15\1\u0223\23\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\3\15"+ + "\1\u0224\5\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\2\15\1\u0225\22\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\4\15\1\u0226\20\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\2\15\1\u0227\22\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\11\15"+ + "\4\0\1\15\1\u0228\23\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\11\15\4\0\4\15\1\u0229\20\15"+ + "\4\0\6\15\11\0\3\15\4\0\3\15\4\0\3\15"+ + "\1\u022a\5\15\4\0\25\15\4\0\6\15\11\0\3\15"+ + "\4\0\3\15\4\0\10\15\1\u022b\4\0\25\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\3\15\1\u022c"+ + "\5\15\4\0\25\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\11\15\4\0\1\15\1\u022d\23\15\4\0"+ + "\6\15\11\0\3\15\4\0\3\15\4\0\11\15\4\0"+ + "\1\15\1\u022e\23\15\4\0\6\15\11\0\3\15\4\0"+ + "\3\15\4\0\10\15\1\u022f\4\0\25\15\4\0\6\15"+ + "\11\0\3\15\4\0\3\15\4\0\10\15\1\u0230\4\0"+ + "\25\15\4\0\6\15"; private static int [] zzUnpackTrans() { - int [] result = new int[29346]; + int [] result = new int[29614]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); return result; @@ -929,10 +936,10 @@ private static int zzUnpackTrans(String packed, int offset, int [] result) { "\1\1\1\0\1\11\7\1\3\0\1\1\1\0\11\1"+ "\1\11\1\0\60\1\1\0\3\1\1\0\1\11\2\1"+ "\1\11\6\1\2\0\66\1\2\0\11\1\2\0\60\1"+ - "\1\0\6\1\1\0\325\1"; + "\1\0\7\1\1\0\330\1"; private static int [] zzUnpackAttribute() { - int [] result = new int[556]; + int [] result = new int[560]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; @@ -1241,648 +1248,653 @@ else if (zzAtEOF) { { return BAD_CHARACTER; } // fall through - case 129: break; + case 130: break; case 2: { return WHITE_SPACE; } // fall through - case 130: break; + case 131: break; case 3: { return NUMBER; } // fall through - case 131: break; + case 132: break; case 4: { return PERIOD; } // fall through - case 132: break; + case 133: break; case 5: { return ALPHA; } // fall through - case 133: break; + case 134: break; case 6: { return USDDECLARATION; } // fall through - case 134: break; + case 135: break; case 7: { return COLON; } // fall through - case 135: break; + case 136: break; case 8: { return LEFTBRACE; } // fall through - case 136: break; + case 137: break; case 9: { return RIGHTPARENS; } // fall through - case 137: break; + case 138: break; case 10: { return RIGHTBRACE; } // fall through - case 138: break; + case 139: break; case 11: { yybegin(METADATA); return LEFTPARENS; } // fall through - case 139: break; + case 140: break; case 12: { return COMMA; } // fall through - case 140: break; + case 141: break; case 13: { return EQUALS; } // fall through - case 141: break; + case 142: break; case 14: { return LEFTBRACKET; } // fall through - case 142: break; + case 143: break; case 15: { return RIGHTBRACKET; } // fall through - case 143: break; + case 144: break; case 16: { yybegin(YYINITIAL); return LEFTBRACE; } // fall through - case 144: break; + case 145: break; case 17: { yybegin(YYINITIAL); return RIGHTPARENS; } // fall through - case 145: break; + case 146: break; case 18: { return STRING; } // fall through - case 146: break; + case 147: break; case 19: { return FLOATNUMBER; } // fall through - case 147: break; + case 148: break; case 20: { return COMMENT; } // fall through - case 148: break; + case 149: break; case 21: { return BLOCKCOMMENT; } // fall through - case 149: break; + case 150: break; case 22: { return IDENTIFIER; } // fall through - case 150: break; + case 151: break; case 23: { return ASSETREFERENCE; } // fall through - case 151: break; + case 152: break; case 24: { return PATHREFERENCE; } // fall through - case 152: break; + case 153: break; case 25: { return PRIM_NAME; } // fall through - case 153: break; + case 154: break; case 26: { return TYPENAME; } // fall through - case 154: break; + case 155: break; case 27: { return METADATA_KEY; } // fall through - case 155: break; + case 156: break; case 28: { return NAMESPACED_IDENTIFIER; } // fall through - case 156: break; + case 157: break; case 29: { return ADD; } // fall through - case 157: break; + case 158: break; case 30: { yybegin(SPECIFIER); return DEF; } // fall through - case 158: break; + case 159: break; case 31: { return DOC; } // fall through - case 159: break; + case 160: break; case 32: { return REL; } // fall through - case 160: break; + case 161: break; case 33: { return INTTYPE; } // fall through - case 161: break; + case 162: break; case 34: { return HALFTYPE; } // fall through - case 162: break; + case 163: break; case 35: { yybegin(SPECIFIER); return OVER; } // fall through - case 163: break; + case 164: break; case 36: { return TRUE; } // fall through - case 164: break; + case 165: break; case 37: { return INT4TYPE; } // fall through - case 165: break; + case 166: break; case 38: { return INT2TYPE; } // fall through - case 166: break; + case 167: break; case 39: { return INT3TYPE; } // fall through - case 167: break; + case 168: break; case 40: { return BOOLTYPE; } // fall through - case 168: break; + case 169: break; case 41: { return UINTTYPE; } // fall through - case 169: break; + case 170: break; case 42: { return KIND; } // fall through - case 170: break; + case 171: break; case 43: { return NONE; } // fall through - case 171: break; + case 172: break; case 44: { return HALF4TYPE; } // fall through - case 172: break; + case 173: break; case 45: { return HALF2TYPE; } // fall through - case 173: break; + case 174: break; case 46: { return HALF3TYPE; } // fall through - case 174: break; + case 175: break; case 47: { return ASSETTYPE; } // fall through - case 175: break; + case 176: break; case 48: { return FALSE; } // fall through - case 176: break; + case 177: break; case 49: { return FLOATTYPE; } // fall through - case 177: break; + case 178: break; case 50: { yybegin(SPECIFIER); return CLASS; } // fall through - case 178: break; + case 179: break; case 51: { return TOKENTYPE; } // fall through - case 179: break; + case 180: break; case 52: { return INT64TYPE; } // fall through - case 180: break; + case 181: break; case 53: { return UCHARTYPE; } // fall through - case 181: break; + case 182: break; case 54: { return QUATHTYPE; } // fall through - case 182: break; + case 183: break; case 55: { return QUATDTYPE; } // fall through - case 183: break; + case 184: break; case 56: { return QUATFTYPE; } // fall through - case 184: break; + case 185: break; case 57: { return MAPPER; } // fall through - case 185: break; + case 186: break; case 58: { return APPEND; } // fall through - case 186: break; + case 187: break; case 59: { return DELETE; } // fall through - case 187: break; + case 188: break; case 60: { return DOUBLETYPE; } // fall through - case 188: break; + case 189: break; case 61: { return FLOAT4TYPE; } // fall through - case 189: break; + case 190: break; case 62: { return FLOAT2TYPE; } // fall through - case 190: break; + case 191: break; case 63: { return FLOAT3TYPE; } // fall through - case 191: break; + case 192: break; case 64: { return OFFSET; } // fall through - case 192: break; + case 193: break; case 65: { return CONFIG; } // fall through - case 193: break; + case 194: break; case 66: { return CUSTOM; } // fall through - case 194: break; + case 195: break; case 67: { return STRINGTYPE; } // fall through - case 195: break; + case 196: break; case 68: { return UINT64TYPE; } // fall through - case 196: break; + case 197: break; case 69: { return DEFAULT; } // fall through - case 197: break; + case 198: break; case 70: { return DOUBLE4TYPE; } // fall through - case 198: break; + case 199: break; case 71: { return DOUBLE2TYPE; } // fall through - case 199: break; + case 200: break; case 72: { return DOUBLE3TYPE; } // fall through - case 200: break; + case 201: break; case 73: { return FRAME4DTYPE; } // fall through - case 201: break; + case 202: break; case 74: { return VARYING; } // fall through - case 202: break; + case 203: break; case 75: { return REORDER; } // fall through - case 203: break; + case 204: break; case 76: { return COLOR4HTYPE; } // fall through - case 204: break; + case 205: break; case 77: { return COLOR4DTYPE; } // fall through - case 205: break; + case 206: break; case 78: { return COLOR4FTYPE; } // fall through - case 206: break; + case 207: break; case 79: { return COLOR3HTYPE; } // fall through - case 207: break; + case 208: break; case 80: { return COLOR3DTYPE; } // fall through - case 208: break; + case 209: break; case 81: { return COLOR3FTYPE; } // fall through - case 209: break; + case 210: break; case 82: { return CONNECT; } // fall through - case 210: break; + case 211: break; case 83: { return PAYLOAD; } // fall through - case 211: break; + case 212: break; case 84: { return POINT3HTYPE; } // fall through - case 212: break; + case 213: break; case 85: { return POINT3DTYPE; } // fall through - case 213: break; + case 214: break; case 86: { return POINT3FTYPE; } // fall through - case 214: break; + case 215: break; case 87: { return PREPEND; } // fall through - case 215: break; + case 216: break; case 88: { return UNIFORM; } // fall through - case 216: break; + case 217: break; case 89: { return MATRIX4DTYPE; } // fall through - case 217: break; + case 218: break; case 90: { return MATRIX2DTYPE; } // fall through - case 218: break; + case 219: break; case 91: { return MATRIX3DTYPE; } // fall through - case 219: break; + case 220: break; case 92: { return VARIANTS; } // fall through - case 220: break; + case 221: break; case 93: { return VECTOR3HTYPE; } // fall through - case 221: break; + case 222: break; case 94: { return VECTOR3DTYPE; } // fall through - case 222: break; + case 223: break; case 95: { return VECTOR3FTYPE; } // fall through - case 223: break; + case 224: break; case 96: { return NORMAL3HTYPE; } // fall through - case 224: break; + case 225: break; case 97: { return NORMAL3DTYPE; } // fall through - case 225: break; + case 226: break; case 98: { return NORMAL3FTYPE; } // fall through - case 226: break; + case 227: break; case 99: { return INHERITS; } // fall through - case 227: break; + case 228: break; case 100: { return EDGEINDEXTYPE; } // fall through - case 228: break; + case 229: break; case 101: - { return RELOCATES; + { return ASSETINFO; } // fall through - case 229: break; + case 230: break; case 102: - { return ROOTPRIMS; + { return RELOCATES; } // fall through - case 230: break; + case 231: break; case 103: - { return SUBLAYERS; + { return ROOTPRIMS; } // fall through - case 231: break; + case 232: break; case 104: - { return FACEINDEXTYPE; + { return SUBLAYERS; } // fall through - case 232: break; + case 233: break; case 105: - { return TRANSFORMTYPE; + { return FACEINDEXTYPE; } // fall through - case 233: break; + case 234: break; case 106: - { return ATTRIBUTES; + { return TRANSFORMTYPE; } // fall through - case 234: break; + case 235: break; case 107: - { return DICTIONARY; + { return ATTRIBUTES; } // fall through - case 235: break; + case 236: break; case 108: - { return VARIANTSET; + { return DICTIONARY; } // fall through - case 236: break; + case 237: break; case 109: - { return REFERENCES; + { return VARIANTSET; } // fall through - case 237: break; + case 238: break; case 110: - { return CUSTOMDATA; + { return REFERENCES; } // fall through - case 238: break; + case 239: break; case 111: - { return PERMISSION; + { return CUSTOMDATA; } // fall through - case 239: break; + case 240: break; case 112: - { return PROPERTIES; + { return PERMISSION; } // fall through - case 240: break; + case 241: break; case 113: - { return TEXCOORD2HTYPE; + { return PROPERTIES; } // fall through - case 241: break; + case 242: break; case 114: - { return TEXCOORD2DTYPE; + { return TEXCOORD2HTYPE; } // fall through - case 242: break; + case 243: break; case 115: - { return TEXCOORD2FTYPE; + { return TEXCOORD2DTYPE; } // fall through - case 243: break; + case 244: break; case 116: - { return TEXCOORD3HTYPE; + { return TEXCOORD2FTYPE; } // fall through - case 244: break; + case 245: break; case 117: - { return TEXCOORD3DTYPE; + { return TEXCOORD3HTYPE; } // fall through - case 245: break; + case 246: break; case 118: - { return TEXCOORD3FTYPE; + { return TEXCOORD3DTYPE; } // fall through - case 246: break; + case 247: break; case 119: - { return POINTINDEXTYPE; + { return TEXCOORD3FTYPE; } // fall through - case 247: break; + case 248: break; case 120: - { return DISPLAYUNIT; + { return POINTINDEXTYPE; } // fall through - case 248: break; + case 249: break; case 121: - { return VARIANTSETS; + { return DISPLAYUNIT; } // fall through - case 249: break; + case 250: break; case 122: - { return SPECIALIZES; + { return VARIANTSETS; } // fall through - case 250: break; + case 251: break; case 123: - { return NAMECHILDREN; + { return SPECIALIZES; } // fall through - case 251: break; + case 252: break; case 124: - { return INTERPOLATION; + { return NAMECHILDREN; } // fall through - case 252: break; + case 253: break; case 125: - { return SYMMETRYFUNCTION; + { return INTERPOLATION; } // fall through - case 253: break; + case 254: break; case 126: - { return SYMMETRYARGUMENTS; + { return SYMMETRYFUNCTION; } // fall through - case 254: break; + case 255: break; case 127: - { return SUFFIXSUBSTITUTIONS; + { return SYMMETRYARGUMENTS; } // fall through - case 255: break; + case 256: break; case 128: + { return SUFFIXSUBSTITUTIONS; + } + // fall through + case 257: break; + case 129: { return PREFIXSUBSTITUTIONS; } // fall through - case 256: break; + case 258: break; default: zzScanError(ZZ_NO_MATCH); } diff --git a/src/main/gen/com/justint/usdidea/lang/lexer/USDLexer.java b/src/main/gen/com/justint/usdidea/lang/lexer/USDLexer.java index 4e0eed1..d49312a 100644 --- a/src/main/gen/com/justint/usdidea/lang/lexer/USDLexer.java +++ b/src/main/gen/com/justint/usdidea/lang/lexer/USDLexer.java @@ -63,12 +63,12 @@ public static int ZZ_CMAP(int ch) { /* The ZZ_CMAP_A table has 544 entries */ static final char ZZ_CMAP_A[] = zzUnpackCMap( - "\11\0\1\2\1\1\2\2\1\1\22\0\1\2\1\0\1\3\1\16\3\0\1\4\1\70\1\71\1\15\1\5\1\64"+ - "\1\6\1\10\1\14\2\13\1\76\1\77\1\75\1\13\1\74\3\13\1\17\1\0\1\25\1\65\1\26"+ - "\1\0\1\23\1\62\1\12\1\52\1\46\1\11\1\63\2\12\1\102\2\12\1\60\1\12\1\53\1\12"+ - "\1\57\2\12\1\56\1\101\1\50\5\12\1\66\1\24\1\67\1\0\1\12\1\0\1\27\1\37\1\42"+ - "\1\30\1\32\1\44\1\45\1\20\1\36\1\12\1\51\1\22\1\21\1\33\1\43\1\31\1\100\1"+ - "\35\1\41\1\34\1\40\1\54\1\12\1\55\1\47\1\61\1\72\1\0\1\73\7\0\1\2\32\0\1\2"+ + "\11\0\1\2\1\1\2\2\1\1\22\0\1\2\1\0\1\3\1\16\3\0\1\4\1\71\1\72\1\15\1\5\1\65"+ + "\1\6\1\10\1\14\2\13\1\77\1\100\1\76\1\13\1\75\3\13\1\17\1\0\1\25\1\66\1\26"+ + "\1\0\1\23\1\63\1\12\1\53\1\47\1\11\1\64\2\12\1\36\2\12\1\61\1\12\1\54\1\12"+ + "\1\60\2\12\1\57\1\102\1\51\5\12\1\67\1\24\1\70\1\0\1\12\1\0\1\27\1\43\1\45"+ + "\1\30\1\32\1\37\1\46\1\20\1\42\1\12\1\52\1\22\1\21\1\33\1\40\1\31\1\101\1"+ + "\41\1\34\1\35\1\44\1\55\1\12\1\56\1\50\1\62\1\73\1\0\1\74\7\0\1\2\32\0\1\2"+ "\77\0\12\7\46\0\12\7\14\0\12\7\20\0\12\7\6\0\12\7\6\0\13\2\35\0\2\2\5\0\1"+ "\2\57\0\1\2\26\0\12\7\16\0\62\7"); @@ -85,31 +85,31 @@ public static int ZZ_CMAP(int ch) { "\1\22\2\0\1\5\1\23\1\24\3\10\1\5\1\0"+ "\1\25\1\0\1\26\7\5\1\10\43\5\3\0\1\5"+ "\1\0\1\10\1\27\1\10\2\5\1\25\1\0\1\30"+ - "\4\5\1\31\3\5\1\32\12\5\1\33\4\5\1\34"+ - "\32\5\1\0\1\3\1\22\1\5\1\24\1\35\2\5"+ - "\2\0\21\5\1\36\10\5\1\37\1\40\1\41\1\42"+ - "\1\5\1\43\14\5\1\44\3\5\1\45\1\46\7\5"+ - "\1\0\1\5\1\47\1\50\1\51\2\5\2\0\2\5"+ - "\1\52\16\5\1\53\6\5\1\54\2\5\1\55\5\5"+ - "\1\56\5\5\1\57\1\60\6\5\1\61\1\62\1\63"+ - "\2\5\1\64\1\5\1\25\1\0\1\65\1\5\1\66"+ - "\3\5\1\67\20\5\1\70\1\5\1\71\3\5\1\72"+ - "\3\5\1\73\1\74\1\75\1\76\1\77\13\5\2\25"+ - "\1\5\1\100\2\5\1\101\1\102\1\103\1\104\1\5"+ - "\1\105\2\5\1\106\1\107\1\110\4\5\1\111\4\5"+ - "\1\112\5\5\1\113\1\114\1\115\1\116\1\117\1\120"+ - "\1\121\1\122\1\5\1\123\5\5\1\124\1\125\1\126"+ - "\1\25\7\5\1\127\1\130\1\131\4\5\1\132\6\5"+ - "\1\133\1\5\1\134\1\135\1\136\3\5\1\137\1\25"+ - "\11\5\1\140\1\5\1\141\2\5\1\142\6\5\1\143"+ - "\1\144\1\145\1\5\1\146\1\147\1\5\1\150\1\5"+ - "\1\151\1\152\1\153\1\154\1\155\1\156\1\157\5\5"+ - "\1\160\1\161\1\162\1\163\3\5\1\164\3\5\1\165"+ - "\1\5\1\166\5\5\1\167\16\5\1\170\2\5\1\171"+ - "\2\5\1\172\1\173"; + "\4\5\1\31\1\5\1\32\26\5\1\33\4\5\1\34"+ + "\20\5\1\0\1\3\1\22\1\5\1\24\1\35\2\5"+ + "\2\0\27\5\1\36\4\5\1\37\7\5\1\40\1\41"+ + "\1\42\1\43\1\5\1\44\6\5\1\45\1\46\7\5"+ + "\1\0\1\5\1\47\1\50\1\51\2\5\2\0\1\5"+ + "\1\52\24\5\1\53\1\54\1\55\10\5\1\56\2\5"+ + "\1\57\1\60\11\5\1\61\1\62\1\63\2\5\1\64"+ + "\1\5\1\25\1\0\1\65\2\5\1\66\1\5\1\67"+ + "\13\5\1\70\4\5\1\71\1\72\1\73\1\5\1\74"+ + "\7\5\1\75\3\5\1\76\1\77\12\5\2\25\2\5"+ + "\1\100\1\101\1\102\1\103\2\5\1\104\1\5\1\105"+ + "\1\106\1\107\1\110\11\5\1\111\2\5\1\112\3\5"+ + "\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122"+ + "\2\5\1\123\5\5\1\124\1\125\1\126\1\25\10\5"+ + "\1\127\1\130\1\131\10\5\1\132\2\5\1\133\1\5"+ + "\1\134\1\135\1\136\3\5\1\137\1\25\1\140\11\5"+ + "\1\141\4\5\1\142\1\5\1\143\4\5\1\144\1\145"+ + "\1\146\1\5\1\147\1\150\1\5\1\151\5\5\1\152"+ + "\1\153\1\154\1\155\1\156\1\157\1\160\1\5\1\161"+ + "\1\162\1\163\1\164\2\5\1\165\4\5\1\166\1\5"+ + "\1\167\10\5\1\170\13\5\1\171\2\5\1\172\2\5"+ + "\1\173\1\174"; private static int [] zzUnpackAction() { - int [] result = new int[520]; + int [] result = new int[524]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; @@ -150,7 +150,7 @@ private static int zzUnpackAction(String packed, int offset, int [] result) { "\0\u174b\0\u178e\0\u17d1\0\u1814\0\u1857\0\u189a\0\u18dd\0\u1920"+ "\0\u1963\0\u19a6\0\u19e9\0\u1a2c\0\u1a6f\0\u1ab2\0\u1af5\0\103"+ "\0\u1b38\0\u025b\0\u1b7b\0\u1bbe\0\u1c01\0\u1c44\0\u1c87\0\u1cca"+ - "\0\u1d0d\0\u1d50\0\u025b\0\u1d93\0\u1dd6\0\u1e19\0\u1e5c\0\u1e9f"+ + "\0\u025b\0\u1d0d\0\u1d50\0\u1d93\0\u1dd6\0\u1e19\0\u1e5c\0\u1e9f"+ "\0\u1ee2\0\u1f25\0\u1f68\0\u1fab\0\u1fee\0\u2031\0\u2074\0\u20b7"+ "\0\u20fa\0\u213d\0\u2180\0\u21c3\0\u2206\0\u2249\0\u228c\0\u22cf"+ "\0\u2312\0\u2355\0\u2398\0\u23db\0\u241e\0\u2461\0\u24a4\0\u24e7"+ @@ -159,49 +159,50 @@ private static int zzUnpackAction(String packed, int offset, int [] result) { "\0\u28d4\0\103\0\u2917\0\u295a\0\u299d\0\u29e0\0\u2a23\0\u2a66"+ "\0\u2aa9\0\u2aec\0\u2b2f\0\u2b72\0\u2bb5\0\u2bf8\0\u2c3b\0\u2c7e"+ "\0\u2cc1\0\u2d04\0\u2d47\0\u2d8a\0\u2dcd\0\u2e10\0\u2e53\0\u2e96"+ - "\0\u025b\0\u2ed9\0\u2f1c\0\u2f5f\0\u2fa2\0\u2fe5\0\u3028\0\u306b"+ - "\0\u30ae\0\u025b\0\u025b\0\u025b\0\u025b\0\u30f1\0\u3134\0\u3177"+ - "\0\u31ba\0\u31fd\0\u3240\0\u3283\0\u32c6\0\u3309\0\u334c\0\u338f"+ - "\0\u33d2\0\u3415\0\u3458\0\u025b\0\u349b\0\u34de\0\u3521\0\u025b"+ + "\0\u2ed9\0\u2f1c\0\u2f5f\0\u2fa2\0\u2fe5\0\u3028\0\u025b\0\u306b"+ + "\0\u30ae\0\u30f1\0\u3134\0\u025b\0\u3177\0\u31ba\0\u31fd\0\u3240"+ + "\0\u3283\0\u32c6\0\u3309\0\u025b\0\u025b\0\u025b\0\u025b\0\u334c"+ + "\0\u338f\0\u33d2\0\u3415\0\u3458\0\u349b\0\u34de\0\u3521\0\u025b"+ "\0\u025b\0\u3564\0\u35a7\0\u35ea\0\u362d\0\u3670\0\u36b3\0\u36f6"+ "\0\u3739\0\u377c\0\u025b\0\u025b\0\u025b\0\u37bf\0\u3802\0\u3845"+ - "\0\u3888\0\u38cb\0\u390e\0\u025b\0\u3951\0\u3994\0\u39d7\0\u3a1a"+ - "\0\u3a5d\0\u3aa0\0\u3ae3\0\u3b26\0\u3b69\0\u3bac\0\u3bef\0\u3c32"+ - "\0\u3c75\0\u3cb8\0\u025b\0\u3cfb\0\u3d3e\0\u3d81\0\u3dc4\0\u3e07"+ - "\0\u3e4a\0\u025b\0\u3e8d\0\u3ed0\0\u025b\0\u3f13\0\u3f56\0\u3f99"+ - "\0\u3fdc\0\u401f\0\u025b\0\u4062\0\u40a5\0\u40e8\0\u412b\0\u416e"+ - "\0\u41b1\0\u025b\0\u41f4\0\u4237\0\u427a\0\u42bd\0\u4300\0\u4343"+ - "\0\u025b\0\u025b\0\u025b\0\u4386\0\u43c9\0\u025b\0\u440c\0\u444f"+ - "\0\u4492\0\u025b\0\u44d5\0\u025b\0\u4518\0\u455b\0\u459e\0\u45e1"+ - "\0\u4624\0\u4667\0\u46aa\0\u46ed\0\u4730\0\u4773\0\u47b6\0\u47f9"+ - "\0\u483c\0\u487f\0\u48c2\0\u4905\0\u4948\0\u498b\0\u49ce\0\u4a11"+ - "\0\u025b\0\u4a54\0\u025b\0\u4a97\0\u4ada\0\u4b1d\0\u4b60\0\u4ba3"+ - "\0\u4be6\0\u4c29\0\u025b\0\u025b\0\u025b\0\u025b\0\u025b\0\u4c6c"+ - "\0\u4caf\0\u4cf2\0\u4d35\0\u4d78\0\u4dbb\0\u4dfe\0\u4e41\0\u4e84"+ - "\0\u4ec7\0\u4f0a\0\u4f4d\0\u4f90\0\u4fd3\0\u025b\0\u5016\0\u5059"+ - "\0\u025b\0\u025b\0\u025b\0\u025b\0\u509c\0\u025b\0\u50df\0\u5122"+ - "\0\u025b\0\u025b\0\u025b\0\u5165\0\u51a8\0\u51eb\0\u522e\0\u025b"+ - "\0\u5271\0\u52b4\0\u52f7\0\u533a\0\u025b\0\u537d\0\u53c0\0\u5403"+ - "\0\u5446\0\u5489\0\u025b\0\u025b\0\u025b\0\u025b\0\u025b\0\u025b"+ - "\0\u025b\0\u025b\0\u54cc\0\u025b\0\u550f\0\u5552\0\u5595\0\u55d8"+ - "\0\u561b\0\u025b\0\u025b\0\u025b\0\u565e\0\u56a1\0\u56e4\0\u5727"+ - "\0\u576a\0\u57ad\0\u57f0\0\u5833\0\u025b\0\u025b\0\u025b\0\u5876"+ - "\0\u58b9\0\u58fc\0\u593f\0\u025b\0\u5982\0\u59c5\0\u5a08\0\u5a4b"+ - "\0\u5a8e\0\u5ad1\0\u025b\0\u5b14\0\u025b\0\u025b\0\u025b\0\u5b57"+ - "\0\u5b9a\0\u5bdd\0\u025b\0\u3845\0\u5c20\0\u5c63\0\u5ca6\0\u5ce9"+ - "\0\u5d2c\0\u5d6f\0\u5db2\0\u5df5\0\u5e38\0\u025b\0\u5e7b\0\u025b"+ - "\0\u5ebe\0\u5f01\0\u025b\0\u5f44\0\u5f87\0\u5fca\0\u600d\0\u6050"+ - "\0\u6093\0\u025b\0\u025b\0\u025b\0\u60d6\0\u025b\0\u025b\0\u6119"+ - "\0\u025b\0\u615c\0\u025b\0\u025b\0\u025b\0\u025b\0\u025b\0\u025b"+ - "\0\u025b\0\u619f\0\u61e2\0\u6225\0\u6268\0\u62ab\0\u025b\0\u62ee"+ - "\0\u025b\0\u025b\0\u6331\0\u6374\0\u63b7\0\u025b\0\u63fa\0\u643d"+ - "\0\u6480\0\u025b\0\u64c3\0\u025b\0\u6506\0\u6549\0\u658c\0\u65cf"+ - "\0\u6612\0\u025b\0\u6655\0\u6698\0\u66db\0\u671e\0\u6761\0\u67a4"+ - "\0\u67e7\0\u682a\0\u686d\0\u68b0\0\u68f3\0\u6936\0\u6979\0\u69bc"+ - "\0\u025b\0\u69ff\0\u6a42\0\u025b\0\u6a85\0\u6ac8\0\u025b\0\u025b"; + "\0\u3888\0\u38cb\0\u390e\0\u3951\0\u3994\0\u39d7\0\u3a1a\0\u3a5d"+ + "\0\u3aa0\0\u3ae3\0\u3b26\0\u3b69\0\u3bac\0\u3bef\0\u3c32\0\u3c75"+ + "\0\u3cb8\0\u3cfb\0\u3d3e\0\u3d81\0\u3dc4\0\u3e07\0\u3e4a\0\u025b"+ + "\0\u3e8d\0\u025b\0\u3ed0\0\u3f13\0\u3f56\0\u3f99\0\u3fdc\0\u401f"+ + "\0\u4062\0\u40a5\0\u025b\0\u40e8\0\u412b\0\u025b\0\u025b\0\u416e"+ + "\0\u41b1\0\u41f4\0\u4237\0\u427a\0\u42bd\0\u4300\0\u4343\0\u4386"+ + "\0\u025b\0\u025b\0\u025b\0\u43c9\0\u440c\0\u025b\0\u444f\0\u4492"+ + "\0\u44d5\0\u025b\0\u4518\0\u455b\0\u025b\0\u459e\0\u45e1\0\u4624"+ + "\0\u4667\0\u46aa\0\u46ed\0\u4730\0\u4773\0\u47b6\0\u47f9\0\u483c"+ + "\0\u487f\0\u48c2\0\u025b\0\u4905\0\u4948\0\u498b\0\u49ce\0\u025b"+ + "\0\u025b\0\u025b\0\u4a11\0\u025b\0\u4a54\0\u4a97\0\u4ada\0\u4b1d"+ + "\0\u4b60\0\u4ba3\0\u4be6\0\u025b\0\u4c29\0\u4c6c\0\u4caf\0\u025b"+ + "\0\u4cf2\0\u4d35\0\u4d78\0\u4dbb\0\u4dfe\0\u4e41\0\u4e84\0\u4ec7"+ + "\0\u4f0a\0\u4f4d\0\u4f90\0\u4fd3\0\u5016\0\u5059\0\u509c\0\u025b"+ + "\0\u025b\0\u025b\0\u025b\0\u50df\0\u5122\0\u025b\0\u5165\0\u025b"+ + "\0\u025b\0\u025b\0\u025b\0\u51a8\0\u51eb\0\u522e\0\u5271\0\u52b4"+ + "\0\u52f7\0\u533a\0\u537d\0\u53c0\0\u025b\0\u5403\0\u5446\0\u025b"+ + "\0\u5489\0\u54cc\0\u550f\0\u025b\0\u025b\0\u025b\0\u025b\0\u025b"+ + "\0\u025b\0\u025b\0\u025b\0\u5552\0\u5595\0\u025b\0\u55d8\0\u561b"+ + "\0\u565e\0\u56a1\0\u56e4\0\u025b\0\u025b\0\u025b\0\u5727\0\u576a"+ + "\0\u57ad\0\u57f0\0\u5833\0\u5876\0\u58b9\0\u58fc\0\u593f\0\u025b"+ + "\0\u025b\0\u025b\0\u5982\0\u59c5\0\u5a08\0\u5a4b\0\u5a8e\0\u5ad1"+ + "\0\u5b14\0\u5b57\0\u025b\0\u5b9a\0\u5bdd\0\u025b\0\u5c20\0\u025b"+ + "\0\u025b\0\u025b\0\u5c63\0\u5ca6\0\u5ce9\0\u025b\0\u3845\0\u025b"+ + "\0\u5d2c\0\u5d6f\0\u5db2\0\u5df5\0\u5e38\0\u5e7b\0\u5ebe\0\u5f01"+ + "\0\u5f44\0\u025b\0\u5f87\0\u5fca\0\u600d\0\u6050\0\u025b\0\u6093"+ + "\0\u025b\0\u60d6\0\u6119\0\u615c\0\u619f\0\u025b\0\u025b\0\u025b"+ + "\0\u61e2\0\u025b\0\u025b\0\u6225\0\u025b\0\u6268\0\u62ab\0\u62ee"+ + "\0\u6331\0\u6374\0\u025b\0\u025b\0\u025b\0\u025b\0\u025b\0\u025b"+ + "\0\u025b\0\u63b7\0\u025b\0\u63fa\0\u025b\0\u025b\0\u643d\0\u6480"+ + "\0\u025b\0\u64c3\0\u6506\0\u6549\0\u658c\0\u025b\0\u65cf\0\u025b"+ + "\0\u6612\0\u6655\0\u6698\0\u66db\0\u671e\0\u6761\0\u67a4\0\u67e7"+ + "\0\u025b\0\u682a\0\u686d\0\u68b0\0\u68f3\0\u6936\0\u6979\0\u69bc"+ + "\0\u69ff\0\u6a42\0\u6a85\0\u6ac8\0\u025b\0\u6b0b\0\u6b4e\0\u025b"+ + "\0\u6b91\0\u6bd4\0\u025b\0\u025b"; private static int [] zzUnpackRowMap() { - int [] result = new int[520]; + int [] result = new int[524]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; @@ -227,508 +228,514 @@ private static int zzUnpackRowMap(String packed, int offset, int [] result) { "\1\2\2\3\1\4\1\5\1\6\1\7\1\10\1\11"+ "\1\12\1\13\1\14\1\15\1\2\1\16\1\17\1\20"+ "\1\21\1\22\1\23\1\2\1\24\1\2\1\25\1\26"+ - "\1\27\1\13\1\30\1\31\1\32\1\33\1\34\1\35"+ - "\1\36\1\37\1\40\1\41\4\13\1\42\1\13\1\43"+ - "\1\44\2\13\1\45\3\13\1\46\1\47\1\50\1\51"+ - "\1\52\1\53\1\54\1\55\1\56\4\14\1\57\1\60"+ - "\1\13\104\0\2\3\100\0\3\61\1\62\77\61\4\63"+ - "\1\64\76\63\7\0\1\10\1\65\2\0\1\10\60\0"+ - "\4\10\12\0\1\10\1\65\2\0\1\10\22\0\1\66"+ - "\35\0\4\10\12\0\1\65\1\0\1\67\1\0\1\65"+ - "\16\0\1\67\41\0\4\65\14\0\3\13\4\0\3\13"+ - "\4\0\1\13\1\70\33\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\35\13\10\0\7\13\7\0\1\10"+ - "\1\65\2\13\1\14\4\0\3\13\4\0\35\13\10\0"+ - "\4\14\3\13\14\0\1\71\1\72\65\0\1\16\1\0"+ + "\1\27\1\13\1\30\1\31\1\32\1\13\1\33\1\34"+ + "\1\35\1\36\1\37\1\40\1\41\4\13\1\42\1\13"+ + "\1\43\1\44\2\13\1\45\3\13\1\46\1\47\1\50"+ + "\1\51\1\52\1\53\1\54\1\55\1\56\4\14\1\57"+ + "\1\60\104\0\2\3\100\0\3\61\1\62\77\61\4\63"+ + "\1\64\76\63\7\0\1\10\1\65\2\0\1\10\61\0"+ + "\4\10\11\0\1\10\1\65\2\0\1\10\26\0\1\66"+ + "\32\0\4\10\11\0\1\65\1\0\1\67\1\0\1\65"+ + "\16\0\1\67\42\0\4\65\13\0\3\13\4\0\3\13"+ + "\4\0\1\13\1\70\34\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\36\13\10\0\6\13\7\0\1\10"+ + "\1\65\2\13\1\14\4\0\3\13\4\0\36\13\10\0"+ + "\4\14\2\13\14\0\1\71\1\72\65\0\1\16\1\0"+ "\101\16\17\0\1\73\1\0\2\74\4\0\1\74\3\0"+ - "\1\74\4\0\1\74\53\0\3\13\3\0\1\73\1\13"+ - "\2\22\4\0\1\75\3\13\1\22\4\13\1\22\23\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\1\76"+ - "\34\13\10\0\7\13\11\0\3\13\3\0\1\73\1\13"+ - "\2\22\4\0\1\22\3\13\1\22\4\13\1\22\23\13"+ - "\10\0\7\13\23\77\1\100\57\77\1\101\1\0\23\101"+ + "\1\74\10\0\1\74\47\0\3\13\3\0\1\73\1\13"+ + "\2\22\4\0\1\75\3\13\1\22\10\13\1\22\20\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\1\76"+ + "\35\13\10\0\6\13\11\0\3\13\3\0\1\73\1\13"+ + "\2\22\4\0\1\22\3\13\1\22\10\13\1\22\20\13"+ + "\10\0\6\13\23\77\1\100\57\77\1\101\1\0\23\101"+ "\1\0\1\102\54\101\11\0\3\13\3\0\1\73\1\13"+ "\2\22\4\0\1\22\1\103\1\104\1\13\1\22\1\105"+ - "\3\13\1\22\1\106\22\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\3\13\1\107\3\13\1\110\4\13"+ - "\1\111\20\13\10\0\7\13\11\0\3\13\3\0\1\73"+ - "\1\13\2\22\4\0\1\112\2\13\1\113\1\22\1\13"+ - "\1\114\2\13\1\22\2\13\1\115\20\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\1\116\13\13\1\117"+ - "\20\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\3\13\1\120\2\13\1\121\5\13\1\122\20\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\3\13\1\123"+ - "\10\13\1\124\20\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\4\13\1\125\30\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\14\13\1\126\20\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\4\13\1\127"+ - "\2\13\1\130\3\13\1\131\21\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\2\13\1\132\2\13\1\133"+ - "\3\13\1\134\6\13\1\135\14\13\10\0\7\13\11\0"+ - "\3\13\4\0\2\13\1\136\4\0\11\13\1\137\2\13"+ - "\1\140\20\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\15\13\1\141\7\13\1\142\7\13\10\0\7\13"+ - "\11\0\3\13\4\0\2\13\1\143\4\0\1\144\5\13"+ - "\1\145\26\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\7\13\1\146\25\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\14\13\1\147\20\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\1\150\2\13\1\151"+ - "\31\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\14\13\1\152\20\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\1\153\34\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\11\13\1\154\23\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\6\13\1\155\26\13"+ - "\10\0\7\13\3\61\1\64\77\61\3\0\1\156\132\0"+ - "\1\157\54\0\2\160\105\0\3\13\4\0\3\13\4\0"+ - "\16\13\1\161\16\13\10\0\7\13\1\71\1\0\101\71"+ - "\15\72\1\162\65\72\17\0\1\163\1\164\1\74\1\163"+ - "\4\0\1\163\1\0\1\164\1\0\1\74\4\0\1\74"+ - "\53\0\3\13\3\0\1\73\1\13\1\22\1\165\4\0"+ - "\1\22\3\13\1\22\4\13\1\22\23\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\2\13\1\166\2\13"+ - "\1\167\27\13\10\0\7\13\23\77\1\170\57\77\23\0"+ - "\1\171\70\0\3\13\4\0\3\13\4\0\1\13\1\172"+ - "\33\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\2\13\1\173\32\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\5\13\1\174\27\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\12\13\1\175\22\13\10\0"+ - "\7\13\11\0\3\13\4\0\2\13\1\176\4\0\15\13"+ - "\1\177\17\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\12\13\1\200\1\201\21\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\11\13\1\202\1\13\1\203"+ - "\21\13\10\0\7\13\11\0\3\13\3\0\1\73\1\13"+ - "\2\22\4\0\1\22\3\13\1\22\4\13\1\22\6\13"+ - "\1\204\14\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\6\13\1\205\26\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\3\13\1\206\10\13\1\207\20\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\7\13"+ - "\1\210\25\13\10\0\7\13\11\0\3\13\4\0\1\13"+ - "\1\211\1\13\4\0\35\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\6\13\1\212\26\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\26\13\1\213\6\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\11\13"+ - "\1\214\23\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\22\13\1\215\12\13\10\0\7\13\11\0\3\13"+ - "\4\0\2\13\1\216\4\0\14\13\1\217\1\220\17\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\14\13"+ - "\1\221\20\13\10\0\7\13\11\0\3\13\4\0\1\222"+ - "\2\13\4\0\5\13\1\223\27\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\14\13\1\224\20\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\7\13\1\225"+ - "\25\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\4\13\1\226\30\13\10\0\7\13\11\0\3\13\4\0"+ - "\1\227\2\13\4\0\35\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\3\13\1\230\31\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\6\13\1\231\26\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\10\13"+ - "\1\232\4\13\1\233\17\13\10\0\7\13\11\0\3\13"+ - "\4\0\1\13\1\234\1\13\4\0\35\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\1\235\34\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\12\13\1\236"+ - "\22\13\10\0\7\13\11\0\3\13\4\0\2\13\1\237"+ - "\4\0\4\13\1\240\30\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\15\13\1\241\17\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\3\13\1\242\31\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\14\13"+ - "\1\243\20\13\10\0\7\13\11\0\3\13\4\0\2\13"+ - "\1\244\4\0\35\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\1\245\34\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\4\13\1\246\30\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\4\13\1\247\30\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\6\13"+ - "\1\250\26\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\13\13\1\251\21\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\7\13\1\252\25\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\13\13\1\253\21\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\1\254"+ - "\34\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\1\255\34\13\10\0\7\13\3\156\1\256\77\156\44\0"+ - "\1\257\45\0\1\260\3\0\1\260\60\0\4\260\14\0"+ - "\3\13\4\0\3\13\4\0\3\13\1\261\31\13\10\0"+ - "\7\13\14\72\1\262\1\162\65\72\17\0\1\163\1\164"+ - "\2\163\4\0\1\163\1\0\1\164\1\0\1\163\4\0"+ - "\1\163\61\0\4\164\4\0\1\164\1\0\1\164\1\0"+ - "\1\164\4\0\1\164\53\0\3\13\3\0\1\73\1\13"+ - "\2\22\4\0\1\22\3\13\1\22\4\13\1\22\3\13"+ - "\1\263\17\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\2\13\1\264\32\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\6\13\1\265\26\13\10\0\7\13"+ - "\23\171\1\266\1\267\56\171\11\0\3\13\4\0\3\13"+ - "\4\0\3\13\1\270\31\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\6\13\1\271\26\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\3\13\1\272\31\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\3\13"+ - "\1\273\31\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\1\274\34\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\2\13\1\275\32\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\5\13\1\276\27\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\10\13\1\277"+ - "\24\13\10\0\7\13\11\0\3\13\4\0\2\13\1\300"+ - "\4\0\35\13\10\0\7\13\11\0\3\13\4\0\1\13"+ - "\1\301\1\13\4\0\35\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\2\13\1\302\12\13\1\303\17\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\2\13"+ - "\1\304\32\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\4\13\1\305\30\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\3\13\1\306\31\13\10\0\7\13"+ - "\11\0\3\13\4\0\1\13\1\307\1\13\4\0\35\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\23\13"+ - "\1\310\11\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\3\13\1\311\31\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\3\13\1\312\31\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\14\13\1\313\20\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\6\13"+ - "\1\314\26\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\3\13\1\315\31\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\5\13\1\316\27\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\3\13\1\317\31\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\3\13"+ - "\1\320\31\13\10\0\1\321\1\322\1\323\1\324\3\13"+ - "\11\0\3\13\4\0\2\13\1\325\4\0\35\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\15\13\1\326"+ - "\17\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\5\13\1\327\27\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\1\330\34\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\13\13\1\331\21\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\7\13\1\332\25\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\31\13"+ - "\1\333\3\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\15\13\1\334\17\13\10\0\7\13\11\0\3\13"+ - "\4\0\1\13\1\335\1\13\4\0\35\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\12\13\1\336\22\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\5\13"+ - "\1\337\27\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\14\13\1\340\20\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\4\13\1\341\10\13\1\342\17\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\12\13"+ - "\1\343\22\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\6\13\1\344\26\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\1\345\34\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\12\13\1\346\22\13\10\0"+ - "\7\13\11\0\3\13\4\0\1\13\1\347\1\13\4\0"+ - "\35\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\1\13\1\350\33\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\3\13\1\351\31\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\7\13\1\352\10\13\1\353"+ - "\14\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\5\13\1\354\27\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\4\13\1\355\30\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\3\13\1\356\31\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\5\13\1\357"+ - "\27\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\4\13\1\360\30\13\10\0\7\13\3\0\1\361\110\0"+ - "\3\13\4\0\3\13\4\0\35\13\10\0\6\13\1\362"+ - "\11\0\3\13\4\0\3\13\4\0\35\13\10\0\1\13"+ - "\1\363\1\364\1\365\3\13\11\0\3\13\4\0\3\13"+ - "\4\0\3\13\1\366\31\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\7\13\1\367\25\13\10\0\7\13"+ - "\23\171\1\370\102\171\1\371\1\267\56\171\11\0\3\13"+ - "\4\0\3\13\4\0\4\13\1\372\30\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\7\13\1\373\25\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\5\13"+ - "\1\374\27\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\5\13\1\375\27\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\11\13\1\376\23\13\10\0\7\13"+ - "\11\0\3\13\4\0\2\13\1\377\4\0\35\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\7\13\1\u0100"+ - "\25\13\10\0\7\13\11\0\3\13\4\0\2\13\1\u0101"+ - "\4\0\35\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\14\13\1\u0102\20\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\7\13\1\u0103\25\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\3\13\1\u0104\31\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\7\13"+ - "\1\u0105\25\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\3\13\1\u0106\31\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\5\13\1\u0107\27\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\23\13\1\u0108\11\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\1\u0109"+ - "\34\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\14\13\1\u010a\20\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\4\13\1\u010b\30\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\13\13\1\u010c\21\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\1\13\1\u010d"+ - "\33\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\6\13\1\u010e\26\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\30\13\1\u010f\4\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\6\13\1\u0110\26\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\6\13\1\u0111"+ - "\26\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\35\13\10\0\1\13\1\u0112\5\13\11\0\3\13\4\0"+ - "\3\13\4\0\14\13\1\u0113\20\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\35\13\10\0\1\u0114\6\13"+ - "\11\0\3\13\4\0\3\13\4\0\6\13\1\u0115\26\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\7\13"+ - "\1\u0116\25\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\4\13\1\u0117\30\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\1\u0118\34\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\7\13\1\u0119\25\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\3\13\1\u011a"+ - "\31\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\12\13\1\u011b\22\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\14\13\1\u011c\20\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\6\13\1\u011d\26\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\3\13\1\u011e"+ - "\31\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\7\13\1\u011f\25\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\3\13\1\u0120\31\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\5\13\1\u0121\27\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\3\13\1\u0122"+ - "\31\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\3\13\1\u0123\31\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\1\u0124\34\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\7\13\1\u0125\25\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\14\13\1\u0126\20\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\5\13"+ - "\1\u0127\27\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\35\13\10\0\6\13\1\u0128\11\0\3\13\4\0"+ - "\1\u0129\2\13\4\0\1\13\1\u012a\13\13\1\u012b\17\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\12\13"+ - "\1\u012c\22\13\10\0\7\13\3\0\1\64\110\0\3\13"+ - "\4\0\3\13\4\0\4\13\1\u012d\30\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\6\13\1\u012e\26\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\26\13"+ - "\1\u012f\6\13\10\0\7\13\23\171\1\u0130\102\171\1\u0131"+ + "\1\106\6\13\1\22\20\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\3\13\1\107\5\13\1\110\1\13"+ + "\1\111\22\13\10\0\6\13\11\0\3\13\3\0\1\73"+ + "\1\13\2\22\4\0\1\112\2\13\1\113\1\22\4\13"+ + "\1\114\1\115\2\13\1\22\20\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\1\116\10\13\1\117\24\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\2\13"+ + "\1\120\3\13\1\121\6\13\1\122\3\13\1\123\14\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\3\13"+ + "\1\124\5\13\1\125\1\126\23\13\10\0\6\13\11\0"+ + "\3\13\4\0\2\13\1\127\4\0\1\130\11\13\1\131"+ + "\23\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\10\13\1\132\15\13\1\133\7\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\3\13\1\134\5\13\1\135"+ + "\24\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\4\13\1\136\31\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\11\13\1\137\24\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\4\13\1\140\6\13\1\141"+ + "\2\13\1\142\17\13\10\0\6\13\11\0\3\13\4\0"+ + "\2\13\1\143\4\0\11\13\1\144\3\13\1\145\20\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\13\13"+ + "\1\146\22\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\11\13\1\147\24\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\1\150\2\13\1\151\32\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\11\13\1\152"+ + "\24\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\1\153\35\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\15\13\1\154\20\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\12\13\1\155\23\13\10\0\6\13"+ + "\3\61\1\64\77\61\3\0\1\156\132\0\1\157\54\0"+ + "\2\160\105\0\3\13\4\0\3\13\4\0\17\13\1\161"+ + "\16\13\10\0\6\13\1\71\1\0\101\71\15\72\1\162"+ + "\65\72\17\0\1\163\1\164\1\74\1\163\4\0\1\163"+ + "\1\0\1\164\1\0\1\74\10\0\1\74\47\0\3\13"+ + "\3\0\1\73\1\13\1\22\1\165\4\0\1\22\3\13"+ + "\1\22\10\13\1\22\20\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\2\13\1\166\3\13\1\167\27\13"+ + "\10\0\6\13\23\77\1\170\57\77\23\0\1\171\70\0"+ + "\3\13\4\0\3\13\4\0\1\13\1\172\34\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\2\13\1\173"+ + "\33\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\5\13\1\174\30\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\6\13\1\175\27\13\10\0\6\13\11\0"+ + "\3\13\4\0\2\13\1\176\4\0\10\13\1\177\25\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\15\13"+ + "\1\200\1\201\17\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\5\13\1\202\10\13\1\203\17\13\10\0"+ + "\6\13\11\0\3\13\3\0\1\73\1\13\2\22\4\0"+ + "\1\22\3\13\1\22\10\13\1\22\3\13\1\204\14\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\12\13"+ + "\1\205\23\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\13\13\1\206\22\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\3\13\1\207\5\13\1\210\24\13"+ + "\10\0\6\13\11\0\3\13\4\0\1\13\1\211\1\13"+ + "\4\0\36\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\12\13\1\212\23\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\3\13\1\213\32\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\12\13\1\214\23\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\10\13"+ + "\1\215\3\13\1\216\21\13\10\0\6\13\11\0\3\13"+ + "\4\0\1\13\1\217\1\13\4\0\36\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\27\13\1\220\6\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\23\13"+ + "\1\221\12\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\15\13\1\222\20\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\11\13\1\223\24\13\10\0\6\13"+ + "\11\0\3\13\4\0\2\13\1\224\4\0\36\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\1\225\35\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\10\13"+ + "\1\226\25\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\3\13\1\227\32\13\10\0\6\13\11\0\3\13"+ + "\4\0\2\13\1\230\4\0\10\13\1\231\1\232\24\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\11\13"+ + "\1\233\24\13\10\0\6\13\11\0\3\13\4\0\1\234"+ + "\2\13\4\0\6\13\1\235\27\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\11\13\1\236\24\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\13\13\1\237"+ + "\22\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\4\13\1\240\31\13\10\0\6\13\11\0\3\13\4\0"+ + "\1\241\2\13\4\0\36\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\1\242\35\13\10\0\6\13\11\0"+ + "\3\13\4\0\2\13\1\243\4\0\4\13\1\244\31\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\5\13"+ + "\1\245\30\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\4\13\1\246\31\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\4\13\1\247\31\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\12\13\1\250\23\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\16\13"+ + "\1\251\17\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\13\13\1\252\22\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\16\13\1\253\17\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\1\254\35\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\1\255\35\13"+ + "\10\0\6\13\3\156\1\256\77\156\37\0\1\257\52\0"+ + "\1\260\3\0\1\260\61\0\4\260\13\0\3\13\4\0"+ + "\3\13\4\0\3\13\1\261\32\13\10\0\6\13\14\72"+ + "\1\262\1\162\65\72\17\0\1\163\1\164\2\163\4\0"+ + "\1\163\1\0\1\164\1\0\1\163\10\0\1\163\55\0"+ + "\4\164\4\0\1\164\1\0\1\164\1\0\1\164\10\0"+ + "\1\164\47\0\3\13\3\0\1\73\1\13\2\22\4\0"+ + "\1\22\3\13\1\22\3\13\1\263\4\13\1\22\20\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\2\13"+ + "\1\264\33\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\12\13\1\265\23\13\10\0\6\13\23\171\1\266"+ + "\1\267\56\171\11\0\3\13\4\0\3\13\4\0\3\13"+ + "\1\270\32\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\3\13\1\271\32\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\12\13\1\272\23\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\3\13\1\273\32\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\1\274"+ + "\35\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\14\13\1\275\21\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\2\13\1\276\33\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\6\13\1\277\27\13\10\0"+ + "\6\13\11\0\3\13\4\0\2\13\1\300\4\0\36\13"+ + "\10\0\6\13\11\0\3\13\4\0\1\13\1\301\1\13"+ + "\4\0\36\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\4\13\1\302\31\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\2\13\1\303\5\13\1\304\25\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\2\13"+ + "\1\305\33\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\3\13\1\306\32\13\10\0\6\13\11\0\3\13"+ + "\4\0\1\13\1\307\1\13\4\0\36\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\16\13\1\310\17\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\13\13"+ + "\1\311\22\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\10\13\1\312\25\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\32\13\1\313\3\13\10\0\6\13"+ + "\11\0\3\13\4\0\1\13\1\314\1\13\4\0\36\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\24\13"+ + "\1\315\11\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\3\13\1\316\32\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\3\13\1\317\32\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\1\320\35\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\5\13\1\321"+ + "\30\13\10\0\6\13\11\0\3\13\4\0\1\13\1\322"+ + "\1\13\4\0\36\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\5\13\1\323\30\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\12\13\1\324\23\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\11\13\1\325"+ + "\24\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\3\13\1\326\32\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\12\13\1\327\23\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\6\13\1\330\27\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\3\13\1\331"+ + "\32\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\3\13\1\332\32\13\10\0\1\333\1\334\1\335\1\336"+ + "\2\13\11\0\3\13\4\0\2\13\1\337\4\0\36\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\10\13"+ + "\1\340\25\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\6\13\1\341\27\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\1\342\35\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\5\13\1\343\30\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\11\13\1\344"+ + "\24\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\4\13\1\345\3\13\1\346\25\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\6\13\1\347\27\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\1\13\1\350"+ + "\34\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\3\13\1\351\32\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\13\13\1\352\5\13\1\353\14\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\6\13\1\354"+ + "\27\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\4\13\1\355\31\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\3\13\1\356\32\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\6\13\1\357\27\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\4\13\1\360"+ + "\31\13\10\0\6\13\3\0\1\361\110\0\3\13\4\0"+ + "\3\13\4\0\7\13\1\362\26\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\36\13\10\0\1\13\1\363"+ + "\1\364\1\365\2\13\11\0\3\13\4\0\3\13\4\0"+ + "\3\13\1\366\32\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\13\13\1\367\22\13\10\0\6\13\23\171"+ + "\1\370\102\171\1\371\1\267\56\171\11\0\3\13\4\0"+ + "\3\13\4\0\4\13\1\372\31\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\6\13\1\373\27\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\13\13\1\374"+ + "\22\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\6\13\1\375\27\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\15\13\1\376\20\13\10\0\6\13\11\0"+ + "\3\13\4\0\2\13\1\377\4\0\36\13\10\0\6\13"+ + "\11\0\3\13\4\0\2\13\1\u0100\4\0\36\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\13\13\1\u0101"+ + "\22\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\11\13\1\u0102\24\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\13\13\1\u0103\22\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\6\13\1\u0104\27\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\3\13\1\u0105"+ + "\32\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\13\13\1\u0106\22\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\3\13\1\u0107\32\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\24\13\1\u0108\11\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\1\u0109\35\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\13\13"+ + "\1\u010a\22\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\4\13\1\u010b\31\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\13\13\1\u010c\22\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\1\u010d\35\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\3\13\1\u010e"+ + "\32\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\11\13\1\u010f\24\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\4\13\1\u0110\31\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\6\13\1\u0111\27\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\3\13\1\u0112"+ + "\32\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\3\13\1\u0113\32\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\3\13\1\u0114\32\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\16\13\1\u0115\17\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\12\13\1\u0116"+ + "\23\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\1\13\1\u0117\34\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\31\13\1\u0118\4\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\12\13\1\u0119\23\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\12\13\1\u011a"+ + "\23\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\36\13\10\0\1\13\1\u011b\4\13\11\0\3\13\4\0"+ + "\3\13\4\0\11\13\1\u011c\24\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\36\13\10\0\1\u011d\5\13"+ + "\11\0\3\13\4\0\3\13\4\0\12\13\1\u011e\23\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\5\13"+ + "\1\u011f\30\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\12\13\1\u0120\23\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\3\13\1\u0121\32\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\13\13\1\u0122\22\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\11\13"+ + "\1\u0123\24\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\1\u0124\35\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\13\13\1\u0125\22\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\11\13\1\u0126\24\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\6\13\1\u0127"+ + "\27\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\7\13\1\u0128\26\13\10\0\6\13\11\0\3\13\4\0"+ + "\1\u0129\2\13\4\0\1\13\1\u012a\6\13\1\u012b\25\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\5\13"+ + "\1\u012c\30\13\10\0\6\13\3\0\1\64\110\0\3\13"+ + "\4\0\3\13\4\0\4\13\1\u012d\31\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\12\13\1\u012e\23\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\27\13"+ + "\1\u012f\6\13\10\0\6\13\23\171\1\u0130\102\171\1\u0131"+ "\57\171\11\0\3\13\4\0\3\13\4\0\1\13\1\u0132"+ - "\33\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\10\13\1\u0133\24\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\3\13\1\u0134\31\13\10\0\7\13\11\0"+ - "\3\13\4\0\2\13\1\u0135\4\0\35\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\1\u0136\34\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\14\13\1\u0137"+ - "\20\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\3\13\1\u0138\31\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\1\u0139\34\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\12\13\1\u013a\22\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\4\13\1\u013b\30\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\26\13"+ - "\1\u013c\6\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\6\13\1\u013d\26\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\35\13\10\0\3\13\1\u013e\3\13"+ - "\11\0\3\13\4\0\1\u013f\2\13\4\0\35\13\10\0"+ - "\7\13\11\0\3\13\4\0\2\13\1\u0140\4\0\35\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\14\13"+ - "\1\u0141\20\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\1\u0142\34\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\3\13\1\u0143\31\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\3\13\1\u0144\31\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\6\13\1\u0145"+ - "\26\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\7\13\1\u0146\25\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\2\13\1\u0147\32\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\6\13\1\u0148\26\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\35\13\10\0"+ - "\1\13\1\u0149\5\13\11\0\3\13\4\0\3\13\4\0"+ - "\1\u014a\34\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\16\13\1\u014b\16\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\20\13\1\u014c\14\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\26\13\1\u014d\6\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\5\13"+ - "\1\u014e\27\13\10\0\7\13\11\0\3\13\4\0\1\13"+ - "\1\u014f\1\13\4\0\35\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\35\13\10\0\1\13\1\u0150\1\13"+ - "\1\u0151\3\13\11\0\3\13\4\0\3\13\4\0\13\13"+ - "\1\u0152\21\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\16\13\1\u0153\16\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\5\13\1\u0154\27\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\35\13\10\0\1\13"+ - "\1\u0155\1\u0156\1\u0157\3\13\11\0\3\13\4\0\3\13"+ - "\4\0\35\13\10\0\1\13\1\u0158\5\13\11\0\3\13"+ - "\4\0\3\13\4\0\4\13\1\u0159\30\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\4\13\1\u015a\30\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\6\13"+ - "\1\u015b\26\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\35\13\10\0\6\13\1\u015c\11\0\3\13\4\0"+ - "\3\13\4\0\4\13\1\u015d\30\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\15\13\1\u015e\17\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\1\13\1\u015f"+ - "\33\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\35\13\10\0\1\13\1\u0160\1\u0161\1\u0162\3\13\23\0"+ - "\1\u0163\57\0\23\171\1\u0164\57\171\11\0\3\13\4\0"+ - "\3\13\4\0\11\13\1\u0165\23\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\5\13\1\u0166\27\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\20\13\1\u0167"+ - "\14\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\4\13\1\u0168\30\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\35\13\10\0\1\13\1\u0169\1\u016a\1\u016b"+ - "\3\13\11\0\3\13\4\0\3\13\4\0\1\13\1\u016c"+ - "\33\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\12\13\1\u016d\22\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\1\13\1\u016e\33\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\27\13\1\u016f\5\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\5\13\1\u0170"+ - "\27\13\10\0\7\13\11\0\3\13\4\0\1\u0171\2\13"+ - "\4\0\1\13\1\u0172\13\13\1\u0173\17\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\7\13\1\u0174\25\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\35\13"+ - "\10\0\3\13\1\u0175\3\13\11\0\3\13\4\0\3\13"+ - "\4\0\6\13\1\u0176\26\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\5\13\1\u0177\27\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\6\13\1\u0178\26\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\4\13"+ - "\1\u0179\30\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\7\13\1\u017a\25\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\5\13\1\u017b\27\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\14\13\1\u017c\20\13"+ - "\10\0\7\13\11\0\3\13\4\0\1\13\1\u017d\1\13"+ - "\4\0\35\13\10\0\7\13\11\0\3\13\4\0\2\13"+ - "\1\u017e\4\0\35\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\3\13\1\u017f\31\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\27\13\1\u0180\5\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\6\13\1\u0181"+ - "\26\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\17\13\1\u0182\15\13\10\0\7\13\11\0\3\13\4\0"+ - "\1\u0183\2\13\4\0\1\13\1\u0184\13\13\1\u0185\17\13"+ - "\10\0\7\13\11\0\3\13\4\0\1\u0186\2\13\4\0"+ - "\1\13\1\u0187\13\13\1\u0188\17\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\5\13\1\u0189\27\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\1\13\1\u018a"+ - "\33\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\5\13\1\u018b\27\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\16\13\1\u018c\16\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\35\13\10\0\3\13\1\u018d"+ - "\3\13\11\0\3\13\4\0\3\13\4\0\4\13\1\u018e"+ - "\30\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\1\13\1\u018f\33\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\14\13\1\u0190\20\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\3\13\1\u0191\31\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\1\13\1\u0192"+ - "\33\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\1\13\1\u0193\33\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\1\13\1\u0194\33\13\10\0\7\13\23\0"+ - "\1\170\57\0\23\171\1\u0195\1\267\56\171\11\0\3\13"+ - "\4\0\3\13\4\0\5\13\1\u0196\27\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\21\13\1\u0197\13\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\1\u0198"+ - "\34\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\7\13\1\u0199\25\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\11\13\1\u019a\23\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\7\13\1\u019b\25\13\10\0"+ - "\7\13\11\0\3\13\4\0\2\13\1\u019c\4\0\35\13"+ - "\10\0\7\13\11\0\3\13\4\0\1\u019d\2\13\4\0"+ - "\1\13\1\u019e\13\13\1\u019f\17\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\1\13\1\u01a0\33\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\3\13\1\u01a1"+ - "\31\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\13\13\1\u01a2\21\13\10\0\7\13\11\0\3\13\4\0"+ - "\1\13\1\u01a3\1\13\4\0\35\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\12\13\1\u01a4\22\13\10\0"+ - "\7\13\11\0\3\13\4\0\2\13\1\u01a5\4\0\35\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\7\13"+ - "\1\u01a6\25\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\6\13\1\u01a7\26\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\11\13\1\u01a8\23\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\20\13\1\u01a9\14\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\1\u01aa"+ - "\34\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\12\13\1\u01ab\14\13\1\u01ac\5\13\10\0\7\13\11\0"+ - "\3\13\4\0\1\u01ad\2\13\4\0\1\13\1\u01ae\13\13"+ - "\1\u01af\17\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\1\13\1\u01b0\33\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\3\13\1\u01b1\31\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\6\13\1\u01b2\26\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\26\13"+ - "\1\u01b3\6\13\10\0\7\13\23\171\1\u01b4\57\171\11\0"+ - "\3\13\4\0\3\13\4\0\3\13\1\u01b5\31\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\4\13\1\u01b6"+ - "\30\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\6\13\1\u01b7\26\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\14\13\1\u01b8\20\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\10\13\1\u01b9\24\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\3\13\1\u01ba"+ - "\31\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\1\13\1\u01bb\33\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\35\13\10\0\2\13\1\u01bc\1\u01bd\3\13"+ - "\11\0\3\13\4\0\3\13\4\0\12\13\1\u01be\22\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\3\13"+ - "\1\u01bf\31\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\12\13\1\u01c0\22\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\1\u01c1\34\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\32\13\1\u01c2\2\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\12\13\1\u01c3"+ - "\22\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\10\13\1\u01c4\24\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\33\13\1\u01c5\1\u01c6\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\5\13\1\u01c7\27\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\3\13\1\u01c8"+ - "\31\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\3\13\1\u01c9\31\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\26\13\1\u01ca\6\13\10\0\7\13\11\0"+ - "\3\13\4\0\1\13\1\u01cb\1\13\4\0\35\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\12\13\1\u01cc"+ - "\22\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\7\13\1\u01cd\25\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\20\13\1\u01ce\14\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\4\13\1\u01cf\30\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\12\13\1\u01d0"+ - "\22\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\12\13\1\u01d1\22\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\6\13\1\u01d2\26\13\10\0\7\13\11\0"+ - "\3\13\4\0\1\u01d3\2\13\4\0\1\13\1\u01d4\13\13"+ - "\1\u01d5\17\13\10\0\7\13\11\0\3\13\4\0\1\u01d6"+ - "\2\13\4\0\1\13\1\u01d7\13\13\1\u01d8\17\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\12\13\1\u01d9"+ - "\22\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\5\13\1\u01da\27\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\3\13\1\u01db\31\13\10\0\7\13\11\0"+ - "\3\13\4\0\3\13\4\0\12\13\1\u01dc\22\13\10\0"+ - "\7\13\11\0\3\13\4\0\3\13\4\0\6\13\1\u01dd"+ - "\26\13\10\0\7\13\11\0\3\13\4\0\3\13\4\0"+ - "\11\13\1\u01de\23\13\10\0\7\13\11\0\3\13\4\0"+ - "\3\13\4\0\1\u01df\34\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\5\13\1\u01e0\27\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\26\13\1\u01e1\6\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\5\13"+ - "\1\u01e2\27\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\5\13\1\u01e3\27\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\3\13\1\u01e4\31\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\7\13\1\u01e5\25\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\12\13"+ - "\1\u01e6\22\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\5\13\1\u01e7\27\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\16\13\1\u01e8\16\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\4\13\1\u01e9\30\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\12\13"+ - "\1\u01ea\22\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\7\13\1\u01eb\25\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\4\13\1\u01ec\30\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\14\13\1\u01ed\20\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\7\13"+ - "\1\u01ee\25\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\11\13\1\u01ef\23\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\13\13\1\u01f0\21\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\5\13\1\u01f1\27\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\4\13"+ - "\1\u01f2\30\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\5\13\1\u01f3\27\13\10\0\7\13\11\0\3\13"+ - "\4\0\1\13\1\u01f4\1\13\4\0\35\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\5\13\1\u01f5\27\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\11\13"+ - "\1\u01f6\23\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\11\13\1\u01f7\23\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\3\13\1\u01f8\31\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\7\13\1\u01f9\25\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\5\13"+ - "\1\u01fa\27\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\5\13\1\u01fb\27\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\4\13\1\u01fc\30\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\14\13\1\u01fd\20\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\7\13"+ - "\1\u01fe\25\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\7\13\1\u01ff\25\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\5\13\1\u0200\27\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\4\13\1\u0201\30\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\14\13"+ - "\1\u0202\20\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\14\13\1\u0203\20\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\12\13\1\u0204\22\13\10\0\7\13"+ - "\11\0\3\13\4\0\3\13\4\0\4\13\1\u0205\30\13"+ - "\10\0\7\13\11\0\3\13\4\0\3\13\4\0\4\13"+ - "\1\u0206\30\13\10\0\7\13\11\0\3\13\4\0\3\13"+ - "\4\0\12\13\1\u0207\22\13\10\0\7\13\11\0\3\13"+ - "\4\0\3\13\4\0\12\13\1\u0208\22\13\10\0\7\13"; + "\34\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\7\13\1\u0133\26\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\14\13\1\u0134\21\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\3\13\1\u0135\32\13\10\0"+ + "\6\13\11\0\3\13\4\0\2\13\1\u0136\4\0\36\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\3\13"+ + "\1\u0137\32\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\1\u0138\35\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\11\13\1\u0139\24\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\1\u013a\35\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\5\13\1\u013b\30\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\36\13"+ + "\10\0\3\13\1\u013c\2\13\11\0\3\13\4\0\3\13"+ + "\4\0\4\13\1\u013d\31\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\27\13\1\u013e\6\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\12\13\1\u013f\23\13"+ + "\10\0\6\13\11\0\3\13\4\0\1\u0140\2\13\4\0"+ + "\36\13\10\0\6\13\11\0\3\13\4\0\2\13\1\u0141"+ + "\4\0\36\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\1\u0142\35\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\17\13\1\u0143\16\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\27\13\1\u0144\6\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\21\13\1\u0145"+ + "\14\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\6\13\1\u0146\27\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\11\13\1\u0147\24\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\36\13\10\0\1\13\1\u0148"+ + "\1\u0149\1\u014a\2\13\11\0\3\13\4\0\3\13\4\0"+ + "\36\13\10\0\1\13\1\u014b\4\13\11\0\3\13\4\0"+ + "\3\13\4\0\6\13\1\u014c\27\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\1\u014d\35\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\3\13\1\u014e\32\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\3\13"+ + "\1\u014f\32\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\12\13\1\u0150\23\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\13\13\1\u0151\22\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\2\13\1\u0152\33\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\12\13"+ + "\1\u0153\23\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\36\13\10\0\1\13\1\u0154\4\13\11\0\3\13"+ + "\4\0\3\13\4\0\36\13\10\0\1\13\1\u0155\1\13"+ + "\1\u0156\2\13\11\0\3\13\4\0\3\13\4\0\16\13"+ + "\1\u0157\17\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\17\13\1\u0158\16\13\10\0\6\13\11\0\3\13"+ + "\4\0\1\13\1\u0159\1\13\4\0\36\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\4\13\1\u015a\31\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\4\13"+ + "\1\u015b\31\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\12\13\1\u015c\23\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\7\13\1\u015d\26\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\4\13\1\u015e\31\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\10\13"+ + "\1\u015f\25\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\1\13\1\u0160\34\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\36\13\10\0\1\13\1\u0161\1\u0162"+ + "\1\u0163\2\13\23\0\1\u0164\57\0\23\171\1\u0165\57\171"+ + "\11\0\3\13\4\0\3\13\4\0\4\13\1\u0166\31\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\15\13"+ + "\1\u0167\20\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\6\13\1\u0168\27\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\36\13\10\0\1\13\1\u0169\1\u016a"+ + "\1\u016b\2\13\11\0\3\13\4\0\3\13\4\0\21\13"+ + "\1\u016c\14\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\4\13\1\u016d\31\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\1\13\1\u016e\34\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\5\13\1\u016f\30\13"+ + "\10\0\6\13\11\0\3\13\4\0\1\u0170\2\13\4\0"+ + "\1\13\1\u0171\6\13\1\u0172\25\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\1\13\1\u0173\34\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\30\13\1\u0174"+ + "\5\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\6\13\1\u0175\27\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\13\13\1\u0176\22\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\36\13\10\0\3\13\1\u0177"+ + "\2\13\11\0\3\13\4\0\2\13\1\u0178\4\0\36\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\30\13"+ + "\1\u0179\5\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\3\13\1\u017a\32\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\12\13\1\u017b\23\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\12\13\1\u017c\23\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\1\13"+ + "\1\u017d\34\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\6\13\1\u017e\27\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\4\13\1\u017f\31\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\12\13\1\u0180\23\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\13\13"+ + "\1\u0181\22\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\6\13\1\u0182\27\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\11\13\1\u0183\24\13\10\0\6\13"+ + "\11\0\3\13\4\0\1\13\1\u0184\1\13\4\0\36\13"+ + "\10\0\6\13\11\0\3\13\4\0\1\u0185\2\13\4\0"+ + "\1\13\1\u0186\6\13\1\u0187\25\13\10\0\6\13\11\0"+ + "\3\13\4\0\1\u0188\2\13\4\0\1\13\1\u0189\6\13"+ + "\1\u018a\25\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\6\13\1\u018b\27\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\20\13\1\u018c\15\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\6\13\1\u018d\27\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\17\13"+ + "\1\u018e\16\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\36\13\10\0\3\13\1\u018f\2\13\11\0\3\13"+ + "\4\0\3\13\4\0\4\13\1\u0190\31\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\1\13\1\u0191\34\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\11\13"+ + "\1\u0192\24\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\3\13\1\u0193\32\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\1\13\1\u0194\34\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\1\13\1\u0195\34\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\1\13"+ + "\1\u0196\34\13\10\0\6\13\23\0\1\170\57\0\23\171"+ + "\1\u0197\1\267\56\171\11\0\3\13\4\0\3\13\4\0"+ + "\10\13\1\u0198\25\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\6\13\1\u0199\27\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\22\13\1\u019a\13\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\1\u019b\35\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\13\13"+ + "\1\u019c\22\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\15\13\1\u019d\20\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\13\13\1\u019e\22\13\10\0\6\13"+ + "\11\0\3\13\4\0\2\13\1\u019f\4\0\36\13\10\0"+ + "\6\13\11\0\3\13\4\0\1\u01a0\2\13\4\0\1\13"+ + "\1\u01a1\6\13\1\u01a2\25\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\13\13\1\u01a3\22\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\15\13\1\u01a4\20\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\12\13"+ + "\1\u01a5\23\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\21\13\1\u01a6\14\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\1\13\1\u01a7\34\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\3\13\1\u01a8\32\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\16\13"+ + "\1\u01a9\17\13\10\0\6\13\11\0\3\13\4\0\1\13"+ + "\1\u01aa\1\13\4\0\36\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\5\13\1\u01ab\30\13\10\0\6\13"+ + "\11\0\3\13\4\0\2\13\1\u01ac\4\0\36\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\1\u01ad\35\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\5\13"+ + "\1\u01ae\22\13\1\u01af\5\13\10\0\6\13\11\0\3\13"+ + "\4\0\1\u01b0\2\13\4\0\1\13\1\u01b1\6\13\1\u01b2"+ + "\25\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\1\13\1\u01b3\34\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\3\13\1\u01b4\32\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\12\13\1\u01b5\23\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\27\13\1\u01b6"+ + "\6\13\10\0\6\13\23\171\1\u01b7\57\171\11\0\3\13"+ + "\4\0\3\13\4\0\11\13\1\u01b8\24\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\3\13\1\u01b9\32\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\4\13"+ + "\1\u01ba\31\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\12\13\1\u01bb\23\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\11\13\1\u01bc\24\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\14\13\1\u01bd\21\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\3\13"+ + "\1\u01be\32\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\1\13\1\u01bf\34\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\33\13\1\u01c0\2\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\14\13\1\u01c1\21\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\5\13"+ + "\1\u01c2\30\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\34\13\1\u01c3\1\u01c4\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\36\13\10\0\2\13\1\u01c5\1\u01c6"+ + "\2\13\11\0\3\13\4\0\3\13\4\0\5\13\1\u01c7"+ + "\30\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\3\13\1\u01c8\32\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\5\13\1\u01c9\30\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\1\u01ca\35\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\6\13\1\u01cb\27\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\3\13"+ + "\1\u01cc\32\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\3\13\1\u01cd\32\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\27\13\1\u01ce\6\13\10\0\6\13"+ + "\11\0\3\13\4\0\1\13\1\u01cf\1\13\4\0\36\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\5\13"+ + "\1\u01d0\30\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\13\13\1\u01d1\22\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\21\13\1\u01d2\14\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\4\13\1\u01d3\31\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\5\13"+ + "\1\u01d4\30\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\5\13\1\u01d5\30\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\12\13\1\u01d6\23\13\10\0\6\13"+ + "\11\0\3\13\4\0\3\13\4\0\3\13\1\u01d7\32\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\5\13"+ + "\1\u01d8\30\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\12\13\1\u01d9\23\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\15\13\1\u01da\20\13\10\0\6\13"+ + "\11\0\3\13\4\0\1\u01db\2\13\4\0\1\13\1\u01dc"+ + "\6\13\1\u01dd\25\13\10\0\6\13\11\0\3\13\4\0"+ + "\1\u01de\2\13\4\0\1\13\1\u01df\6\13\1\u01e0\25\13"+ + "\10\0\6\13\11\0\3\13\4\0\3\13\4\0\5\13"+ + "\1\u01e1\30\13\10\0\6\13\11\0\3\13\4\0\3\13"+ + "\4\0\6\13\1\u01e2\27\13\10\0\6\13\11\0\3\13"+ + "\4\0\3\13\4\0\1\u01e3\35\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\6\13\1\u01e4\27\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\27\13\1\u01e5"+ + "\6\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\6\13\1\u01e6\27\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\6\13\1\u01e7\27\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\3\13\1\u01e8\32\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\5\13\1\u01e9"+ + "\30\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\6\13\1\u01ea\27\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\17\13\1\u01eb\16\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\4\13\1\u01ec\31\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\13\13\1\u01ed"+ + "\22\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\5\13\1\u01ee\30\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\13\13\1\u01ef\22\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\4\13\1\u01f0\31\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\13\13\1\u01f1"+ + "\22\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\15\13\1\u01f2\20\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\16\13\1\u01f3\17\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\11\13\1\u01f4\24\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\6\13\1\u01f5"+ + "\27\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\6\13\1\u01f6\27\13\10\0\6\13\11\0\3\13\4\0"+ + "\1\13\1\u01f7\1\13\4\0\36\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\6\13\1\u01f8\27\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\4\13\1\u01f9"+ + "\31\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\15\13\1\u01fa\20\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\15\13\1\u01fb\20\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\3\13\1\u01fc\32\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\13\13\1\u01fd"+ + "\22\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\6\13\1\u01fe\27\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\6\13\1\u01ff\27\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\4\13\1\u0200\31\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\11\13\1\u0201"+ + "\24\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\13\13\1\u0202\22\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\13\13\1\u0203\22\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\6\13\1\u0204\27\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\4\13\1\u0205"+ + "\31\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\11\13\1\u0206\24\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\11\13\1\u0207\24\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\5\13\1\u0208\30\13\10\0"+ + "\6\13\11\0\3\13\4\0\3\13\4\0\4\13\1\u0209"+ + "\31\13\10\0\6\13\11\0\3\13\4\0\3\13\4\0"+ + "\4\13\1\u020a\31\13\10\0\6\13\11\0\3\13\4\0"+ + "\3\13\4\0\5\13\1\u020b\30\13\10\0\6\13\11\0"+ + "\3\13\4\0\3\13\4\0\5\13\1\u020c\30\13\10\0"+ + "\6\13"; private static int [] zzUnpackTrans() { - int [] result = new int[27403]; + int [] result = new int[27671]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); return result; @@ -770,10 +777,10 @@ private static int zzUnpackTrans(String packed, int offset, int [] result) { "\1\11\1\1\2\0\7\1\1\0\1\1\1\0\1\11"+ "\53\1\3\0\1\1\1\0\5\1\1\11\1\0\64\1"+ "\1\0\1\11\2\1\1\11\3\1\2\0\71\1\1\0"+ - "\6\1\2\0\67\1\1\0\327\1"; + "\6\1\2\0\67\1\1\0\333\1"; private static int [] zzUnpackAttribute() { - int [] result = new int[520]; + int [] result = new int[524]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; @@ -1082,617 +1089,622 @@ else if (zzAtEOF) { { return BAD_CHARACTER; } // fall through - case 124: break; + case 125: break; case 2: { return WHITE_SPACE; } // fall through - case 125: break; + case 126: break; case 3: { return NUMBER; } // fall through - case 126: break; + case 127: break; case 4: { return PERIOD; } // fall through - case 127: break; + case 128: break; case 5: { return ALPHA; } // fall through - case 128: break; + case 129: break; case 6: { return USDDECLARATION; } // fall through - case 129: break; + case 130: break; case 7: { return COLON; } // fall through - case 130: break; + case 131: break; case 8: { return IDENTIFIER; } // fall through - case 131: break; + case 132: break; case 9: { return COMMA; } // fall through - case 132: break; + case 133: break; case 10: { return EQUALS; } // fall through - case 133: break; + case 134: break; case 11: { return LEFTBRACKET; } // fall through - case 134: break; + case 135: break; case 12: { return RIGHTBRACKET; } // fall through - case 135: break; + case 136: break; case 13: { return LEFTPARENS; } // fall through - case 136: break; + case 137: break; case 14: { return RIGHTPARENS; } // fall through - case 137: break; + case 138: break; case 15: { return LEFTBRACE; } // fall through - case 138: break; + case 139: break; case 16: { return RIGHTBRACE; } // fall through - case 139: break; + case 140: break; case 17: { return STRING; } // fall through - case 140: break; + case 141: break; case 18: { return FLOATNUMBER; } // fall through - case 141: break; + case 142: break; case 19: { return COMMENT; } // fall through - case 142: break; + case 143: break; case 20: { return BLOCKCOMMENT; } // fall through - case 143: break; + case 144: break; case 21: { return ASSETREFERENCE; } // fall through - case 144: break; + case 145: break; case 22: { return PATHREFERENCE; } // fall through - case 145: break; + case 146: break; case 23: { return NAMESPACED_IDENTIFIER; } // fall through - case 146: break; + case 147: break; case 24: { return ADD; } // fall through - case 147: break; + case 148: break; case 25: { return DEF; } // fall through - case 148: break; + case 149: break; case 26: { return DOC; } // fall through - case 149: break; + case 150: break; case 27: { return REL; } // fall through - case 150: break; + case 151: break; case 28: { return INTTYPE; } // fall through - case 151: break; + case 152: break; case 29: { return HALFTYPE; } // fall through - case 152: break; + case 153: break; case 30: { return TRUE; } // fall through - case 153: break; + case 154: break; case 31: - { return INT4TYPE; + { return OVER; } // fall through - case 154: break; + case 155: break; case 32: - { return INT2TYPE; + { return INT4TYPE; } // fall through - case 155: break; + case 156: break; case 33: - { return INT3TYPE; + { return INT2TYPE; } // fall through - case 156: break; + case 157: break; case 34: - { return BOOLTYPE; + { return INT3TYPE; } // fall through - case 157: break; + case 158: break; case 35: - { return UINTTYPE; + { return BOOLTYPE; } // fall through - case 158: break; + case 159: break; case 36: - { return OVER; + { return UINTTYPE; } // fall through - case 159: break; + case 160: break; case 37: { return KIND; } // fall through - case 160: break; + case 161: break; case 38: { return NONE; } // fall through - case 161: break; + case 162: break; case 39: { return HALF4TYPE; } // fall through - case 162: break; + case 163: break; case 40: { return HALF2TYPE; } // fall through - case 163: break; + case 164: break; case 41: { return HALF3TYPE; } // fall through - case 164: break; + case 165: break; case 42: { return ASSETTYPE; } // fall through - case 165: break; + case 166: break; case 43: { return TOKENTYPE; } // fall through - case 166: break; + case 167: break; case 44: - { return INT64TYPE; + { return FLOATTYPE; } // fall through - case 167: break; + case 168: break; case 45: - { return UCHARTYPE; + { return FALSE; } // fall through - case 168: break; + case 169: break; case 46: - { return CLASS; + { return INT64TYPE; } // fall through - case 169: break; + case 170: break; case 47: - { return FLOATTYPE; + { return UCHARTYPE; } // fall through - case 170: break; + case 171: break; case 48: - { return FALSE; + { return CLASS; } // fall through - case 171: break; + case 172: break; case 49: { return QUATHTYPE; } // fall through - case 172: break; + case 173: break; case 50: { return QUATDTYPE; } // fall through - case 173: break; + case 174: break; case 51: { return QUATFTYPE; } // fall through - case 174: break; + case 175: break; case 52: { return MAPPER; } // fall through - case 175: break; + case 176: break; case 53: { return APPEND; } // fall through - case 176: break; + case 177: break; case 54: { return DELETE; } // fall through - case 177: break; + case 178: break; case 55: { return DOUBLETYPE; } // fall through - case 178: break; + case 179: break; case 56: - { return UINT64TYPE; + { return STRINGTYPE; } // fall through - case 179: break; + case 180: break; case 57: - { return STRINGTYPE; + { return FLOAT4TYPE; } // fall through - case 180: break; + case 181: break; case 58: - { return CUSTOM; + { return FLOAT2TYPE; } // fall through - case 181: break; + case 182: break; case 59: - { return CONFIG; + { return FLOAT3TYPE; } // fall through - case 182: break; + case 183: break; case 60: { return OFFSET; } // fall through - case 183: break; + case 184: break; case 61: - { return FLOAT4TYPE; + { return UINT64TYPE; } // fall through - case 184: break; + case 185: break; case 62: - { return FLOAT2TYPE; + { return CONFIG; } // fall through - case 185: break; + case 186: break; case 63: - { return FLOAT3TYPE; + { return CUSTOM; } // fall through - case 186: break; + case 187: break; case 64: { return DEFAULT; } // fall through - case 187: break; + case 188: break; case 65: { return DOUBLE4TYPE; } // fall through - case 188: break; + case 189: break; case 66: { return DOUBLE2TYPE; } // fall through - case 189: break; + case 190: break; case 67: { return DOUBLE3TYPE; } // fall through - case 190: break; + case 191: break; case 68: { return PAYLOAD; } // fall through - case 191: break; - case 69: - { return PREPEND; - } - // fall through case 192: break; - case 70: + case 69: { return POINT3HTYPE; } // fall through case 193: break; - case 71: + case 70: { return POINT3DTYPE; } // fall through case 194: break; - case 72: + case 71: { return POINT3FTYPE; } // fall through case 195: break; - case 73: - { return REORDER; + case 72: + { return PREPEND; } // fall through case 196: break; - case 74: - { return UNIFORM; + case 73: + { return FRAME4DTYPE; } // fall through case 197: break; - case 75: - { return COLOR4HTYPE; + case 74: + { return REORDER; } // fall through case 198: break; - case 76: - { return COLOR4DTYPE; + case 75: + { return UNIFORM; } // fall through case 199: break; - case 77: - { return COLOR4FTYPE; + case 76: + { return COLOR4HTYPE; } // fall through case 200: break; - case 78: - { return COLOR3HTYPE; + case 77: + { return COLOR4DTYPE; } // fall through case 201: break; - case 79: - { return COLOR3DTYPE; + case 78: + { return COLOR4FTYPE; } // fall through case 202: break; - case 80: - { return COLOR3FTYPE; + case 79: + { return COLOR3HTYPE; } // fall through case 203: break; - case 81: - { return CONNECT; + case 80: + { return COLOR3DTYPE; } // fall through case 204: break; - case 82: - { return FRAME4DTYPE; + case 81: + { return COLOR3FTYPE; } // fall through case 205: break; + case 82: + { return CONNECT; + } + // fall through + case 206: break; case 83: { return VARYING; } // fall through - case 206: break; + case 207: break; case 84: { return MATRIX4DTYPE; } // fall through - case 207: break; + case 208: break; case 85: { return MATRIX2DTYPE; } // fall through - case 208: break; + case 209: break; case 86: { return MATRIX3DTYPE; } // fall through - case 209: break; + case 210: break; case 87: { return NORMAL3HTYPE; } // fall through - case 210: break; + case 211: break; case 88: { return NORMAL3DTYPE; } // fall through - case 211: break; + case 212: break; case 89: { return NORMAL3FTYPE; } // fall through - case 212: break; + case 213: break; case 90: { return INHERITS; } // fall through - case 213: break; + case 214: break; case 91: { return VARIANTS; } // fall through - case 214: break; + case 215: break; case 92: { return VECTOR3HTYPE; } // fall through - case 215: break; + case 216: break; case 93: { return VECTOR3DTYPE; } // fall through - case 216: break; + case 217: break; case 94: { return VECTOR3FTYPE; } // fall through - case 217: break; + case 218: break; case 95: { return EDGEINDEXTYPE; } // fall through - case 218: break; + case 219: break; case 96: - { return RELOCATES; + { return ASSETINFO; } // fall through - case 219: break; + case 220: break; case 97: - { return ROOTPRIMS; + { return SUBLAYERS; } // fall through - case 220: break; + case 221: break; case 98: - { return SUBLAYERS; + { return RELOCATES; } // fall through - case 221: break; + case 222: break; case 99: - { return FACEINDEXTYPE; + { return ROOTPRIMS; } // fall through - case 222: break; + case 223: break; case 100: - { return TRANSFORMTYPE; + { return FACEINDEXTYPE; } // fall through - case 223: break; + case 224: break; case 101: - { return ATTRIBUTES; + { return TRANSFORMTYPE; } // fall through - case 224: break; + case 225: break; case 102: - { return DICTIONARY; + { return ATTRIBUTES; } // fall through - case 225: break; + case 226: break; case 103: - { return PERMISSION; + { return DICTIONARY; } // fall through - case 226: break; + case 227: break; case 104: - { return PROPERTIES; + { return PERMISSION; } // fall through - case 227: break; + case 228: break; case 105: - { return TEXCOORD2HTYPE; + { return PROPERTIES; } // fall through - case 228: break; + case 229: break; case 106: - { return TEXCOORD2DTYPE; + { return TEXCOORD2HTYPE; } // fall through - case 229: break; + case 230: break; case 107: - { return TEXCOORD2FTYPE; + { return TEXCOORD2DTYPE; } // fall through - case 230: break; + case 231: break; case 108: - { return TEXCOORD3HTYPE; + { return TEXCOORD2FTYPE; } // fall through - case 231: break; + case 232: break; case 109: - { return TEXCOORD3DTYPE; + { return TEXCOORD3HTYPE; } // fall through - case 232: break; + case 233: break; case 110: - { return TEXCOORD3FTYPE; + { return TEXCOORD3DTYPE; } // fall through - case 233: break; + case 234: break; case 111: - { return REFERENCES; + { return TEXCOORD3FTYPE; } // fall through - case 234: break; + case 235: break; case 112: - { return CUSTOMDATA; + { return REFERENCES; } // fall through - case 235: break; + case 236: break; case 113: - { return VARIANTSET; + { return CUSTOMDATA; } // fall through - case 236: break; + case 237: break; case 114: - { return POINTINDEXTYPE; + { return VARIANTSET; } // fall through - case 237: break; + case 238: break; case 115: - { return DISPLAYUNIT; + { return POINTINDEXTYPE; } // fall through - case 238: break; + case 239: break; case 116: - { return SPECIALIZES; + { return DISPLAYUNIT; } // fall through - case 239: break; + case 240: break; case 117: - { return VARIANTSETS; + { return SPECIALIZES; } // fall through - case 240: break; + case 241: break; case 118: - { return NAMECHILDREN; + { return VARIANTSETS; } // fall through - case 241: break; + case 242: break; case 119: - { return INTERPOLATION; + { return NAMECHILDREN; } // fall through - case 242: break; + case 243: break; case 120: - { return SYMMETRYFUNCTION; + { return INTERPOLATION; } // fall through - case 243: break; + case 244: break; case 121: - { return SYMMETRYARGUMENTS; + { return SYMMETRYFUNCTION; } // fall through - case 244: break; + case 245: break; case 122: - { return PREFIXSUBSTITUTIONS; + { return SYMMETRYARGUMENTS; } // fall through - case 245: break; + case 246: break; case 123: + { return PREFIXSUBSTITUTIONS; + } + // fall through + case 247: break; + case 124: { return SUFFIXSUBSTITUTIONS; } // fall through - case 246: break; + case 248: break; default: zzScanError(ZZ_NO_MATCH); } diff --git a/src/main/gen/com/justint/usdidea/lang/parser/USDParser.java b/src/main/gen/com/justint/usdidea/lang/parser/USDParser.java index 418a912..8226309 100644 --- a/src/main/gen/com/justint/usdidea/lang/parser/USDParser.java +++ b/src/main/gen/com/justint/usdidea/lang/parser/USDParser.java @@ -133,7 +133,7 @@ private static boolean ArrayAttributeType_1(PsiBuilder b, int l) { } /* ********************************************************** */ - // (NamespacedIdentifier | Identifier) (period Identifier)* + // (NamespacedIdentifier | Identifier) (period (connect | Identifier))* public static boolean AttributeName(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "AttributeName")) return false; if (!nextTokenIs(b, ALPHA)) return false; @@ -154,7 +154,7 @@ private static boolean AttributeName_0(PsiBuilder b, int l) { return r; } - // (period Identifier)* + // (period (connect | Identifier))* private static boolean AttributeName_1(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "AttributeName_1")) return false; while (true) { @@ -165,19 +165,28 @@ private static boolean AttributeName_1(PsiBuilder b, int l) { return true; } - // period Identifier + // period (connect | Identifier) private static boolean AttributeName_1_0(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "AttributeName_1_0")) return false; boolean r; Marker m = enter_section_(b); r = consumeToken(b, PERIOD); - r = r && Identifier(b, l + 1); + r = r && AttributeName_1_0_1(b, l + 1); exit_section_(b, m, null, r); return r; } + // connect | Identifier + private static boolean AttributeName_1_0_1(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "AttributeName_1_0_1")) return false; + boolean r; + r = consumeToken(b, CONNECT); + if (!r) r = Identifier(b, l + 1); + return r; + } + /* ********************************************************** */ - // (uniform | custom)? (AttributeType AttributeName | CompositionArc) (equals AttributeValue)? + // [uniform | custom] (ListEditAction? rel AttributeName | AttributeType AttributeName | ListEditAction? CompositionArc) [equals AttributeValue] public static boolean AttributeProperty(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "AttributeProperty")) return false; boolean r; @@ -189,7 +198,7 @@ public static boolean AttributeProperty(PsiBuilder b, int l) { return r; } - // (uniform | custom)? + // [uniform | custom] private static boolean AttributeProperty_0(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "AttributeProperty_0")) return false; AttributeProperty_0_0(b, l + 1); @@ -205,29 +214,67 @@ private static boolean AttributeProperty_0_0(PsiBuilder b, int l) { return r; } - // AttributeType AttributeName | CompositionArc + // ListEditAction? rel AttributeName | AttributeType AttributeName | ListEditAction? CompositionArc private static boolean AttributeProperty_1(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "AttributeProperty_1")) return false; boolean r; Marker m = enter_section_(b); r = AttributeProperty_1_0(b, l + 1); - if (!r) r = CompositionArc(b, l + 1); + if (!r) r = AttributeProperty_1_1(b, l + 1); + if (!r) r = AttributeProperty_1_2(b, l + 1); exit_section_(b, m, null, r); return r; } - // AttributeType AttributeName + // ListEditAction? rel AttributeName private static boolean AttributeProperty_1_0(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "AttributeProperty_1_0")) return false; boolean r; Marker m = enter_section_(b); + r = AttributeProperty_1_0_0(b, l + 1); + r = r && consumeToken(b, REL); + r = r && AttributeName(b, l + 1); + exit_section_(b, m, null, r); + return r; + } + + // ListEditAction? + private static boolean AttributeProperty_1_0_0(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "AttributeProperty_1_0_0")) return false; + ListEditAction(b, l + 1); + return true; + } + + // AttributeType AttributeName + private static boolean AttributeProperty_1_1(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "AttributeProperty_1_1")) return false; + boolean r; + Marker m = enter_section_(b); r = AttributeType(b, l + 1); r = r && AttributeName(b, l + 1); exit_section_(b, m, null, r); return r; } - // (equals AttributeValue)? + // ListEditAction? CompositionArc + private static boolean AttributeProperty_1_2(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "AttributeProperty_1_2")) return false; + boolean r; + Marker m = enter_section_(b); + r = AttributeProperty_1_2_0(b, l + 1); + r = r && CompositionArc(b, l + 1); + exit_section_(b, m, null, r); + return r; + } + + // ListEditAction? + private static boolean AttributeProperty_1_2_0(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "AttributeProperty_1_2_0")) return false; + ListEditAction(b, l + 1); + return true; + } + + // [equals AttributeValue] private static boolean AttributeProperty_2(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "AttributeProperty_2")) return false; AttributeProperty_2_0(b, l + 1); @@ -246,14 +293,13 @@ private static boolean AttributeProperty_2_0(PsiBuilder b, int l) { } /* ********************************************************** */ - // ArrayAttributeType | SingleAttributeType | rel + // ArrayAttributeType | SingleAttributeType public static boolean AttributeType(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "AttributeType")) return false; boolean r; Marker m = enter_section_(b, l, _NONE_, ATTRIBUTE_TYPE, ""); r = ArrayAttributeType(b, l + 1); if (!r) r = SingleAttributeType(b, l + 1); - if (!r) r = consumeToken(b, REL); exit_section_(b, l, m, r, false, null); return r; } @@ -385,7 +431,7 @@ public static boolean Boolean(PsiBuilder b, int l) { } /* ********************************************************** */ - // subLayers | inherits | variantSets | references | payload | specializes + // subLayers | inherits | variantSets | references | payload | specializes | nameChildren public static boolean CompositionArc(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "CompositionArc")) return false; boolean r; @@ -396,6 +442,7 @@ public static boolean CompositionArc(PsiBuilder b, int l) { if (!r) r = consumeToken(b, REFERENCES); if (!r) r = consumeToken(b, PAYLOAD); if (!r) r = consumeToken(b, SPECIALIZES); + if (!r) r = consumeToken(b, NAMECHILDREN); exit_section_(b, l, m, r, false, null); return r; } @@ -598,7 +645,7 @@ public static boolean Item(PsiBuilder b, int l) { } /* ********************************************************** */ - // add | append | prepend | delete + // add | append | prepend | delete | reorder public static boolean ListEditAction(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "ListEditAction")) return false; boolean r; @@ -607,6 +654,7 @@ public static boolean ListEditAction(PsiBuilder b, int l) { if (!r) r = consumeToken(b, APPEND); if (!r) r = consumeToken(b, PREPEND); if (!r) r = consumeToken(b, DELETE); + if (!r) r = consumeToken(b, REORDER); exit_section_(b, l, m, r, false, null); return r; } @@ -803,17 +851,33 @@ private static boolean PrimSpec_1(PsiBuilder b, int l) { } /* ********************************************************** */ - // AttributeProperty | RelationshipProperty + // (AttributeProperty | RelationshipProperty) Metadata? public static boolean PropertySpec(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "PropertySpec")) return false; boolean r; Marker m = enter_section_(b, l, _NONE_, PROPERTY_SPEC, ""); + r = PropertySpec_0(b, l + 1); + r = r && PropertySpec_1(b, l + 1); + exit_section_(b, l, m, r, false, null); + return r; + } + + // AttributeProperty | RelationshipProperty + private static boolean PropertySpec_0(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "PropertySpec_0")) return false; + boolean r; r = AttributeProperty(b, l + 1); if (!r) r = RelationshipProperty(b, l + 1); - exit_section_(b, l, m, r, false, null); return r; } + // Metadata? + private static boolean PropertySpec_1(PsiBuilder b, int l) { + if (!recursion_guard_(b, l, "PropertySpec_1")) return false; + Metadata(b, l + 1); + return true; + } + /* ********************************************************** */ // assetReference pathReference | assetReference | pathReference public static boolean ReferenceItem(PsiBuilder b, int l) { @@ -909,7 +973,7 @@ public static boolean SingleAttributeType(PsiBuilder b, int l) { } /* ********************************************************** */ - // doc | variantSet | kind | variants | customData + // doc | variantSet | kind | variants | customData | assetInfo public static boolean SpecialMetadataKey(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "SpecialMetadataKey")) return false; boolean r; @@ -919,6 +983,7 @@ public static boolean SpecialMetadataKey(PsiBuilder b, int l) { if (!r) r = consumeToken(b, KIND); if (!r) r = consumeToken(b, VARIANTS); if (!r) r = consumeToken(b, CUSTOMDATA); + if (!r) r = consumeToken(b, ASSETINFO); exit_section_(b, l, m, r, false, null); return r; } @@ -986,7 +1051,7 @@ private static boolean Specifier_2_1(PsiBuilder b, int l) { } /* ********************************************************** */ - // leftbrace [!rightbrace FrameNumber colon Array (comma FrameNumber colon Array)* comma?] rightbrace | leftbrace rightbrace + // leftbrace [!rightbrace FrameNumber colon Item (comma FrameNumber colon Item)* comma?] rightbrace | leftbrace rightbrace public static boolean TimeSample(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "TimeSample")) return false; if (!nextTokenIs(b, LEFTBRACE)) return false; @@ -998,7 +1063,7 @@ public static boolean TimeSample(PsiBuilder b, int l) { return r; } - // leftbrace [!rightbrace FrameNumber colon Array (comma FrameNumber colon Array)* comma?] rightbrace + // leftbrace [!rightbrace FrameNumber colon Item (comma FrameNumber colon Item)* comma?] rightbrace private static boolean TimeSample_0(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "TimeSample_0")) return false; boolean r; @@ -1010,14 +1075,14 @@ private static boolean TimeSample_0(PsiBuilder b, int l) { return r; } - // [!rightbrace FrameNumber colon Array (comma FrameNumber colon Array)* comma?] + // [!rightbrace FrameNumber colon Item (comma FrameNumber colon Item)* comma?] private static boolean TimeSample_0_1(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "TimeSample_0_1")) return false; TimeSample_0_1_0(b, l + 1); return true; } - // !rightbrace FrameNumber colon Array (comma FrameNumber colon Array)* comma? + // !rightbrace FrameNumber colon Item (comma FrameNumber colon Item)* comma? private static boolean TimeSample_0_1_0(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "TimeSample_0_1_0")) return false; boolean r; @@ -1025,7 +1090,7 @@ private static boolean TimeSample_0_1_0(PsiBuilder b, int l) { r = TimeSample_0_1_0_0(b, l + 1); r = r && FrameNumber(b, l + 1); r = r && consumeToken(b, COLON); - r = r && Array(b, l + 1); + r = r && Item(b, l + 1); r = r && TimeSample_0_1_0_4(b, l + 1); r = r && TimeSample_0_1_0_5(b, l + 1); exit_section_(b, m, null, r); @@ -1042,7 +1107,7 @@ private static boolean TimeSample_0_1_0_0(PsiBuilder b, int l) { return r; } - // (comma FrameNumber colon Array)* + // (comma FrameNumber colon Item)* private static boolean TimeSample_0_1_0_4(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "TimeSample_0_1_0_4")) return false; while (true) { @@ -1053,7 +1118,7 @@ private static boolean TimeSample_0_1_0_4(PsiBuilder b, int l) { return true; } - // comma FrameNumber colon Array + // comma FrameNumber colon Item private static boolean TimeSample_0_1_0_4_0(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "TimeSample_0_1_0_4_0")) return false; boolean r; @@ -1061,7 +1126,7 @@ private static boolean TimeSample_0_1_0_4_0(PsiBuilder b, int l) { r = consumeToken(b, COMMA); r = r && FrameNumber(b, l + 1); r = r && consumeToken(b, COLON); - r = r && Array(b, l + 1); + r = r && Item(b, l + 1); exit_section_(b, m, null, r); return r; } diff --git a/src/main/gen/com/justint/usdidea/lang/psi/USDTypes.java b/src/main/gen/com/justint/usdidea/lang/psi/USDTypes.java index 20d04ec..b7fd693 100644 --- a/src/main/gen/com/justint/usdidea/lang/psi/USDTypes.java +++ b/src/main/gen/com/justint/usdidea/lang/psi/USDTypes.java @@ -50,6 +50,7 @@ public interface USDTypes { IElementType ADD = new USDTokenType("add"); IElementType ALPHA = new USDTokenType("alpha"); IElementType APPEND = new USDTokenType("append"); + IElementType ASSETINFO = new USDTokenType("assetInfo"); IElementType ASSETREFERENCE = new USDTokenType("assetReference"); IElementType ASSETTYPE = new USDTokenType("asset"); IElementType ATTRIBUTES = new USDTokenType("attributes"); diff --git a/src/main/gen/com/justint/usdidea/lang/psi/impl/usdAttributePropertyImpl.java b/src/main/gen/com/justint/usdidea/lang/psi/impl/usdAttributePropertyImpl.java index 626fbc8..b7e4909 100644 --- a/src/main/gen/com/justint/usdidea/lang/psi/impl/usdAttributePropertyImpl.java +++ b/src/main/gen/com/justint/usdidea/lang/psi/impl/usdAttributePropertyImpl.java @@ -50,4 +50,10 @@ public usdCompositionArc getCompositionArc() { return findChildByClass(usdCompositionArc.class); } + @Override + @Nullable + public usdListEditAction getListEditAction() { + return findChildByClass(usdListEditAction.class); + } + } diff --git a/src/main/gen/com/justint/usdidea/lang/psi/impl/usdPropertySpecImpl.java b/src/main/gen/com/justint/usdidea/lang/psi/impl/usdPropertySpecImpl.java index 0d80aa4..ec34f3d 100644 --- a/src/main/gen/com/justint/usdidea/lang/psi/impl/usdPropertySpecImpl.java +++ b/src/main/gen/com/justint/usdidea/lang/psi/impl/usdPropertySpecImpl.java @@ -32,6 +32,12 @@ public usdAttributeProperty getAttributeProperty() { return findChildByClass(usdAttributeProperty.class); } + @Override + @Nullable + public usdMetadata getMetadata() { + return findChildByClass(usdMetadata.class); + } + @Override @Nullable public usdRelationshipProperty getRelationshipProperty() { diff --git a/src/main/gen/com/justint/usdidea/lang/psi/impl/usdTimeSampleImpl.java b/src/main/gen/com/justint/usdidea/lang/psi/impl/usdTimeSampleImpl.java index 81b6081..0045661 100644 --- a/src/main/gen/com/justint/usdidea/lang/psi/impl/usdTimeSampleImpl.java +++ b/src/main/gen/com/justint/usdidea/lang/psi/impl/usdTimeSampleImpl.java @@ -28,14 +28,14 @@ public void accept(@NotNull PsiElementVisitor visitor) { @Override @NotNull - public List getArrayList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, usdArray.class); + public List getFrameNumberList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, usdFrameNumber.class); } @Override @NotNull - public List getFrameNumberList() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, usdFrameNumber.class); + public List getItemList() { + return PsiTreeUtil.getChildrenOfTypeAsList(this, usdItem.class); } } diff --git a/src/main/gen/com/justint/usdidea/lang/psi/usdAttributeProperty.java b/src/main/gen/com/justint/usdidea/lang/psi/usdAttributeProperty.java index c45fd20..b17b061 100644 --- a/src/main/gen/com/justint/usdidea/lang/psi/usdAttributeProperty.java +++ b/src/main/gen/com/justint/usdidea/lang/psi/usdAttributeProperty.java @@ -19,4 +19,7 @@ public interface usdAttributeProperty extends PsiElement { @Nullable usdCompositionArc getCompositionArc(); + @Nullable + usdListEditAction getListEditAction(); + } diff --git a/src/main/gen/com/justint/usdidea/lang/psi/usdPropertySpec.java b/src/main/gen/com/justint/usdidea/lang/psi/usdPropertySpec.java index a8e7f12..a01e427 100644 --- a/src/main/gen/com/justint/usdidea/lang/psi/usdPropertySpec.java +++ b/src/main/gen/com/justint/usdidea/lang/psi/usdPropertySpec.java @@ -10,6 +10,9 @@ public interface usdPropertySpec extends PsiElement { @Nullable usdAttributeProperty getAttributeProperty(); + @Nullable + usdMetadata getMetadata(); + @Nullable usdRelationshipProperty getRelationshipProperty(); diff --git a/src/main/gen/com/justint/usdidea/lang/psi/usdTimeSample.java b/src/main/gen/com/justint/usdidea/lang/psi/usdTimeSample.java index 600473d..5ccdcb7 100644 --- a/src/main/gen/com/justint/usdidea/lang/psi/usdTimeSample.java +++ b/src/main/gen/com/justint/usdidea/lang/psi/usdTimeSample.java @@ -8,9 +8,9 @@ public interface usdTimeSample extends PsiElement { @NotNull - List getArrayList(); + List getFrameNumberList(); @NotNull - List getFrameNumberList(); + List getItemList(); } diff --git a/src/main/java/com/justint/usdidea/codeinsight/highlighting/USDColorSettingsPage.java b/src/main/java/com/justint/usdidea/codeinsight/highlighting/USDColorSettingsPage.java index aa076ec..d933400 100644 --- a/src/main/java/com/justint/usdidea/codeinsight/highlighting/USDColorSettingsPage.java +++ b/src/main/java/com/justint/usdidea/codeinsight/highlighting/USDColorSettingsPage.java @@ -14,10 +14,18 @@ public class USDColorSettingsPage implements ColorSettingsPage { private static final AttributesDescriptor[] DESCRIPTORS = new AttributesDescriptor[] { - new AttributesDescriptor("Number", USDSyntaxHighlighter.NUMBER), + new AttributesDescriptor("USD Declaration", USDSyntaxHighlighter.USDDECLARATION), + new AttributesDescriptor("Bracket", USDSyntaxHighlighter.BRACKET), + new AttributesDescriptor("Keyword", USDSyntaxHighlighter.KEYWORD), new AttributesDescriptor("String", USDSyntaxHighlighter.STRING), - new AttributesDescriptor("Comment", USDSyntaxHighlighter.COMMENT), - new AttributesDescriptor("USD Declaration", USDSyntaxHighlighter.USDDECLARATION) + new AttributesDescriptor("Number", USDSyntaxHighlighter.NUMBER), + new AttributesDescriptor("Line Comment", USDSyntaxHighlighter.LINE_COMMENT), + new AttributesDescriptor("Block Comment", USDSyntaxHighlighter.BLOCK_COMMENT), + new AttributesDescriptor("Identifier", USDSyntaxHighlighter.IDENTIFIER), + new AttributesDescriptor("Prim Name", USDSyntaxHighlighter.PRIM_NAME), + new AttributesDescriptor("Asset Reference", USDSyntaxHighlighter.ASSET_REFERENCE), + new AttributesDescriptor("Path Reference", USDSyntaxHighlighter.PATH_REFERENCE), + new AttributesDescriptor("Type", USDSyntaxHighlighter.TYPE) }; @Nullable diff --git a/src/main/java/com/justint/usdidea/codeinsight/highlighting/USDSyntaxHighlighter.java b/src/main/java/com/justint/usdidea/codeinsight/highlighting/USDSyntaxHighlighter.java index 5477b11..0a179fa 100644 --- a/src/main/java/com/justint/usdidea/codeinsight/highlighting/USDSyntaxHighlighter.java +++ b/src/main/java/com/justint/usdidea/codeinsight/highlighting/USDSyntaxHighlighter.java @@ -20,12 +20,28 @@ public class USDSyntaxHighlighter extends SyntaxHighlighterBase { // TextAttributesKey instances public static final TextAttributesKey USDDECLARATION = createTextAttributesKey("USDDECLARATION", DefaultLanguageHighlighterColors.CONSTANT); + public static final TextAttributesKey BRACKET = + createTextAttributesKey("BRACKET", DefaultLanguageHighlighterColors.BRACKETS); + public static final TextAttributesKey KEYWORD = + createTextAttributesKey("KEYWORD", DefaultLanguageHighlighterColors.KEYWORD); public static final TextAttributesKey STRING = createTextAttributesKey("STRING", DefaultLanguageHighlighterColors.STRING); public static final TextAttributesKey NUMBER = createTextAttributesKey("NUMBER", DefaultLanguageHighlighterColors.NUMBER); - public static final TextAttributesKey COMMENT = - createTextAttributesKey("COMMENT", DefaultLanguageHighlighterColors.LINE_COMMENT); + public static final TextAttributesKey LINE_COMMENT = + createTextAttributesKey("LINE_COMMENT", DefaultLanguageHighlighterColors.LINE_COMMENT); + public static final TextAttributesKey BLOCK_COMMENT = + createTextAttributesKey("BLOCK_COMMENT", DefaultLanguageHighlighterColors.BLOCK_COMMENT); + public static final TextAttributesKey IDENTIFIER = + createTextAttributesKey("IDENTIFIER", DefaultLanguageHighlighterColors.IDENTIFIER); + public static final TextAttributesKey PRIM_NAME = + createTextAttributesKey("PRIM_NAME", DefaultLanguageHighlighterColors.FUNCTION_DECLARATION); + public static final TextAttributesKey ASSET_REFERENCE = + createTextAttributesKey("ASSET_REFERENCE", USDHighlighterColors.ASSETREFERENCE_KEY); + public static final TextAttributesKey PATH_REFERENCE = + createTextAttributesKey("PATH_REFERENCE", USDHighlighterColors.PATHREFERENCE_KEY); + public static final TextAttributesKey TYPE = + createTextAttributesKey("TYPE", DefaultLanguageHighlighterColors.INSTANCE_FIELD); private static final Map ATTRIBUTES = ContainerUtil.newHashMap(); diff --git a/src/main/java/com/justint/usdidea/lang/USD.bnf b/src/main/java/com/justint/usdidea/lang/USD.bnf index 867ae9e..bb40253 100644 --- a/src/main/java/com/justint/usdidea/lang/USD.bnf +++ b/src/main/java/com/justint/usdidea/lang/USD.bnf @@ -22,6 +22,7 @@ // keywords add = "add" append = "append" + assetInfo = "assetInfo" attributes = "attributes" class = "class" config = "config" @@ -71,7 +72,7 @@ interpolation = "interpolation" // Includes the three-quotation docstrings - string = "regexp:\"\"\"[^\"]*\"\"\"|\"[^\"]*\"|'[^']*'" + string = "regexp:\"\"\"[^(\"\"\")]*\"\"\"|\"[^\"]*\"|'[^']*'" number = "regexp:(\+|\-)?\p{Digit}+" floatnumber = "regexp:(\+|\-)?\p{Digit}*\.(\p{Digit}+)?([eE][+\-]\p{Digit}+)?" alpha = "regexp:\w+" @@ -171,7 +172,7 @@ usdFile ::= usdDeclaration Metadata? PrimSpec* -CompositionArc ::= subLayers | inherits | variantSets | references | payload | specializes +CompositionArc ::= subLayers | inherits | variantSets | references | payload | specializes | nameChildren Identifier ::= alpha (alpha | number)* @@ -190,9 +191,9 @@ PrimName ::= string Body ::= leftbrace [!rightbrace (PropertySpec | PrimSpec)* ] rightbrace -PropertySpec ::= AttributeProperty | RelationshipProperty +PropertySpec ::= (AttributeProperty | RelationshipProperty) Metadata? -AttributeProperty ::= (uniform | custom)? (AttributeType AttributeName | CompositionArc) (equals AttributeValue)? +AttributeProperty ::= [uniform | custom] (ListEditAction? rel AttributeName | AttributeType AttributeName | ListEditAction? CompositionArc) [equals AttributeValue] // TODO: decouple variantSet from RelationshipProperty, actually implement RelationshipProperty RelationshipProperty ::= variantSet string (equals VariantSetBody)? @@ -204,7 +205,7 @@ VariantSetKey ::= string VariantSetItemBody ::= Metadata? (leftbrace [!rightbrace PrimSpec (PrimSpec)*] rightbrace | leftbrace rightbrace) -AttributeType ::= ArrayAttributeType | SingleAttributeType | rel +AttributeType ::= ArrayAttributeType | SingleAttributeType SingleAttributeType ::= BasicDataType | RoleDataType | dictionary @@ -214,19 +215,19 @@ BasicDataType ::= booltype | uchartype | inttype | uinttype | int64type | uint64 RoleDataType ::= point3dtype | point3ftype | point3htype | normal3dtype | normal3ftype | normal3htype | vector3dtype | vector3ftype | vector3htype | color3dtype | color3ftype | color3htype | color4dtype | color4ftype | color4htype | frame4dtype | texCoord2htype | texCoord2dtype | texCoord2ftype | texCoord3htype | texCoord3dtype | texCoord3ftype | Transformtype | PointIndextype | EdgeIndextype | FaceIndextype -AttributeName ::= (NamespacedIdentifier | Identifier) (period Identifier)* +AttributeName ::= (NamespacedIdentifier | Identifier) (period (connect | Identifier))* AttributeValue ::= Item Metadata ::= leftparens (!rightparens ( MetadataComment | [ListEditAction? MetadataKey equals MetadataValue]) )* rightparens -ListEditAction ::= add | append | prepend | delete +ListEditAction ::= add | append | prepend | delete | reorder MetadataKey ::= Identifier | CompositionArc | SpecialMetadataKey -SpecialMetadataKey ::= doc | variantSet | kind | variants | customData +SpecialMetadataKey ::= doc | variantSet | kind | variants | customData | assetInfo MetadataValue ::= Item @@ -249,7 +250,7 @@ DictKey ::= AttributeType Identifier DictValue ::= Item -TimeSample ::= leftbrace [!rightbrace FrameNumber colon Array (comma FrameNumber colon Array)* comma?] rightbrace | leftbrace rightbrace +TimeSample ::= leftbrace [!rightbrace FrameNumber colon Item (comma FrameNumber colon Item)* comma?] rightbrace | leftbrace rightbrace FrameNumber ::= number diff --git a/src/main/java/com/justint/usdidea/lang/lexer/USDHighlighterLexer.flex b/src/main/java/com/justint/usdidea/lang/lexer/USDHighlighterLexer.flex index dce9196..072ad41 100644 --- a/src/main/java/com/justint/usdidea/lang/lexer/USDHighlighterLexer.flex +++ b/src/main/java/com/justint/usdidea/lang/lexer/USDHighlighterLexer.flex @@ -71,6 +71,7 @@ PATHREFERENCE=\<[^\<\>\r\n]*\> {EOL}|{WHITE_SPACE} { return WHITE_SPACE; } "add" { return ADD; } "append" { return APPEND; } + "assetInfo" { return ASSETINFO; } "attributes" { return ATTRIBUTES; } "config" { return CONFIG; } "connect" { return CONNECT; } diff --git a/src/main/java/com/justint/usdidea/lang/lexer/USDLexer.flex b/src/main/java/com/justint/usdidea/lang/lexer/USDLexer.flex index c857205..f39f070 100644 --- a/src/main/java/com/justint/usdidea/lang/lexer/USDLexer.flex +++ b/src/main/java/com/justint/usdidea/lang/lexer/USDLexer.flex @@ -48,6 +48,7 @@ PATHREFERENCE=\<[^\<\>\r\n]*\> "add" { return ADD; } "append" { return APPEND; } + "assetInfo" { return ASSETINFO; } "attributes" { return ATTRIBUTES; } "class" { return CLASS; } "config" { return CONFIG; } diff --git a/src/main/java/com/justint/usdidea/lang/lexer/_USDLexer.flex b/src/main/java/com/justint/usdidea/lang/lexer/_USDLexer.flex index fefbfd2..39ae375 100644 --- a/src/main/java/com/justint/usdidea/lang/lexer/_USDLexer.flex +++ b/src/main/java/com/justint/usdidea/lang/lexer/_USDLexer.flex @@ -41,6 +41,7 @@ PATHREFERENCE=\<[^\<\>\r\n]*\> "add" { return ADD; } "append" { return APPEND; } + "assetInfo" { return ASSETINFO; } "attributes" { return ATTRIBUTES; } "class" { return CLASS; } "config" { return CONFIG; } diff --git a/src/main/resources/META-INF/change-notes.html b/src/main/resources/META-INF/change-notes.html index 9768d1f..bb3739a 100644 --- a/src/main/resources/META-INF/change-notes.html +++ b/src/main/resources/META-INF/change-notes.html @@ -1,21 +1,17 @@ -Version 0.2.2: +Version 0.2.3:
    -
  • Updated syntax highlighting color scheme, with added support for types
  • -
  • Grammar updates for customData, booleans, and dictionaries
  • -
-Version 0.2: -
    -
  • Added brace matching and block folding features
  • -
  • Improved syntax highlighting (Prim names, special metadata keywords)
  • -
  • Set a wider release version support for IDE versions 2016-2019 (builds 145-191.*)
  • -
-Version 0.1: -
    -
  • Basic syntax highlighting
  • -
  • Initial parser
  • +
  • Bugfixes for issue #1 (Error displayed on .connect token)
  • +
  • Grammar updates: +
      +
    • Added 'reorder' list edit action
    • +
    • Added assetInfo token
    • +
    • Support more than numeric timeSampled types
    • +
    +
  • +
  • New build for newer 2019.* version of IDEA IDEs
\ No newline at end of file diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index fe0ea5d..456f9c3 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -26,7 +26,7 @@ com.intellij.modules.python - +