@opentui/qrcode 0.0.0-20260528-8a59fd68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +33 -0
- package/chunk-p6dynys3.js +8805 -0
- package/chunk-p6dynys3.js.map +14 -0
- package/index.d.ts +2 -0
- package/index.js +22 -0
- package/index.js.map +9 -0
- package/lib/qrcode.d.ts +183 -0
- package/lib/qrcode.encoding.d.ts +12 -0
- package/lib/qrcode.render.d.ts +19 -0
- package/lib/qrcode.shift-jis.d.ts +1 -0
- package/package.json +55 -0
- package/react.d.ts +8 -0
- package/react.js +29 -0
- package/react.js.map +10 -0
- package/renderables/QRCode.d.ts +99 -0
- package/solid.d.ts +8 -0
- package/solid.js +29 -0
- package/solid.js.map +10 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/lib/qrcode.shift-jis.ts", "../src/lib/qrcode.encoding.ts", "../src/lib/qrcode.render.ts", "../src/lib/qrcode.ts", "../src/renderables/QRCode.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"// Generated Shift JIS lookup table used by QR Kanji and Shift-JIS byte encoding.\nexport const SHIFT_JIS_CODE_BY_CHAR: Record<string, number> = {\n \"¢\": 33169,\n \"£\": 33170,\n \"¥\": 92,\n \"§\": 33176,\n \"¨\": 33102,\n \"¬\": 33226,\n \"°\": 33163,\n \"±\": 33149,\n \"´\": 33100,\n \"¶\": 33271,\n \"×\": 33150,\n \"÷\": 33152,\n Α: 33695,\n Β: 33696,\n Γ: 33697,\n Δ: 33698,\n Ε: 33699,\n Ζ: 33700,\n Η: 33701,\n Θ: 33702,\n Ι: 33703,\n Κ: 33704,\n Λ: 33705,\n Μ: 33706,\n Ν: 33707,\n Ξ: 33708,\n Ο: 33709,\n Π: 33710,\n Ρ: 33711,\n Σ: 33712,\n Τ: 33713,\n Υ: 33714,\n Φ: 33715,\n Χ: 33716,\n Ψ: 33717,\n Ω: 33718,\n α: 33727,\n β: 33728,\n γ: 33729,\n δ: 33730,\n ε: 33731,\n ζ: 33732,\n η: 33733,\n θ: 33734,\n ι: 33735,\n κ: 33736,\n λ: 33737,\n μ: 33738,\n ν: 33739,\n ξ: 33740,\n ο: 33741,\n π: 33742,\n ρ: 33743,\n σ: 33744,\n τ: 33745,\n υ: 33746,\n φ: 33747,\n χ: 33748,\n ψ: 33749,\n ω: 33750,\n Ё: 33862,\n А: 33856,\n Б: 33857,\n В: 33858,\n Г: 33859,\n Д: 33860,\n Е: 33861,\n Ж: 33863,\n З: 33864,\n И: 33865,\n Й: 33866,\n К: 33867,\n Л: 33868,\n М: 33869,\n Н: 33870,\n О: 33871,\n П: 33872,\n Р: 33873,\n С: 33874,\n Т: 33875,\n У: 33876,\n Ф: 33877,\n Х: 33878,\n Ц: 33879,\n Ч: 33880,\n Ш: 33881,\n Щ: 33882,\n Ъ: 33883,\n Ы: 33884,\n Ь: 33885,\n Э: 33886,\n Ю: 33887,\n Я: 33888,\n а: 33904,\n б: 33905,\n в: 33906,\n г: 33907,\n д: 33908,\n е: 33909,\n ж: 33911,\n з: 33912,\n и: 33913,\n й: 33914,\n к: 33915,\n л: 33916,\n м: 33917,\n н: 33918,\n о: 33920,\n п: 33921,\n р: 33922,\n с: 33923,\n т: 33924,\n у: 33925,\n ф: 33926,\n х: 33927,\n ц: 33928,\n ч: 33929,\n ш: 33930,\n щ: 33931,\n ъ: 33932,\n ы: 33933,\n ь: 33934,\n э: 33935,\n ю: 33936,\n я: 33937,\n ё: 33910,\n \"‐\": 33117,\n \"―\": 33116,\n \"‖\": 33121,\n \"‘\": 33125,\n \"’\": 33126,\n \"“\": 33127,\n \"”\": 33128,\n \"†\": 33269,\n \"‡\": 33270,\n \"‥\": 33124,\n \"…\": 33123,\n \"‰\": 33265,\n \"′\": 33164,\n \"″\": 33165,\n \"※\": 33190,\n \"‾\": 126,\n \"℃\": 33166,\n Å: 33264,\n \"←\": 33193,\n \"↑\": 33194,\n \"→\": 33192,\n \"↓\": 33195,\n \"⇒\": 33227,\n \"⇔\": 33228,\n \"∀\": 33229,\n \"∂\": 33245,\n \"∃\": 33230,\n \"∇\": 33246,\n \"∈\": 33208,\n \"∋\": 33209,\n \"−\": 33148,\n \"√\": 33251,\n \"∝\": 33253,\n \"∞\": 33159,\n \"∠\": 33242,\n \"∧\": 33224,\n \"∨\": 33225,\n \"∩\": 33215,\n \"∪\": 33214,\n \"∫\": 33255,\n \"∬\": 33256,\n \"∴\": 33160,\n \"∵\": 33254,\n \"∽\": 33252,\n \"≒\": 33248,\n \"≠\": 33154,\n \"≡\": 33247,\n \"≦\": 33157,\n \"≧\": 33158,\n \"≪\": 33249,\n \"≫\": 33250,\n \"⊂\": 33212,\n \"⊃\": 33213,\n \"⊆\": 33210,\n \"⊇\": 33211,\n \"⊥\": 33243,\n \"⌒\": 33244,\n \"─\": 33951,\n \"━\": 33962,\n \"│\": 33952,\n \"┃\": 33963,\n \"┌\": 33953,\n \"┏\": 33964,\n \"┐\": 33954,\n \"┓\": 33965,\n \"└\": 33956,\n \"┗\": 33967,\n \"┘\": 33955,\n \"┛\": 33966,\n \"├\": 33957,\n \"┝\": 33978,\n \"┠\": 33973,\n \"┣\": 33968,\n \"┤\": 33959,\n \"┥\": 33980,\n \"┨\": 33975,\n \"┫\": 33970,\n \"┬\": 33958,\n \"┯\": 33974,\n \"┰\": 33979,\n \"┳\": 33969,\n \"┴\": 33960,\n \"┷\": 33976,\n \"┸\": 33981,\n \"┻\": 33971,\n \"┼\": 33961,\n \"┿\": 33977,\n \"╂\": 33982,\n \"╋\": 33972,\n \"■\": 33185,\n \"□\": 33184,\n \"▲\": 33187,\n \"△\": 33186,\n \"▼\": 33189,\n \"▽\": 33188,\n \"◆\": 33183,\n \"◇\": 33182,\n \"○\": 33179,\n \"◎\": 33181,\n \"●\": 33180,\n \"◯\": 33276,\n \"★\": 33178,\n \"☆\": 33177,\n \"♀\": 33162,\n \"♂\": 33161,\n \"♪\": 33268,\n \"♭\": 33267,\n \"♯\": 33266,\n \" \": 33088,\n \"、\": 33089,\n \"。\": 33090,\n \"〃\": 33110,\n 々: 33112,\n 〆: 33113,\n 〇: 33114,\n \"〈\": 33137,\n \"〉\": 33138,\n \"《\": 33139,\n \"》\": 33140,\n \"「\": 33141,\n \"」\": 33142,\n \"『\": 33143,\n \"』\": 33144,\n \"【\": 33145,\n \"】\": 33146,\n \"〒\": 33191,\n \"〓\": 33196,\n \"〔\": 33131,\n \"〕\": 33132,\n \"〜\": 33120,\n ぁ: 33439,\n あ: 33440,\n ぃ: 33441,\n い: 33442,\n ぅ: 33443,\n う: 33444,\n ぇ: 33445,\n え: 33446,\n ぉ: 33447,\n お: 33448,\n か: 33449,\n が: 33450,\n き: 33451,\n ぎ: 33452,\n く: 33453,\n ぐ: 33454,\n け: 33455,\n げ: 33456,\n こ: 33457,\n ご: 33458,\n さ: 33459,\n ざ: 33460,\n し: 33461,\n じ: 33462,\n す: 33463,\n ず: 33464,\n せ: 33465,\n ぜ: 33466,\n そ: 33467,\n ぞ: 33468,\n た: 33469,\n だ: 33470,\n ち: 33471,\n ぢ: 33472,\n っ: 33473,\n つ: 33474,\n づ: 33475,\n て: 33476,\n で: 33477,\n と: 33478,\n ど: 33479,\n な: 33480,\n に: 33481,\n ぬ: 33482,\n ね: 33483,\n の: 33484,\n は: 33485,\n ば: 33486,\n ぱ: 33487,\n ひ: 33488,\n び: 33489,\n ぴ: 33490,\n ふ: 33491,\n ぶ: 33492,\n ぷ: 33493,\n へ: 33494,\n べ: 33495,\n ぺ: 33496,\n ほ: 33497,\n ぼ: 33498,\n ぽ: 33499,\n ま: 33500,\n み: 33501,\n む: 33502,\n め: 33503,\n も: 33504,\n ゃ: 33505,\n や: 33506,\n ゅ: 33507,\n ゆ: 33508,\n ょ: 33509,\n よ: 33510,\n ら: 33511,\n り: 33512,\n る: 33513,\n れ: 33514,\n ろ: 33515,\n ゎ: 33516,\n わ: 33517,\n ゐ: 33518,\n ゑ: 33519,\n を: 33520,\n ん: 33521,\n ゛: 33098,\n ゜: 33099,\n ゝ: 33108,\n ゞ: 33109,\n ァ: 33600,\n ア: 33601,\n ィ: 33602,\n イ: 33603,\n ゥ: 33604,\n ウ: 33605,\n ェ: 33606,\n エ: 33607,\n ォ: 33608,\n オ: 33609,\n カ: 33610,\n ガ: 33611,\n キ: 33612,\n ギ: 33613,\n ク: 33614,\n グ: 33615,\n ケ: 33616,\n ゲ: 33617,\n コ: 33618,\n ゴ: 33619,\n サ: 33620,\n ザ: 33621,\n シ: 33622,\n ジ: 33623,\n ス: 33624,\n ズ: 33625,\n セ: 33626,\n ゼ: 33627,\n ソ: 33628,\n ゾ: 33629,\n タ: 33630,\n ダ: 33631,\n チ: 33632,\n ヂ: 33633,\n ッ: 33634,\n ツ: 33635,\n ヅ: 33636,\n テ: 33637,\n デ: 33638,\n ト: 33639,\n ド: 33640,\n ナ: 33641,\n ニ: 33642,\n ヌ: 33643,\n ネ: 33644,\n ノ: 33645,\n ハ: 33646,\n バ: 33647,\n パ: 33648,\n ヒ: 33649,\n ビ: 33650,\n ピ: 33651,\n フ: 33652,\n ブ: 33653,\n プ: 33654,\n ヘ: 33655,\n ベ: 33656,\n ペ: 33657,\n ホ: 33658,\n ボ: 33659,\n ポ: 33660,\n マ: 33661,\n ミ: 33662,\n ム: 33664,\n メ: 33665,\n モ: 33666,\n ャ: 33667,\n ヤ: 33668,\n ュ: 33669,\n ユ: 33670,\n ョ: 33671,\n ヨ: 33672,\n ラ: 33673,\n リ: 33674,\n ル: 33675,\n レ: 33676,\n ロ: 33677,\n ヮ: 33678,\n ワ: 33679,\n ヰ: 33680,\n ヱ: 33681,\n ヲ: 33682,\n ン: 33683,\n ヴ: 33684,\n ヵ: 33685,\n ヶ: 33686,\n \"・\": 33093,\n ー: 33115,\n ヽ: 33106,\n ヾ: 33107,\n 一: 35050,\n 丁: 37530,\n 七: 36533,\n 万: 38556,\n 丈: 36836,\n 三: 36431,\n 上: 36835,\n 下: 35258,\n 不: 38259,\n 与: 38750,\n 丐: 39072,\n 丑: 35150,\n 且: 35470,\n 丕: 39073,\n 世: 37026,\n 丗: 39360,\n 丘: 35701,\n 丙: 38328,\n 丞: 36837,\n 両: 38844,\n 並: 38336,\n 个: 39074,\n 中: 37510,\n 丱: 39075,\n 串: 35832,\n 丶: 39076,\n 丸: 35547,\n 丹: 37455,\n 主: 36581,\n 丼: 39077,\n 丿: 39078,\n 乂: 39079,\n 乃: 37972,\n 久: 35702,\n 之: 37974,\n 乍: 37857,\n 乎: 36033,\n 乏: 38482,\n 乕: 58728,\n 乖: 39080,\n 乗: 36838,\n 乘: 39081,\n 乙: 35251,\n 九: 35811,\n 乞: 36078,\n 也: 38631,\n 乢: 39844,\n 乱: 38800,\n 乳: 37883,\n 乾: 35491,\n 亀: 35668,\n 亂: 39082,\n 亅: 39083,\n 了: 38841,\n 予: 38748,\n 争: 37256,\n 亊: 39085,\n 事: 36502,\n 二: 37873,\n 于: 39088,\n 云: 35165,\n 互: 36061,\n 五: 36060,\n 井: 35044,\n 亘: 39018,\n 亙: 39017,\n 些: 36273,\n 亜: 34975,\n 亞: 39089,\n 亟: 39090,\n 亠: 39091,\n 亡: 38483,\n 亢: 39092,\n 交: 36080,\n 亥: 35045,\n 亦: 38546,\n 亨: 35740,\n 享: 35741,\n 京: 35742,\n 亭: 37600,\n 亮: 38842,\n 亰: 39093,\n 亳: 39094,\n 亶: 39095,\n 人: 36972,\n 什: 36697,\n 仁: 36973,\n 仂: 39100,\n 仄: 39098,\n 仆: 39099,\n 仇: 35703,\n 今: 36257,\n 介: 35310,\n 仍: 39097,\n 从: 39096,\n 仏: 38311,\n 仔: 36453,\n 仕: 36452,\n 他: 37308,\n 仗: 39101,\n 付: 38260,\n 仙: 37093,\n 仝: 33111,\n 仞: 39102,\n 仟: 39104,\n 代: 37347,\n 令: 38879,\n 以: 35016,\n 仭: 39103,\n 仮: 35260,\n 仰: 35778,\n 仲: 37511,\n 件: 35983,\n 价: 39105,\n 任: 37955,\n 企: 35561,\n 伉: 39106,\n 伊: 35017,\n 伍: 36062,\n 伎: 35562,\n 伏: 38298,\n 伐: 38064,\n 休: 35704,\n 会: 35311,\n 伜: 39141,\n 伝: 37728,\n 伯: 38028,\n 估: 39108,\n 伴: 38074,\n 伶: 38880,\n 伸: 36940,\n 伺: 36454,\n 似: 36503,\n 伽: 35262,\n 佃: 37583,\n 但: 37441,\n 佇: 39112,\n 位: 35018,\n 低: 37601,\n 住: 36698,\n 佐: 36274,\n 佑: 38723,\n 体: 37324,\n 何: 35261,\n 佗: 39111,\n 余: 38749,\n 佚: 39107,\n 佛: 39109,\n 作: 36332,\n 佝: 39110,\n 佞: 39747,\n 佩: 39118,\n 佯: 39121,\n 佰: 39119,\n 佳: 35264,\n 併: 38329,\n 佶: 39113,\n 佻: 39117,\n 佼: 36081,\n 使: 36455,\n 侃: 35492,\n 來: 39122,\n 侈: 39114,\n 例: 38881,\n 侍: 36504,\n 侏: 39115,\n 侑: 39120,\n 侖: 39123,\n 侘: 39116,\n 供: 35743,\n 依: 35019,\n 侠: 35744,\n 価: 35263,\n 侫: 39748,\n 侭: 38553,\n 侮: 38286,\n 侯: 36082,\n 侵: 36942,\n 侶: 38837,\n 便: 38358,\n 係: 35927,\n 促: 37283,\n 俄: 35298,\n 俊: 36722,\n 俎: 39127,\n 俐: 39132,\n 俑: 39130,\n 俔: 39125,\n 俗: 37293,\n 俘: 39128,\n 俚: 39131,\n 俛: 39129,\n 保: 38363,\n 俟: 39126,\n 信: 36941,\n 俣: 38547,\n 俤: 39133,\n 俥: 39134,\n 修: 36675,\n 俯: 39147,\n 俳: 37999,\n 俵: 38229,\n 俶: 39142,\n 俸: 38382,\n 俺: 35252,\n 俾: 39146,\n 倅: 39140,\n 倆: 39149,\n 倉: 37233,\n 個: 36034,\n 倍: 38011,\n 倏: 57541,\n 們: 39148,\n 倒: 37756,\n 倔: 39137,\n 倖: 36084,\n 候: 36083,\n 倚: 39135,\n 借: 36568,\n 倡: 39143,\n 倣: 38381,\n 値: 37484,\n 倥: 39139,\n 倦: 35985,\n 倨: 39136,\n 倩: 39144,\n 倪: 39138,\n 倫: 38863,\n 倬: 39145,\n 倭: 39008,\n 倶: 35812,\n 倹: 35984,\n 偃: 39150,\n 假: 39151,\n 偈: 39155,\n 偉: 35020,\n 偏: 38350,\n 偐: 39154,\n 偕: 39153,\n 偖: 39157,\n 做: 39156,\n 停: 37602,\n 健: 35986,\n 偬: 39158,\n 偲: 36547,\n 側: 37284,\n 偵: 37603,\n 偶: 35828,\n 偸: 39159,\n 偽: 35669,\n 傀: 39160,\n 傅: 39162,\n 傍: 38484,\n 傑: 35974,\n 傘: 36432,\n 備: 38133,\n 傚: 39161,\n 催: 36291,\n 傭: 38754,\n 傲: 39164,\n 傳: 39234,\n 傴: 39163,\n 債: 36290,\n 傷: 36765,\n 傾: 35928,\n 僂: 39235,\n 僅: 35789,\n 僉: 39232,\n 僊: 39233,\n 働: 37805,\n 像: 37276,\n 僑: 35745,\n 僕: 38508,\n 僖: 39236,\n 僚: 38843,\n 僞: 39237,\n 僣: 39240,\n 僥: 39238,\n 僧: 37229,\n 僭: 39239,\n 僮: 39241,\n 僵: 39243,\n 價: 39242,\n 僻: 38342,\n 儀: 35670,\n 儁: 39245,\n 儂: 39246,\n 億: 35245,\n 儉: 39244,\n 儒: 36594,\n 儔: 39249,\n 儕: 39248,\n 儖: 39247,\n 儘: 39124,\n 儚: 39250,\n 償: 36766,\n 儡: 39251,\n 優: 38724,\n 儲: 38615,\n 儷: 39253,\n 儺: 39252,\n 儻: 39255,\n 儼: 39254,\n 儿: 39256,\n 兀: 39257,\n 允: 35058,\n 元: 36019,\n 兄: 35930,\n 充: 36699,\n 兆: 37531,\n 兇: 35746,\n 先: 37094,\n 光: 36085,\n 克: 36238,\n 兌: 39259,\n 免: 38598,\n 兎: 37733,\n 児: 36505,\n 兒: 39258,\n 兔: 39260,\n 党: 37757,\n 兜: 35477,\n 兢: 39261,\n 入: 37884,\n 全: 37203,\n 兩: 39263,\n 兪: 39264,\n 八: 38058,\n 公: 36086,\n 六: 39002,\n 兮: 39265,\n 共: 35748,\n 兵: 38330,\n 其: 37300,\n 具: 35823,\n 典: 37716,\n 兼: 35987,\n 冀: 39266,\n 冂: 39267,\n 内: 37856,\n 円: 35198,\n 冉: 39270,\n 冊: 36347,\n 册: 39269,\n 再: 36292,\n 冏: 39271,\n 冐: 58348,\n 冑: 39272,\n 冒: 38496,\n 冓: 39273,\n 冕: 39274,\n 冖: 39275,\n 冗: 36839,\n 写: 36554,\n 冠: 35493,\n 冢: 39278,\n 冤: 39276,\n 冥: 38587,\n 冦: 39277,\n 冨: 38265,\n 冩: 39279,\n 冪: 39280,\n 冫: 39281,\n 冬: 37758,\n 冰: 39285,\n 冱: 39283,\n 冲: 39284,\n 决: 39282,\n 冴: 36321,\n 况: 39286,\n 冶: 38632,\n 冷: 38882,\n 冽: 39287,\n 凄: 37030,\n 凅: 39288,\n 准: 36729,\n 凉: 39289,\n 凋: 37532,\n 凌: 38845,\n 凍: 37760,\n 凖: 39363,\n 凛: 39290,\n 凜: 60067,\n 凝: 35779,\n 几: 39291,\n 凡: 38525,\n 処: 36744,\n 凧: 37370,\n 凩: 39293,\n 凪: 37858,\n 凭: 39294,\n 凰: 39296,\n 凱: 35405,\n 凵: 39297,\n 凶: 35749,\n 凸: 37834,\n 凹: 35226,\n 出: 36719,\n 函: 38047,\n 凾: 39298,\n 刀: 37761,\n 刃: 36974,\n 刄: 39299,\n 分: 38314,\n 切: 37080,\n 刈: 35488,\n 刊: 35495,\n 刋: 39300,\n 刎: 39302,\n 刑: 35929,\n 刔: 39301,\n 列: 38897,\n 初: 36745,\n 判: 38075,\n 別: 38346,\n 刧: 39303,\n 利: 38808,\n 刪: 39304,\n 刮: 39305,\n 到: 37790,\n 刳: 39306,\n 制: 37031,\n 刷: 36348,\n 券: 35988,\n 刹: 39307,\n 刺: 36456,\n 刻: 36239,\n 剃: 37604,\n 剄: 39309,\n 則: 37285,\n 削: 36333,\n 剋: 39310,\n 剌: 39311,\n 前: 37199,\n 剏: 39308,\n 剔: 39313,\n 剖: 38485,\n 剛: 36228,\n 剞: 39312,\n 剣: 35989,\n 剤: 36316,\n 剥: 38029,\n 剩: 39316,\n 剪: 39314,\n 副: 38299,\n 剰: 36840,\n 剱: 39323,\n 割: 35460,\n 剳: 39317,\n 剴: 39315,\n 創: 37230,\n 剽: 39319,\n 剿: 39318,\n 劃: 35427,\n 劇: 35968,\n 劈: 39324,\n 劉: 38827,\n 劍: 39320,\n 劑: 39325,\n 劒: 39322,\n 劔: 39321,\n 力: 38861,\n 功: 36087,\n 加: 35265,\n 劣: 38898,\n 助: 36757,\n 努: 37751,\n 劫: 36229,\n 劬: 39328,\n 劭: 39329,\n 励: 38883,\n 労: 38986,\n 劵: 39331,\n 効: 36088,\n 劼: 39330,\n 劾: 35406,\n 勁: 39332,\n 勃: 38517,\n 勅: 37562,\n 勇: 38725,\n 勉: 38359,\n 勍: 39333,\n 勒: 59603,\n 動: 37806,\n 勗: 39334,\n 勘: 35496,\n 務: 38577,\n 勝: 36767,\n 勞: 39335,\n 募: 38373,\n 勠: 39339,\n 勢: 37032,\n 勣: 39336,\n 勤: 35790,\n 勦: 39337,\n 勧: 35497,\n 勲: 35917,\n 勳: 39340,\n 勵: 39341,\n 勸: 39342,\n 勹: 39343,\n 勺: 36569,\n 勾: 36089,\n 勿: 38620,\n 匁: 38630,\n 匂: 37877,\n 包: 38383,\n 匆: 39344,\n 匈: 39345,\n 匍: 39347,\n 匏: 39349,\n 匐: 39348,\n 匕: 39350,\n 化: 35259,\n 北: 38507,\n 匙: 36346,\n 匚: 39351,\n 匝: 37240,\n 匠: 36768,\n 匡: 35751,\n 匣: 39352,\n 匪: 38105,\n 匯: 39353,\n 匱: 39354,\n 匳: 39355,\n 匸: 39356,\n 匹: 38211,\n 区: 35814,\n 医: 35043,\n 匿: 37821,\n 區: 39357,\n 十: 36700,\n 千: 37095,\n 卅: 39359,\n 卆: 39358,\n 升: 36769,\n 午: 36063,\n 卉: 39361,\n 半: 38076,\n 卍: 39362,\n 卑: 38106,\n 卒: 37298,\n 卓: 37356,\n 協: 35750,\n 南: 37868,\n 単: 37456,\n 博: 38030,\n 卜: 38509,\n 卞: 39364,\n 占: 37096,\n 卦: 35924,\n 卩: 39365,\n 卮: 39366,\n 卯: 35147,\n 印: 35059,\n 危: 35563,\n 即: 37286,\n 却: 35696,\n 卵: 38801,\n 卷: 39369,\n 卸: 35253,\n 卻: 39368,\n 卿: 35752,\n 厂: 39370,\n 厄: 38639,\n 厖: 39371,\n 厘: 38864,\n 厚: 36090,\n 原: 36020,\n 厠: 39372,\n 厥: 39374,\n 厦: 39373,\n 厨: 36990,\n 厩: 35160,\n 厭: 35197,\n 厮: 39375,\n 厰: 39376,\n 厳: 36021,\n 厶: 39377,\n 去: 35726,\n 参: 36433,\n 參: 39378,\n 又: 38548,\n 叉: 36275,\n 及: 35705,\n 友: 38726,\n 双: 37231,\n 反: 38077,\n 収: 36603,\n 叔: 36710,\n 取: 36582,\n 受: 36595,\n 叙: 36758,\n 叛: 38078,\n 叟: 39381,\n 叡: 35170,\n 叢: 37232,\n 口: 36091,\n 古: 36035,\n 句: 35813,\n 叨: 39385,\n 叩: 37440,\n 只: 37372,\n 叫: 35753,\n 召: 36770,\n 叭: 39386,\n 叮: 39384,\n 可: 35266,\n 台: 37348,\n 叱: 36534,\n 史: 36458,\n 右: 35141,\n 叶: 35472,\n 号: 36230,\n 司: 36457,\n 叺: 39387,\n 吁: 39388,\n 吃: 35688,\n 各: 35429,\n 合: 36231,\n 吉: 35687,\n 吊: 37597,\n 吋: 35140,\n 同: 37807,\n 名: 38588,\n 后: 36160,\n 吏: 38809,\n 吐: 37734,\n 向: 36092,\n 君: 35918,\n 吝: 39397,\n 吟: 35809,\n 吠: 38505,\n 否: 38107,\n 吩: 39396,\n 含: 35548,\n 听: 39391,\n 吭: 39392,\n 吮: 39394,\n 吶: 39395,\n 吸: 35706,\n 吹: 36993,\n 吻: 38315,\n 吼: 39393,\n 吽: 39389,\n 吾: 36065,\n 呀: 39390,\n 呂: 38979,\n 呆: 38384,\n 呈: 37606,\n 呉: 36064,\n 告: 36240,\n 呎: 39398,\n 呑: 37851,\n 呟: 39402,\n 周: 36604,\n 呪: 36596,\n 呰: 39405,\n 呱: 39403,\n 味: 38561,\n 呵: 39400,\n 呶: 39409,\n 呷: 39404,\n 呻: 39407,\n 呼: 36036,\n 命: 38589,\n 咀: 39408,\n 咄: 39410,\n 咆: 39412,\n 咋: 36334,\n 和: 39009,\n 咎: 39401,\n 咏: 39399,\n 咐: 39411,\n 咒: 39406,\n 咢: 39414,\n 咤: 39490,\n 咥: 39416,\n 咨: 39420,\n 咫: 39488,\n 咬: 39417,\n 咯: 39517,\n 咲: 36327,\n 咳: 35408,\n 咸: 39415,\n 咼: 39492,\n 咽: 35060,\n 咾: 39491,\n 哀: 34979,\n 品: 38249,\n 哂: 39489,\n 哄: 39418,\n 哇: 39413,\n 哈: 39419,\n 哉: 36294,\n 哘: 39493,\n 員: 35061,\n 哢: 39502,\n 哥: 39494,\n 哦: 39495,\n 哨: 36771,\n 哩: 38537,\n 哭: 39500,\n 哮: 39499,\n 哲: 37710,\n 哺: 39501,\n 哽: 39498,\n 唄: 35155,\n 唆: 36276,\n 唇: 36943,\n 唏: 39496,\n 唐: 37762,\n 唔: 39497,\n 唖: 34976,\n 售: 39507,\n 唯: 38722,\n 唱: 36773,\n 唳: 39513,\n 唸: 39512,\n 唹: 39503,\n 唾: 37313,\n 啀: 39504,\n 啄: 37357,\n 啅: 39509,\n 商: 36772,\n 啌: 39506,\n 問: 38626,\n 啓: 35931,\n 啖: 39510,\n 啗: 39511,\n 啜: 39508,\n 啝: 39514,\n 啣: 39505,\n 啻: 39520,\n 啼: 39525,\n 啾: 39521,\n 喀: 39516,\n 喃: 39526,\n 善: 37200,\n 喇: 39528,\n 喉: 36161,\n 喊: 39518,\n 喋: 37533,\n 喘: 39522,\n 喙: 39515,\n 喚: 35499,\n 喜: 35564,\n 喝: 35461,\n 喞: 39523,\n 喟: 39519,\n 喧: 35990,\n 喨: 39529,\n 喩: 39527,\n 喪: 37234,\n 喫: 35689,\n 喬: 35754,\n 單: 39524,\n 喰: 35826,\n 営: 35171,\n 嗄: 39533,\n 嗅: 39531,\n 嗇: 39589,\n 嗔: 39536,\n 嗚: 39530,\n 嗜: 39534,\n 嗟: 39532,\n 嗣: 36459,\n 嗤: 39535,\n 嗷: 39538,\n 嗹: 39543,\n 嗽: 39541,\n 嗾: 39540,\n 嘆: 37457,\n 嘉: 35267,\n 嘔: 39537,\n 嘖: 39539,\n 嘗: 36774,\n 嘘: 35154,\n 嘛: 39542,\n 嘩: 35292,\n 嘯: 39554,\n 嘱: 36858,\n 嘲: 39549,\n 嘴: 39547,\n 嘶: 39548,\n 嘸: 39550,\n 噂: 35164,\n 噌: 37208,\n 噎: 39544,\n 噐: 39545,\n 噛: 35482,\n 噤: 39553,\n 器: 35565,\n 噪: 39556,\n 噫: 39552,\n 噬: 39555,\n 噴: 38316,\n 噸: 37843,\n 噺: 38070,\n 嚀: 39558,\n 嚆: 39557,\n 嚇: 35428,\n 嚊: 39559,\n 嚏: 39562,\n 嚔: 39561,\n 嚠: 39560,\n 嚢: 37976,\n 嚥: 39563,\n 嚮: 39564,\n 嚴: 39566,\n 嚶: 39565,\n 嚼: 39568,\n 囀: 39571,\n 囁: 39569,\n 囂: 39567,\n 囃: 39570,\n 囈: 39572,\n 囎: 39573,\n 囑: 39574,\n 囓: 39575,\n 囗: 39576,\n 囘: 39268,\n 囚: 36602,\n 四: 36460,\n 回: 35313,\n 因: 35062,\n 団: 37475,\n 囮: 39577,\n 困: 36258,\n 囲: 35021,\n 図: 36989,\n 囹: 39578,\n 固: 36037,\n 国: 36241,\n 囿: 39580,\n 圀: 39579,\n 圃: 38366,\n 圄: 39581,\n 圈: 39583,\n 圉: 39582,\n 國: 39584,\n 圍: 39585,\n 圏: 35991,\n 園: 35200,\n 圓: 39586,\n 圖: 39588,\n 團: 39587,\n 圜: 39590,\n 土: 37753,\n 圦: 39591,\n 圧: 34995,\n 在: 36317,\n 圭: 35932,\n 地: 37486,\n 圷: 39592,\n 圸: 39593,\n 圻: 39595,\n 址: 39596,\n 坂: 36322,\n 均: 35791,\n 坊: 38486,\n 坎: 39594,\n 坏: 39597,\n 坐: 36287,\n 坑: 36162,\n 坡: 39601,\n 坤: 36259,\n 坦: 37458,\n 坩: 39598,\n 坪: 37592,\n 坿: 39602,\n 垂: 36994,\n 垈: 39600,\n 垉: 39603,\n 型: 35934,\n 垓: 39604,\n 垠: 39605,\n 垢: 36163,\n 垣: 35423,\n 垤: 39607,\n 垪: 39608,\n 垰: 39609,\n 垳: 39606,\n 埀: 39599,\n 埃: 39610,\n 埆: 39611,\n 埋: 38532,\n 城: 36841,\n 埒: 39613,\n 埓: 39614,\n 埔: 39612,\n 埖: 39616,\n 埜: 37975,\n 域: 35046,\n 埠: 38261,\n 埣: 39617,\n 埴: 36859,\n 執: 36535,\n 培: 38012,\n 基: 35566,\n 埼: 36329,\n 堀: 38520,\n 堂: 37808,\n 堅: 35992,\n 堆: 37325,\n 堊: 39615,\n 堋: 39618,\n 堕: 37314,\n 堙: 39619,\n 堝: 39620,\n 堡: 39622,\n 堤: 37607,\n 堪: 35500,\n 堯: 60063,\n 堰: 35201,\n 報: 38385,\n 場: 36842,\n 堵: 37735,\n 堺: 36324,\n 堽: 39628,\n 塀: 38331,\n 塁: 38875,\n 塊: 35314,\n 塋: 39624,\n 塑: 37209,\n 塒: 39627,\n 塔: 37763,\n 塗: 37736,\n 塘: 37764,\n 塙: 38071,\n 塚: 37579,\n 塞: 36295,\n 塢: 39623,\n 塩: 35222,\n 填: 37717,\n 塰: 39625,\n 塲: 39621,\n 塵: 36975,\n 塹: 39629,\n 塾: 36717,\n 境: 35755,\n 墅: 39630,\n 墓: 38374,\n 増: 37277,\n 墜: 37572,\n 墟: 39632,\n 墨: 38510,\n 墫: 39633,\n 墮: 39638,\n 墳: 38317,\n 墸: 39637,\n 墹: 39631,\n 墺: 39634,\n 墻: 39636,\n 墾: 36260,\n 壁: 38343,\n 壅: 39639,\n 壇: 37476,\n 壊: 35315,\n 壌: 36843,\n 壑: 39641,\n 壓: 39640,\n 壕: 36232,\n 壗: 39642,\n 壘: 39644,\n 壙: 39643,\n 壜: 39646,\n 壞: 39635,\n 壟: 39648,\n 壤: 39647,\n 壥: 39645,\n 士: 36461,\n 壬: 36976,\n 壮: 37235,\n 壯: 39649,\n 声: 37050,\n 壱: 35051,\n 売: 38020,\n 壷: 37593,\n 壹: 39651,\n 壺: 39650,\n 壻: 39652,\n 壼: 39653,\n 壽: 39654,\n 夂: 39655,\n 変: 38351,\n 夊: 39656,\n 夏: 35268,\n 夐: 39657,\n 夕: 38747,\n 外: 35407,\n 夘: 39367,\n 夙: 36711,\n 多: 37309,\n 夛: 39658,\n 夜: 38633,\n 夢: 38578,\n 夥: 39660,\n 大: 37349,\n 天: 37718,\n 太: 37310,\n 夫: 38262,\n 夬: 39661,\n 夭: 39662,\n 央: 35227,\n 失: 36536,\n 夲: 39663,\n 夷: 35022,\n 夸: 39664,\n 夾: 39665,\n 奄: 35202,\n 奇: 35567,\n 奈: 37854,\n 奉: 38386,\n 奎: 39669,\n 奏: 37236,\n 奐: 39668,\n 契: 35935,\n 奔: 38522,\n 奕: 39667,\n 套: 37765,\n 奘: 39671,\n 奚: 39670,\n 奠: 39673,\n 奢: 39672,\n 奥: 35228,\n 奧: 39674,\n 奨: 36775,\n 奩: 39676,\n 奪: 37444,\n 奬: 39675,\n 奮: 38321,\n 女: 36759,\n 奴: 37754,\n 奸: 39744,\n 好: 36164,\n 妁: 39745,\n 如: 37952,\n 妃: 38108,\n 妄: 38607,\n 妊: 37956,\n 妍: 39754,\n 妓: 35671,\n 妖: 38756,\n 妙: 38573,\n 妛: 39850,\n 妝: 39746,\n 妣: 39749,\n 妥: 37315,\n 妨: 38487,\n 妬: 37737,\n 妲: 39750,\n 妹: 38533,\n 妻: 36296,\n 妾: 36776,\n 姆: 39751,\n 姉: 36463,\n 始: 36462,\n 姐: 34999,\n 姑: 36038,\n 姓: 37033,\n 委: 35023,\n 姙: 39755,\n 姚: 39756,\n 姜: 39753,\n 姥: 35159,\n 姦: 35501,\n 姨: 39752,\n 姪: 38595,\n 姫: 38224,\n 姶: 34982,\n 姻: 35063,\n 姿: 36464,\n 威: 35024,\n 娃: 34977,\n 娉: 39761,\n 娑: 39759,\n 娘: 38586,\n 娚: 39762,\n 娜: 39760,\n 娟: 39758,\n 娠: 36944,\n 娥: 39757,\n 娩: 38360,\n 娯: 36066,\n 娵: 39766,\n 娶: 39767,\n 娼: 36777,\n 婀: 39763,\n 婁: 38987,\n 婆: 37995,\n 婉: 39765,\n 婚: 36261,\n 婢: 39768,\n 婦: 38263,\n 婪: 39769,\n 婬: 39764,\n 婿: 38585,\n 媒: 38013,\n 媚: 39770,\n 媛: 38225,\n 媼: 39771,\n 媽: 39775,\n 媾: 39772,\n 嫁: 35269,\n 嫂: 39774,\n 嫉: 36537,\n 嫋: 39773,\n 嫌: 35993,\n 嫐: 39787,\n 嫖: 39780,\n 嫗: 39777,\n 嫡: 37508,\n 嫣: 39776,\n 嫦: 39778,\n 嫩: 39779,\n 嫺: 39781,\n 嫻: 39782,\n 嬉: 35568,\n 嬋: 39784,\n 嬌: 39783,\n 嬖: 39785,\n 嬢: 36844,\n 嬪: 39788,\n 嬬: 37594,\n 嬰: 35172,\n 嬲: 39786,\n 嬶: 39789,\n 嬾: 39790,\n 孀: 39793,\n 孃: 39791,\n 孅: 39792,\n 子: 36465,\n 孑: 39794,\n 孔: 36165,\n 孕: 39795,\n 字: 36506,\n 存: 37302,\n 孚: 39796,\n 孛: 39797,\n 孜: 36473,\n 孝: 36166,\n 孟: 38608,\n 季: 35655,\n 孤: 36039,\n 孥: 39798,\n 学: 35447,\n 孩: 39799,\n 孫: 37303,\n 孰: 39800,\n 孱: 39841,\n 孳: 39801,\n 孵: 39802,\n 學: 39803,\n 孺: 39805,\n 宀: 39806,\n 它: 39808,\n 宅: 37358,\n 宇: 35142,\n 守: 36583,\n 安: 35008,\n 宋: 37238,\n 完: 35502,\n 宍: 36531,\n 宏: 36167,\n 宕: 37766,\n 宗: 36672,\n 官: 35503,\n 宙: 37512,\n 定: 37608,\n 宛: 34998,\n 宜: 35672,\n 宝: 38387,\n 実: 36544,\n 客: 35697,\n 宣: 37097,\n 室: 36538,\n 宥: 38727,\n 宦: 39809,\n 宮: 35707,\n 宰: 36297,\n 害: 35409,\n 宴: 35203,\n 宵: 36778,\n 家: 35270,\n 宸: 39810,\n 容: 38757,\n 宿: 36712,\n 寂: 36578,\n 寃: 39811,\n 寄: 35569,\n 寅: 37840,\n 密: 38567,\n 寇: 39812,\n 寉: 39813,\n 富: 38264,\n 寐: 39815,\n 寒: 35494,\n 寓: 35829,\n 寔: 39814,\n 寛: 35504,\n 寝: 36945,\n 寞: 39819,\n 察: 36416,\n 寡: 35271,\n 寢: 39818,\n 寤: 39816,\n 寥: 39820,\n 實: 39817,\n 寧: 37962,\n 寨: 40651,\n 審: 36946,\n 寫: 39821,\n 寮: 38846,\n 寰: 39822,\n 寳: 39824,\n 寵: 37534,\n 寶: 39823,\n 寸: 37025,\n 寺: 36507,\n 対: 37326,\n 寿: 36597,\n 封: 38293,\n 専: 37098,\n 射: 36555,\n 尅: 39825,\n 将: 36779,\n 將: 39826,\n 專: 39827,\n 尉: 35025,\n 尊: 37304,\n 尋: 36977,\n 對: 39828,\n 導: 37809,\n 小: 36780,\n 少: 36781,\n 尓: 39829,\n 尖: 37099,\n 尚: 36782,\n 尠: 39830,\n 尢: 39831,\n 尤: 38622,\n 尨: 39832,\n 尭: 35780,\n 就: 36673,\n 尸: 39833,\n 尹: 39834,\n 尺: 36570,\n 尻: 36939,\n 尼: 37874,\n 尽: 36979,\n 尾: 38134,\n 尿: 37953,\n 局: 35783,\n 屁: 39835,\n 居: 35727,\n 屆: 39836,\n 屈: 35836,\n 届: 37837,\n 屋: 35246,\n 屍: 36466,\n 屎: 39837,\n 屏: 39840,\n 屐: 39839,\n 屑: 35835,\n 屓: 39838,\n 展: 37719,\n 属: 37294,\n 屠: 37738,\n 屡: 36550,\n 層: 37239,\n 履: 38810,\n 屬: 39842,\n 屮: 39843,\n 屯: 37844,\n 山: 36434,\n 屶: 39845,\n 屹: 39846,\n 岌: 39847,\n 岐: 35570,\n 岑: 39848,\n 岔: 39849,\n 岡: 35242,\n 岨: 37210,\n 岩: 35554,\n 岫: 39851,\n 岬: 38566,\n 岱: 37328,\n 岳: 35448,\n 岶: 39853,\n 岷: 39855,\n 岸: 35549,\n 岻: 39852,\n 岼: 39854,\n 岾: 39857,\n 峅: 39856,\n 峇: 39858,\n 峙: 39859,\n 峠: 37819,\n 峡: 35756,\n 峨: 35299,\n 峩: 39860,\n 峪: 39865,\n 峭: 39863,\n 峯: 38389,\n 峰: 38388,\n 島: 37767,\n 峺: 39862,\n 峻: 36723,\n 峽: 39861,\n 崇: 37010,\n 崋: 39866,\n 崎: 36328,\n 崑: 39872,\n 崔: 39873,\n 崕: 39867,\n 崖: 35410,\n 崗: 39868,\n 崘: 39877,\n 崙: 39876,\n 崚: 39875,\n 崛: 39871,\n 崟: 39870,\n 崢: 39874,\n 崩: 38390,\n 嵋: 39881,\n 嵌: 39878,\n 嵎: 39880,\n 嵐: 38802,\n 嵒: 39879,\n 嵜: 39869,\n 嵩: 37011,\n 嵬: 39882,\n 嵯: 36277,\n 嵳: 39883,\n 嵶: 39884,\n 嶂: 39887,\n 嶄: 39886,\n 嶇: 39885,\n 嶋: 37768,\n 嶌: 39864,\n 嶐: 39893,\n 嶝: 39889,\n 嶢: 39888,\n 嶬: 39890,\n 嶮: 39891,\n 嶷: 39894,\n 嶺: 38884,\n 嶼: 39895,\n 嶽: 39892,\n 巉: 39896,\n 巌: 35550,\n 巍: 39897,\n 巒: 39899,\n 巓: 39898,\n 巖: 39900,\n 巛: 39901,\n 川: 37100,\n 州: 36674,\n 巡: 36740,\n 巣: 37251,\n 工: 36168,\n 左: 36278,\n 巧: 36169,\n 巨: 35728,\n 巫: 39902,\n 差: 36279,\n 己: 36040,\n 已: 39903,\n 巳: 38564,\n 巴: 37986,\n 巵: 39904,\n 巷: 36170,\n 巻: 35498,\n 巽: 37446,\n 巾: 35792,\n 市: 36467,\n 布: 38266,\n 帆: 38079,\n 帋: 39905,\n 希: 35571,\n 帑: 39908,\n 帖: 37535,\n 帙: 39907,\n 帚: 39906,\n 帛: 39909,\n 帝: 37609,\n 帥: 36995,\n 師: 36468,\n 席: 37064,\n 帯: 37329,\n 帰: 35649,\n 帳: 37536,\n 帶: 39910,\n 帷: 39911,\n 常: 36845,\n 帽: 38488,\n 幀: 39914,\n 幃: 39913,\n 幄: 39912,\n 幅: 38301,\n 幇: 39921,\n 幌: 38521,\n 幎: 39915,\n 幔: 39917,\n 幕: 38539,\n 幗: 39916,\n 幟: 39918,\n 幡: 38054,\n 幢: 39919,\n 幣: 38332,\n 幤: 39920,\n 干: 35505,\n 平: 38333,\n 年: 37966,\n 幵: 39922,\n 并: 39923,\n 幸: 36171,\n 幹: 35506,\n 幺: 39924,\n 幻: 36022,\n 幼: 38755,\n 幽: 38728,\n 幾: 35572,\n 广: 39926,\n 庁: 37537,\n 広: 36172,\n 庄: 36783,\n 庇: 38109,\n 床: 36784,\n 序: 36760,\n 底: 37610,\n 庖: 38391,\n 店: 37720,\n 庚: 36173,\n 府: 38267,\n 庠: 39927,\n 度: 37752,\n 座: 36288,\n 庫: 36041,\n 庭: 37611,\n 庵: 35009,\n 庶: 36750,\n 康: 36174,\n 庸: 38758,\n 廁: 39928,\n 廂: 39929,\n 廃: 38000,\n 廈: 39930,\n 廉: 38901,\n 廊: 38988,\n 廏: 39932,\n 廐: 39931,\n 廓: 35430,\n 廖: 40000,\n 廚: 40003,\n 廛: 40004,\n 廝: 40002,\n 廟: 38239,\n 廠: 36785,\n 廡: 40006,\n 廢: 40005,\n 廣: 40001,\n 廨: 40007,\n 廩: 40008,\n 廬: 40009,\n 廰: 40012,\n 廱: 40010,\n 廳: 40011,\n 廴: 40013,\n 延: 35204,\n 廷: 37612,\n 廸: 40014,\n 建: 35994,\n 廻: 35316,\n 廼: 37973,\n 廾: 40015,\n 廿: 37881,\n 弁: 38361,\n 弃: 40016,\n 弄: 38989,\n 弉: 40017,\n 弊: 38334,\n 弋: 40020,\n 弌: 39071,\n 弍: 39087,\n 式: 36526,\n 弐: 37875,\n 弑: 40021,\n 弓: 35708,\n 弔: 37538,\n 引: 35064,\n 弖: 40022,\n 弗: 38308,\n 弘: 36175,\n 弛: 37487,\n 弟: 37613,\n 弥: 38637,\n 弦: 36023,\n 弧: 36042,\n 弩: 40023,\n 弭: 40024,\n 弯: 40030,\n 弱: 36579,\n 張: 37539,\n 強: 35757,\n 弸: 40025,\n 弼: 38218,\n 弾: 37477,\n 彁: 40026,\n 彈: 40027,\n 彊: 35758,\n 彌: 40028,\n 彎: 40029,\n 彑: 40031,\n 当: 37782,\n 彖: 40032,\n 彗: 40033,\n 彙: 40034,\n 彜: 40019,\n 彝: 40018,\n 彡: 40035,\n 形: 35936,\n 彦: 38214,\n 彩: 36298,\n 彪: 38230,\n 彫: 37540,\n 彬: 38250,\n 彭: 40036,\n 彰: 36786,\n 影: 35173,\n 彳: 40037,\n 彷: 40038,\n 役: 38640,\n 彼: 38110,\n 彿: 40041,\n 往: 35229,\n 征: 37034,\n 徂: 40040,\n 徃: 40039,\n 径: 35937,\n 待: 37330,\n 徇: 40045,\n 很: 40043,\n 徊: 40042,\n 律: 38821,\n 後: 36067,\n 徐: 36761,\n 徑: 40044,\n 徒: 37739,\n 従: 36701,\n 得: 37822,\n 徘: 40048,\n 徙: 40047,\n 從: 40046,\n 徠: 40049,\n 御: 36068,\n 徨: 40050,\n 復: 38300,\n 循: 36730,\n 徭: 40051,\n 微: 38135,\n 徳: 37823,\n 徴: 37541,\n 徹: 37711,\n 徼: 40052,\n 徽: 35658,\n 心: 36947,\n 必: 38219,\n 忌: 35573,\n 忍: 37957,\n 忖: 40053,\n 志: 36469,\n 忘: 38489,\n 忙: 38490,\n 応: 35230,\n 忝: 40058,\n 忠: 37513,\n 忤: 40055,\n 快: 35317,\n 忰: 40107,\n 忱: 40057,\n 念: 37967,\n 忸: 40056,\n 忻: 40054,\n 忽: 36250,\n 忿: 40060,\n 怎: 40067,\n 怏: 40073,\n 怐: 40065,\n 怒: 37755,\n 怕: 40070,\n 怖: 38268,\n 怙: 40064,\n 怛: 40069,\n 怜: 38885,\n 思: 36470,\n 怠: 37331,\n 怡: 40061,\n 急: 35709,\n 怦: 40072,\n 性: 37035,\n 怨: 35205,\n 怩: 40066,\n 怪: 35318,\n 怫: 40071,\n 怯: 35759,\n 怱: 40068,\n 怺: 40074,\n 恁: 40076,\n 恂: 40086,\n 恃: 40084,\n 恆: 40081,\n 恊: 40080,\n 恋: 38902,\n 恍: 40082,\n 恐: 35760,\n 恒: 36176,\n 恕: 36762,\n 恙: 40089,\n 恚: 40075,\n 恟: 40079,\n 恠: 40062,\n 恢: 35320,\n 恣: 40083,\n 恤: 40085,\n 恥: 37488,\n 恨: 36262,\n 恩: 35254,\n 恪: 40077,\n 恫: 40088,\n 恬: 40087,\n 恭: 35761,\n 息: 37287,\n 恰: 35462,\n 恵: 35938,\n 恷: 40078,\n 悁: 40090,\n 悃: 40093,\n 悄: 40095,\n 悉: 36539,\n 悋: 40101,\n 悌: 37614,\n 悍: 40091,\n 悒: 40099,\n 悔: 35319,\n 悖: 40097,\n 悗: 40098,\n 悚: 40094,\n 悛: 40096,\n 悟: 36069,\n 悠: 38729,\n 患: 35507,\n 悦: 35192,\n 悧: 40100,\n 悩: 37977,\n 悪: 34987,\n 悲: 38111,\n 悳: 40059,\n 悴: 40106,\n 悵: 40110,\n 悶: 38627,\n 悸: 40103,\n 悼: 37769,\n 悽: 40108,\n 情: 36846,\n 惆: 40109,\n 惇: 37845,\n 惑: 39014,\n 惓: 40105,\n 惘: 40111,\n 惚: 36251,\n 惜: 37065,\n 惟: 35026,\n 惠: 40104,\n 惡: 40102,\n 惣: 37241,\n 惧: 40092,\n 惨: 36435,\n 惰: 37316,\n 惱: 40123,\n 想: 37242,\n 惴: 40118,\n 惶: 40115,\n 惷: 40116,\n 惹: 36580,\n 惺: 40119,\n 惻: 40122,\n 愀: 40117,\n 愁: 36676,\n 愃: 40120,\n 愆: 40114,\n 愈: 38650,\n 愉: 38649,\n 愍: 40124,\n 愎: 40125,\n 意: 35027,\n 愕: 40113,\n 愚: 35824,\n 愛: 34980,\n 感: 35508,\n 愡: 40121,\n 愧: 40129,\n 愨: 40128,\n 愬: 40133,\n 愴: 40134,\n 愼: 40132,\n 愽: 40135,\n 愾: 40127,\n 愿: 40131,\n 慂: 40136,\n 慄: 40137,\n 慇: 40126,\n 慈: 36508,\n 慊: 40130,\n 態: 37332,\n 慌: 36177,\n 慍: 40112,\n 慎: 36948,\n 慓: 40150,\n 慕: 38375,\n 慘: 40140,\n 慙: 40141,\n 慚: 40142,\n 慝: 40149,\n 慟: 40148,\n 慢: 38557,\n 慣: 35509,\n 慥: 40146,\n 慧: 35940,\n 慨: 35411,\n 慫: 40143,\n 慮: 38838,\n 慯: 40145,\n 慰: 35028,\n 慱: 40147,\n 慳: 40138,\n 慴: 40144,\n 慵: 40151,\n 慶: 35939,\n 慷: 40139,\n 慾: 38780,\n 憂: 38730,\n 憇: 40154,\n 憊: 40158,\n 憎: 37278,\n 憐: 38903,\n 憑: 40159,\n 憔: 40156,\n 憖: 40153,\n 憙: 40152,\n 憚: 40157,\n 憤: 38318,\n 憧: 37810,\n 憩: 35941,\n 憫: 40160,\n 憬: 40155,\n 憮: 40161,\n 憲: 35995,\n 憶: 35247,\n 憺: 40169,\n 憾: 35510,\n 懃: 40167,\n 懆: 40168,\n 懇: 36263,\n 懈: 40166,\n 應: 40164,\n 懊: 40163,\n 懋: 40170,\n 懌: 40162,\n 懍: 40172,\n 懐: 35321,\n 懣: 40174,\n 懦: 40173,\n 懲: 37542,\n 懴: 40177,\n 懶: 40175,\n 懷: 40165,\n 懸: 35996,\n 懺: 40176,\n 懼: 40180,\n 懽: 40179,\n 懾: 40181,\n 懿: 40178,\n 戀: 40182,\n 戈: 40183,\n 戉: 40184,\n 戊: 38376,\n 戌: 40186,\n 戍: 40185,\n 戎: 36702,\n 成: 37036,\n 我: 35300,\n 戒: 35322,\n 戔: 40187,\n 或: 35005,\n 戚: 37066,\n 戛: 40188,\n 戝: 59073,\n 戞: 40256,\n 戟: 35969,\n 戡: 40257,\n 戦: 37101,\n 截: 40258,\n 戮: 40259,\n 戯: 35673,\n 戰: 40260,\n 戲: 40261,\n 戳: 40262,\n 戴: 37333,\n 戸: 36043,\n 戻: 38623,\n 房: 38491,\n 所: 36746,\n 扁: 40263,\n 扇: 37102,\n 扈: 59323,\n 扉: 38112,\n 手: 36584,\n 才: 36299,\n 扎: 40264,\n 打: 37317,\n 払: 38309,\n 托: 37359,\n 扛: 40267,\n 扞: 40265,\n 扠: 40268,\n 扣: 40266,\n 扨: 40269,\n 扮: 38319,\n 扱: 34997,\n 扶: 38269,\n 批: 38113,\n 扼: 40270,\n 找: 40273,\n 承: 36787,\n 技: 35674,\n 抂: 40271,\n 抃: 40278,\n 抄: 36788,\n 抉: 40272,\n 把: 37987,\n 抑: 38781,\n 抒: 40274,\n 抓: 40275,\n 抔: 40279,\n 投: 37770,\n 抖: 40276,\n 抗: 36178,\n 折: 37084,\n 抛: 40293,\n 抜: 38066,\n 択: 37360,\n 披: 38114,\n 抬: 40363,\n 抱: 38392,\n 抵: 37615,\n 抹: 38549,\n 抻: 40282,\n 押: 35231,\n 抽: 37514,\n 拂: 40291,\n 担: 37459,\n 拆: 40285,\n 拇: 40292,\n 拈: 40287,\n 拉: 40294,\n 拊: 40290,\n 拌: 40289,\n 拍: 38031,\n 拏: 40283,\n 拐: 35323,\n 拑: 40281,\n 拒: 35729,\n 拓: 37361,\n 拔: 40277,\n 拗: 40280,\n 拘: 36179,\n 拙: 37081,\n 招: 36789,\n 拜: 40288,\n 拝: 38001,\n 拠: 35730,\n 拡: 35431,\n 括: 35463,\n 拭: 36928,\n 拮: 40296,\n 拯: 40301,\n 拱: 40297,\n 拳: 35997,\n 拵: 40302,\n 拶: 36417,\n 拷: 36233,\n 拾: 36677,\n 拿: 40284,\n 持: 36509,\n 挂: 40299,\n 指: 36471,\n 挈: 40300,\n 按: 35010,\n 挌: 40295,\n 挑: 37543,\n 挙: 35731,\n 挟: 35762,\n 挧: 40298,\n 挨: 34981,\n 挫: 36289,\n 振: 36949,\n 挺: 37616,\n 挽: 38098,\n 挾: 40304,\n 挿: 37245,\n 捉: 37288,\n 捌: 36426,\n 捍: 40305,\n 捏: 40307,\n 捐: 40303,\n 捕: 38367,\n 捗: 37563,\n 捜: 37243,\n 捧: 38393,\n 捨: 36556,\n 捩: 40320,\n 捫: 40318,\n 据: 37016,\n 捲: 35998,\n 捶: 40312,\n 捷: 36791,\n 捺: 37862,\n 捻: 37968,\n 掀: 40310,\n 掃: 37244,\n 授: 36598,\n 掉: 40315,\n 掌: 36790,\n 掎: 40309,\n 掏: 40314,\n 排: 38002,\n 掖: 40308,\n 掘: 35904,\n 掛: 35452,\n 掟: 40316,\n 掠: 38825,\n 採: 36300,\n 探: 37460,\n 掣: 40313,\n 接: 37082,\n 控: 36180,\n 推: 36996,\n 掩: 35206,\n 措: 37211,\n 掫: 40311,\n 掬: 35684,\n 掲: 35942,\n 掴: 37581,\n 掵: 40317,\n 掻: 37246,\n 掾: 40321,\n 揀: 40323,\n 揃: 37301,\n 揄: 40329,\n 揆: 40324,\n 揉: 40326,\n 描: 38240,\n 提: 37617,\n 插: 40327,\n 揖: 38731,\n 揚: 38759,\n 換: 35511,\n 握: 34988,\n 揣: 40325,\n 揩: 40322,\n 揮: 35574,\n 援: 35207,\n 揶: 40328,\n 揺: 38760,\n 搆: 40332,\n 損: 37305,\n 搏: 40339,\n 搓: 40333,\n 搖: 40330,\n 搗: 40337,\n 搜: 40306,\n 搦: 40334,\n 搨: 40338,\n 搬: 38080,\n 搭: 37771,\n 搴: 40331,\n 搶: 40335,\n 携: 35943,\n 搾: 36335,\n 摂: 37083,\n 摎: 40343,\n 摘: 37701,\n 摧: 40340,\n 摩: 38528,\n 摯: 40341,\n 摶: 40342,\n 摸: 38604,\n 摺: 37024,\n 撃: 35970,\n 撈: 40349,\n 撒: 36436,\n 撓: 40346,\n 撕: 40345,\n 撚: 37969,\n 撞: 37811,\n 撤: 37712,\n 撥: 40347,\n 撩: 40348,\n 撫: 38287,\n 播: 37988,\n 撮: 36418,\n 撰: 37103,\n 撲: 38511,\n 撹: 35432,\n 撻: 40355,\n 撼: 40350,\n 擁: 38761,\n 擂: 40357,\n 擅: 40353,\n 擇: 40354,\n 操: 37248,\n 擒: 40352,\n 擔: 40286,\n 擘: 40356,\n 據: 40351,\n 擠: 40361,\n 擡: 40362,\n 擢: 37702,\n 擣: 40364,\n 擦: 36419,\n 擧: 40359,\n 擬: 35675,\n 擯: 40365,\n 擱: 40358,\n 擲: 40369,\n 擴: 40368,\n 擶: 40367,\n 擺: 40370,\n 擽: 40372,\n 擾: 36847,\n 攀: 40371,\n 攅: 40375,\n 攘: 40373,\n 攜: 40374,\n 攝: 40336,\n 攣: 40377,\n 攤: 40376,\n 攪: 40344,\n 攫: 40378,\n 攬: 40366,\n 支: 36472,\n 攴: 40379,\n 攵: 40380,\n 收: 40382,\n 攷: 40381,\n 攸: 40383,\n 改: 35324,\n 攻: 36181,\n 放: 38394,\n 政: 37037,\n 故: 36044,\n 效: 40385,\n 敍: 40388,\n 敏: 38257,\n 救: 35710,\n 敕: 40387,\n 敖: 40386,\n 敗: 38003,\n 敘: 40389,\n 教: 35763,\n 敝: 40391,\n 敞: 40390,\n 敢: 35512,\n 散: 36437,\n 敦: 37846,\n 敬: 35944,\n 数: 37012,\n 敲: 40392,\n 整: 37038,\n 敵: 37703,\n 敷: 38270,\n 數: 40393,\n 斂: 40394,\n 斃: 40395,\n 文: 38326,\n 斈: 39804,\n 斉: 37060,\n 斌: 38251,\n 斎: 36310,\n 斐: 38115,\n 斑: 38081,\n 斗: 37740,\n 料: 38847,\n 斛: 40397,\n 斜: 36558,\n 斟: 40398,\n 斡: 34996,\n 斤: 35794,\n 斥: 37067,\n 斧: 38272,\n 斫: 40399,\n 斬: 36449,\n 断: 37478,\n 斯: 36474,\n 新: 36950,\n 斷: 40400,\n 方: 38395,\n 於: 35223,\n 施: 36475,\n 旁: 40403,\n 旃: 40401,\n 旄: 40404,\n 旅: 38839,\n 旆: 40402,\n 旋: 37113,\n 旌: 40405,\n 族: 37296,\n 旒: 40406,\n 旗: 35576,\n 旙: 40408,\n 旛: 40407,\n 无: 40409,\n 旡: 40410,\n 既: 35577,\n 日: 37882,\n 旦: 37461,\n 旧: 35724,\n 旨: 36476,\n 早: 37249,\n 旬: 36731,\n 旭: 34990,\n 旱: 40411,\n 旺: 35232,\n 旻: 40415,\n 昂: 36182,\n 昃: 40414,\n 昆: 36265,\n 昇: 36792,\n 昊: 40413,\n 昌: 36793,\n 明: 38590,\n 昏: 36264,\n 易: 35029,\n 昔: 37068,\n 昜: 40420,\n 星: 37039,\n 映: 35174,\n 春: 36724,\n 昧: 38534,\n 昨: 36336,\n 昭: 36794,\n 是: 37029,\n 昴: 40419,\n 昵: 40417,\n 昶: 40418,\n 昼: 37515,\n 昿: 40517,\n 晁: 40424,\n 時: 36510,\n 晃: 36183,\n 晄: 40422,\n 晉: 40423,\n 晋: 36951,\n 晏: 40421,\n 晒: 36430,\n 晝: 40426,\n 晞: 40425,\n 晟: 40430,\n 晢: 40431,\n 晤: 40427,\n 晦: 35393,\n 晧: 40428,\n 晨: 40429,\n 晩: 38099,\n 普: 38273,\n 景: 35945,\n 晰: 40432,\n 晴: 37040,\n 晶: 36795,\n 智: 37489,\n 暁: 35781,\n 暃: 40433,\n 暄: 40437,\n 暇: 35273,\n 暈: 40434,\n 暉: 40436,\n 暎: 40435,\n 暑: 36747,\n 暖: 37479,\n 暗: 35011,\n 暘: 40438,\n 暝: 40439,\n 暢: 37544,\n 暦: 38895,\n 暫: 36450,\n 暮: 38377,\n 暴: 38492,\n 暸: 40513,\n 暹: 40441,\n 暼: 40444,\n 暾: 40443,\n 曁: 40440,\n 曄: 40512,\n 曇: 37852,\n 曉: 40442,\n 曖: 40514,\n 曙: 36748,\n 曚: 40515,\n 曜: 38762,\n 曝: 38040,\n 曠: 40516,\n 曦: 40518,\n 曩: 40519,\n 曰: 40520,\n 曲: 35784,\n 曳: 35175,\n 更: 36184,\n 曵: 40521,\n 曷: 40522,\n 書: 36753,\n 曹: 37250,\n 曼: 39382,\n 曽: 37213,\n 曾: 37212,\n 替: 37334,\n 最: 36293,\n 會: 39152,\n 月: 35982,\n 有: 38732,\n 朋: 38396,\n 服: 38302,\n 朏: 40523,\n 朔: 36337,\n 朕: 37565,\n 朖: 40524,\n 朗: 38990,\n 望: 38493,\n 朝: 37545,\n 朞: 40525,\n 期: 35578,\n 朦: 40526,\n 朧: 40527,\n 木: 38616,\n 未: 38562,\n 末: 38550,\n 本: 38523,\n 札: 36420,\n 朮: 40529,\n 朱: 36585,\n 朴: 38512,\n 朶: 40531,\n 朷: 40534,\n 朸: 40533,\n 机: 35575,\n 朽: 35712,\n 朿: 40530,\n 杁: 40532,\n 杆: 40535,\n 杉: 37017,\n 李: 38811,\n 杏: 35015,\n 材: 36318,\n 村: 37306,\n 杓: 36571,\n 杖: 36849,\n 杙: 40538,\n 杜: 37741,\n 杞: 40536,\n 束: 37289,\n 杠: 40537,\n 条: 36848,\n 杢: 38619,\n 杣: 40539,\n 杤: 40540,\n 来: 38792,\n 杪: 40545,\n 杭: 36185,\n 杯: 38004,\n 杰: 40542,\n 東: 37772,\n 杲: 40412,\n 杳: 40416,\n 杵: 35694,\n 杷: 37990,\n 杼: 40544,\n 松: 36796,\n 板: 38082,\n 枅: 40550,\n 枇: 38136,\n 枉: 40541,\n 枋: 40547,\n 枌: 40546,\n 析: 37069,\n 枕: 38541,\n 林: 38865,\n 枚: 38535,\n 果: 35274,\n 枝: 36477,\n 枠: 39015,\n 枡: 40549,\n 枢: 37013,\n 枦: 40548,\n 枩: 40543,\n 枯: 36045,\n 枳: 40555,\n 枴: 40553,\n 架: 35275,\n 枷: 40551,\n 枸: 40557,\n 枹: 40563,\n 柁: 37318,\n 柄: 38335,\n 柆: 40565,\n 柊: 38209,\n 柎: 40564,\n 柏: 38032,\n 某: 38494,\n 柑: 35513,\n 染: 37109,\n 柔: 36703,\n 柘: 37585,\n 柚: 38733,\n 柝: 40560,\n 柞: 40559,\n 柢: 40561,\n 柤: 40558,\n 柧: 40566,\n 柩: 40556,\n 柬: 40554,\n 柮: 40562,\n 柯: 40552,\n 柱: 37516,\n 柳: 38646,\n 柴: 36548,\n 柵: 36338,\n 査: 36280,\n 柾: 38543,\n 柿: 35424,\n 栂: 37580,\n 栃: 37832,\n 栄: 35176,\n 栓: 37104,\n 栖: 37042,\n 栗: 35913,\n 栞: 40568,\n 校: 36186,\n 栢: 35484,\n 栩: 40570,\n 株: 35476,\n 栫: 40577,\n 栲: 40573,\n 栴: 37105,\n 核: 35434,\n 根: 36266,\n 格: 35433,\n 栽: 36301,\n 桀: 40571,\n 桁: 35973,\n 桂: 35946,\n 桃: 37773,\n 框: 40569,\n 案: 35012,\n 桍: 40572,\n 桎: 40574,\n 桐: 35787,\n 桑: 35915,\n 桓: 35514,\n 桔: 35690,\n 桙: 40578,\n 桜: 36343,\n 桝: 38545,\n 桟: 36438,\n 档: 40579,\n 桧: 38223,\n 桴: 40591,\n 桶: 35249,\n 桷: 40580,\n 桾: 40597,\n 桿: 40581,\n 梁: 38848,\n 梃: 40588,\n 梅: 38014,\n 梍: 40596,\n 梏: 40583,\n 梓: 34994,\n 梔: 40585,\n 梗: 36187,\n 梛: 40587,\n 條: 40586,\n 梟: 40582,\n 梠: 40593,\n 梢: 36797,\n 梦: 39659,\n 梧: 36070,\n 梨: 38812,\n 梭: 40584,\n 梯: 37618,\n 械: 35394,\n 梱: 36267,\n 梳: 40576,\n 梵: 40592,\n 梶: 35457,\n 梹: 40590,\n 梺: 40594,\n 梼: 37774,\n 棄: 35580,\n 棆: 40624,\n 棉: 38599,\n 棊: 40599,\n 棋: 35579,\n 棍: 40606,\n 棒: 38495,\n 棔: 40607,\n 棕: 40609,\n 棗: 40613,\n 棘: 40601,\n 棚: 37449,\n 棟: 37775,\n 棠: 40617,\n 棡: 40604,\n 棣: 40614,\n 棧: 40608,\n 森: 36952,\n 棯: 40618,\n 棲: 37041,\n 棹: 40616,\n 棺: 35515,\n 椀: 39023,\n 椁: 40598,\n 椄: 40612,\n 椅: 35030,\n 椈: 40600,\n 椋: 38584,\n 椌: 40605,\n 植: 36929,\n 椎: 37573,\n 椏: 40595,\n 椒: 40611,\n 椙: 37018,\n 椚: 40621,\n 椛: 35473,\n 検: 35999,\n 椡: 40623,\n 椢: 40602,\n 椣: 40622,\n 椥: 40615,\n 椦: 40603,\n 椨: 40619,\n 椪: 40620,\n 椰: 40637,\n 椴: 37836,\n 椶: 40610,\n 椹: 40633,\n 椽: 40635,\n 椿: 37590,\n 楊: 38763,\n 楓: 38294,\n 楔: 40630,\n 楕: 37320,\n 楙: 40636,\n 楚: 37214,\n 楜: 40627,\n 楝: 40640,\n 楞: 40639,\n 楠: 37869,\n 楡: 40638,\n 楢: 37864,\n 楪: 40642,\n 楫: 40629,\n 業: 35782,\n 楮: 40632,\n 楯: 36732,\n 楳: 38016,\n 楴: 40634,\n 極: 35785,\n 楷: 40626,\n 楸: 40628,\n 楹: 40625,\n 楼: 38991,\n 楽: 35449,\n 楾: 40631,\n 榁: 40641,\n 概: 35412,\n 榊: 36325,\n 榎: 35196,\n 榑: 40658,\n 榔: 38992,\n 榕: 40661,\n 榛: 36953,\n 榜: 40660,\n 榠: 40659,\n 榧: 40656,\n 榮: 40644,\n 榱: 40673,\n 榲: 40643,\n 榴: 40662,\n 榻: 40654,\n 榾: 40649,\n 榿: 40646,\n 槁: 40647,\n 槃: 40655,\n 槇: 60064,\n 槊: 40652,\n 構: 36188,\n 槌: 37574,\n 槍: 37252,\n 槎: 40650,\n 槐: 40645,\n 槓: 40648,\n 様: 38764,\n 槙: 38538,\n 槝: 40653,\n 槞: 40663,\n 槧: 40671,\n 槨: 40664,\n 槫: 40677,\n 槭: 40675,\n 槲: 40670,\n 槹: 40669,\n 槻: 37582,\n 槽: 37253,\n 槿: 40667,\n 樂: 40665,\n 樅: 40672,\n 樊: 40678,\n 樋: 38131,\n 樌: 40684,\n 樒: 40679,\n 樓: 40682,\n 樔: 40676,\n 樗: 37524,\n 標: 38231,\n 樛: 40666,\n 樞: 40674,\n 樟: 36798,\n 模: 38605,\n 樢: 40694,\n 樣: 40681,\n 権: 36000,\n 横: 35233,\n 樫: 35454,\n 樮: 40657,\n 樵: 36799,\n 樶: 40686,\n 樸: 40693,\n 樹: 36599,\n 樺: 35474,\n 樽: 37453,\n 橄: 40683,\n 橇: 40688,\n 橈: 40692,\n 橋: 35764,\n 橘: 35691,\n 橙: 40690,\n 機: 35648,\n 橡: 37833,\n 橢: 40689,\n 橦: 40691,\n 橲: 40685,\n 橸: 40687,\n 橿: 35456,\n 檀: 37480,\n 檄: 40698,\n 檍: 40696,\n 檎: 36071,\n 檐: 40695,\n 檗: 40768,\n 檜: 40567,\n 檠: 40697,\n 檢: 40699,\n 檣: 40700,\n 檪: 40779,\n 檬: 40775,\n 檮: 40589,\n 檳: 40774,\n 檸: 40773,\n 檻: 40770,\n 櫁: 40680,\n 櫂: 40772,\n 櫃: 40771,\n 櫑: 40777,\n 櫓: 38981,\n 櫚: 40780,\n 櫛: 35833,\n 櫞: 40776,\n 櫟: 40778,\n 櫨: 38053,\n 櫪: 40781,\n 櫺: 40785,\n 櫻: 40782,\n 欄: 38803,\n 欅: 40783,\n 權: 40668,\n 欒: 40786,\n 欖: 40787,\n 欝: 35156,\n 欟: 40789,\n 欠: 35975,\n 次: 36511,\n 欣: 35795,\n 欧: 35234,\n 欲: 38782,\n 欷: 40791,\n 欸: 40790,\n 欹: 40793,\n 欺: 35676,\n 欽: 35796,\n 款: 35516,\n 歃: 40796,\n 歇: 40795,\n 歉: 40797,\n 歌: 35276,\n 歎: 37462,\n 歐: 40798,\n 歓: 35517,\n 歔: 40800,\n 歙: 40799,\n 歛: 40801,\n 歟: 40802,\n 歡: 40803,\n 止: 36478,\n 正: 37043,\n 此: 36255,\n 武: 38288,\n 歩: 38368,\n 歪: 39011,\n 歯: 36501,\n 歳: 36302,\n 歴: 38896,\n 歸: 40804,\n 歹: 40805,\n 死: 36480,\n 歿: 40806,\n 殀: 40807,\n 殃: 40809,\n 殄: 40808,\n 殆: 38519,\n 殉: 36733,\n 殊: 36586,\n 残: 36451,\n 殍: 40810,\n 殕: 40812,\n 殖: 36930,\n 殘: 40811,\n 殞: 40813,\n 殤: 40814,\n 殪: 40815,\n 殫: 40816,\n 殯: 40817,\n 殱: 40819,\n 殲: 40818,\n 殳: 40820,\n 殴: 35235,\n 段: 37481,\n 殷: 40821,\n 殺: 36421,\n 殻: 35435,\n 殼: 40822,\n 殿: 37729,\n 毀: 39626,\n 毅: 35650,\n 毆: 40823,\n 毋: 40824,\n 母: 38378,\n 毎: 38536,\n 毒: 37829,\n 毓: 40825,\n 比: 38116,\n 毘: 38137,\n 毛: 38609,\n 毟: 40826,\n 毫: 40828,\n 毬: 40827,\n 毯: 40830,\n 毳: 40829,\n 氈: 40833,\n 氏: 36481,\n 民: 38575,\n 氓: 40834,\n 气: 40835,\n 気: 35651,\n 氛: 40836,\n 氣: 40838,\n 氤: 40837,\n 水: 36997,\n 氷: 38232,\n 永: 35177,\n 氾: 38083,\n 汀: 37619,\n 汁: 36704,\n 求: 35713,\n 汎: 38084,\n 汐: 36524,\n 汕: 40840,\n 汗: 35518,\n 汚: 35224,\n 汝: 37872,\n 汞: 40839,\n 江: 36189,\n 池: 37490,\n 汢: 40841,\n 汨: 40849,\n 汪: 40842,\n 汰: 37311,\n 汲: 35714,\n 汳: 40850,\n 決: 35976,\n 汽: 35652,\n 汾: 40848,\n 沁: 40846,\n 沂: 40843,\n 沃: 38784,\n 沈: 37566,\n 沌: 37847,\n 沍: 40844,\n 沐: 40852,\n 沒: 40851,\n 沓: 35906,\n 沖: 35243,\n 沙: 36281,\n 沚: 40845,\n 沛: 40847,\n 没: 38518,\n 沢: 37362,\n 沫: 38551,\n 沮: 40860,\n 沱: 40861,\n 河: 35277,\n 沸: 38310,\n 油: 38651,\n 沺: 40863,\n 治: 36513,\n 沼: 36800,\n 沽: 40856,\n 沾: 40862,\n 沿: 35208,\n 況: 35765,\n 泄: 40853,\n 泅: 40858,\n 泉: 37106,\n 泊: 38033,\n 泌: 38117,\n 泓: 40855,\n 法: 38464,\n 泗: 40857,\n 泙: 40866,\n 泛: 40864,\n 泝: 40859,\n 泡: 38465,\n 波: 37991,\n 泣: 35715,\n 泥: 37700,\n 注: 37517,\n 泪: 40867,\n 泯: 40865,\n 泰: 37335,\n 泱: 40854,\n 泳: 35178,\n 洋: 38765,\n 洌: 40878,\n 洒: 40877,\n 洗: 37108,\n 洙: 40874,\n 洛: 38796,\n 洞: 37812,\n 洟: 40868,\n 津: 37571,\n 洩: 35179,\n 洪: 36190,\n 洫: 40871,\n 洲: 36678,\n 洳: 40876,\n 洵: 40875,\n 洶: 40870,\n 洸: 40873,\n 活: 35464,\n 洽: 40872,\n 派: 37992,\n 流: 38828,\n 浄: 36850,\n 浅: 37107,\n 浙: 40884,\n 浚: 40882,\n 浜: 38252,\n 浣: 40879,\n 浤: 40881,\n 浦: 35161,\n 浩: 36191,\n 浪: 38993,\n 浬: 35420,\n 浮: 38274,\n 浴: 38785,\n 海: 35395,\n 浸: 36954,\n 浹: 40883,\n 涅: 40888,\n 消: 36801,\n 涌: 38735,\n 涎: 40885,\n 涓: 40880,\n 涕: 40886,\n 涙: 38876,\n 涛: 37779,\n 涜: 37824,\n 涯: 35413,\n 液: 35188,\n 涵: 40892,\n 涸: 40895,\n 涼: 38849,\n 淀: 38788,\n 淅: 40902,\n 淆: 40896,\n 淇: 40893,\n 淋: 38866,\n 淌: 40899,\n 淑: 36713,\n 淒: 40901,\n 淕: 40906,\n 淘: 37777,\n 淙: 40904,\n 淞: 40898,\n 淡: 37463,\n 淤: 40905,\n 淦: 40894,\n 淨: 40900,\n 淪: 40907,\n 淫: 35066,\n 淬: 40897,\n 淮: 40908,\n 深: 36955,\n 淳: 36734,\n 淵: 38307,\n 混: 36268,\n 淹: 40889,\n 淺: 40903,\n 添: 37721,\n 清: 37044,\n 渇: 35465,\n 済: 36303,\n 渉: 36802,\n 渊: 40891,\n 渋: 36705,\n 渓: 35947,\n 渕: 40890,\n 渙: 40912,\n 渚: 36749,\n 減: 36024,\n 渝: 40927,\n 渟: 40921,\n 渠: 35732,\n 渡: 37742,\n 渣: 40916,\n 渤: 40925,\n 渥: 34989,\n 渦: 35153,\n 温: 35255,\n 渫: 40918,\n 測: 37290,\n 渭: 40909,\n 渮: 40911,\n 港: 36192,\n 游: 40928,\n 渺: 40923,\n 渾: 40915,\n 湃: 40922,\n 湊: 38569,\n 湍: 40920,\n 湎: 40924,\n 湖: 36046,\n 湘: 36803,\n 湛: 37464,\n 湟: 40914,\n 湧: 38734,\n 湫: 40917,\n 湮: 40910,\n 湯: 37778,\n 湲: 40913,\n 湶: 40919,\n 湾: 39024,\n 湿: 36540,\n 満: 38558,\n 溂: 40929,\n 溌: 38060,\n 溏: 40941,\n 源: 36025,\n 準: 36736,\n 溘: 40931,\n 溜: 38829,\n 溝: 36193,\n 溟: 40944,\n 溢: 35052,\n 溥: 40942,\n 溪: 40930,\n 溯: 40936,\n 溲: 40938,\n 溶: 38766,\n 溷: 40933,\n 溺: 37709,\n 溽: 40935,\n 滂: 40943,\n 滄: 40937,\n 滅: 38597,\n 滉: 40932,\n 滋: 36512,\n 滌: 40956,\n 滑: 35466,\n 滓: 40934,\n 滔: 40939,\n 滕: 40940,\n 滝: 37354,\n 滞: 37336,\n 滬: 40948,\n 滯: 40954,\n 滲: 40952,\n 滴: 37704,\n 滷: 57410,\n 滸: 40949,\n 滾: 40950,\n 滿: 40926,\n 漁: 35737,\n 漂: 38233,\n 漆: 36541,\n 漉: 36247,\n 漏: 38994,\n 漑: 40946,\n 漓: 57409,\n 演: 35209,\n 漕: 37254,\n 漠: 38041,\n 漢: 35519,\n 漣: 38904,\n 漫: 38559,\n 漬: 37584,\n 漱: 40953,\n 漲: 40955,\n 漸: 37201,\n 漾: 57408,\n 漿: 40951,\n 潁: 40945,\n 潅: 35521,\n 潔: 35977,\n 潘: 57422,\n 潛: 57417,\n 潜: 37110,\n 潟: 35459,\n 潤: 36737,\n 潦: 57426,\n 潭: 57419,\n 潮: 37546,\n 潯: 57416,\n 潰: 37591,\n 潴: 57451,\n 潸: 57413,\n 潺: 57412,\n 潼: 57421,\n 澀: 57415,\n 澁: 57414,\n 澂: 57420,\n 澄: 37023,\n 澆: 57411,\n 澎: 57423,\n 澑: 57424,\n 澗: 35520,\n 澡: 57429,\n 澣: 57428,\n 澤: 57430,\n 澪: 57433,\n 澱: 37730,\n 澳: 57427,\n 澹: 57431,\n 激: 35971,\n 濁: 37367,\n 濂: 57425,\n 濃: 37978,\n 濆: 57432,\n 濔: 57437,\n 濕: 57435,\n 濘: 57438,\n 濛: 57441,\n 濟: 57434,\n 濠: 36234,\n 濡: 37959,\n 濤: 40887,\n 濫: 38804,\n 濬: 57436,\n 濮: 57440,\n 濯: 37363,\n 濱: 57439,\n 濳: 57418,\n 濶: 59529,\n 濺: 57444,\n 濾: 57448,\n 瀁: 57446,\n 瀉: 57442,\n 瀋: 57443,\n 瀏: 57447,\n 瀑: 57445,\n 瀕: 38253,\n 瀘: 57453,\n 瀚: 57450,\n 瀛: 57449,\n 瀝: 57452,\n 瀞: 37842,\n 瀟: 57454,\n 瀦: 37525,\n 瀧: 37355,\n 瀬: 37027,\n 瀰: 57455,\n 瀲: 57457,\n 瀾: 57456,\n 灌: 40947,\n 灑: 57458,\n 灘: 37861,\n 灣: 57459,\n 火: 35278,\n 灯: 37780,\n 灰: 35396,\n 灸: 35716,\n 灼: 36572,\n 災: 36304,\n 炉: 38982,\n 炊: 36998,\n 炎: 35210,\n 炒: 57461,\n 炙: 57460,\n 炬: 57464,\n 炭: 37465,\n 炮: 57467,\n 炯: 57462,\n 炳: 57466,\n 炸: 57465,\n 点: 37727,\n 為: 35031,\n 烈: 38899,\n 烋: 57469,\n 烏: 35143,\n 烙: 57472,\n 烝: 57470,\n 烟: 57468,\n 烱: 57463,\n 烹: 38466,\n 烽: 57474,\n 焉: 57473,\n 焔: 35211,\n 焙: 57476,\n 焚: 38320,\n 焜: 57475,\n 無: 38579,\n 焦: 36805,\n 然: 37202,\n 焼: 36804,\n 煉: 38905,\n 煌: 57482,\n 煎: 37111,\n 煕: 57478,\n 煖: 57483,\n 煙: 35212,\n 煢: 57481,\n 煤: 38017,\n 煥: 57477,\n 煦: 57480,\n 照: 36806,\n 煩: 38095,\n 煬: 57484,\n 煮: 36559,\n 煽: 37112,\n 熄: 57487,\n 熈: 57479,\n 熊: 35910,\n 熏: 57485,\n 熔: 38767,\n 熕: 57488,\n 熙: 60068,\n 熟: 36718,\n 熨: 57489,\n 熬: 57490,\n 熱: 37965,\n 熹: 57492,\n 熾: 57493,\n 燃: 37970,\n 燈: 37781,\n 燉: 57495,\n 燎: 57497,\n 燐: 38867,\n 燒: 57494,\n 燔: 57496,\n 燕: 35213,\n 燗: 57491,\n 營: 39546,\n 燠: 57498,\n 燥: 37255,\n 燦: 36439,\n 燧: 57500,\n 燬: 57499,\n 燭: 36931,\n 燮: 39383,\n 燵: 57501,\n 燹: 57503,\n 燻: 57486,\n 燼: 57502,\n 燿: 57504,\n 爆: 38042,\n 爍: 57505,\n 爐: 57506,\n 爛: 57507,\n 爨: 57508,\n 爪: 37596,\n 爬: 57510,\n 爭: 57509,\n 爰: 57511,\n 爲: 57512,\n 爵: 36573,\n 父: 38275,\n 爺: 38634,\n 爻: 57513,\n 爼: 57514,\n 爽: 37237,\n 爾: 36514,\n 爿: 57515,\n 牀: 57516,\n 牆: 57517,\n 片: 38352,\n 版: 38085,\n 牋: 57518,\n 牌: 38006,\n 牒: 37547,\n 牘: 57519,\n 牙: 35301,\n 牛: 35725,\n 牝: 38596,\n 牟: 38580,\n 牡: 35250,\n 牢: 38995,\n 牧: 38513,\n 物: 38312,\n 牲: 37045,\n 牴: 57520,\n 特: 37825,\n 牽: 36001,\n 牾: 57521,\n 犀: 36306,\n 犁: 57523,\n 犂: 57522,\n 犇: 57524,\n 犒: 57525,\n 犖: 57526,\n 犠: 35677,\n 犢: 57527,\n 犧: 57528,\n 犬: 36002,\n 犯: 38086,\n 犲: 57530,\n 状: 36851,\n 犹: 57529,\n 狂: 35766,\n 狃: 57531,\n 狄: 57533,\n 狆: 57532,\n 狎: 57534,\n 狐: 36047,\n 狒: 57535,\n 狗: 35815,\n 狙: 37215,\n 狛: 36253,\n 狠: 57537,\n 狡: 57538,\n 狢: 57536,\n 狩: 36587,\n 独: 37830,\n 狭: 35767,\n 狷: 57540,\n 狸: 37451,\n 狹: 57539,\n 狼: 38996,\n 狽: 38018,\n 猊: 57543,\n 猖: 57545,\n 猗: 57542,\n 猛: 38610,\n 猜: 57544,\n 猝: 57546,\n 猟: 38850,\n 猥: 57550,\n 猩: 57549,\n 猪: 37526,\n 猫: 37964,\n 献: 36003,\n 猯: 57548,\n 猴: 57547,\n 猶: 38736,\n 猷: 38737,\n 猾: 57551,\n 猿: 35214,\n 獄: 36246,\n 獅: 36482,\n 獎: 57552,\n 獏: 57553,\n 獗: 57555,\n 獣: 36706,\n 獨: 57557,\n 獪: 57556,\n 獰: 57558,\n 獲: 35436,\n 獵: 57560,\n 獸: 57559,\n 獺: 57562,\n 獻: 57561,\n 玄: 36026,\n 率: 38822,\n 玉: 35786,\n 王: 35236,\n 玖: 35816,\n 玩: 35551,\n 玲: 38886,\n 玳: 57564,\n 玻: 57566,\n 珀: 57567,\n 珂: 35279,\n 珈: 57563,\n 珊: 36440,\n 珍: 37567,\n 珎: 57565,\n 珞: 57570,\n 珠: 36588,\n 珥: 57568,\n 珪: 35933,\n 班: 38087,\n 珮: 57569,\n 珱: 57596,\n 珸: 57575,\n 現: 36027,\n 球: 35717,\n 琅: 57572,\n 理: 38813,\n 琉: 38830,\n 琢: 37364,\n 琥: 57574,\n 琲: 57576,\n 琳: 38868,\n 琴: 35797,\n 琵: 38138,\n 琶: 37993,\n 琺: 57577,\n 琿: 57579,\n 瑁: 57582,\n 瑕: 57578,\n 瑙: 57581,\n 瑚: 36072,\n 瑛: 35180,\n 瑜: 57583,\n 瑞: 37008,\n 瑟: 57580,\n 瑠: 38874,\n 瑣: 57586,\n 瑤: 60066,\n 瑩: 57584,\n 瑪: 57587,\n 瑯: 57573,\n 瑰: 57585,\n 瑳: 36282,\n 瑶: 57588,\n 瑾: 57589,\n 璃: 38814,\n 璋: 57590,\n 璞: 57591,\n 璢: 57571,\n 璧: 57592,\n 環: 35522,\n 璽: 36515,\n 瓊: 57593,\n 瓏: 57594,\n 瓔: 57595,\n 瓜: 35162,\n 瓠: 57664,\n 瓢: 38234,\n 瓣: 57665,\n 瓦: 35490,\n 瓧: 57666,\n 瓩: 57667,\n 瓮: 57668,\n 瓰: 57670,\n 瓱: 57671,\n 瓲: 57669,\n 瓶: 38258,\n 瓷: 57673,\n 瓸: 57672,\n 甃: 57675,\n 甄: 57674,\n 甅: 57676,\n 甌: 57677,\n 甍: 57679,\n 甎: 57678,\n 甑: 36249,\n 甓: 57681,\n 甕: 57680,\n 甘: 35523,\n 甚: 36978,\n 甜: 37723,\n 甞: 57682,\n 生: 37046,\n 産: 36441,\n 甥: 35225,\n 甦: 57683,\n 用: 38768,\n 甫: 38369,\n 甬: 57684,\n 田: 37731,\n 由: 38738,\n 甲: 36194,\n 申: 36956,\n 男: 37482,\n 甸: 39346,\n 町: 37548,\n 画: 35302,\n 甼: 57685,\n 畄: 57686,\n 畆: 57691,\n 畉: 57689,\n 畊: 57688,\n 畋: 40384,\n 界: 35397,\n 畍: 57687,\n 畏: 35032,\n 畑: 38056,\n 畔: 38088,\n 留: 38831,\n 畚: 57692,\n 畛: 57690,\n 畜: 37499,\n 畝: 37028,\n 畠: 38057,\n 畢: 38220,\n 畤: 57694,\n 略: 38826,\n 畦: 35948,\n 畧: 57695,\n 畩: 57693,\n 番: 38100,\n 畫: 57696,\n 畭: 57697,\n 異: 35033,\n 畳: 36852,\n 畴: 57702,\n 當: 57699,\n 畷: 37867,\n 畸: 57698,\n 畿: 35653,\n 疂: 57705,\n 疆: 57700,\n 疇: 57701,\n 疉: 57704,\n 疊: 57703,\n 疋: 38212,\n 疎: 37217,\n 疏: 37216,\n 疑: 35678,\n 疔: 57706,\n 疚: 57707,\n 疝: 57708,\n 疣: 57710,\n 疥: 57709,\n 疫: 35189,\n 疱: 57718,\n 疲: 38118,\n 疳: 57712,\n 疵: 57714,\n 疸: 57716,\n 疹: 36957,\n 疼: 57717,\n 疽: 57715,\n 疾: 36542,\n 痂: 57711,\n 痃: 57713,\n 病: 38241,\n 症: 36807,\n 痊: 57720,\n 痍: 57719,\n 痒: 57721,\n 痔: 36516,\n 痕: 36269,\n 痘: 37783,\n 痙: 57722,\n 痛: 37577,\n 痞: 57724,\n 痢: 38815,\n 痣: 57723,\n 痩: 37257,\n 痰: 57730,\n 痲: 57732,\n 痳: 57733,\n 痴: 37491,\n 痺: 57731,\n 痼: 57728,\n 痾: 57725,\n 痿: 57726,\n 瘁: 57729,\n 瘉: 57736,\n 瘋: 57734,\n 瘍: 57735,\n 瘟: 57737,\n 瘠: 57739,\n 瘡: 57740,\n 瘢: 57741,\n 瘤: 57742,\n 瘧: 57738,\n 瘰: 57744,\n 瘴: 57743,\n 瘻: 57745,\n 療: 38851,\n 癆: 57748,\n 癇: 57746,\n 癈: 57747,\n 癌: 35552,\n 癒: 38652,\n 癖: 38344,\n 癘: 57750,\n 癜: 57749,\n 癡: 57751,\n 癢: 57752,\n 癧: 57756,\n 癨: 57753,\n 癩: 57754,\n 癪: 57755,\n 癬: 57757,\n 癰: 57758,\n 癲: 57759,\n 癶: 57760,\n 癸: 57761,\n 発: 38061,\n 登: 37743,\n 發: 57762,\n 白: 38034,\n 百: 38227,\n 皀: 57763,\n 皃: 57764,\n 的: 37705,\n 皆: 35398,\n 皇: 36195,\n 皈: 57765,\n 皋: 57766,\n 皎: 57767,\n 皐: 36424,\n 皓: 57769,\n 皖: 57768,\n 皙: 57770,\n 皚: 57771,\n 皮: 38119,\n 皰: 57772,\n 皴: 57773,\n 皷: 60041,\n 皸: 57774,\n 皹: 57775,\n 皺: 57776,\n 皿: 36429,\n 盂: 57777,\n 盃: 38005,\n 盆: 38526,\n 盈: 35181,\n 益: 35190,\n 盍: 57778,\n 盒: 57780,\n 盖: 57779,\n 盗: 37776,\n 盛: 37047,\n 盜: 40792,\n 盞: 57781,\n 盟: 38591,\n 盡: 57782,\n 監: 35524,\n 盤: 38101,\n 盥: 57783,\n 盧: 57784,\n 盪: 57785,\n 目: 38618,\n 盲: 38611,\n 直: 37564,\n 相: 37258,\n 盻: 57787,\n 盾: 36738,\n 省: 36808,\n 眄: 57790,\n 眇: 57789,\n 眈: 57788,\n 眉: 38139,\n 看: 35525,\n 県: 36007,\n 眛: 57796,\n 眞: 57793,\n 真: 36958,\n 眠: 38576,\n 眤: 57792,\n 眥: 57794,\n 眦: 57795,\n 眩: 57791,\n 眷: 57797,\n 眸: 57798,\n 眺: 37549,\n 眼: 35553,\n 着: 37509,\n 睇: 57799,\n 睚: 57800,\n 睛: 57803,\n 睡: 36999,\n 督: 37826,\n 睥: 57804,\n 睦: 38514,\n 睨: 57801,\n 睫: 57802,\n 睹: 57807,\n 睾: 57806,\n 睿: 57805,\n 瞋: 57809,\n 瞎: 57808,\n 瞑: 57810,\n 瞞: 57812,\n 瞠: 57811,\n 瞥: 38347,\n 瞬: 36725,\n 瞭: 38852,\n 瞰: 57813,\n 瞳: 37813,\n 瞶: 57814,\n 瞹: 57815,\n 瞻: 57819,\n 瞼: 57817,\n 瞽: 57818,\n 瞿: 57816,\n 矇: 57820,\n 矍: 57821,\n 矗: 57822,\n 矚: 57823,\n 矛: 38581,\n 矜: 57824,\n 矢: 38638,\n 矣: 57825,\n 知: 37485,\n 矧: 38026,\n 矩: 35817,\n 短: 37466,\n 矮: 57826,\n 矯: 35768,\n 石: 37070,\n 矼: 57827,\n 砂: 36283,\n 砌: 57828,\n 砒: 57829,\n 研: 36004,\n 砕: 36307,\n 砠: 57831,\n 砥: 37749,\n 砦: 36308,\n 砧: 35693,\n 砲: 38467,\n 破: 37994,\n 砺: 37750,\n 砿: 36219,\n 硅: 57833,\n 硝: 36809,\n 硫: 38832,\n 硬: 36196,\n 硯: 36005,\n 硲: 38049,\n 硴: 57835,\n 硼: 57837,\n 碁: 36073,\n 碆: 57836,\n 碇: 37620,\n 碌: 57839,\n 碍: 35414,\n 碎: 57834,\n 碑: 38120,\n 碓: 35151,\n 碕: 36330,\n 碗: 39025,\n 碚: 57838,\n 碣: 57840,\n 碧: 38345,\n 碩: 37079,\n 碪: 57842,\n 碯: 57843,\n 碵: 57841,\n 確: 35437,\n 碼: 57849,\n 碾: 57848,\n 磁: 36517,\n 磅: 57850,\n 磆: 57845,\n 磊: 57851,\n 磋: 57846,\n 磐: 38102,\n 磑: 57844,\n 磔: 57847,\n 磚: 57921,\n 磧: 57920,\n 磨: 38529,\n 磬: 57852,\n 磯: 35049,\n 磴: 57923,\n 磽: 57922,\n 礁: 36810,\n 礇: 57924,\n 礎: 37218,\n 礑: 57926,\n 礒: 57925,\n 礙: 57927,\n 礦: 57830,\n 礪: 57832,\n 礫: 57929,\n 礬: 57928,\n 示: 36518,\n 礼: 38887,\n 社: 36560,\n 祀: 57930,\n 祁: 35926,\n 祇: 35679,\n 祈: 35654,\n 祉: 36483,\n 祐: 38739,\n 祓: 57936,\n 祕: 57935,\n 祖: 37219,\n 祗: 57932,\n 祚: 57934,\n 祝: 36714,\n 神: 36959,\n 祟: 57933,\n 祠: 57931,\n 祢: 37961,\n 祥: 36811,\n 票: 38235,\n 祭: 36309,\n 祷: 37784,\n 祺: 57937,\n 祿: 57938,\n 禀: 57960,\n 禁: 35798,\n 禄: 39004,\n 禅: 37204,\n 禊: 57939,\n 禍: 35280,\n 禎: 37621,\n 福: 38303,\n 禝: 57940,\n 禦: 35738,\n 禧: 57941,\n 禪: 57943,\n 禮: 57944,\n 禰: 37960,\n 禳: 57945,\n 禹: 57946,\n 禺: 57947,\n 禽: 35799,\n 禾: 35281,\n 禿: 37827,\n 秀: 36679,\n 私: 36484,\n 秉: 57948,\n 秋: 36680,\n 科: 35272,\n 秒: 38242,\n 秕: 57949,\n 秘: 38121,\n 租: 37220,\n 秡: 57952,\n 秣: 57953,\n 秤: 38025,\n 秦: 36960,\n 秧: 57950,\n 秩: 37505,\n 秬: 57951,\n 称: 36812,\n 移: 35034,\n 稀: 35656,\n 稈: 57954,\n 程: 37622,\n 稍: 57955,\n 税: 37061,\n 稔: 38571,\n 稗: 38210,\n 稘: 57956,\n 稙: 57957,\n 稚: 37492,\n 稜: 38853,\n 稟: 57959,\n 稠: 57958,\n 種: 36589,\n 稱: 57961,\n 稲: 35054,\n 稷: 57964,\n 稻: 57962,\n 稼: 35282,\n 稽: 35949,\n 稾: 57963,\n 稿: 36197,\n 穀: 36242,\n 穂: 38372,\n 穃: 57965,\n 穆: 38515,\n 穉: 57967,\n 積: 37071,\n 穎: 35182,\n 穏: 35256,\n 穐: 34986,\n 穗: 57966,\n 穡: 57968,\n 穢: 57969,\n 穣: 36853,\n 穩: 57970,\n 穫: 35438,\n 穰: 57972,\n 穴: 35978,\n 究: 35718,\n 穹: 57973,\n 空: 35827,\n 穽: 57974,\n 穿: 37114,\n 突: 37835,\n 窃: 37086,\n 窄: 36339,\n 窈: 57975,\n 窒: 37506,\n 窓: 37259,\n 窕: 57977,\n 窖: 57979,\n 窗: 57976,\n 窘: 57978,\n 窟: 35905,\n 窩: 57980,\n 窪: 35909,\n 窮: 35719,\n 窯: 38769,\n 窰: 57982,\n 窶: 57984,\n 窺: 35149,\n 窿: 57987,\n 竃: 35478,\n 竄: 57986,\n 竅: 57985,\n 竇: 57989,\n 竈: 57981,\n 竊: 57990,\n 立: 38823,\n 竍: 57991,\n 竏: 57992,\n 竒: 39666,\n 竓: 57994,\n 竕: 57993,\n 站: 57995,\n 竚: 57996,\n 竜: 38835,\n 竝: 57997,\n 竟: 59629,\n 章: 36813,\n 竡: 57998,\n 竢: 57999,\n 竣: 36726,\n 童: 37814,\n 竦: 58000,\n 竪: 37447,\n 竭: 58001,\n 端: 37467,\n 竰: 58002,\n 競: 35747,\n 竸: 39262,\n 竹: 37500,\n 竺: 36529,\n 竿: 35526,\n 笂: 58003,\n 笄: 58016,\n 笆: 58006,\n 笈: 35720,\n 笊: 58005,\n 笋: 58018,\n 笏: 58004,\n 笑: 36814,\n 笘: 58008,\n 笙: 58009,\n 笛: 37706,\n 笞: 58010,\n 笠: 35453,\n 笥: 36985,\n 符: 38276,\n 笨: 58012,\n 第: 37350,\n 笳: 58007,\n 笵: 58011,\n 笶: 58013,\n 笹: 36345,\n 筅: 58020,\n 筆: 38221,\n 筈: 38052,\n 等: 37785,\n 筋: 35800,\n 筌: 58019,\n 筍: 58017,\n 筏: 38067,\n 筐: 58014,\n 筑: 37501,\n 筒: 37787,\n 答: 37786,\n 策: 36340,\n 筝: 58038,\n 筥: 58022,\n 筧: 58024,\n 筬: 58027,\n 筮: 58028,\n 筰: 58025,\n 筱: 58026,\n 筴: 58023,\n 筵: 58021,\n 筺: 58015,\n 箆: 38349,\n 箇: 35283,\n 箋: 58035,\n 箍: 58032,\n 箏: 58037,\n 箒: 58036,\n 箔: 38035,\n 箕: 38565,\n 算: 36442,\n 箘: 58030,\n 箙: 58039,\n 箚: 58034,\n 箜: 58033,\n 箝: 58029,\n 箟: 58031,\n 管: 35527,\n 箪: 37468,\n 箭: 37115,\n 箱: 38048,\n 箴: 58044,\n 箸: 38050,\n 節: 37087,\n 篁: 58041,\n 範: 38093,\n 篆: 58045,\n 篇: 38353,\n 築: 37498,\n 篋: 58040,\n 篌: 58042,\n 篏: 58043,\n 篝: 58046,\n 篠: 36546,\n 篤: 37828,\n 篥: 58051,\n 篦: 58050,\n 篩: 58047,\n 篭: 38997,\n 篳: 58056,\n 篶: 58060,\n 篷: 58057,\n 簀: 58053,\n 簇: 58054,\n 簍: 58059,\n 簑: 58048,\n 簒: 39379,\n 簓: 58055,\n 簔: 58049,\n 簗: 58058,\n 簟: 58064,\n 簡: 35528,\n 簣: 58061,\n 簧: 58062,\n 簪: 58063,\n 簫: 58066,\n 簷: 58065,\n 簸: 38132,\n 簽: 58067,\n 簾: 38906,\n 簿: 38379,\n 籀: 58072,\n 籃: 58069,\n 籌: 58068,\n 籍: 37072,\n 籏: 58071,\n 籐: 58073,\n 籔: 58070,\n 籖: 58077,\n 籘: 58074,\n 籟: 58075,\n 籠: 58052,\n 籤: 58076,\n 籥: 58078,\n 籬: 58079,\n 米: 38340,\n 籵: 58080,\n 籾: 38624,\n 粁: 35788,\n 粂: 35912,\n 粃: 58081,\n 粉: 38322,\n 粋: 37000,\n 粍: 38574,\n 粐: 58082,\n 粒: 38833,\n 粕: 38036,\n 粗: 37221,\n 粘: 37971,\n 粛: 36716,\n 粟: 35006,\n 粡: 58087,\n 粢: 58085,\n 粤: 58083,\n 粥: 35487,\n 粧: 36815,\n 粨: 58088,\n 粫: 58086,\n 粭: 58084,\n 粮: 58092,\n 粱: 58091,\n 粲: 58090,\n 粳: 58089,\n 粹: 58093,\n 粽: 58094,\n 精: 37048,\n 糀: 58095,\n 糂: 58097,\n 糅: 58096,\n 糊: 36048,\n 糎: 37207,\n 糒: 58099,\n 糖: 37788,\n 糘: 58098,\n 糜: 58100,\n 糞: 38323,\n 糟: 37260,\n 糠: 36198,\n 糢: 58101,\n 糧: 38854,\n 糯: 58103,\n 糲: 58104,\n 糴: 58105,\n 糶: 58106,\n 糸: 36485,\n 糺: 58107,\n 系: 35950,\n 糾: 35722,\n 紀: 35657,\n 紂: 58176,\n 約: 38641,\n 紅: 36199,\n 紆: 58108,\n 紊: 58179,\n 紋: 38628,\n 納: 37979,\n 紐: 38226,\n 純: 36739,\n 紕: 58178,\n 紗: 36561,\n 紘: 36200,\n 紙: 36486,\n 級: 35721,\n 紛: 38324,\n 紜: 58177,\n 素: 37222,\n 紡: 38497,\n 索: 36341,\n 紫: 36487,\n 紬: 37595,\n 紮: 58182,\n 累: 38877,\n 細: 36311,\n 紲: 58183,\n 紳: 36961,\n 紵: 58185,\n 紹: 36816,\n 紺: 36270,\n 紿: 58184,\n 終: 36681,\n 絃: 36028,\n 組: 37223,\n 絅: 58180,\n 絆: 58186,\n 絋: 58181,\n 経: 35951,\n 絎: 58189,\n 絏: 58193,\n 結: 35979,\n 絖: 58188,\n 絛: 58197,\n 絞: 36201,\n 絡: 38797,\n 絢: 35002,\n 絣: 58194,\n 給: 35723,\n 絨: 58191,\n 絮: 58192,\n 統: 37789,\n 絲: 58190,\n 絳: 58187,\n 絵: 35399,\n 絶: 37090,\n 絹: 36006,\n 絽: 58199,\n 綉: 58196,\n 綏: 58198,\n 經: 58195,\n 継: 35952,\n 続: 37297,\n 綛: 58200,\n 綜: 37262,\n 綟: 58213,\n 綢: 58209,\n 綣: 58203,\n 綫: 58207,\n 綬: 36600,\n 維: 35035,\n 綮: 58202,\n 綯: 58210,\n 綰: 58214,\n 綱: 36202,\n 網: 38612,\n 綴: 37588,\n 綵: 58204,\n 綸: 58212,\n 綺: 58201,\n 綻: 37469,\n 綽: 58206,\n 綾: 35003,\n 綿: 38600,\n 緇: 58205,\n 緊: 35801,\n 緋: 38122,\n 総: 37261,\n 緑: 38862,\n 緒: 36751,\n 緕: 58254,\n 緘: 58215,\n 線: 37116,\n 緜: 58211,\n 緝: 58216,\n 緞: 58218,\n 締: 37623,\n 緡: 58221,\n 緤: 58217,\n 編: 38354,\n 緩: 35529,\n 緬: 38601,\n 緯: 35036,\n 緲: 58220,\n 練: 38907,\n 緻: 58219,\n 縁: 35215,\n 縄: 37866,\n 縅: 58222,\n 縉: 58229,\n 縊: 58223,\n 縋: 58230,\n 縒: 58226,\n 縛: 38043,\n 縞: 36552,\n 縟: 58228,\n 縡: 58225,\n 縢: 58231,\n 縣: 58224,\n 縦: 36707,\n 縫: 38468,\n 縮: 36715,\n 縱: 58227,\n 縲: 58240,\n 縵: 58235,\n 縷: 58238,\n 縹: 58236,\n 縺: 58241,\n 縻: 58234,\n 總: 58208,\n 績: 37073,\n 繁: 38089,\n 繃: 58237,\n 繆: 58232,\n 繊: 37184,\n 繋: 35953,\n 繍: 36682,\n 織: 36932,\n 繕: 37205,\n 繖: 58244,\n 繙: 58246,\n 繚: 58247,\n 繝: 58243,\n 繞: 58245,\n 繦: 58233,\n 繧: 58242,\n 繩: 58250,\n 繪: 58249,\n 繭: 38554,\n 繰: 35914,\n 繹: 58248,\n 繻: 58252,\n 繼: 58251,\n 繽: 58255,\n 繿: 58257,\n 纂: 36443,\n 纃: 58253,\n 纈: 58258,\n 纉: 58259,\n 續: 58260,\n 纎: 58266,\n 纏: 37722,\n 纐: 58262,\n 纒: 58261,\n 纓: 58263,\n 纔: 58264,\n 纖: 58265,\n 纛: 58267,\n 纜: 58268,\n 缶: 35530,\n 缸: 58269,\n 缺: 58270,\n 罅: 58271,\n 罌: 58272,\n 罍: 58273,\n 罎: 58274,\n 罐: 58275,\n 网: 58276,\n 罔: 58278,\n 罕: 58277,\n 罘: 58279,\n 罟: 58280,\n 罠: 58281,\n 罧: 58284,\n 罨: 58282,\n 罩: 58283,\n 罪: 36319,\n 罫: 35954,\n 置: 37493,\n 罰: 38065,\n 署: 36752,\n 罵: 37996,\n 罷: 38123,\n 罸: 58285,\n 罹: 40171,\n 羂: 58286,\n 羃: 58288,\n 羅: 38789,\n 羆: 58287,\n 羇: 58290,\n 羈: 58289,\n 羊: 38770,\n 羌: 58291,\n 美: 38140,\n 羔: 58292,\n 羚: 58295,\n 羝: 58294,\n 羞: 58293,\n 羣: 58296,\n 群: 35921,\n 羨: 37185,\n 義: 35680,\n 羮: 58300,\n 羯: 58297,\n 羲: 58298,\n 羶: 58301,\n 羸: 58302,\n 羹: 58299,\n 羽: 35144,\n 翁: 35237,\n 翅: 58304,\n 翆: 58305,\n 翊: 58306,\n 翌: 38786,\n 習: 36683,\n 翔: 58308,\n 翕: 58307,\n 翠: 37001,\n 翡: 58309,\n 翦: 58310,\n 翩: 58311,\n 翫: 35555,\n 翰: 35531,\n 翳: 58312,\n 翹: 58313,\n 翻: 38524,\n 翼: 38787,\n 耀: 38771,\n 老: 38998,\n 考: 36204,\n 耄: 58316,\n 者: 36562,\n 耆: 58315,\n 耋: 58317,\n 而: 36519,\n 耐: 37327,\n 耒: 58318,\n 耕: 36203,\n 耗: 38613,\n 耘: 58319,\n 耙: 58320,\n 耜: 58321,\n 耡: 58322,\n 耨: 58323,\n 耳: 36520,\n 耶: 38635,\n 耻: 58325,\n 耽: 37470,\n 耿: 58324,\n 聆: 58327,\n 聊: 58326,\n 聒: 58328,\n 聖: 37049,\n 聘: 58329,\n 聚: 58330,\n 聞: 38327,\n 聟: 58331,\n 聡: 37263,\n 聢: 58332,\n 聨: 58333,\n 聯: 38908,\n 聰: 58336,\n 聲: 58335,\n 聳: 58334,\n 聴: 37550,\n 聶: 58337,\n 職: 36933,\n 聹: 58338,\n 聽: 58339,\n 聾: 38999,\n 聿: 58340,\n 肄: 58341,\n 肅: 58343,\n 肆: 58342,\n 肇: 38051,\n 肉: 37879,\n 肋: 39005,\n 肌: 38055,\n 肓: 58345,\n 肖: 36817,\n 肘: 38217,\n 肚: 58346,\n 肛: 58344,\n 肝: 35532,\n 股: 36050,\n 肢: 36488,\n 肥: 38124,\n 肩: 36008,\n 肪: 38498,\n 肬: 58349,\n 肭: 58347,\n 肯: 36205,\n 肱: 36206,\n 育: 35047,\n 肴: 36326,\n 肺: 38008,\n 胃: 35037,\n 胄: 58354,\n 胆: 37471,\n 背: 38007,\n 胎: 37337,\n 胖: 58356,\n 胙: 58352,\n 胚: 58355,\n 胛: 58350,\n 胝: 58353,\n 胞: 38469,\n 胡: 36051,\n 胤: 35067,\n 胥: 58351,\n 胯: 58358,\n 胱: 58359,\n 胴: 37815,\n 胸: 35769,\n 胼: 58437,\n 能: 37980,\n 脂: 36489,\n 脅: 35770,\n 脆: 37062,\n 脇: 39013,\n 脈: 38572,\n 脉: 58357,\n 脊: 37074,\n 脚: 35698,\n 脛: 58360,\n 脣: 58362,\n 脩: 58361,\n 脯: 58363,\n 脱: 37445,\n 脳: 37981,\n 脹: 37551,\n 脾: 58434,\n 腆: 58433,\n 腋: 58364,\n 腎: 36980,\n 腐: 38277,\n 腑: 58436,\n 腓: 58435,\n 腔: 36207,\n 腕: 39026,\n 腟: 58452,\n 腥: 58440,\n 腦: 58441,\n 腫: 36590,\n 腮: 58439,\n 腰: 36248,\n 腱: 58438,\n 腴: 58442,\n 腸: 37552,\n 腹: 38304,\n 腺: 37186,\n 腿: 37338,\n 膀: 58446,\n 膂: 58447,\n 膃: 58443,\n 膈: 58444,\n 膊: 58445,\n 膏: 36208,\n 膓: 58453,\n 膕: 58449,\n 膚: 38278,\n 膜: 38540,\n 膝: 38215,\n 膠: 58448,\n 膣: 58451,\n 膤: 58450,\n 膨: 38499,\n 膩: 58454,\n 膰: 58455,\n 膳: 37206,\n 膵: 58456,\n 膸: 58458,\n 膺: 58462,\n 膽: 58459,\n 膾: 58457,\n 膿: 37982,\n 臀: 58460,\n 臂: 58461,\n 臆: 35248,\n 臈: 58468,\n 臉: 58463,\n 臍: 58464,\n 臑: 58465,\n 臓: 37279,\n 臘: 58467,\n 臙: 58466,\n 臚: 58469,\n 臟: 58470,\n 臠: 58471,\n 臣: 36962,\n 臥: 35303,\n 臧: 58472,\n 臨: 38869,\n 自: 36521,\n 臭: 36684,\n 至: 36490,\n 致: 37494,\n 臺: 58473,\n 臻: 58474,\n 臼: 35152,\n 臾: 58475,\n 舁: 58476,\n 舂: 58477,\n 舅: 58478,\n 與: 58479,\n 興: 35771,\n 舉: 40360,\n 舊: 58480,\n 舌: 37091,\n 舍: 58481,\n 舎: 36553,\n 舐: 58482,\n 舒: 39086,\n 舖: 58483,\n 舗: 38364,\n 舘: 35546,\n 舛: 37187,\n 舜: 36727,\n 舞: 38289,\n 舟: 36685,\n 舩: 58484,\n 航: 36209,\n 舫: 58485,\n 般: 38090,\n 舮: 58500,\n 舳: 58487,\n 舵: 37319,\n 舶: 38037,\n 舷: 36029,\n 舸: 58486,\n 船: 37188,\n 艀: 58488,\n 艇: 37624,\n 艘: 58490,\n 艙: 58489,\n 艚: 58492,\n 艝: 58491,\n 艟: 58493,\n 艢: 58496,\n 艤: 58494,\n 艦: 35533,\n 艨: 58497,\n 艪: 58498,\n 艫: 58499,\n 艮: 36271,\n 良: 38855,\n 艱: 58501,\n 色: 36934,\n 艶: 35216,\n 艷: 58502,\n 艸: 58503,\n 艾: 58504,\n 芋: 35056,\n 芍: 58505,\n 芒: 58506,\n 芙: 38279,\n 芝: 36549,\n 芟: 58508,\n 芥: 35400,\n 芦: 34992,\n 芫: 58507,\n 芬: 58510,\n 芭: 37997,\n 芯: 36963,\n 花: 35284,\n 芳: 38470,\n 芸: 35964,\n 芹: 35802,\n 芻: 58509,\n 芽: 35304,\n 苅: 35489,\n 苑: 35217,\n 苒: 58514,\n 苓: 38888,\n 苔: 37339,\n 苗: 38243,\n 苙: 58526,\n 苛: 35285,\n 苜: 58524,\n 苞: 58522,\n 苟: 58513,\n 苡: 58511,\n 苣: 58512,\n 若: 36577,\n 苦: 35818,\n 苧: 37527,\n 苫: 37839,\n 英: 35184,\n 苳: 58516,\n 苴: 58515,\n 苹: 58521,\n 苺: 58517,\n 苻: 58520,\n 茂: 38606,\n 范: 58519,\n 茄: 35286,\n 茅: 35485,\n 茆: 58523,\n 茉: 58525,\n 茎: 35955,\n 茖: 58529,\n 茗: 58538,\n 茘: 58539,\n 茜: 34985,\n 茣: 58546,\n 茨: 35055,\n 茫: 58537,\n 茯: 58536,\n 茱: 58531,\n 茲: 58530,\n 茴: 58528,\n 茵: 58527,\n 茶: 37507,\n 茸: 37369,\n 茹: 58533,\n 荀: 58532,\n 荅: 58535,\n 草: 37264,\n 荊: 35956,\n 荏: 35168,\n 荐: 58534,\n 荒: 36210,\n 荘: 37265,\n 荳: 58552,\n 荵: 58553,\n 荷: 35287,\n 荻: 35244,\n 荼: 58550,\n 莅: 58540,\n 莇: 58548,\n 莉: 58555,\n 莊: 58549,\n 莎: 58547,\n 莓: 58518,\n 莖: 58545,\n 莚: 58541,\n 莞: 35534,\n 莟: 58543,\n 莠: 58554,\n 莢: 58544,\n 莨: 58556,\n 莪: 58542,\n 莫: 38044,\n 莱: 38793,\n 莵: 58551,\n 莽: 58573,\n 菁: 58565,\n 菅: 37019,\n 菊: 35685,\n 菌: 35803,\n 菎: 58560,\n 菓: 35289,\n 菖: 36818,\n 菘: 58563,\n 菜: 36312,\n 菟: 37744,\n 菠: 58568,\n 菩: 38380,\n 菫: 58559,\n 華: 35288,\n 菰: 36052,\n 菱: 38216,\n 菲: 58569,\n 菴: 58557,\n 菷: 58566,\n 菻: 58576,\n 菽: 58561,\n 萃: 58562,\n 萄: 37816,\n 萇: 58567,\n 萋: 58564,\n 萌: 38471,\n 萍: 58570,\n 萎: 35038,\n 萓: 58558,\n 萠: 58572,\n 萢: 58571,\n 萩: 38027,\n 萪: 58578,\n 萬: 58589,\n 萱: 35486,\n 萵: 58592,\n 萸: 58574,\n 萼: 58579,\n 落: 38798,\n 葆: 58588,\n 葉: 38772,\n 葎: 38824,\n 著: 37528,\n 葛: 35467,\n 葡: 38290,\n 葢: 58594,\n 董: 37791,\n 葦: 34991,\n 葩: 58587,\n 葫: 58583,\n 葬: 37266,\n 葭: 58577,\n 葮: 58585,\n 葯: 58590,\n 葱: 37963,\n 葵: 34984,\n 葷: 58582,\n 葹: 58591,\n 葺: 38296,\n 蒂: 58586,\n 蒄: 58581,\n 蒋: 36819,\n 蒐: 36686,\n 蒔: 36522,\n 蒙: 38614,\n 蒜: 38246,\n 蒟: 58597,\n 蒡: 58606,\n 蒭: 58584,\n 蒲: 35479,\n 蒸: 36854,\n 蒹: 58595,\n 蒻: 58600,\n 蒼: 37267,\n 蒿: 58596,\n 蓁: 58603,\n 蓄: 37502,\n 蓆: 58604,\n 蓉: 38773,\n 蓊: 58593,\n 蓋: 35415,\n 蓍: 58599,\n 蓐: 58602,\n 蓑: 38570,\n 蓖: 58605,\n 蓙: 58598,\n 蓚: 58601,\n 蓬: 38472,\n 蓮: 38976,\n 蓴: 58609,\n 蓼: 58616,\n 蓿: 58608,\n 蔀: 36545,\n 蔆: 58575,\n 蔑: 38348,\n 蔓: 38560,\n 蔔: 58615,\n 蔕: 58614,\n 蔗: 58610,\n 蔘: 58611,\n 蔚: 35157,\n 蔟: 58613,\n 蔡: 58607,\n 蔦: 37587,\n 蔬: 58612,\n 蔭: 35068,\n 蔵: 37280,\n 蔽: 38337,\n 蕀: 58617,\n 蕁: 58688,\n 蕃: 38103,\n 蕈: 58620,\n 蕉: 36820,\n 蕊: 36551,\n 蕋: 58690,\n 蕎: 35772,\n 蕕: 58691,\n 蕗: 38297,\n 蕘: 58619,\n 蕚: 58580,\n 蕣: 58618,\n 蕨: 39022,\n 蕩: 37792,\n 蕪: 38291,\n 蕭: 58698,\n 蕷: 58704,\n 蕾: 58705,\n 薀: 58692,\n 薄: 38038,\n 薇: 58702,\n 薈: 58694,\n 薊: 58696,\n 薐: 58706,\n 薑: 58695,\n 薔: 58699,\n 薗: 35218,\n 薙: 37859,\n 薛: 58700,\n 薜: 58703,\n 薤: 58693,\n 薦: 37189,\n 薨: 58697,\n 薩: 36422,\n 薪: 36964,\n 薫: 35919,\n 薬: 38642,\n 薮: 38647,\n 薯: 36754,\n 薹: 58710,\n 薺: 58708,\n 藁: 39021,\n 藉: 58707,\n 藍: 38805,\n 藏: 58709,\n 藐: 58711,\n 藕: 58712,\n 藜: 58715,\n 藝: 58713,\n 藤: 37793,\n 藥: 58714,\n 藩: 38091,\n 藪: 58701,\n 藷: 36755,\n 藹: 58716,\n 藺: 58721,\n 藻: 37268,\n 藾: 58720,\n 蘂: 58689,\n 蘆: 58722,\n 蘇: 37224,\n 蘊: 58717,\n 蘋: 58719,\n 蘓: 58718,\n 蘖: 40784,\n 蘗: 40769,\n 蘚: 58724,\n 蘢: 58723,\n 蘭: 38806,\n 蘯: 57786,\n 蘰: 58725,\n 蘿: 58726,\n 虍: 58727,\n 虎: 36053,\n 虐: 35699,\n 虔: 58729,\n 處: 39292,\n 虚: 35733,\n 虜: 38840,\n 虞: 35825,\n 號: 58730,\n 虧: 58731,\n 虫: 37518,\n 虱: 58732,\n 虹: 37880,\n 虻: 35000,\n 蚊: 35297,\n 蚋: 58737,\n 蚌: 58738,\n 蚓: 58733,\n 蚕: 36444,\n 蚣: 58734,\n 蚤: 37985,\n 蚩: 58735,\n 蚪: 58736,\n 蚫: 58746,\n 蚯: 58740,\n 蚰: 58743,\n 蚶: 58739,\n 蛄: 58741,\n 蛆: 58742,\n 蛇: 36566,\n 蛉: 58744,\n 蛋: 37472,\n 蛍: 35957,\n 蛎: 35425,\n 蛔: 58747,\n 蛙: 35422,\n 蛛: 58753,\n 蛞: 58748,\n 蛟: 58752,\n 蛤: 38072,\n 蛩: 58749,\n 蛬: 58750,\n 蛭: 38247,\n 蛮: 38104,\n 蛯: 58754,\n 蛸: 37371,\n 蛹: 58764,\n 蛻: 58760,\n 蛾: 35305,\n 蜀: 58758,\n 蜂: 38473,\n 蜃: 58759,\n 蜆: 58756,\n 蜈: 58757,\n 蜉: 58762,\n 蜊: 58765,\n 蜍: 58763,\n 蜑: 58761,\n 蜒: 58755,\n 蜘: 37495,\n 蜚: 58772,\n 蜜: 38568,\n 蜥: 58770,\n 蜩: 58771,\n 蜴: 58766,\n 蜷: 58768,\n 蜻: 58769,\n 蜿: 58767,\n 蝉: 37092,\n 蝋: 39000,\n 蝌: 58776,\n 蝎: 58777,\n 蝓: 58783,\n 蝕: 36937,\n 蝗: 58779,\n 蝙: 58782,\n 蝟: 58774,\n 蝠: 58773,\n 蝣: 58784,\n 蝦: 35290,\n 蝨: 58780,\n 蝪: 58785,\n 蝮: 58781,\n 蝴: 58778,\n 蝶: 37553,\n 蝸: 58775,\n 蝿: 38024,\n 螂: 58789,\n 融: 38746,\n 螟: 58788,\n 螢: 58787,\n 螫: 58796,\n 螯: 58790,\n 螳: 58798,\n 螺: 38790,\n 螻: 58801,\n 螽: 58792,\n 蟀: 58793,\n 蟄: 58797,\n 蟆: 58800,\n 蟇: 58799,\n 蟋: 58791,\n 蟐: 58794,\n 蟒: 58811,\n 蟠: 58804,\n 蟯: 58802,\n 蟲: 58803,\n 蟶: 58808,\n 蟷: 58809,\n 蟹: 35401,\n 蟻: 35681,\n 蟾: 58807,\n 蠅: 58786,\n 蠍: 58806,\n 蠎: 58810,\n 蠏: 58805,\n 蠑: 58812,\n 蠕: 58814,\n 蠖: 58813,\n 蠡: 58816,\n 蠢: 58815,\n 蠣: 58745,\n 蠧: 58820,\n 蠱: 58817,\n 蠶: 58818,\n 蠹: 58819,\n 蠻: 58821,\n 血: 35980,\n 衂: 58823,\n 衄: 58822,\n 衆: 36687,\n 行: 36211,\n 衍: 40869,\n 衒: 58824,\n 術: 36720,\n 街: 35416,\n 衙: 58825,\n 衛: 35185,\n 衝: 36821,\n 衞: 58826,\n 衡: 36212,\n 衢: 58827,\n 衣: 35039,\n 表: 38236,\n 衫: 58828,\n 衰: 37002,\n 衲: 58835,\n 衵: 58832,\n 衷: 37519,\n 衽: 58833,\n 衾: 58830,\n 衿: 35804,\n 袁: 58829,\n 袂: 58836,\n 袈: 35925,\n 袋: 37340,\n 袍: 58842,\n 袒: 58838,\n 袖: 37299,\n 袗: 58837,\n 袙: 58840,\n 袞: 58831,\n 袢: 58841,\n 袤: 58843,\n 被: 38125,\n 袮: 58839,\n 袰: 58844,\n 袱: 58846,\n 袴: 36049,\n 袵: 58834,\n 袷: 35007,\n 袿: 58845,\n 裁: 36313,\n 裂: 38900,\n 裃: 58847,\n 裄: 58848,\n 装: 37269,\n 裏: 38816,\n 裔: 58849,\n 裕: 38740,\n 裘: 58850,\n 裙: 58851,\n 補: 38370,\n 裝: 58852,\n 裟: 36286,\n 裡: 38817,\n 裨: 58857,\n 裲: 58858,\n 裳: 36822,\n 裴: 58856,\n 裸: 38791,\n 裹: 58853,\n 裼: 58855,\n 製: 37051,\n 裾: 37022,\n 褂: 58854,\n 褄: 58859,\n 複: 38305,\n 褊: 58861,\n 褌: 58860,\n 褐: 35468,\n 褒: 38474,\n 褓: 58862,\n 褝: 58874,\n 褞: 58864,\n 褥: 58865,\n 褪: 58866,\n 褫: 58867,\n 褶: 58871,\n 褸: 58872,\n 褻: 58870,\n 襁: 58868,\n 襃: 58863,\n 襄: 58869,\n 襌: 58873,\n 襍: 59573,\n 襖: 35238,\n 襞: 58876,\n 襟: 35805,\n 襠: 58875,\n 襤: 58945,\n 襦: 58944,\n 襪: 58947,\n 襭: 58946,\n 襯: 58948,\n 襲: 36688,\n 襴: 58949,\n 襷: 58950,\n 襾: 58951,\n 西: 37052,\n 要: 38774,\n 覃: 58952,\n 覆: 38306,\n 覇: 37989,\n 覈: 58953,\n 覊: 58954,\n 見: 36009,\n 規: 35659,\n 覓: 58955,\n 視: 36491,\n 覗: 37984,\n 覘: 58956,\n 覚: 35439,\n 覡: 58957,\n 覦: 58959,\n 覧: 38807,\n 覩: 58958,\n 親: 36965,\n 覬: 58960,\n 覯: 58961,\n 覲: 58962,\n 観: 35535,\n 覺: 58963,\n 覽: 58964,\n 覿: 58965,\n 觀: 58966,\n 角: 35440,\n 觚: 58967,\n 觜: 58968,\n 觝: 58969,\n 解: 35312,\n 触: 36935,\n 觧: 58970,\n 觴: 58971,\n 觸: 58972,\n 言: 36030,\n 訂: 37625,\n 訃: 58973,\n 計: 35958,\n 訊: 36981,\n 訌: 58976,\n 討: 37794,\n 訐: 58975,\n 訓: 35920,\n 訖: 58974,\n 託: 37365,\n 記: 35660,\n 訛: 58977,\n 訝: 58978,\n 訟: 36823,\n 訣: 35981,\n 訥: 58979,\n 訪: 38475,\n 設: 37085,\n 許: 35734,\n 訳: 38643,\n 訴: 37225,\n 訶: 58980,\n 診: 36966,\n 註: 37520,\n 証: 36824,\n 詁: 58981,\n 詆: 58984,\n 詈: 58985,\n 詐: 36284,\n 詑: 37312,\n 詒: 58983,\n 詔: 36825,\n 評: 38237,\n 詛: 58982,\n 詞: 36492,\n 詠: 35186,\n 詢: 58989,\n 詣: 35959,\n 試: 36494,\n 詩: 36493,\n 詫: 39020,\n 詬: 58988,\n 詭: 58987,\n 詮: 37190,\n 詰: 35692,\n 話: 39010,\n 該: 35417,\n 詳: 36826,\n 詼: 58986,\n 誂: 58991,\n 誄: 58992,\n 誅: 58990,\n 誇: 36054,\n 誉: 38751,\n 誌: 36495,\n 認: 37958,\n 誑: 58995,\n 誓: 37054,\n 誕: 37473,\n 誘: 38741,\n 誚: 58998,\n 語: 36074,\n 誠: 37053,\n 誡: 58994,\n 誣: 58999,\n 誤: 36075,\n 誥: 58996,\n 誦: 58997,\n 誨: 58993,\n 説: 37088,\n 読: 37831,\n 誰: 37454,\n 課: 35291,\n 誹: 38126,\n 誼: 35682,\n 調: 37554,\n 諂: 59002,\n 諄: 59000,\n 談: 37483,\n 請: 37055,\n 諌: 35536,\n 諍: 59001,\n 諏: 36986,\n 諒: 38856,\n 論: 39007,\n 諚: 59003,\n 諛: 59015,\n 諜: 37555,\n 諞: 59014,\n 諠: 59011,\n 諡: 59019,\n 諢: 59012,\n 諤: 59008,\n 諦: 37626,\n 諧: 59006,\n 諫: 59004,\n 諭: 38720,\n 諮: 36496,\n 諱: 59009,\n 諳: 59005,\n 諷: 59013,\n 諸: 36756,\n 諺: 36031,\n 諾: 37368,\n 謀: 38500,\n 謁: 35193,\n 謂: 35040,\n 謄: 37795,\n 謇: 59017,\n 謌: 59016,\n 謎: 37860,\n 謐: 59021,\n 謔: 59010,\n 謖: 59020,\n 謗: 59022,\n 謙: 36010,\n 謚: 59018,\n 講: 36213,\n 謝: 36563,\n 謠: 59023,\n 謡: 38775,\n 謦: 59026,\n 謨: 59029,\n 謫: 59027,\n 謬: 38228,\n 謳: 59024,\n 謹: 35806,\n 謾: 59028,\n 譁: 59030,\n 證: 59034,\n 譌: 59031,\n 譎: 59033,\n 譏: 59032,\n 譖: 59035,\n 識: 36527,\n 譚: 59037,\n 譛: 59036,\n 譜: 38280,\n 譟: 59039,\n 警: 35960,\n 譫: 59038,\n 譬: 59040,\n 譯: 59041,\n 議: 35683,\n 譱: 58303,\n 譲: 36855,\n 譴: 59042,\n 護: 36076,\n 譽: 59043,\n 讀: 59044,\n 讃: 36445,\n 變: 40396,\n 讌: 59045,\n 讎: 59046,\n 讐: 36689,\n 讒: 59047,\n 讓: 59048,\n 讖: 59049,\n 讙: 59050,\n 讚: 59051,\n 谷: 37450,\n 谺: 59052,\n 谿: 59054,\n 豁: 59053,\n 豆: 37796,\n 豈: 59055,\n 豊: 38476,\n 豌: 59056,\n 豎: 59057,\n 豐: 59058,\n 豕: 59059,\n 豚: 37848,\n 象: 36827,\n 豢: 59060,\n 豪: 36235,\n 豫: 39084,\n 豬: 59061,\n 豸: 59062,\n 豹: 38238,\n 豺: 59063,\n 豼: 59071,\n 貂: 59064,\n 貅: 59066,\n 貉: 59065,\n 貊: 59067,\n 貌: 38501,\n 貍: 59068,\n 貎: 59069,\n 貔: 59070,\n 貘: 59072,\n 貝: 35404,\n 貞: 37605,\n 負: 38281,\n 財: 36320,\n 貢: 36214,\n 貧: 38254,\n 貨: 35293,\n 販: 38092,\n 貪: 59075,\n 貫: 35537,\n 責: 37075,\n 貭: 59074,\n 貮: 59079,\n 貯: 37529,\n 貰: 38625,\n 貲: 59077,\n 貳: 59078,\n 貴: 35661,\n 貶: 59080,\n 買: 38019,\n 貸: 37341,\n 費: 38127,\n 貼: 37724,\n 貽: 59076,\n 貿: 38502,\n 賀: 35306,\n 賁: 59082,\n 賂: 38983,\n 賃: 37568,\n 賄: 39012,\n 資: 36497,\n 賈: 59081,\n 賊: 37295,\n 賍: 59098,\n 賎: 37191,\n 賑: 37878,\n 賓: 38255,\n 賚: 59085,\n 賛: 36446,\n 賜: 36498,\n 賞: 36828,\n 賠: 38021,\n 賢: 36011,\n 賣: 59084,\n 賤: 59083,\n 賦: 38282,\n 質: 36543,\n 賭: 37745,\n 賺: 59087,\n 賻: 59088,\n 購: 36215,\n 賽: 59086,\n 贄: 59089,\n 贅: 59090,\n 贇: 59092,\n 贈: 37281,\n 贊: 59091,\n 贋: 35556,\n 贍: 59094,\n 贏: 59093,\n 贐: 59095,\n 贓: 59097,\n 贔: 59099,\n 贖: 59100,\n 赤: 37076,\n 赦: 36557,\n 赧: 59101,\n 赫: 35441,\n 赭: 59102,\n 走: 37270,\n 赱: 59103,\n 赳: 59104,\n 赴: 38283,\n 起: 35662,\n 趁: 59105,\n 超: 37556,\n 越: 35194,\n 趙: 59106,\n 趣: 36591,\n 趨: 37014,\n 足: 37291,\n 趺: 59109,\n 趾: 59108,\n 跂: 59107,\n 跋: 59115,\n 跌: 59113,\n 跏: 59110,\n 跖: 59112,\n 跚: 59111,\n 跛: 59114,\n 距: 35735,\n 跟: 59118,\n 跡: 37077,\n 跣: 59119,\n 跨: 36055,\n 跪: 59116,\n 跫: 59117,\n 路: 38984,\n 跳: 37557,\n 践: 37192,\n 跼: 59120,\n 跿: 59123,\n 踈: 59121,\n 踉: 59122,\n 踊: 38776,\n 踏: 37797,\n 踐: 59126,\n 踝: 59124,\n 踞: 59125,\n 踟: 59127,\n 踪: 59208,\n 踰: 59130,\n 踴: 59131,\n 踵: 59129,\n 蹂: 59128,\n 蹄: 37627,\n 蹇: 59200,\n 蹈: 59204,\n 蹉: 59201,\n 蹊: 59132,\n 蹌: 59202,\n 蹐: 59203,\n 蹕: 59210,\n 蹙: 59205,\n 蹟: 37078,\n 蹠: 59207,\n 蹣: 59209,\n 蹤: 59206,\n 蹲: 59212,\n 蹴: 36690,\n 蹶: 59211,\n 蹼: 59213,\n 躁: 59214,\n 躄: 59217,\n 躅: 59216,\n 躇: 59215,\n 躊: 59219,\n 躋: 59218,\n 躍: 38644,\n 躑: 59221,\n 躓: 59220,\n 躔: 59222,\n 躙: 59223,\n 躡: 59225,\n 躪: 59224,\n 身: 36967,\n 躬: 59226,\n 躯: 35819,\n 躰: 59227,\n 躱: 59229,\n 躾: 59230,\n 軅: 59231,\n 軆: 59228,\n 軈: 59232,\n 車: 36564,\n 軋: 59233,\n 軌: 35663,\n 軍: 35922,\n 軒: 36012,\n 軛: 59234,\n 軟: 37870,\n 転: 37725,\n 軣: 59235,\n 軫: 59238,\n 軸: 36530,\n 軻: 59237,\n 軼: 59236,\n 軽: 35961,\n 軾: 59239,\n 較: 35442,\n 輅: 59241,\n 載: 36314,\n 輊: 59240,\n 輌: 59249,\n 輒: 59243,\n 輓: 59245,\n 輔: 38371,\n 輕: 59242,\n 輙: 59244,\n 輛: 59248,\n 輜: 59246,\n 輝: 35664,\n 輟: 59247,\n 輦: 59250,\n 輩: 38009,\n 輪: 38870,\n 輯: 36691,\n 輳: 59251,\n 輸: 38721,\n 輹: 59253,\n 輻: 59252,\n 輾: 59256,\n 輿: 38752,\n 轂: 59255,\n 轄: 35469,\n 轅: 59254,\n 轆: 59259,\n 轉: 59258,\n 轌: 59257,\n 轍: 37713,\n 轎: 59260,\n 轗: 59261,\n 轜: 59262,\n 轟: 36236,\n 轡: 35908,\n 轢: 59264,\n 轣: 59265,\n 轤: 59266,\n 辛: 36968,\n 辜: 59267,\n 辞: 36523,\n 辟: 59268,\n 辣: 59269,\n 辧: 39327,\n 辨: 39326,\n 辭: 59270,\n 辮: 58256,\n 辯: 59271,\n 辰: 37443,\n 辱: 36938,\n 農: 37983,\n 辷: 59272,\n 辺: 38355,\n 辻: 37586,\n 込: 36254,\n 辿: 37448,\n 迂: 35145,\n 迄: 38552,\n 迅: 36982,\n 迎: 35965,\n 近: 35807,\n 返: 38356,\n 迚: 59273,\n 迢: 59275,\n 迥: 59274,\n 迦: 35294,\n 迩: 37876,\n 迪: 59276,\n 迫: 38039,\n 迭: 37714,\n 迯: 59277,\n 述: 36721,\n 迴: 59279,\n 迷: 38592,\n 迸: 59294,\n 迹: 59281,\n 迺: 59282,\n 追: 37575,\n 退: 37342,\n 送: 37271,\n 逃: 37798,\n 逅: 59280,\n 逆: 35700,\n 逋: 59289,\n 逍: 59286,\n 逎: 59299,\n 透: 37799,\n 逐: 37504,\n 逑: 59283,\n 逓: 37628,\n 途: 37746,\n 逕: 59284,\n 逖: 59288,\n 逗: 36992,\n 這: 38023,\n 通: 37578,\n 逝: 37056,\n 逞: 59287,\n 速: 37292,\n 造: 37282,\n 逡: 59285,\n 逢: 34983,\n 連: 38977,\n 逧: 59290,\n 逮: 37343,\n 週: 36692,\n 進: 36969,\n 逵: 59292,\n 逶: 59291,\n 逸: 35053,\n 逹: 59293,\n 逼: 38222,\n 逾: 59301,\n 遁: 37849,\n 遂: 37003,\n 遅: 37496,\n 遇: 35830,\n 遉: 59300,\n 遊: 38742,\n 運: 35166,\n 遍: 38357,\n 過: 35295,\n 遏: 59295,\n 遐: 59296,\n 遑: 59297,\n 遒: 59298,\n 道: 37817,\n 達: 37442,\n 違: 35041,\n 遖: 59302,\n 遘: 59303,\n 遙: 60065,\n 遜: 37307,\n 遞: 59304,\n 遠: 35219,\n 遡: 37227,\n 遣: 36013,\n 遥: 38777,\n 遨: 59305,\n 適: 37707,\n 遭: 37272,\n 遮: 36565,\n 遯: 59306,\n 遲: 59309,\n 遵: 36741,\n 遶: 59307,\n 遷: 37194,\n 選: 37193,\n 遺: 35042,\n 遼: 38857,\n 遽: 59311,\n 避: 38128,\n 邀: 59313,\n 邁: 59312,\n 邂: 59310,\n 邃: 57988,\n 還: 35538,\n 邇: 59278,\n 邉: 59315,\n 邊: 59314,\n 邏: 59316,\n 邑: 38743,\n 那: 37855,\n 邦: 38477,\n 邨: 59317,\n 邪: 36567,\n 邯: 59318,\n 邱: 59319,\n 邵: 59320,\n 邸: 37696,\n 郁: 35048,\n 郊: 36216,\n 郎: 39001,\n 郛: 59324,\n 郡: 35923,\n 郢: 59321,\n 郤: 59322,\n 部: 38292,\n 郭: 35443,\n 郵: 38744,\n 郷: 35773,\n 都: 37747,\n 鄂: 59325,\n 鄒: 59326,\n 鄙: 59327,\n 鄭: 37697,\n 鄰: 59329,\n 鄲: 59328,\n 酉: 37841,\n 酊: 59330,\n 酋: 36693,\n 酌: 36574,\n 配: 38010,\n 酎: 37521,\n 酒: 36592,\n 酔: 37004,\n 酖: 59331,\n 酘: 59332,\n 酢: 36988,\n 酣: 59333,\n 酥: 59334,\n 酩: 59335,\n 酪: 38799,\n 酬: 36694,\n 酲: 59337,\n 酳: 59336,\n 酵: 36217,\n 酷: 36243,\n 酸: 36447,\n 醂: 59340,\n 醇: 36742,\n 醉: 59339,\n 醋: 59338,\n 醍: 37351,\n 醐: 36077,\n 醒: 37057,\n 醗: 38062,\n 醜: 36696,\n 醢: 59341,\n 醤: 36829,\n 醪: 59344,\n 醫: 59342,\n 醯: 59343,\n 醴: 59346,\n 醵: 59345,\n 醸: 36856,\n 醺: 59347,\n 釀: 59348,\n 釁: 59349,\n 釆: 38094,\n 采: 36305,\n 釈: 36575,\n 釉: 59350,\n 釋: 59351,\n 里: 38818,\n 重: 36708,\n 野: 38636,\n 量: 38858,\n 釐: 59352,\n 金: 35808,\n 釖: 59353,\n 釘: 37698,\n 釛: 59356,\n 釜: 35480,\n 針: 36970,\n 釟: 59354,\n 釡: 59355,\n 釣: 37598,\n 釦: 38516,\n 釧: 35834,\n 釵: 59358,\n 釶: 59359,\n 釼: 59357,\n 釿: 59361,\n 鈍: 37853,\n 鈎: 35426,\n 鈑: 59365,\n 鈔: 59362,\n 鈕: 59364,\n 鈞: 59360,\n 鈩: 59502,\n 鈬: 59363,\n 鈴: 38889,\n 鈷: 36056,\n 鈿: 59373,\n 鉄: 37715,\n 鉅: 59368,\n 鉈: 59371,\n 鉉: 59369,\n 鉋: 59374,\n 鉐: 59375,\n 鉗: 59367,\n 鉚: 59380,\n 鉛: 35220,\n 鉞: 59366,\n 鉢: 38059,\n 鉤: 59370,\n 鉦: 36830,\n 鉱: 36218,\n 鉾: 38503,\n 銀: 35810,\n 銃: 36709,\n 銅: 37818,\n 銑: 37196,\n 銓: 59378,\n 銕: 59372,\n 銖: 59377,\n 銘: 38593,\n 銚: 37558,\n 銛: 59379,\n 銜: 59376,\n 銭: 37195,\n 銷: 59383,\n 銹: 59382,\n 鋏: 59381,\n 鋒: 38478,\n 鋤: 36763,\n 鋩: 59384,\n 鋪: 38365,\n 鋭: 35187,\n 鋲: 38245,\n 鋳: 37522,\n 鋸: 35736,\n 鋺: 59386,\n 鋼: 36220,\n 錆: 36427,\n 錏: 59385,\n 錐: 37005,\n 錘: 37006,\n 錙: 59456,\n 錚: 59458,\n 錠: 36857,\n 錢: 59457,\n 錣: 59459,\n 錦: 35793,\n 錨: 38244,\n 錫: 36576,\n 錬: 38978,\n 錮: 59388,\n 錯: 36342,\n 録: 39006,\n 錵: 59461,\n 錺: 59460,\n 錻: 59462,\n 鍄: 59387,\n 鍋: 37863,\n 鍍: 37748,\n 鍔: 37589,\n 鍖: 59467,\n 鍛: 37474,\n 鍜: 59463,\n 鍠: 59464,\n 鍬: 35916,\n 鍮: 59466,\n 鍵: 36014,\n 鍼: 59465,\n 鍾: 36831,\n 鎌: 35481,\n 鎔: 59471,\n 鎖: 36285,\n 鎗: 37273,\n 鎚: 37576,\n 鎧: 35418,\n 鎬: 59469,\n 鎭: 59470,\n 鎮: 37569,\n 鎰: 59468,\n 鎹: 59472,\n 鏃: 59478,\n 鏈: 59481,\n 鏐: 59480,\n 鏑: 37708,\n 鏖: 59473,\n 鏗: 59474,\n 鏘: 59477,\n 鏝: 59479,\n 鏡: 35774,\n 鏤: 59482,\n 鏥: 59476,\n 鏨: 59475,\n 鐃: 59486,\n 鐇: 59487,\n 鐐: 59488,\n 鐓: 59485,\n 鐔: 59484,\n 鐘: 36832,\n 鐙: 37800,\n 鐚: 59483,\n 鐡: 59492,\n 鐫: 59490,\n 鐵: 59491,\n 鐶: 59489,\n 鐸: 37366,\n 鐺: 59493,\n 鑁: 59494,\n 鑄: 59496,\n 鑑: 35539,\n 鑒: 59495,\n 鑓: 38648,\n 鑚: 59507,\n 鑛: 59497,\n 鑞: 59500,\n 鑠: 59498,\n 鑢: 59499,\n 鑪: 59501,\n 鑰: 59503,\n 鑵: 59504,\n 鑷: 59505,\n 鑼: 59508,\n 鑽: 59506,\n 鑾: 59509,\n 鑿: 59511,\n 钁: 59510,\n 長: 37559,\n 門: 38629,\n 閂: 59512,\n 閃: 37197,\n 閇: 59513,\n 閉: 38338,\n 閊: 59514,\n 開: 35402,\n 閏: 35163,\n 閑: 35541,\n 間: 35540,\n 閔: 59515,\n 閖: 59516,\n 閘: 59517,\n 閙: 59518,\n 閠: 59520,\n 関: 35542,\n 閣: 35444,\n 閤: 36221,\n 閥: 38068,\n 閧: 59522,\n 閨: 59521,\n 閭: 59523,\n 閲: 35195,\n 閹: 59526,\n 閻: 59525,\n 閼: 59524,\n 閾: 59527,\n 闃: 59530,\n 闇: 35013,\n 闊: 59528,\n 闌: 59532,\n 闍: 59531,\n 闔: 59534,\n 闕: 59533,\n 闖: 59535,\n 闘: 37804,\n 關: 59536,\n 闡: 59537,\n 闢: 59539,\n 闥: 59538,\n 阜: 38284,\n 阡: 59540,\n 阨: 59541,\n 阪: 36323,\n 阮: 59542,\n 阯: 59543,\n 防: 38504,\n 阻: 37226,\n 阿: 34978,\n 陀: 37321,\n 陂: 59544,\n 附: 38285,\n 陋: 59547,\n 陌: 59545,\n 降: 36222,\n 陏: 59546,\n 限: 36032,\n 陛: 38339,\n 陜: 59549,\n 陝: 59551,\n 陞: 59550,\n 陟: 59552,\n 院: 35136,\n 陣: 36983,\n 除: 36764,\n 陥: 35543,\n 陦: 59553,\n 陪: 38022,\n 陬: 59555,\n 陰: 35137,\n 陲: 59554,\n 陳: 37570,\n 陵: 38859,\n 陶: 37801,\n 陷: 59548,\n 陸: 38820,\n 険: 36015,\n 陽: 38778,\n 隅: 35831,\n 隆: 38834,\n 隈: 35911,\n 隊: 37344,\n 隋: 58432,\n 隍: 59556,\n 階: 35403,\n 随: 37007,\n 隔: 35445,\n 隕: 59558,\n 隗: 59559,\n 隘: 59557,\n 隙: 35972,\n 際: 36315,\n 障: 36833,\n 隠: 35138,\n 隣: 38871,\n 隧: 59561,\n 隨: 59308,\n 險: 59560,\n 隰: 59564,\n 隱: 59562,\n 隲: 59563,\n 隴: 59565,\n 隶: 59566,\n 隷: 38890,\n 隸: 59567,\n 隹: 59568,\n 隻: 37063,\n 隼: 38073,\n 雀: 37021,\n 雁: 35557,\n 雄: 38745,\n 雅: 35307,\n 集: 36695,\n 雇: 36057,\n 雉: 59571,\n 雋: 59570,\n 雌: 36499,\n 雍: 59572,\n 雎: 59569,\n 雑: 36423,\n 雕: 59576,\n 雖: 58795,\n 雙: 39380,\n 雛: 37015,\n 雜: 59574,\n 離: 38819,\n 難: 37871,\n 雨: 35146,\n 雪: 37089,\n 雫: 36532,\n 雰: 38325,\n 雲: 35167,\n 零: 38891,\n 雷: 38795,\n 雹: 59577,\n 電: 37732,\n 需: 36601,\n 霄: 59578,\n 霆: 59579,\n 震: 36971,\n 霈: 59580,\n 霊: 38892,\n 霍: 59575,\n 霎: 59582,\n 霏: 59584,\n 霑: 59583,\n 霓: 59581,\n 霖: 59585,\n 霙: 59586,\n 霜: 37274,\n 霞: 35296,\n 霤: 59587,\n 霧: 38582,\n 霪: 59588,\n 霰: 59589,\n 露: 38985,\n 霸: 40528,\n 霹: 59590,\n 霽: 59591,\n 霾: 59592,\n 靂: 59596,\n 靄: 59593,\n 靆: 59594,\n 靈: 59595,\n 靉: 59597,\n 青: 37058,\n 靖: 38645,\n 静: 37059,\n 靜: 59598,\n 非: 38129,\n 靠: 59599,\n 靡: 60018,\n 面: 38602,\n 靤: 59600,\n 靦: 59601,\n 靨: 59602,\n 革: 35446,\n 靫: 59604,\n 靭: 36984,\n 靱: 59605,\n 靴: 35907,\n 靹: 59606,\n 靺: 59610,\n 靼: 59608,\n 鞁: 59609,\n 鞄: 35475,\n 鞅: 59607,\n 鞆: 59611,\n 鞋: 59612,\n 鞍: 35014,\n 鞏: 59613,\n 鞐: 59614,\n 鞘: 36834,\n 鞜: 59615,\n 鞠: 35686,\n 鞣: 59618,\n 鞦: 59617,\n 鞨: 59616,\n 鞫: 59025,\n 鞭: 38362,\n 鞳: 59619,\n 鞴: 59620,\n 韃: 59621,\n 韆: 59622,\n 韈: 59623,\n 韋: 59624,\n 韓: 35544,\n 韜: 59625,\n 韭: 59626,\n 韮: 37954,\n 韲: 59628,\n 音: 35257,\n 韵: 59631,\n 韶: 59630,\n 韻: 35139,\n 響: 35775,\n 頁: 38341,\n 頂: 37560,\n 頃: 36256,\n 項: 36224,\n 順: 36743,\n 須: 36987,\n 頌: 59633,\n 頏: 59632,\n 預: 38753,\n 頑: 35558,\n 頒: 38096,\n 頓: 37850,\n 頗: 37020,\n 領: 38860,\n 頚: 35962,\n 頡: 59636,\n 頤: 59635,\n 頬: 38506,\n 頭: 37802,\n 頴: 35183,\n 頷: 59637,\n 頸: 59634,\n 頻: 38256,\n 頼: 38794,\n 頽: 59638,\n 顆: 59639,\n 顋: 59641,\n 題: 37352,\n 額: 35450,\n 顎: 35451,\n 顏: 59640,\n 顔: 35559,\n 顕: 36016,\n 願: 35560,\n 顛: 37726,\n 類: 38878,\n 顧: 36058,\n 顫: 59642,\n 顯: 59643,\n 顰: 59644,\n 顱: 59712,\n 顳: 59714,\n 顴: 59713,\n 風: 38295,\n 颪: 59715,\n 颯: 59716,\n 颱: 59717,\n 颶: 59718,\n 飃: 59720,\n 飄: 59719,\n 飆: 59721,\n 飛: 38130,\n 飜: 58314,\n 食: 36936,\n 飢: 35665,\n 飩: 59722,\n 飫: 59723,\n 飭: 39338,\n 飮: 40794,\n 飯: 38097,\n 飲: 35065,\n 飴: 35001,\n 飼: 36500,\n 飽: 38479,\n 飾: 36860,\n 餃: 59724,\n 餅: 38621,\n 餉: 59725,\n 養: 38779,\n 餌: 35169,\n 餐: 36448,\n 餒: 59726,\n 餓: 35308,\n 餔: 59727,\n 餘: 59728,\n 餝: 59730,\n 餞: 59731,\n 餠: 59733,\n 餡: 59729,\n 餤: 59732,\n 館: 35545,\n 餬: 59734,\n 餮: 59735,\n 餽: 59736,\n 餾: 59737,\n 饂: 59738,\n 饅: 59740,\n 饉: 59739,\n 饋: 59742,\n 饌: 59745,\n 饐: 59741,\n 饑: 59743,\n 饒: 59744,\n 饕: 59746,\n 饗: 35776,\n 首: 36593,\n 馗: 59747,\n 馘: 59748,\n 香: 36225,\n 馥: 59749,\n 馨: 35421,\n 馬: 37998,\n 馭: 59750,\n 馮: 59751,\n 馳: 37497,\n 馴: 37865,\n 馼: 59752,\n 駁: 38045,\n 駄: 37322,\n 駅: 35191,\n 駆: 35820,\n 駈: 35821,\n 駐: 37523,\n 駑: 59757,\n 駒: 35822,\n 駕: 35309,\n 駘: 59756,\n 駛: 59754,\n 駝: 59755,\n 駟: 59753,\n 駢: 59767,\n 駭: 59758,\n 駮: 59759,\n 駱: 59760,\n 駲: 59761,\n 駸: 59763,\n 駻: 59762,\n 駿: 36728,\n 騁: 59764,\n 騅: 59766,\n 騎: 35666,\n 騏: 59765,\n 騒: 37275,\n 験: 36017,\n 騙: 59768,\n 騨: 37323,\n 騫: 59769,\n 騰: 37803,\n 騷: 59770,\n 騾: 59776,\n 驀: 59773,\n 驂: 59772,\n 驃: 59774,\n 驅: 59771,\n 驍: 59778,\n 驕: 59777,\n 驗: 59780,\n 驚: 35777,\n 驛: 59779,\n 驟: 59781,\n 驢: 59782,\n 驤: 59784,\n 驥: 59783,\n 驩: 59785,\n 驪: 59787,\n 驫: 59786,\n 骨: 36252,\n 骭: 59788,\n 骰: 59789,\n 骸: 35419,\n 骼: 59790,\n 髀: 59791,\n 髄: 37009,\n 髏: 59792,\n 髑: 59793,\n 髓: 59794,\n 體: 59795,\n 高: 36226,\n 髞: 59796,\n 髟: 59797,\n 髢: 59798,\n 髣: 59799,\n 髦: 59800,\n 髪: 38063,\n 髫: 59802,\n 髭: 38213,\n 髮: 59803,\n 髯: 59801,\n 髱: 59805,\n 髴: 59804,\n 髷: 59806,\n 髻: 59807,\n 鬆: 59808,\n 鬘: 59809,\n 鬚: 59810,\n 鬟: 59811,\n 鬢: 59812,\n 鬣: 59813,\n 鬥: 59814,\n 鬧: 59815,\n 鬨: 59816,\n 鬩: 59817,\n 鬪: 59818,\n 鬮: 59819,\n 鬯: 59820,\n 鬱: 40788,\n 鬲: 59821,\n 鬻: 58102,\n 鬼: 35667,\n 魁: 35392,\n 魂: 36272,\n 魃: 59823,\n 魄: 59822,\n 魅: 38563,\n 魍: 59825,\n 魎: 59826,\n 魏: 59824,\n 魑: 59827,\n 魔: 38530,\n 魘: 59828,\n 魚: 35739,\n 魯: 38980,\n 魴: 59829,\n 鮃: 59831,\n 鮎: 35004,\n 鮑: 59832,\n 鮒: 38313,\n 鮓: 59830,\n 鮖: 59833,\n 鮗: 59834,\n 鮟: 59835,\n 鮠: 59836,\n 鮨: 59837,\n 鮪: 38542,\n 鮫: 36428,\n 鮭: 36344,\n 鮮: 37198,\n 鮴: 59838,\n 鮹: 59841,\n 鯀: 59839,\n 鯆: 59842,\n 鯉: 36079,\n 鯊: 59840,\n 鯏: 59843,\n 鯑: 59844,\n 鯒: 59845,\n 鯔: 59849,\n 鯖: 36425,\n 鯛: 37346,\n 鯡: 59850,\n 鯢: 59847,\n 鯣: 59846,\n 鯤: 59848,\n 鯨: 35966,\n 鯰: 59854,\n 鯱: 59853,\n 鯲: 59852,\n 鯵: 34993,\n 鰄: 59864,\n 鰆: 59860,\n 鰈: 59861,\n 鰉: 59857,\n 鰊: 59863,\n 鰌: 59859,\n 鰍: 35458,\n 鰐: 39019,\n 鰒: 59862,\n 鰓: 59858,\n 鰔: 59856,\n 鰕: 59855,\n 鰛: 59866,\n 鰡: 59869,\n 鰤: 59868,\n 鰥: 59867,\n 鰭: 38248,\n 鰮: 59865,\n 鰯: 35057,\n 鰰: 59870,\n 鰲: 59872,\n 鰹: 35471,\n 鰺: 59851,\n 鰻: 35158,\n 鰾: 59874,\n 鱆: 59873,\n 鱇: 59871,\n 鱈: 37452,\n 鱒: 38544,\n 鱗: 38872,\n 鱚: 59875,\n 鱠: 59876,\n 鱧: 59877,\n 鱶: 59878,\n 鱸: 59879,\n 鳥: 37561,\n 鳧: 59880,\n 鳩: 38069,\n 鳫: 59885,\n 鳬: 59881,\n 鳰: 59882,\n 鳳: 38480,\n 鳴: 38594,\n 鳶: 37838,\n 鴃: 59886,\n 鴆: 59887,\n 鴇: 37820,\n 鴈: 59884,\n 鴉: 59883,\n 鴎: 35240,\n 鴒: 59895,\n 鴕: 59894,\n 鴛: 35221,\n 鴟: 59892,\n 鴣: 59891,\n 鴦: 59889,\n 鴨: 35483,\n 鴪: 59888,\n 鴫: 36528,\n 鴬: 35239,\n 鴻: 36227,\n 鴾: 59898,\n 鴿: 59897,\n 鵁: 59896,\n 鵄: 59893,\n 鵆: 59899,\n 鵈: 59900,\n 鵐: 59972,\n 鵑: 59971,\n 鵙: 59973,\n 鵜: 35148,\n 鵝: 59968,\n 鵞: 59969,\n 鵠: 36244,\n 鵡: 38583,\n 鵤: 59970,\n 鵬: 38481,\n 鵯: 59978,\n 鵲: 59974,\n 鵺: 59979,\n 鶇: 59976,\n 鶉: 59975,\n 鶏: 35963,\n 鶚: 59980,\n 鶤: 59981,\n 鶩: 59982,\n 鶫: 59977,\n 鶯: 59890,\n 鶲: 59983,\n 鶴: 37599,\n 鶸: 59987,\n 鶺: 59988,\n 鶻: 59986,\n 鷁: 59985,\n 鷂: 59991,\n 鷄: 59984,\n 鷆: 59989,\n 鷏: 59990,\n 鷓: 59993,\n 鷙: 59992,\n 鷦: 59995,\n 鷭: 59996,\n 鷯: 59997,\n 鷲: 39016,\n 鷸: 59994,\n 鷹: 37353,\n 鷺: 36331,\n 鷽: 59998,\n 鸚: 59999,\n 鸛: 60000,\n 鸞: 60001,\n 鹵: 60002,\n 鹸: 36018,\n 鹹: 60003,\n 鹽: 60004,\n 鹿: 36525,\n 麁: 60005,\n 麈: 60006,\n 麋: 60007,\n 麌: 60008,\n 麑: 60011,\n 麒: 60009,\n 麓: 39003,\n 麕: 60010,\n 麗: 38893,\n 麝: 60012,\n 麟: 38873,\n 麥: 60013,\n 麦: 38046,\n 麩: 60014,\n 麪: 60016,\n 麭: 60017,\n 麸: 60015,\n 麹: 36237,\n 麺: 38603,\n 麻: 38531,\n 麼: 39925,\n 麾: 40832,\n 麿: 38555,\n 黄: 35241,\n 黌: 60019,\n 黍: 35695,\n 黎: 60020,\n 黏: 60021,\n 黐: 60022,\n 黒: 36245,\n 黔: 60023,\n 默: 57554,\n 黙: 38617,\n 黛: 37345,\n 黜: 60024,\n 黝: 60026,\n 點: 60025,\n 黠: 60027,\n 黥: 60028,\n 黨: 60029,\n 黯: 60030,\n 黴: 60032,\n 黶: 60033,\n 黷: 60034,\n 黹: 60035,\n 黻: 60036,\n 黼: 60037,\n 黽: 60038,\n 鼇: 60039,\n 鼈: 60040,\n 鼎: 37699,\n 鼓: 36059,\n 鼕: 60042,\n 鼠: 37228,\n 鼡: 60043,\n 鼬: 60044,\n 鼻: 38208,\n 鼾: 60045,\n 齊: 60046,\n 齋: 57942,\n 齎: 59096,\n 齏: 59627,\n 齒: 60047,\n 齔: 60048,\n 齟: 60050,\n 齠: 60051,\n 齡: 60052,\n 齢: 38894,\n 齣: 60049,\n 齦: 60053,\n 齧: 60054,\n 齪: 60056,\n 齬: 60055,\n 齲: 60058,\n 齶: 60059,\n 齷: 60057,\n 龍: 38836,\n 龕: 60060,\n 龜: 60061,\n 龝: 57971,\n 龠: 60062,\n \"!\": 33097,\n \"#\": 33172,\n \"$\": 33168,\n \"%\": 33171,\n \"&\": 33173,\n \"(\": 33129,\n \")\": 33130,\n \"*\": 33174,\n \"+\": 33147,\n \",\": 33091,\n \".\": 33092,\n \"/\": 33118,\n \"0\": 33359,\n \"1\": 33360,\n \"2\": 33361,\n \"3\": 33362,\n \"4\": 33363,\n \"5\": 33364,\n \"6\": 33365,\n \"7\": 33366,\n \"8\": 33367,\n \"9\": 33368,\n \":\": 33094,\n \";\": 33095,\n \"<\": 33155,\n \"=\": 33153,\n \">\": 33156,\n \"?\": 33096,\n \"@\": 33175,\n A: 33376,\n B: 33377,\n C: 33378,\n D: 33379,\n E: 33380,\n F: 33381,\n G: 33382,\n H: 33383,\n I: 33384,\n J: 33385,\n K: 33386,\n L: 33387,\n M: 33388,\n N: 33389,\n O: 33390,\n P: 33391,\n Q: 33392,\n R: 33393,\n S: 33394,\n T: 33395,\n U: 33396,\n V: 33397,\n W: 33398,\n X: 33399,\n Y: 33400,\n Z: 33401,\n \"[\": 33133,\n \"\\": 33119,\n \"]\": 33134,\n \"^\": 33103,\n \"_\": 33105,\n \"`\": 33101,\n a: 33409,\n b: 33410,\n c: 33411,\n d: 33412,\n e: 33413,\n f: 33414,\n g: 33415,\n h: 33416,\n i: 33417,\n j: 33418,\n k: 33419,\n l: 33420,\n m: 33421,\n n: 33422,\n o: 33423,\n p: 33424,\n q: 33425,\n r: 33426,\n s: 33427,\n t: 33428,\n u: 33429,\n v: 33430,\n w: 33431,\n x: 33432,\n y: 33433,\n z: 33434,\n \"{\": 33135,\n \"|\": 33122,\n \"}\": 33136,\n \"。\": 161,\n \"「\": 162,\n \"」\": 163,\n \"、\": 164,\n \"・\": 165,\n ヲ: 166,\n ァ: 167,\n ィ: 168,\n ゥ: 169,\n ェ: 170,\n ォ: 171,\n ャ: 172,\n ュ: 173,\n ョ: 174,\n ッ: 175,\n ー: 176,\n ア: 177,\n イ: 178,\n ウ: 179,\n エ: 180,\n オ: 181,\n カ: 182,\n キ: 183,\n ク: 184,\n ケ: 185,\n コ: 186,\n サ: 187,\n シ: 188,\n ス: 189,\n セ: 190,\n ソ: 191,\n タ: 192,\n チ: 193,\n ツ: 194,\n テ: 195,\n ト: 196,\n ナ: 197,\n ニ: 198,\n ヌ: 199,\n ネ: 200,\n ノ: 201,\n ハ: 202,\n ヒ: 203,\n フ: 204,\n ヘ: 205,\n ホ: 206,\n マ: 207,\n ミ: 208,\n ム: 209,\n メ: 210,\n モ: 211,\n ヤ: 212,\n ユ: 213,\n ヨ: 214,\n ラ: 215,\n リ: 216,\n ル: 217,\n レ: 218,\n ロ: 219,\n ワ: 220,\n ン: 221,\n ゙: 222,\n ゚: 223,\n \" ̄\": 33104,\n \"¥\": 33167,\n}\n",
|
|
6
|
+
"import { SHIFT_JIS_CODE_BY_CHAR } from \"./qrcode.shift-jis.js\"\n\nexport type ByteEncoding = \"utf-8\" | \"iso-8859-1\" | \"shift-jis\"\n\nexport const EciAssignment = {\n ISO_8859_1: 3,\n SHIFT_JIS: 20,\n UTF_8: 26,\n} as const\n\nexport function encodeTextBytes(text: string, encoding: ByteEncoding = \"utf-8\"): Uint8Array {\n switch (encoding) {\n case \"utf-8\":\n return new TextEncoder().encode(text)\n case \"iso-8859-1\":\n return new Uint8Array(encodeIso88591(text))\n case \"shift-jis\":\n return new Uint8Array(encodeShiftJis(text))\n default:\n throw new Error(\"Unsupported byte encoding\")\n }\n}\n\nexport function shiftJisCodeForCharacter(ch: string): number {\n const cp = ch.codePointAt(0)!\n if (cp <= 0x7f) return cp\n const code = SHIFT_JIS_CODE_BY_CHAR[ch]\n if (code === undefined) throw new Error(`Character ${JSON.stringify(ch)} is not encodable in Shift JIS`)\n return code\n}\n\nexport function isKanjiModeShiftJisValue(value: number): boolean {\n return (value >= 0x8140 && value <= 0x9ffc) || (value >= 0xe040 && value <= 0xebbf)\n}\n\nexport function encodingForKnownEci(eci: number): ByteEncoding | null {\n if (eci === EciAssignment.ISO_8859_1) return \"iso-8859-1\"\n if (eci === EciAssignment.SHIFT_JIS) return \"shift-jis\"\n if (eci === EciAssignment.UTF_8) return \"utf-8\"\n return null\n}\n\nexport function validateBytes(bytes: number[]): number[] {\n for (const b of bytes) if (!Number.isInteger(b) || b < 0 || b > 0xff) throw new RangeError(\"Byte value out of range\")\n return bytes\n}\n\nexport function asciiBytes(text: string): number[] {\n const result: number[] = []\n for (let i = 0; i < text.length; i++) result.push(text.charCodeAt(i))\n return result\n}\n\nfunction encodeIso88591(text: string): number[] {\n const result: number[] = []\n for (const ch of Array.from(text)) {\n const cp = ch.codePointAt(0)!\n if (cp > 0xff) throw new Error(`Character ${JSON.stringify(ch)} is not encodable in ISO-8859-1`)\n result.push(cp)\n }\n return result\n}\n\nfunction encodeShiftJis(text: string): number[] {\n const result: number[] = []\n for (const ch of Array.from(text)) {\n const code = shiftJisCodeForCharacter(ch)\n if (code <= 0xff) result.push(code)\n else result.push(code >>> 8, code & 0xff)\n }\n return result\n}\n",
|
|
7
|
+
"export interface TerminalRenderOptions {\n /** Quiet zone in modules. ISO requires at least 4 for QR Code. */\n border?: number\n /**\n * Render using ANSI background colors. Recommended when a real scanner will read the terminal.\n * The ANSI renderer paints light modules white and dark modules black independent of terminal theme.\n */\n ansi?: boolean\n /** Swap light and dark output. Leave false for normal black-on-white scanner-facing output. */\n invert?: boolean\n}\n\nexport interface NormalizedTerminalRenderOptions {\n border: number\n ansi: boolean\n invert: boolean\n}\n\nexport function matrixToSvg(\n matrix: boolean[][],\n border: number,\n minimumBorder: number,\n moduleSize: number,\n lightColor: string,\n darkColor: string,\n): string {\n if (!Number.isInteger(border) || border < minimumBorder) {\n throw new RangeError(`Border/quiet zone must be at least ${minimumBorder} modules`)\n }\n if (moduleSize <= 0) throw new RangeError(\"moduleSize must be positive\")\n const size = matrix.length\n const dimension = (size + border * 2) * moduleSize\n const parts: string[] = []\n parts.push(\n `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${dimension} ${dimension}\" width=\"${dimension}\" height=\"${dimension}\" shape-rendering=\"crispEdges\">`,\n )\n parts.push(`<rect width=\"100%\" height=\"100%\" fill=\"${escapeXml(lightColor)}\"/>`)\n const path: string[] = []\n for (let y = 0; y < size; y++) {\n let x = 0\n while (x < size) {\n if (!matrix[y][x]) {\n x++\n continue\n }\n const startX = x\n while (x < size && matrix[y][x]) x++\n const rectX = (startX + border) * moduleSize\n const rectY = (y + border) * moduleSize\n const rectW = (x - startX) * moduleSize\n path.push(`M${rectX},${rectY}h${rectW}v${moduleSize}h-${rectW}z`)\n }\n }\n parts.push(`<path d=\"${path.join(\"\")}\" fill=\"${escapeXml(darkColor)}\"/>`)\n parts.push(\"</svg>\")\n return parts.join(\"\")\n}\n\nexport function normalizeTerminalOptions(\n options: number | TerminalRenderOptions,\n defaultBorder: number,\n minimumBorder: number,\n): NormalizedTerminalRenderOptions {\n const result: NormalizedTerminalRenderOptions =\n typeof options === \"number\"\n ? { border: options, ansi: false, invert: false }\n : { border: options.border ?? defaultBorder, ansi: options.ansi === true, invert: options.invert === true }\n if (!Number.isInteger(result.border) || result.border < minimumBorder) {\n throw new RangeError(`Terminal border/quiet zone must be at least ${minimumBorder} modules`)\n }\n return result\n}\n\nexport function matrixToTerminal(matrix: boolean[][], options: NormalizedTerminalRenderOptions): string {\n const size = matrix.length\n const darkText = options.invert ? \" \" : \"██\"\n const lightText = options.invert ? \"██\" : \" \"\n const darkAnsi = options.invert ? \"\\x1b[47m \" : \"\\x1b[40m \"\n const lightAnsi = options.invert ? \"\\x1b[40m \" : \"\\x1b[47m \"\n const lines: string[] = []\n for (let y = -options.border; y < size + options.border; y++) {\n let line = \"\"\n for (let x = -options.border; x < size + options.border; x++) {\n const dark = x >= 0 && y >= 0 && x < size && y < size && matrix[y][x]\n line += options.ansi ? (dark ? darkAnsi : lightAnsi) : dark ? darkText : lightText\n }\n lines.push(options.ansi ? `${line}\\x1b[0m` : line)\n }\n return lines.join(\"\\n\")\n}\n\nfunction escapeXml(value: string): string {\n return value.replace(\n /[&<>'\"]/g,\n (ch) => ({ \"&\": \"&\", \"<\": \"<\", \">\": \">\", \"'\": \"'\", '\"': \""\" })[ch]!,\n )\n}\n",
|
|
8
|
+
"/*\n * ISO/IEC 18004:2024-oriented QR Code encoder in TypeScript.\n *\n * Scope implemented by this package:\n * - QR Code Model 2, versions 1..40, ECC levels L/M/Q/H\n * - Numeric, Alphanumeric, Byte, Kanji, ECI, Structured Append, and FNC1 signalling\n * - GS1/FNC1 helpers for separator handling\n * - Reed-Solomon error correction over GF(256)\n * - Data/ECC block interleaving for QR Code Model 2\n * - Function patterns, alignment/timing patterns, format and version information\n * - QR masks 0..7 with automatic mask selection\n * - DP-based mixed-mode optimization for QR text inputs\n * - SVG rendering with ISO quiet-zone minimum: 4 modules for QR\n *\n * Notes:\n * - Model 1 QR Code is a legacy format and is not generated here.\n * - rMQR is outside ISO/IEC 18004:2024 and is not generated here.\n * - Arbitrary non-character-set ECIs are signalled correctly, but payload conversion\n * for application-defined ECI transformations must be done by the caller.\n */\n\nimport {\n EciAssignment,\n asciiBytes,\n encodeTextBytes,\n encodingForKnownEci,\n isKanjiModeShiftJisValue,\n shiftJisCodeForCharacter,\n validateBytes,\n type ByteEncoding,\n} from \"./qrcode.encoding.js\"\nimport { matrixToSvg, matrixToTerminal, normalizeTerminalOptions, type TerminalRenderOptions } from \"./qrcode.render.js\"\n\nexport { EciAssignment, encodeTextBytes, type ByteEncoding } from \"./qrcode.encoding.js\"\nexport type { TerminalRenderOptions } from \"./qrcode.render.js\"\n\nexport enum ErrorCorrectionLevel {\n /** Recovers about 7% data damage. QR format bits: 01. */\n L = \"L\",\n /** Recovers about 15% data damage. QR format bits: 00. */\n M = \"M\",\n /** Recovers about 25% data damage. QR format bits: 11. */\n Q = \"Q\",\n /** Recovers about 30% data damage. QR format bits: 10. */\n H = \"H\",\n}\n\nexport interface StructuredAppendInfo {\n /** 1-based position of this symbol in the structured append sequence. */\n position: number\n /** Total number of symbols in the structured append sequence, 2..16. */\n total: number\n /** 8-bit parity value, normally computed with QRCode.computeStructuredAppendParity(). */\n parity: number\n}\n\nexport interface Fnc1SecondPositionInfo {\n /** Two decimal digits, a number 0..99, or one Latin alphabetic character. */\n applicationIndicator: string | number\n}\n\nexport interface EncodeOptions {\n /** Minimum QR Code Model 2 version, inclusive. Default: 1. */\n minVersion?: number\n /** Maximum QR Code Model 2 version, inclusive. Default: 40. */\n maxVersion?: number\n /** Force QR mask pattern 0..7. Default: auto-select by penalty score. */\n mask?: number\n /** Upgrade ECC level if the data still fits in the selected version. Default: true. */\n boostEcl?: boolean\n /** Use DP mixed-mode optimization for text. Default: true. */\n optimize?: boolean\n /** Allow Kanji mode for characters encodable in Shift JIS Kanji ranges. Default: false. */\n kanji?: boolean\n /** Byte-segment character encoding for text fallback. Default: utf-8. */\n byteEncoding?: ByteEncoding\n /** Prefix UTF-8 byte-mode text with ECI assignment 26. Default: true when byteEncoding is utf-8. */\n eciForUtf8?: boolean\n /** Override the ECI assignment emitted before byte segments; set null to suppress ECI. */\n eciAssignment?: number | null\n /** Insert FNC1 in first position immediately after any structured append/ECI header. */\n fnc1First?: boolean\n /** Insert FNC1 in second position immediately after any structured append/ECI header. */\n fnc1Second?: Fnc1SecondPositionInfo\n /** Insert a structured append header at the start of the symbol. */\n structuredAppend?: StructuredAppendInfo\n}\n\nexport interface Gs1Element {\n /** Application identifier, e.g. \"01\", \"17\", \"10\". Parentheses are not encoded. */\n ai: string\n /** Element-string data. */\n data: string\n /** Add a FNC1 field separator after this element. Do not set on the last element. */\n separatorAfter?: boolean\n}\n\ninterface Block {\n data: number[]\n ecc: number[]\n}\n\ninterface QrMetadata {\n containsEci: boolean\n fnc1: \"none\" | \"first\" | \"second\"\n}\n\nclass BitBuffer {\n private readonly bits: number[] = []\n\n get length(): number {\n return this.bits.length\n }\n\n appendBits(value: number, bitCount: number): void {\n if (!Number.isInteger(value) || !Number.isInteger(bitCount) || bitCount < 0 || bitCount > 31) {\n throw new RangeError(\"Invalid bit append request\")\n }\n if (bitCount < 31 && value >>> bitCount !== 0) {\n throw new RangeError(`Value ${value} does not fit in ${bitCount} bits`)\n }\n for (let i = bitCount - 1; i >= 0; i--) {\n this.bits.push((value >>> i) & 1)\n }\n }\n\n appendData(other: BitBuffer): void {\n for (let i = 0; i < other.length; i++) this.bits.push(other.getBit(i))\n }\n\n getBit(index: number): number {\n return this.bits[index] ?? 0\n }\n\n toBytes(): number[] {\n const result: number[] = []\n for (let i = 0; i < this.bits.length; i += 8) {\n let value = 0\n for (let j = 0; j < 8 && i + j < this.bits.length; j++) value = (value << 1) | this.bits[i + j]\n if (this.bits.length - i < 8) value <<= 8 - (this.bits.length - i)\n result.push(value)\n }\n return result\n }\n}\n\nclass Mode {\n static readonly NUMERIC = new Mode(\"NUMERIC\", 0x1, [10, 12, 14], true)\n\n static readonly ALPHANUMERIC = new Mode(\"ALPHANUMERIC\", 0x2, [9, 11, 13], true)\n\n static readonly BYTE = new Mode(\"BYTE\", 0x4, [8, 16, 16], true)\n\n static readonly KANJI = new Mode(\"KANJI\", 0x8, [8, 10, 12], true)\n\n static readonly ECI = new Mode(\"ECI\", 0x7, [0, 0, 0], false)\n static readonly STRUCTURED_APPEND = new Mode(\"STRUCTURED_APPEND\", 0x3, [0, 0, 0], false)\n static readonly FNC1_FIRST = new Mode(\"FNC1_FIRST\", 0x5, [0, 0, 0], false)\n static readonly FNC1_SECOND = new Mode(\"FNC1_SECOND\", 0x9, [0, 0, 0], false)\n\n private constructor(\n readonly name: string,\n readonly modeBits: number,\n private readonly charCountBitsForVersionRange: readonly [number, number, number],\n readonly hasCharacterCount: boolean,\n ) {}\n\n numCharCountBits(version: number): number {\n if (!this.hasCharacterCount) return 0\n if (version < 1 || version > 40) throw new RangeError(\"Version must be in 1..40\")\n return this.charCountBitsForVersionRange[Math.floor((version + 7) / 17)]\n }\n}\n\nclass ReedSolomon {\n static computeDivisor(degree: number): number[] {\n if (!Number.isInteger(degree) || degree < 1 || degree > 255) throw new RangeError(\"Invalid Reed-Solomon degree\")\n const result = Array<number>(degree).fill(0)\n result[degree - 1] = 1\n let root = 1\n for (let i = 0; i < degree; i++) {\n for (let j = 0; j < degree; j++) {\n result[j] = ReedSolomon.multiply(result[j], root)\n if (j + 1 < degree) result[j] ^= result[j + 1]\n }\n root = ReedSolomon.multiply(root, 0x02)\n }\n return result\n }\n\n static computeRemainder(data: readonly number[], divisor: readonly number[]): number[] {\n const result = Array<number>(divisor.length).fill(0)\n for (const b of data) {\n if (!Number.isInteger(b) || b < 0 || b > 0xff) throw new RangeError(\"Data codeword out of range\")\n const factor = b ^ result.shift()!\n result.push(0)\n for (let i = 0; i < result.length; i++) result[i] ^= ReedSolomon.multiply(divisor[i], factor)\n }\n return result\n }\n\n static multiply(x: number, y: number): number {\n if (x >>> 8 !== 0 || y >>> 8 !== 0) throw new RangeError(\"Reed-Solomon operands must be bytes\")\n let z = 0\n for (let i = 7; i >= 0; i--) {\n z = (z << 1) ^ ((z >>> 7) * 0x11d)\n z ^= ((y >>> i) & 1) * x\n }\n return z & 0xff\n }\n}\n\nexport class QrSegment {\n private static readonly ALPHANUMERIC_CHARSET = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:\"\n\n private constructor(\n readonly mode: Mode,\n readonly numChars: number,\n readonly data: BitBuffer,\n readonly parityBytes: readonly number[] = [],\n ) {}\n\n static makeNumeric(digits: string): QrSegment {\n if (!/^[0-9]*$/.test(digits)) throw new Error(\"Numeric mode accepts digits only\")\n const bb = new BitBuffer()\n for (let i = 0; i < digits.length; ) {\n const n = Math.min(digits.length - i, 3)\n bb.appendBits(Number(digits.substring(i, i + n)), n * 3 + 1)\n i += n\n }\n return new QrSegment(Mode.NUMERIC, digits.length, bb, asciiBytes(digits))\n }\n\n static makeAlphanumeric(text: string): QrSegment {\n if (!QrSegment.isAlphanumeric(text)) throw new Error(\"Alphanumeric mode accepts only: 0-9 A-Z space $%*+-./:\")\n const bb = new BitBuffer()\n let i = 0\n for (; i + 2 <= text.length; i += 2) {\n const value =\n QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)) * 45 +\n QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i + 1))\n bb.appendBits(value, 11)\n }\n if (i < text.length) bb.appendBits(QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)), 6)\n return new QrSegment(Mode.ALPHANUMERIC, text.length, bb, asciiBytes(text))\n }\n\n static makeBytes(bytes: Uint8Array | number[]): QrSegment {\n const bb = new BitBuffer()\n const arr = validateBytes(Array.from(bytes))\n for (const b of arr) bb.appendBits(b, 8)\n return new QrSegment(Mode.BYTE, arr.length, bb, arr)\n }\n\n static makeBytesFromText(text: string, encoding: ByteEncoding = \"utf-8\"): QrSegment {\n return QrSegment.makeBytes(encodeTextBytes(text, encoding))\n }\n\n static makeKanji(text: string): QrSegment {\n const bytes: number[] = []\n for (const ch of Array.from(text)) {\n const sjis = shiftJisCodeForCharacter(ch)\n if (!isKanjiModeShiftJisValue(sjis))\n throw new Error(`Character ${JSON.stringify(ch)} is not encodable in QR Kanji mode`)\n bytes.push(sjis >>> 8, sjis & 0xff)\n }\n return QrSegment.makeKanjiFromShiftJis(bytes)\n }\n\n static makeKanjiFromShiftJis(bytes: Uint8Array | number[]): QrSegment {\n const arr = validateBytes(Array.from(bytes))\n if (arr.length % 2 !== 0) throw new Error(\"Kanji mode requires an even number of Shift JIS bytes\")\n const bb = new BitBuffer()\n for (let i = 0; i < arr.length; i += 2) {\n const sjis = (arr[i] << 8) | arr[i + 1]\n let subtracted: number\n if (sjis >= 0x8140 && sjis <= 0x9ffc) subtracted = sjis - 0x8140\n else if (sjis >= 0xe040 && sjis <= 0xebbf) subtracted = sjis - 0xc140\n else throw new Error(`Shift JIS value 0x${sjis.toString(16).toUpperCase()} is outside QR Kanji-mode ranges`)\n const encoded = (subtracted >>> 8) * 0xc0 + (subtracted & 0xff)\n bb.appendBits(encoded, 13)\n }\n return new QrSegment(Mode.KANJI, arr.length / 2, bb, arr)\n }\n\n static makeEci(assignVal: number): QrSegment {\n if (!Number.isInteger(assignVal) || assignVal < 0 || assignVal >= 1_000_000) {\n throw new RangeError(\"ECI assignment value must be in 0..999999\")\n }\n const bb = new BitBuffer()\n if (assignVal < 128) bb.appendBits(assignVal, 8)\n else if (assignVal < 16_384) bb.appendBits(0x8000 | assignVal, 16)\n else bb.appendBits(0xc00000 | assignVal, 24)\n return new QrSegment(Mode.ECI, 0, bb)\n }\n\n static makeStructuredAppendHeader(position: number, total: number, parity: number): QrSegment {\n validateStructuredAppend(position, total, parity)\n const bb = new BitBuffer()\n bb.appendBits(((position - 1) << 4) | (total - 1), 8)\n bb.appendBits(parity, 8)\n return new QrSegment(Mode.STRUCTURED_APPEND, 0, bb)\n }\n\n static makeFnc1FirstPosition(): QrSegment {\n return new QrSegment(Mode.FNC1_FIRST, 0, new BitBuffer())\n }\n\n static makeFnc1SecondPosition(applicationIndicator: string | number): QrSegment {\n const bb = new BitBuffer()\n bb.appendBits(encodeFnc1SecondApplicationIndicator(applicationIndicator), 8)\n return new QrSegment(Mode.FNC1_SECOND, 0, bb)\n }\n\n static isNumeric(text: string): boolean {\n return /^[0-9]*$/.test(text)\n }\n\n static isAlphanumeric(text: string): boolean {\n return /^[0-9A-Z $%*+\\-./:]*$/.test(text)\n }\n\n static isKanji(text: string): boolean {\n if (text.length === 0) return true\n for (const ch of Array.from(text)) {\n let sjis: number\n try {\n sjis = shiftJisCodeForCharacter(ch)\n } catch {\n return false\n }\n if (!isKanjiModeShiftJisValue(sjis)) return false\n }\n return true\n }\n\n static makeSegments(\n text: string,\n options: Pick<EncodeOptions, \"eciForUtf8\" | \"kanji\" | \"byteEncoding\" | \"eciAssignment\"> = {},\n ): QrSegment[] {\n if (text.length === 0) return []\n if (QrSegment.isNumeric(text)) return [QrSegment.makeNumeric(text)]\n if (QrSegment.isAlphanumeric(text)) return [QrSegment.makeAlphanumeric(text)]\n if (options.kanji === true && QrSegment.isKanji(text)) return [QrSegment.makeKanji(text)]\n\n const encoding = options.byteEncoding ?? \"utf-8\"\n const segments = [QrSegment.makeBytesFromText(text, encoding)]\n return QrSegment.addEciIfNeeded(segments, encoding, options)\n }\n\n static makeOptimizedSegments(\n text: string,\n version: number,\n options: Pick<EncodeOptions, \"eciForUtf8\" | \"kanji\" | \"byteEncoding\" | \"eciAssignment\"> = {},\n ): QrSegment[] {\n QRCode.validateVersionPublic(version)\n return QrSegment.makeOptimizedSegmentsInternal(text, version, options)\n }\n\n static makeEciSegmentsFromEscapedText(\n escapedText: string,\n options: { defaultEncoding?: ByteEncoding; defaultEci?: number | null } = {},\n ): QrSegment[] {\n const defaultEncoding = options.defaultEncoding ?? \"iso-8859-1\"\n const result: QrSegment[] = []\n let currentEci = options.defaultEci\n let currentEncoding = defaultEncoding\n let buffer = \"\"\n\n const flush = (): void => {\n if (buffer.length === 0) return\n result.push(QrSegment.makeBytesFromText(buffer, currentEncoding))\n buffer = \"\"\n }\n\n for (let i = 0; i < escapedText.length; ) {\n if (escapedText.charAt(i) !== \"\\\\\") {\n buffer += escapedText.charAt(i++)\n continue\n }\n if (escapedText.charAt(i + 1) === \"\\\\\") {\n buffer += \"\\\\\"\n i += 2\n continue\n }\n const digits = escapedText.substring(i + 1, i + 7)\n if (/^[0-9]{6}$/.test(digits)) {\n flush()\n currentEci = Number(digits)\n result.push(QrSegment.makeEci(currentEci))\n currentEncoding = encodingForKnownEci(currentEci) ?? currentEncoding\n i += 7\n continue\n }\n throw new Error(\"Single backslash in ECI text must be followed by six digits or another backslash\")\n }\n flush()\n return result\n }\n\n getTotalBits(version: number): number {\n if (!this.mode.hasCharacterCount) return 4 + this.data.length\n const ccbits = this.mode.numCharCountBits(version)\n if (this.numChars >= 1 << ccbits) return Infinity\n return 4 + ccbits + this.data.length\n }\n\n private static addEciIfNeeded(\n segments: QrSegment[],\n encoding: ByteEncoding,\n options: Pick<EncodeOptions, \"eciForUtf8\" | \"eciAssignment\">,\n ): QrSegment[] {\n if (!segments.some((seg) => seg.mode === Mode.BYTE)) return segments\n let assignment: number | null\n if (options.eciAssignment !== undefined) assignment = options.eciAssignment\n else if (encoding === \"utf-8\") assignment = options.eciForUtf8 === false ? null : EciAssignment.UTF_8\n else if (encoding === \"shift-jis\") assignment = EciAssignment.SHIFT_JIS\n else assignment = null\n return assignment === null ? segments : [QrSegment.makeEci(assignment), ...segments]\n }\n\n private static makeOptimizedSegmentsInternal(\n text: string,\n version: number,\n options: Pick<EncodeOptions, \"eciForUtf8\" | \"kanji\" | \"byteEncoding\" | \"eciAssignment\">,\n ): QrSegment[] {\n if (text.length === 0) return []\n const chars = Array.from(text)\n const n = chars.length\n const encoding = options.byteEncoding ?? \"utf-8\"\n const allowKanji = options.kanji === true\n const byteParts = chars.map((ch) => Array.from(encodeTextBytes(ch, encoding)))\n\n let eciBits = 0\n let eciAssignment: number | null = null\n if (options.eciAssignment !== undefined) eciAssignment = options.eciAssignment\n else if (encoding === \"utf-8\") eciAssignment = options.eciForUtf8 === false ? null : EciAssignment.UTF_8\n else if (encoding === \"shift-jis\") eciAssignment = EciAssignment.SHIFT_JIS\n else eciAssignment = null\n eciBits = eciAssignment === null ? 0 : QrSegment.makeEci(eciAssignment).getTotalBits(version)\n\n type Used = 0 | 1\n type Prev = { prevIndex: number; prevUsed: Used; mode: Mode }\n const inf = Number.POSITIVE_INFINITY\n const dp: [number[], number[]] = [Array<number>(n + 1).fill(inf), Array<number>(n + 1).fill(inf)]\n const prev: [Array<Prev | null>, Array<Prev | null>] = [\n Array<Prev | null>(n + 1).fill(null),\n Array<Prev | null>(n + 1).fill(null),\n ]\n dp[0][0] = 0\n\n const modeHeaderBits = (mode: Mode, count: number, byteCount: number): number => {\n const ccbits = mode.numCharCountBits(version)\n const nChars = mode === Mode.BYTE ? byteCount : count\n if (nChars >= 1 << ccbits) return inf\n return 4 + ccbits\n }\n\n const dataBitsFor = (mode: Mode, count: number, byteCount: number): number => {\n if (mode === Mode.NUMERIC) return Math.floor(count / 3) * 10 + (count % 3 === 1 ? 4 : count % 3 === 2 ? 7 : 0)\n if (mode === Mode.ALPHANUMERIC) return Math.floor(count / 2) * 11 + (count % 2) * 6\n if (mode === Mode.KANJI) return count * 13\n return byteCount * 8\n }\n\n const update = (from: number, fromUsed: Used, to: number, toUsed: Used, mode: Mode, cost: number): void => {\n const total = dp[fromUsed][from] + cost\n if (total < dp[toUsed][to]) {\n dp[toUsed][to] = total\n prev[toUsed][to] = { prevIndex: from, prevUsed: fromUsed, mode }\n }\n }\n\n for (let i = 0; i < n; i++) {\n for (const used of [0, 1] as const) {\n if (!Number.isFinite(dp[used][i])) continue\n\n let count = 0\n for (let j = i; j < n && /^[0-9]$/.test(chars[j]); j++) {\n count++\n const header = modeHeaderBits(Mode.NUMERIC, count, 0)\n if (Number.isFinite(header))\n update(i, used, j + 1, used, Mode.NUMERIC, header + dataBitsFor(Mode.NUMERIC, count, 0))\n }\n\n count = 0\n for (let j = i; j < n && QrSegment.isAlphanumeric(chars[j]); j++) {\n count++\n const header = modeHeaderBits(Mode.ALPHANUMERIC, count, 0)\n if (Number.isFinite(header))\n update(i, used, j + 1, used, Mode.ALPHANUMERIC, header + dataBitsFor(Mode.ALPHANUMERIC, count, 0))\n }\n\n if (allowKanji) {\n count = 0\n for (let j = i; j < n && QrSegment.isKanji(chars[j]); j++) {\n count++\n const header = modeHeaderBits(Mode.KANJI, count, 0)\n if (Number.isFinite(header))\n update(i, used, j + 1, used, Mode.KANJI, header + dataBitsFor(Mode.KANJI, count, 0))\n }\n }\n\n let byteCount = 0\n for (let j = i; j < n; j++) {\n byteCount += byteParts[j].length\n const header = modeHeaderBits(Mode.BYTE, j - i + 1, byteCount)\n if (!Number.isFinite(header)) break\n const eciOverhead = used === 0 && eciAssignment !== null ? eciBits : 0\n update(i, used, j + 1, 1, Mode.BYTE, eciOverhead + header + dataBitsFor(Mode.BYTE, 0, byteCount))\n }\n }\n }\n\n const finalUsed: Used = dp[0][n] <= dp[1][n] ? 0 : 1\n if (!Number.isFinite(dp[finalUsed][n]))\n throw new Error(\"Text cannot be represented in the requested symbol version/modes\")\n\n const runs: { start: number; end: number; mode: Mode }[] = []\n for (let index = n, used: Used = finalUsed; index > 0; ) {\n const p = prev[used][index]\n if (p === null) throw new Error(\"Internal error reconstructing optimized segments\")\n runs.push({ start: p.prevIndex, end: index, mode: p.mode })\n index = p.prevIndex\n used = p.prevUsed\n }\n runs.reverse()\n\n const segments: QrSegment[] = []\n if (finalUsed === 1 && eciAssignment !== null) segments.push(QrSegment.makeEci(eciAssignment))\n for (const run of runs) {\n const part = chars.slice(run.start, run.end).join(\"\")\n if (run.mode === Mode.NUMERIC) segments.push(QrSegment.makeNumeric(part))\n else if (run.mode === Mode.ALPHANUMERIC) segments.push(QrSegment.makeAlphanumeric(part))\n else if (run.mode === Mode.KANJI) segments.push(QrSegment.makeKanji(part))\n else segments.push(QrSegment.makeBytesFromText(part, encoding))\n }\n return segments\n }\n}\n\nexport class QRCode {\n private static readonly MIN_VERSION = 1\n private static readonly MAX_VERSION = 40\n\n // Indexed as [ECL index][version]. Leading -1 is a placeholder for index 0.\n private static readonly ECC_CODEWORDS_PER_BLOCK: readonly number[][] = [\n [\n -1, 7, 10, 15, 20, 26, 18, 20, 24, 30, 18, 20, 24, 26, 30, 22, 24, 28, 30, 28, 28, 28, 28, 30, 30, 26, 28, 30, 30,\n 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\n ],\n [\n -1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28,\n 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,\n ],\n [\n -1, 13, 22, 18, 26, 18, 24, 18, 22, 20, 24, 28, 26, 24, 20, 30, 24, 28, 28, 26, 30, 28, 30, 30, 30, 30, 28, 30,\n 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\n ],\n [\n -1, 17, 28, 22, 16, 22, 28, 26, 26, 24, 28, 24, 28, 22, 24, 24, 30, 28, 28, 26, 28, 30, 24, 30, 30, 30, 30, 30,\n 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\n ],\n ]\n\n private static readonly NUM_ERROR_CORRECTION_BLOCKS: readonly number[][] = [\n [\n -1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, 12, 13, 14, 15, 16, 17, 18,\n 19, 19, 20, 21, 22, 24, 25,\n ],\n [\n -1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31,\n 33, 35, 37, 38, 40, 43, 45, 47, 49,\n ],\n [\n -1, 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, 27, 29, 34, 34, 35, 38, 40,\n 43, 45, 48, 51, 53, 56, 59, 62, 65, 68,\n ],\n [\n -1, 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, 32, 35, 37, 40, 42, 45, 48,\n 51, 54, 57, 60, 63, 66, 70, 74, 77, 81,\n ],\n ]\n\n private static readonly FORMAT_BITS_BY_ECL: Record<ErrorCorrectionLevel, number> = {\n [ErrorCorrectionLevel.M]: 0b00,\n [ErrorCorrectionLevel.L]: 0b01,\n [ErrorCorrectionLevel.H]: 0b10,\n [ErrorCorrectionLevel.Q]: 0b11,\n }\n\n private static readonly ECL_ORDER: readonly ErrorCorrectionLevel[] = [\n ErrorCorrectionLevel.L,\n ErrorCorrectionLevel.M,\n ErrorCorrectionLevel.Q,\n ErrorCorrectionLevel.H,\n ]\n\n readonly size: number\n readonly symbologyIdentifier: string\n readonly containsEci: boolean\n readonly fnc1: \"none\" | \"first\" | \"second\"\n private readonly modules: boolean[][]\n private readonly functionModules: boolean[][]\n\n private constructor(\n readonly version: number,\n readonly errorCorrectionLevel: ErrorCorrectionLevel,\n readonly mask: number,\n dataCodewords: number[],\n metadata: QrMetadata,\n ) {\n QRCode.validateVersion(version)\n QRCode.validateMask(mask)\n this.containsEci = metadata.containsEci\n this.fnc1 = metadata.fnc1\n this.symbologyIdentifier = QRCode.makeSymbologyIdentifier(metadata)\n this.size = version * 4 + 17\n this.modules = Array.from({ length: this.size }, () => Array<boolean>(this.size).fill(false))\n this.functionModules = Array.from({ length: this.size }, () => Array<boolean>(this.size).fill(false))\n\n this.drawFunctionPatterns()\n const allCodewords = this.addEccAndInterleave(dataCodewords)\n this.drawCodewords(allCodewords)\n this.applyMask(mask)\n this.drawFormatBits(mask)\n this.drawVersionBits()\n }\n\n static encodeText(\n text: string,\n ecl: ErrorCorrectionLevel = ErrorCorrectionLevel.M,\n options: EncodeOptions = {},\n ): QRCode {\n const optimize = options.optimize !== false\n if (!optimize) return QRCode.encodeSegments(QrSegment.makeSegments(text, options), ecl, options)\n\n const minVersion = options.minVersion ?? QRCode.MIN_VERSION\n const maxVersion = options.maxVersion ?? QRCode.MAX_VERSION\n QRCode.validateVersion(minVersion)\n QRCode.validateVersion(maxVersion)\n if (minVersion > maxVersion) throw new RangeError(\"minVersion cannot exceed maxVersion\")\n\n const cache = new Map<number, QrSegment[]>()\n for (let version = minVersion; version <= maxVersion; version++) {\n const rangeKey = Math.floor((version + 7) / 17)\n let segments = cache.get(rangeKey)\n if (segments === undefined) {\n segments = QrSegment.makeOptimizedSegments(text, version, options)\n cache.set(rangeKey, segments)\n }\n const fullSegments = QRCode.applyPrefixSegments(segments, options)\n if (QRCode.getTotalBits(fullSegments, version) <= QRCode.getNumDataCodewords(version, ecl) * 8) {\n return QRCode.encodeSegments(segments, ecl, { ...options, minVersion: version, maxVersion: version })\n }\n }\n throw new Error(\"Data too long for requested QR Code version range and error correction level\")\n }\n\n static encodeBytes(\n bytes: Uint8Array | number[],\n ecl: ErrorCorrectionLevel = ErrorCorrectionLevel.M,\n options: EncodeOptions = {},\n ): QRCode {\n return QRCode.encodeSegments([QrSegment.makeBytes(bytes)], ecl, options)\n }\n\n static encodeEciText(\n escapedText: string,\n ecl: ErrorCorrectionLevel = ErrorCorrectionLevel.M,\n options: EncodeOptions = {},\n ): QRCode {\n return QRCode.encodeSegments(QrSegment.makeEciSegmentsFromEscapedText(escapedText), ecl, options)\n }\n\n static encodeGs1Text(\n gs1Data: string | Gs1Element[],\n ecl: ErrorCorrectionLevel = ErrorCorrectionLevel.M,\n options: EncodeOptions = {},\n ): QRCode {\n const payload = typeof gs1Data === \"string\" ? gs1Data : buildGs1Payload(gs1Data)\n const segments =\n options.optimize === false\n ? QrSegment.makeSegments(payload, { ...options, eciAssignment: null, eciForUtf8: false })\n : QrSegment.makeOptimizedSegments(payload, options.minVersion ?? 1, {\n ...options,\n eciAssignment: null,\n eciForUtf8: false,\n })\n return QRCode.encodeSegments(segments, ecl, { ...options, fnc1First: true, eciAssignment: null, eciForUtf8: false })\n }\n\n static encodeStructuredAppend(\n parts: readonly (readonly QrSegment[])[],\n ecl: ErrorCorrectionLevel = ErrorCorrectionLevel.M,\n options: EncodeOptions = {},\n ): QRCode[] {\n if (parts.length < 2 || parts.length > 16) throw new RangeError(\"Structured append requires 2..16 symbols\")\n const parity = QRCode.computeStructuredAppendParity(parts.flat())\n return parts.map((part, index) =>\n QRCode.encodeSegments(Array.from(part), ecl, {\n ...options,\n structuredAppend: { position: index + 1, total: parts.length, parity },\n }),\n )\n }\n\n static computeStructuredAppendParity(segments: readonly QrSegment[]): number {\n let result = 0\n for (const seg of segments) for (const b of seg.parityBytes) result ^= b\n return result\n }\n\n static encodeSegments(\n segments: QrSegment[],\n ecl: ErrorCorrectionLevel = ErrorCorrectionLevel.M,\n options: EncodeOptions = {},\n ): QRCode {\n let minVersion = options.minVersion ?? QRCode.MIN_VERSION\n let maxVersion = options.maxVersion ?? QRCode.MAX_VERSION\n const mask = options.mask ?? -1\n const boostEcl = options.boostEcl !== false\n\n QRCode.validateVersion(minVersion)\n QRCode.validateVersion(maxVersion)\n if (minVersion > maxVersion) throw new RangeError(\"minVersion cannot exceed maxVersion\")\n if (mask !== -1) QRCode.validateMask(mask)\n if (!(ecl in QRCode.FORMAT_BITS_BY_ECL)) throw new Error(\"Invalid error correction level\")\n\n segments = QRCode.applyPrefixSegments(segments, options)\n QRCode.validateQrSegmentOrder(segments)\n const metadata = QRCode.collectMetadata(segments)\n\n let version = minVersion\n let dataUsedBits = 0\n for (; ; version++) {\n const capacityBits = QRCode.getNumDataCodewords(version, ecl) * 8\n dataUsedBits = QRCode.getTotalBits(segments, version)\n if (dataUsedBits <= capacityBits) break\n if (version >= maxVersion)\n throw new Error(\"Data too long for requested QR Code version range and error correction level\")\n }\n\n if (boostEcl) {\n for (const candidate of QRCode.ECL_ORDER) {\n if (\n QRCode.eclIndex(candidate) > QRCode.eclIndex(ecl) &&\n dataUsedBits <= QRCode.getNumDataCodewords(version, candidate) * 8\n ) {\n ecl = candidate\n }\n }\n }\n\n const capacityBits = QRCode.getNumDataCodewords(version, ecl) * 8\n const bb = new BitBuffer()\n for (const seg of segments) {\n bb.appendBits(seg.mode.modeBits, 4)\n if (seg.mode.hasCharacterCount) {\n const ccbits = seg.mode.numCharCountBits(version)\n if (seg.numChars >= 1 << ccbits) throw new Error(\"Segment too long for selected version\")\n bb.appendBits(seg.numChars, ccbits)\n }\n bb.appendData(seg.data)\n }\n\n bb.appendBits(0, Math.min(4, capacityBits - bb.length))\n bb.appendBits(0, (8 - (bb.length % 8)) % 8)\n for (let padByte = 0xec; bb.length < capacityBits; padByte ^= 0xec ^ 0x11) bb.appendBits(padByte, 8)\n if (bb.length !== capacityBits) throw new Error(\"Internal error: data bit length mismatch\")\n\n const dataCodewords = bb.toBytes()\n return mask === -1\n ? QRCode.makeWithBestMask(version, ecl, dataCodewords, metadata)\n : new QRCode(version, ecl, mask, dataCodewords, metadata)\n }\n\n getModule(x: number, y: number): boolean {\n if (!Number.isInteger(x) || !Number.isInteger(y) || x < 0 || y < 0 || x >= this.size || y >= this.size) {\n throw new RangeError(\"Module coordinates out of bounds\")\n }\n return this.modules[y][x]\n }\n\n /** Returns a deep copy of the QR module matrix. True is dark, false is light. */\n toMatrix(): boolean[][] {\n return this.modules.map((row) => row.slice())\n }\n\n /** Render as SVG. The border is the quiet zone in modules; ISO QR Code requires at least 4. */\n toSvgString(options: { border?: number; moduleSize?: number; lightColor?: string; darkColor?: string } = {}): string {\n const border = options.border ?? 4\n return matrixToSvg(\n this.modules,\n border,\n 4,\n options.moduleSize ?? 1,\n options.lightColor ?? \"#FFFFFF\",\n options.darkColor ?? \"#000000\",\n )\n }\n\n /**\n * Render as terminal text. Default quiet zone is 4 modules, matching the QR Code minimum.\n * Use { ansi: true } for scanner-facing terminal output with explicit black/white backgrounds.\n */\n toTerminalString(options: number | TerminalRenderOptions = {}): string {\n const renderOptions = normalizeTerminalOptions(options, 4, 4)\n return matrixToTerminal(this.modules, renderOptions)\n }\n\n static validateVersionPublic(version: number): void {\n QRCode.validateVersion(version)\n }\n\n private static applyPrefixSegments(segments: QrSegment[], options: EncodeOptions): QrSegment[] {\n const result = segments.slice()\n const prefix: QrSegment[] = []\n if (options.structuredAppend !== undefined) {\n if (result.some((seg) => seg.mode === Mode.STRUCTURED_APPEND))\n throw new Error(\"Structured append header supplied both in options and segments\")\n prefix.push(\n QrSegment.makeStructuredAppendHeader(\n options.structuredAppend.position,\n options.structuredAppend.total,\n options.structuredAppend.parity,\n ),\n )\n }\n\n let insertAt = 0\n while (insertAt < result.length && result[insertAt].mode === Mode.ECI) insertAt++\n\n if (options.fnc1First === true && options.fnc1Second !== undefined)\n throw new Error(\"Use either FNC1 first or second position, not both\")\n if (options.fnc1First === true) result.splice(insertAt, 0, QrSegment.makeFnc1FirstPosition())\n if (options.fnc1Second !== undefined)\n result.splice(insertAt, 0, QrSegment.makeFnc1SecondPosition(options.fnc1Second.applicationIndicator))\n return [...prefix, ...result]\n }\n\n private static validateQrSegmentOrder(segments: readonly QrSegment[]): void {\n let index = 0\n if (segments[index]?.mode === Mode.STRUCTURED_APPEND) index++\n while (segments[index]?.mode === Mode.ECI) index++\n if (segments[index]?.mode === Mode.FNC1_FIRST || segments[index]?.mode === Mode.FNC1_SECOND) index++\n\n let seenStructuredAppend = false\n let seenFnc1 = false\n for (let i = 0; i < segments.length; i++) {\n const mode = segments[i].mode\n if (mode === Mode.STRUCTURED_APPEND) {\n if (seenStructuredAppend || i !== 0)\n throw new Error(\"Structured append header must appear only once at the start\")\n seenStructuredAppend = true\n } else if (mode === Mode.FNC1_FIRST || mode === Mode.FNC1_SECOND) {\n if (seenFnc1 || i >= index)\n throw new Error(\n \"FNC1 mode must appear only once before the first data segment, after structured append/ECI headers\",\n )\n seenFnc1 = true\n }\n }\n }\n\n private static collectMetadata(segments: readonly QrSegment[]): QrMetadata {\n let containsEci = false\n let fnc1: \"none\" | \"first\" | \"second\" = \"none\"\n for (const seg of segments) {\n if (seg.mode === Mode.ECI) containsEci = true\n else if (seg.mode === Mode.FNC1_FIRST) fnc1 = \"first\"\n else if (seg.mode === Mode.FNC1_SECOND) fnc1 = \"second\"\n }\n return { containsEci, fnc1 }\n }\n\n private static makeSymbologyIdentifier(metadata: QrMetadata): string {\n if (metadata.fnc1 === \"first\") return metadata.containsEci ? \"]Q4\" : \"]Q3\"\n if (metadata.fnc1 === \"second\") return metadata.containsEci ? \"]Q6\" : \"]Q5\"\n return metadata.containsEci ? \"]Q2\" : \"]Q1\"\n }\n\n private static makeWithBestMask(\n version: number,\n ecl: ErrorCorrectionLevel,\n dataCodewords: number[],\n metadata: QrMetadata,\n ): QRCode {\n let bestQr: QRCode | null = null\n let bestPenalty = Infinity\n for (let mask = 0; mask < 8; mask++) {\n const qr = new QRCode(version, ecl, mask, dataCodewords, metadata)\n const penalty = qr.getPenaltyScore()\n if (penalty < bestPenalty) {\n bestPenalty = penalty\n bestQr = qr\n }\n }\n if (bestQr === null) throw new Error(\"Internal error: no mask selected\")\n return bestQr\n }\n\n private drawFunctionPatterns(): void {\n for (let i = 0; i < this.size; i++) {\n if (!this.functionModules[6][i]) this.setFunctionModule(i, 6, i % 2 === 0)\n if (!this.functionModules[i][6]) this.setFunctionModule(6, i, i % 2 === 0)\n }\n\n this.drawFinderPattern(3, 3)\n this.drawFinderPattern(this.size - 4, 3)\n this.drawFinderPattern(3, this.size - 4)\n\n const align = this.getAlignmentPatternPositions()\n for (const y of align) {\n for (const x of align) {\n if ((x === 6 && y === 6) || (x === 6 && y === this.size - 7) || (x === this.size - 7 && y === 6)) continue\n this.drawAlignmentPattern(x, y)\n }\n }\n\n this.drawFormatBits(0)\n this.drawVersionBits()\n this.setFunctionModule(8, this.size - 8, true)\n }\n\n private drawFinderPattern(cx: number, cy: number): void {\n for (let dy = -4; dy <= 4; dy++) {\n for (let dx = -4; dx <= 4; dx++) {\n const x = cx + dx\n const y = cy + dy\n if (x < 0 || y < 0 || x >= this.size || y >= this.size) continue\n const dist = Math.max(Math.abs(dx), Math.abs(dy))\n this.setFunctionModule(x, y, dist !== 2 && dist !== 4)\n }\n }\n }\n\n private drawAlignmentPattern(cx: number, cy: number): void {\n for (let dy = -2; dy <= 2; dy++) {\n for (let dx = -2; dx <= 2; dx++) {\n const dist = Math.max(Math.abs(dx), Math.abs(dy))\n this.setFunctionModule(cx + dx, cy + dy, dist === 2 || dist === 0)\n }\n }\n }\n\n private drawFormatBits(mask: number): void {\n const data = (QRCode.FORMAT_BITS_BY_ECL[this.errorCorrectionLevel] << 3) | mask\n const bits = formatBits(data, 0x5412)\n\n for (let i = 0; i <= 5; i++) this.setFunctionModule(8, i, getBit(bits, i))\n this.setFunctionModule(8, 7, getBit(bits, 6))\n this.setFunctionModule(8, 8, getBit(bits, 7))\n this.setFunctionModule(7, 8, getBit(bits, 8))\n for (let i = 9; i < 15; i++) this.setFunctionModule(14 - i, 8, getBit(bits, i))\n\n for (let i = 0; i < 8; i++) this.setFunctionModule(this.size - 1 - i, 8, getBit(bits, i))\n for (let i = 8; i < 15; i++) this.setFunctionModule(8, this.size - 15 + i, getBit(bits, i))\n this.setFunctionModule(8, this.size - 8, true)\n }\n\n private drawVersionBits(): void {\n if (this.version < 7) return\n let rem = this.version\n for (let i = 0; i < 12; i++) rem = (rem << 1) ^ (((rem >>> 11) & 1) * 0x1f25)\n const bits = (this.version << 12) | rem\n for (let i = 0; i < 18; i++) {\n const bit = getBit(bits, i)\n const a = this.size - 11 + (i % 3)\n const b = Math.floor(i / 3)\n this.setFunctionModule(a, b, bit)\n this.setFunctionModule(b, a, bit)\n }\n }\n\n private drawCodewords(data: number[]): void {\n let bitIndex = 0\n for (let right = this.size - 1; right >= 1; right -= 2) {\n if (right === 6) right = 5\n for (let vert = 0; vert < this.size; vert++) {\n for (let j = 0; j < 2; j++) {\n const x = right - j\n const upward = ((right + 1) & 2) === 0\n const y = upward ? this.size - 1 - vert : vert\n if (this.functionModules[y][x]) continue\n const dark = bitIndex < data.length * 8 ? getBit(data[Math.floor(bitIndex / 8)], 7 - (bitIndex & 7)) : false\n this.modules[y][x] = dark\n bitIndex++\n }\n }\n }\n if (bitIndex !== QRCode.getNumRawDataModules(this.version))\n throw new Error(\"Internal error: codeword placement mismatch\")\n }\n\n private applyMask(mask: number): void {\n QRCode.validateMask(mask)\n for (let y = 0; y < this.size; y++) {\n for (let x = 0; x < this.size; x++) {\n if (!this.functionModules[y][x] && QRCode.maskCondition(mask, x, y)) this.modules[y][x] = !this.modules[y][x]\n }\n }\n }\n\n private getPenaltyScore(): number {\n const size = this.size\n let result = 0\n\n for (let y = 0; y < size; y++) {\n let runColor = false\n let runLength = 0\n for (let x = 0; x < size; x++) {\n const color = this.modules[y][x]\n if (x === 0 || color !== runColor) {\n runColor = color\n runLength = 1\n } else {\n runLength++\n if (runLength === 5) result += 3\n else if (runLength > 5) result++\n }\n }\n }\n for (let x = 0; x < size; x++) {\n let runColor = false\n let runLength = 0\n for (let y = 0; y < size; y++) {\n const color = this.modules[y][x]\n if (y === 0 || color !== runColor) {\n runColor = color\n runLength = 1\n } else {\n runLength++\n if (runLength === 5) result += 3\n else if (runLength > 5) result++\n }\n }\n }\n\n for (let y = 0; y < size - 1; y++) {\n for (let x = 0; x < size - 1; x++) {\n const color = this.modules[y][x]\n if (\n color === this.modules[y][x + 1] &&\n color === this.modules[y + 1][x] &&\n color === this.modules[y + 1][x + 1]\n )\n result += 3\n }\n }\n\n for (let y = 0; y < size; y++) {\n let bits = 0\n for (let x = 0; x < size; x++) {\n bits = ((bits << 1) & 0x7ff) | (this.modules[y][x] ? 1 : 0)\n if (x >= 10 && (bits === 0x05d || bits === 0x5d0)) result += 40\n }\n }\n for (let x = 0; x < size; x++) {\n let bits = 0\n for (let y = 0; y < size; y++) {\n bits = ((bits << 1) & 0x7ff) | (this.modules[y][x] ? 1 : 0)\n if (y >= 10 && (bits === 0x05d || bits === 0x5d0)) result += 40\n }\n }\n\n let dark = 0\n for (const row of this.modules) for (const module of row) if (module) dark++\n const total = size * size\n const k = Math.ceil(Math.abs(dark * 20 - total * 10) / total) - 1\n result += k * 10\n return result\n }\n\n private addEccAndInterleave(data: number[]): number[] {\n const version = this.version\n const eclIndex = QRCode.eclIndex(this.errorCorrectionLevel)\n const numBlocks = QRCode.NUM_ERROR_CORRECTION_BLOCKS[eclIndex][version]\n const blockEccLen = QRCode.ECC_CODEWORDS_PER_BLOCK[eclIndex][version]\n const rawCodewords = Math.floor(QRCode.getNumRawDataModules(version) / 8)\n const numShortBlocks = numBlocks - (rawCodewords % numBlocks)\n const shortBlockDataLen = Math.floor(rawCodewords / numBlocks) - blockEccLen\n\n if (data.length !== QRCode.getNumDataCodewords(version, this.errorCorrectionLevel)) {\n throw new Error(\"Internal error: unexpected number of data codewords\")\n }\n\n const rsDivisor = ReedSolomon.computeDivisor(blockEccLen)\n const blocks: Block[] = []\n let offset = 0\n for (let i = 0; i < numBlocks; i++) {\n const dataLen = shortBlockDataLen + (i < numShortBlocks ? 0 : 1)\n const dat = data.slice(offset, offset + dataLen)\n offset += dataLen\n blocks.push({ data: dat, ecc: ReedSolomon.computeRemainder(dat, rsDivisor) })\n }\n if (offset !== data.length) throw new Error(\"Internal error: data block split mismatch\")\n\n const result: number[] = []\n const maxDataLen = Math.max(...blocks.map((b) => b.data.length))\n for (let i = 0; i < maxDataLen; i++)\n for (const block of blocks) if (i < block.data.length) result.push(block.data[i])\n for (let i = 0; i < blockEccLen; i++) for (const block of blocks) result.push(block.ecc[i])\n if (result.length !== rawCodewords) throw new Error(\"Internal error: interleaved codeword count mismatch\")\n return result\n }\n\n private getAlignmentPatternPositions(): number[] {\n if (this.version === 1) return []\n const numAlign = Math.floor(this.version / 7) + 2\n const step = this.version === 32 ? 26 : Math.ceil((this.version * 4 + 4) / (numAlign * 2 - 2)) * 2\n const result = [6]\n for (let pos = this.size - 7; result.length < numAlign; pos -= step) result.splice(1, 0, pos)\n return result\n }\n\n private setFunctionModule(x: number, y: number, dark: boolean): void {\n this.modules[y][x] = dark\n this.functionModules[y][x] = true\n }\n\n private static getTotalBits(segments: readonly QrSegment[], version: number): number {\n let result = 0\n for (const seg of segments) {\n const n = seg.getTotalBits(version)\n if (!Number.isFinite(n)) return Infinity\n result += n\n }\n return result\n }\n\n private static getNumDataCodewords(version: number, ecl: ErrorCorrectionLevel): number {\n QRCode.validateVersion(version)\n const eclIndex = QRCode.eclIndex(ecl)\n return (\n Math.floor(QRCode.getNumRawDataModules(version) / 8) -\n QRCode.ECC_CODEWORDS_PER_BLOCK[eclIndex][version] * QRCode.NUM_ERROR_CORRECTION_BLOCKS[eclIndex][version]\n )\n }\n\n private static getNumRawDataModules(version: number): number {\n QRCode.validateVersion(version)\n let result = (16 * version + 128) * version + 64\n if (version >= 2) {\n const numAlign = Math.floor(version / 7) + 2\n result -= (25 * numAlign - 10) * numAlign - 55\n if (version >= 7) result -= 36\n }\n return result\n }\n\n static maskCondition(mask: number, x: number, y: number): boolean {\n switch (mask) {\n case 0:\n return (x + y) % 2 === 0\n case 1:\n return y % 2 === 0\n case 2:\n return x % 3 === 0\n case 3:\n return (x + y) % 3 === 0\n case 4:\n return (Math.floor(y / 2) + Math.floor(x / 3)) % 2 === 0\n case 5:\n return ((x * y) % 2) + ((x * y) % 3) === 0\n case 6:\n return (((x * y) % 2) + ((x * y) % 3)) % 2 === 0\n case 7:\n return (((x + y) % 2) + ((x * y) % 3)) % 2 === 0\n default:\n throw new RangeError(\"Mask must be in 0..7\")\n }\n }\n\n private static eclIndex(ecl: ErrorCorrectionLevel): number {\n switch (ecl) {\n case ErrorCorrectionLevel.L:\n return 0\n case ErrorCorrectionLevel.M:\n return 1\n case ErrorCorrectionLevel.Q:\n return 2\n case ErrorCorrectionLevel.H:\n return 3\n default:\n throw new Error(\"Invalid error correction level\")\n }\n }\n\n private static validateVersion(version: number): void {\n if (!Number.isInteger(version) || version < QRCode.MIN_VERSION || version > QRCode.MAX_VERSION) {\n throw new RangeError(\"Version must be in 1..40\")\n }\n }\n\n private static validateMask(mask: number): void {\n if (!Number.isInteger(mask) || mask < 0 || mask > 7) throw new RangeError(\"Mask must be in 0..7\")\n }\n}\n\nexport function createQrSvg(\n text: string,\n options: EncodeOptions & { ecl?: ErrorCorrectionLevel; border?: number; moduleSize?: number } = {},\n): string {\n const qr = QRCode.encodeText(text, options.ecl ?? ErrorCorrectionLevel.M, options)\n return qr.toSvgString({ border: options.border ?? 4, moduleSize: options.moduleSize ?? 8 })\n}\n\nfunction encodeFnc1SecondApplicationIndicator(applicationIndicator: string | number): number {\n if (typeof applicationIndicator === \"number\") {\n if (!Number.isInteger(applicationIndicator) || applicationIndicator < 0 || applicationIndicator > 99) {\n throw new RangeError(\"FNC1 second-position numeric application indicator must be 0..99\")\n }\n return applicationIndicator\n }\n if (/^[0-9]{2}$/.test(applicationIndicator)) return Number(applicationIndicator)\n if (/^[A-Za-z]$/.test(applicationIndicator)) return applicationIndicator.charCodeAt(0) + 100\n throw new Error(\"FNC1 second-position application indicator must be two digits or one Latin alphabetic character\")\n}\n\nfunction validateStructuredAppend(position: number, total: number, parity: number): void {\n if (!Number.isInteger(total) || total < 2 || total > 16)\n throw new RangeError(\"Structured append total must be in 2..16\")\n if (!Number.isInteger(position) || position < 1 || position > total)\n throw new RangeError(\"Structured append position must be in 1..total\")\n if (!Number.isInteger(parity) || parity < 0 || parity > 0xff)\n throw new RangeError(\"Structured append parity must be an 8-bit value\")\n}\n\nfunction buildGs1Payload(elements: readonly Gs1Element[]): string {\n let result = \"\"\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i]\n if (!/^[0-9A-Za-z]+$/.test(el.ai)) throw new Error(\"GS1 AI should contain only letters/digits without parentheses\")\n const data = el.data.replace(/%/g, \"%%\")\n result += el.ai + data\n if (el.separatorAfter === true && i + 1 < elements.length) result += \"%\"\n }\n return result\n}\n\nfunction getBit(x: number, i: number): boolean {\n return ((x >>> i) & 1) !== 0\n}\n\nfunction formatBits(data: number, xorMask: number): number {\n let rem = data\n for (let i = 0; i < 10; i++) rem = (rem << 1) ^ (((rem >>> 9) & 1) * 0x537)\n return ((data << 10) | rem) ^ xorMask\n}\n",
|
|
9
|
+
"import { MeasureMode } from \"yoga-layout\"\nimport {\n OptimizedBuffer,\n parseColor,\n RGBA,\n Renderable,\n type ColorInput,\n type RenderableOptions,\n type RenderContext,\n} from \"@opentui/core\"\nimport { ErrorCorrectionLevel, QRCode } from \"../lib/qrcode.js\"\n\nconst DEFAULT_FOREGROUND = RGBA.fromHex(\"#000000\")\nconst DEFAULT_BACKGROUND = RGBA.fromHex(\"#ffffff\")\nconst TRANSPARENT = RGBA.fromValues(0, 0, 0, 0)\nconst QR_CODE_MINIMUM_QUIET_ZONE = 4\n\nexport type QRCodeFitMode = \"contain\" | \"none\"\n\ninterface EncodedQRCode<TVersion extends number> {\n readonly version: TVersion\n readonly size: number\n toMatrix(): boolean[][]\n}\n\ninterface QRCodeSharedOptions<TRenderable extends Renderable, TEcl> extends RenderableOptions<TRenderable> {\n content?: string\n errorCorrectionLevel?: TEcl\n quietZone?: number\n scale?: number\n fit?: QRCodeFitMode\n foregroundColor?: ColorInput\n backgroundColor?: ColorInput\n fallbackContent?: string\n fallbackColor?: ColorInput\n}\n\nexport interface QRCodeOptions extends QRCodeSharedOptions<QRCodeRenderable, ErrorCorrectionLevel> {}\n\ninterface QRCodeRenderableDefaults<TEcl> {\n content: string\n errorCorrectionLevel: TEcl\n quietZone: number\n scale: number\n fit: QRCodeFitMode\n foregroundColor: RGBA\n backgroundColor: RGBA\n fallbackContent: string\n fallbackColor: RGBA\n}\n\nabstract class BaseQRCodeRenderable<\n TEcl,\n TVersion extends number,\n TEncoded extends EncodedQRCode<TVersion>,\n> extends Renderable {\n private _content: string\n private _errorCorrectionLevel: TEcl\n private _quietZone: number\n private _scale: number\n private _fit: QRCodeFitMode\n private _foregroundColor: RGBA\n private _backgroundColor: RGBA\n private _fallbackContent: string\n private _fallbackColor: RGBA\n private encoded: TEncoded\n private modules: boolean[][]\n private renderBuffer: OptimizedBuffer | null = null\n private renderBufferDirty = true\n\n protected constructor(\n ctx: RenderContext,\n options: QRCodeSharedOptions<any, TEcl>,\n defaults: QRCodeRenderableDefaults<TEcl>,\n private readonly minimumQuietZone: number,\n private readonly encodeContent: (content: string, errorCorrectionLevel: TEcl) => TEncoded,\n ) {\n const content = options.content ?? defaults.content\n const errorCorrectionLevel = options.errorCorrectionLevel ?? defaults.errorCorrectionLevel\n const quietZone = normalizeQuietZone(options.quietZone ?? defaults.quietZone, minimumQuietZone)\n const scale = normalizeScale(options.scale ?? defaults.scale)\n const fit = options.fit ?? defaults.fit\n const encoded = encodeContent(content, errorCorrectionLevel)\n\n super(ctx, {\n ...options,\n })\n\n this._content = content\n this._errorCorrectionLevel = errorCorrectionLevel\n this._quietZone = quietZone\n this._scale = scale\n this._fit = fit\n this._foregroundColor = options.foregroundColor ? parseColor(options.foregroundColor) : defaults.foregroundColor\n this._backgroundColor = options.backgroundColor ? parseColor(options.backgroundColor) : defaults.backgroundColor\n this._fallbackContent = options.fallbackContent ?? defaults.fallbackContent\n this._fallbackColor = options.fallbackColor ? parseColor(options.fallbackColor) : defaults.fallbackColor\n this.encoded = encoded\n this.modules = encoded.toMatrix()\n\n this.setupMeasureFunc()\n }\n\n public get content(): string {\n return this._content\n }\n\n public set content(value: string) {\n if (value === this._content) {\n return\n }\n\n this._content = value\n this.rebuildMatrix()\n }\n\n public get errorCorrectionLevel(): TEcl {\n return this._errorCorrectionLevel\n }\n\n public set errorCorrectionLevel(value: TEcl) {\n if (value === this._errorCorrectionLevel) {\n return\n }\n\n this._errorCorrectionLevel = value\n this.rebuildMatrix()\n }\n\n public get quietZone(): number {\n return this._quietZone\n }\n\n public set quietZone(value: number) {\n const nextQuietZone = normalizeQuietZone(value, this.minimumQuietZone)\n if (nextQuietZone === this._quietZone) {\n return\n }\n\n this._quietZone = nextQuietZone\n this.remeasure()\n }\n\n public get scale(): number {\n return this._scale\n }\n\n public set scale(value: number) {\n const nextScale = normalizeScale(value)\n if (nextScale === this._scale) {\n return\n }\n\n this._scale = nextScale\n this.remeasure()\n }\n\n public get fit(): QRCodeFitMode {\n return this._fit\n }\n\n public set fit(value: QRCodeFitMode) {\n if (value === this._fit) {\n return\n }\n\n this._fit = value\n this.remeasure()\n }\n\n public get foregroundColor(): RGBA {\n return this._foregroundColor\n }\n\n public set foregroundColor(value: ColorInput) {\n this._foregroundColor = parseColor(value)\n this.invalidateRenderBuffer()\n this.requestRender()\n }\n\n public get backgroundColor(): RGBA {\n return this._backgroundColor\n }\n\n public set backgroundColor(value: ColorInput) {\n this._backgroundColor = parseColor(value)\n this.invalidateRenderBuffer()\n this.requestRender()\n }\n\n public get fallbackContent(): string {\n return this._fallbackContent\n }\n\n public set fallbackContent(value: string) {\n if (value === this._fallbackContent) {\n return\n }\n\n this._fallbackContent = value\n this.remeasure()\n }\n\n public get fallbackColor(): RGBA {\n return this._fallbackColor\n }\n\n public set fallbackColor(value: ColorInput) {\n this._fallbackColor = parseColor(value)\n this.invalidateRenderBuffer()\n this.requestRender()\n }\n\n public get version(): TVersion {\n return this.encoded.version\n }\n\n public get moduleCount(): number {\n return this.encoded.size\n }\n\n protected override renderSelf(buffer: OptimizedBuffer): void {\n if (this.width <= 0 || this.height <= 0) {\n return\n }\n\n const renderBuffer = this.getRenderBuffer()\n if (this.renderBufferDirty) {\n this.paintRenderBuffer(renderBuffer)\n this.renderBufferDirty = false\n }\n\n if (this.buffered) {\n buffer.clear(TRANSPARENT)\n buffer.drawFrameBuffer(0, 0, renderBuffer)\n return\n }\n\n buffer.drawFrameBuffer(this._screenX, this._screenY, renderBuffer)\n }\n\n protected override onResize(width: number, height: number): void {\n this.invalidateRenderBuffer()\n super.onResize(width, height)\n }\n\n protected override destroySelf(): void {\n this.renderBuffer?.destroy()\n this.renderBuffer = null\n super.destroySelf()\n }\n\n private paintRenderBuffer(buffer: OptimizedBuffer): void {\n buffer.clear(TRANSPARENT)\n\n const totalModules = this.encoded.size + this._quietZone * 2\n const effectiveScale = this.resolveRenderScale(this.width, this.height)\n\n if (effectiveScale <= 0) {\n this.paintFallback(buffer)\n return\n }\n\n const renderWidth = totalModules * effectiveScale\n const renderHeightPixels = totalModules * effectiveScale\n const xOffset = Math.max(0, Math.floor((this.width - renderWidth) / 2))\n const yOffsetPixels = Math.max(0, Math.floor((this.height * 2 - renderHeightPixels) / 2))\n\n for (let cellY = 0; cellY < this.height; cellY++) {\n const topPixel = cellY * 2 - yOffsetPixels\n const bottomPixel = topPixel + 1\n const intersectsRenderY = bottomPixel >= 0 && topPixel < renderHeightPixels\n\n if (intersectsRenderY) {\n buffer.fillRect(xOffset, cellY, renderWidth, 1, this._backgroundColor)\n }\n\n for (let cellX = 0; cellX < renderWidth; cellX++) {\n const top = this.isDarkAtScaledPixel(cellX, topPixel, effectiveScale)\n const bottom = this.isDarkAtScaledPixel(cellX, bottomPixel, effectiveScale)\n\n if (!top && !bottom) {\n continue\n }\n\n buffer.setCell(\n xOffset + cellX,\n cellY,\n getBlockCharacter(top, bottom),\n this._foregroundColor,\n this._backgroundColor,\n )\n }\n }\n }\n\n private rebuildMatrix(): void {\n this.encoded = this.encodeContent(this._content, this._errorCorrectionLevel)\n this.modules = this.encoded.toMatrix()\n this.remeasure()\n }\n\n private remeasure(): void {\n this.invalidateRenderBuffer()\n this.yogaNode.markDirty()\n this.requestRender()\n }\n\n private invalidateRenderBuffer(): void {\n this.renderBufferDirty = true\n }\n\n private getRenderBuffer(): OptimizedBuffer {\n if (this.renderBuffer) {\n if (this.renderBuffer.width !== this.width || this.renderBuffer.height !== this.height) {\n this.renderBuffer.resize(this.width, this.height)\n this.invalidateRenderBuffer()\n }\n\n return this.renderBuffer\n }\n\n this.renderBuffer = OptimizedBuffer.create(this.width, this.height, this._ctx.widthMethod, {\n respectAlpha: true,\n id: `qrcode-renderable-${this.id}`,\n })\n this.invalidateRenderBuffer()\n return this.renderBuffer\n }\n\n private setupMeasureFunc(): void {\n this.yogaNode.setMeasureFunc((width, widthMode, height, heightMode) => {\n const scale = this.resolveMeasuredScale(width, widthMode, height, heightMode)\n if (scale > 0) {\n return getDimensionsForScale(this.encoded.size, this._quietZone, scale)\n }\n\n if (this._fallbackContent.length > 0) {\n return {\n width: getFallbackWidth(this._fallbackContent, width, widthMode),\n height: 1,\n }\n }\n\n return {\n width: 0,\n height: 0,\n }\n })\n }\n\n private resolveMeasuredScale(width: number, widthMode: MeasureMode, height: number, heightMode: MeasureMode): number {\n const availableWidth = widthMode === MeasureMode.Undefined || Number.isNaN(width) ? undefined : Math.floor(width)\n const availableHeight =\n heightMode === MeasureMode.Undefined || Number.isNaN(height) ? undefined : Math.floor(height)\n return this.resolveScaleForBounds(availableWidth, availableHeight)\n }\n\n private resolveRenderScale(width: number, height: number): number {\n return this.resolveScaleForBounds(width, height)\n }\n\n private resolveScaleForBounds(availableWidth?: number, availableHeight?: number): number {\n if (this._fit === \"none\") {\n return this._scale\n }\n\n const totalModules = this.encoded.size + this._quietZone * 2\n let scale = this._scale\n\n if (availableWidth !== undefined) {\n scale = Math.min(scale, Math.floor(availableWidth / totalModules))\n }\n\n if (availableHeight !== undefined) {\n scale = Math.min(scale, Math.floor((availableHeight * 2) / totalModules))\n }\n\n return Math.max(0, scale)\n }\n\n private isDarkAtScaledPixel(renderPixelX: number, renderPixelY: number, scale: number): boolean {\n if (renderPixelX < 0 || renderPixelY < 0) {\n return false\n }\n\n const moduleX = Math.floor(renderPixelX / scale) - this._quietZone\n const moduleY = Math.floor(renderPixelY / scale) - this._quietZone\n\n if (moduleX < 0 || moduleY < 0 || moduleX >= this.encoded.size || moduleY >= this.encoded.size) {\n return false\n }\n\n return this.modules[moduleY]![moduleX]!\n }\n\n private paintFallback(buffer: OptimizedBuffer): void {\n if (this._fallbackContent.length === 0 || this.width <= 0 || this.height <= 0) {\n return\n }\n\n const content = this._fallbackContent.slice(0, this.width)\n const xOffset = Math.max(0, Math.floor((this.width - content.length) / 2))\n const yOffset = Math.max(0, Math.floor(this.height / 2))\n\n for (let i = 0; i < content.length; i++) {\n buffer.setCell(xOffset + i, yOffset, content[i]!, this._fallbackColor, TRANSPARENT)\n }\n }\n}\n\nexport class QRCodeRenderable extends BaseQRCodeRenderable<ErrorCorrectionLevel, number, QRCode> {\n protected static readonly _defaultOptions = {\n content: \"\",\n errorCorrectionLevel: ErrorCorrectionLevel.M,\n quietZone: QR_CODE_MINIMUM_QUIET_ZONE,\n scale: 1,\n fit: \"contain\" as QRCodeFitMode,\n foregroundColor: DEFAULT_FOREGROUND,\n backgroundColor: DEFAULT_BACKGROUND,\n fallbackContent: \"\",\n fallbackColor: DEFAULT_BACKGROUND,\n } satisfies QRCodeRenderableDefaults<ErrorCorrectionLevel>\n\n constructor(ctx: RenderContext, options: QRCodeOptions = {}) {\n super(ctx, options, QRCodeRenderable._defaultOptions, QR_CODE_MINIMUM_QUIET_ZONE, (content, errorCorrectionLevel) =>\n QRCode.encodeText(content, errorCorrectionLevel),\n )\n }\n}\n\nfunction getDimensionsForScale(\n moduleCount: number,\n quietZone: number,\n scale: number,\n): { width: number; height: number } {\n const totalModules = (moduleCount + quietZone * 2) * scale\n\n return {\n width: totalModules,\n height: Math.max(1, Math.ceil(totalModules / 2)),\n }\n}\n\nfunction getBlockCharacter(top: boolean, bottom: boolean): string {\n if (top && bottom) {\n return \"█\"\n }\n\n if (top) {\n return \"▀\"\n }\n\n return \"▄\"\n}\n\nfunction getFallbackWidth(content: string, width: number, widthMode: MeasureMode): number {\n if (widthMode === MeasureMode.Undefined || Number.isNaN(width)) {\n return content.length\n }\n\n return Math.max(0, Math.min(content.length, Math.floor(width)))\n}\n\nfunction normalizeQuietZone(value: number, minimumQuietZone: number): number {\n if (!Number.isFinite(value)) {\n return minimumQuietZone\n }\n\n const quietZone = Math.floor(value)\n if (quietZone < minimumQuietZone) {\n throw new RangeError(`Quiet zone must be at least ${minimumQuietZone} modules`)\n }\n return quietZone\n}\n\nfunction normalizeScale(value: number): number {\n if (!Number.isFinite(value)) {\n return 1\n }\n\n return Math.max(1, Math.floor(value))\n}\n"
|
|
10
|
+
],
|
|
11
|
+
"mappings": ";;AACO,IAAM,yBAAiD;AAAA,EAC5D,QAAI;AAAA,EACJ,QAAI;AAAA,EACJ,QAAI;AAAA,EACJ,QAAI;AAAA,EACJ,QAAI;AAAA,EACJ,QAAI;AAAA,EACJ,QAAI;AAAA,EACJ,QAAI;AAAA,EACJ,QAAI;AAAA,EACJ,QAAI;AAAA,EACJ,QAAI;AAAA,EACJ,QAAI;AAAA,EACJ,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,SAAE;AAAA,EACF,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAE;AAAA,EACF,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAI;AAAA,EACJ,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAE;AAAA,EACF,UAAI;AAAA,EACJ,UAAI;AAAA,EACJ,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",
|
|
12
|
+
"debugId": "543822C42A64010E64756E2164756E21",
|
|
13
|
+
"names": []
|
|
14
|
+
}
|