diff options
author | Sean Bartell <wingedtachikoma@gmail.com> | 2011-06-25 21:32:25 -0400 |
---|---|---|
committer | Nils Wallménius <nils@rockbox.org> | 2012-04-25 22:13:20 +0200 |
commit | f40bfc9267b13b54e6379dfe7539447662879d24 (patch) | |
tree | 9b20069d5e62809ff434061ad730096836f916f2 /lib/rbcodec/codecs/libwmapro | |
parent | a0009907de7a0107d49040d8a180f140e2eff299 (diff) | |
download | rockbox-f40bfc9267b13b54e6379dfe7539447662879d24.tar.gz rockbox-f40bfc9267b13b54e6379dfe7539447662879d24.zip |
Add codecs to librbcodec.
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97
Reviewed-on: http://gerrit.rockbox.org/137
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
Diffstat (limited to 'lib/rbcodec/codecs/libwmapro')
-rw-r--r-- | lib/rbcodec/codecs/libwmapro/README.rockbox | 20 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libwmapro/SOURCES | 4 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libwmapro/libwmapro.make | 18 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libwmapro/mdct_tables.c | 3391 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libwmapro/mdct_tables.h | 10 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libwmapro/quant.h | 53 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libwmapro/wma.c | 164 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libwmapro/wma.h | 75 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libwmapro/wmapro_math.h | 250 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libwmapro/wmaprodata.h | 615 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libwmapro/wmaprodec.c | 1626 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libwmapro/wmaprodec.h | 44 |
12 files changed, 6270 insertions, 0 deletions
diff --git a/lib/rbcodec/codecs/libwmapro/README.rockbox b/lib/rbcodec/codecs/libwmapro/README.rockbox new file mode 100644 index 0000000000..5d15bdd42c --- /dev/null +++ b/lib/rbcodec/codecs/libwmapro/README.rockbox | |||
@@ -0,0 +1,20 @@ | |||
1 | Library: libwmapro | ||
2 | Imported: 2010-04-30 by Mohamed Tarek | ||
3 | |||
4 | This set of files form the files needed from ffmpeg's libavcodec and libavutil | ||
5 | to build a standalone wma professional decoder. | ||
6 | |||
7 | LICENSING INFORMATION | ||
8 | |||
9 | ffmpeg is licensed under the Lesser GNU General Public License and the file | ||
10 | wmaprodec.c is copyright (c) 2007 Baptiste Coudurier, Benjamin Larsson, Ulion | ||
11 | and copyright (c) 2008 - 2009 Sascha Sommer, Benjamin Larsson. | ||
12 | |||
13 | IMPORT DETAILS | ||
14 | |||
15 | Based on ffmpeg svn r22886 dated 15 April 2010. | ||
16 | |||
17 | The decoder is a heavily modified version of the original ffmpeg floating point | ||
18 | implementation. It's been modified to use fixed point arithmetic and now plays | ||
19 | and seeks on all the targets that Rockbox supports. Currently only supports mono | ||
20 | and stereo streams, streams with more than 2 channels are not yet supported. | ||
diff --git a/lib/rbcodec/codecs/libwmapro/SOURCES b/lib/rbcodec/codecs/libwmapro/SOURCES new file mode 100644 index 0000000000..296f26ab7f --- /dev/null +++ b/lib/rbcodec/codecs/libwmapro/SOURCES | |||
@@ -0,0 +1,4 @@ | |||
1 | wmaprodec.c | ||
2 | wma.c | ||
3 | mdct_tables.c | ||
4 | ../lib/ffmpeg_bitstream.c | ||
diff --git a/lib/rbcodec/codecs/libwmapro/libwmapro.make b/lib/rbcodec/codecs/libwmapro/libwmapro.make new file mode 100644 index 0000000000..3db9000b43 --- /dev/null +++ b/lib/rbcodec/codecs/libwmapro/libwmapro.make | |||
@@ -0,0 +1,18 @@ | |||
1 | # __________ __ ___. | ||
2 | # Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
3 | # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
4 | # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
5 | # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
6 | # \/ \/ \/ \/ \/ | ||
7 | # $Id$ | ||
8 | # | ||
9 | |||
10 | # libwmapro | ||
11 | WMAPROLIB := $(CODECDIR)/libwmapro.a | ||
12 | WMAPROLIB_SRC := $(call preprocess, $(RBCODECLIB_DIR)/codecs/libwmapro/SOURCES) | ||
13 | WMAPROLIB_OBJ := $(call c2obj, $(WMAPROLIB_SRC)) | ||
14 | OTHER_SRC += $(WMAPROLIB_SRC) | ||
15 | |||
16 | $(WMAPROLIB): $(WMAPROLIB_OBJ) | ||
17 | $(SILENT)$(shell rm -f $@) | ||
18 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null | ||
diff --git a/lib/rbcodec/codecs/libwmapro/mdct_tables.c b/lib/rbcodec/codecs/libwmapro/mdct_tables.c new file mode 100644 index 0000000000..bec3c37ee7 --- /dev/null +++ b/lib/rbcodec/codecs/libwmapro/mdct_tables.c | |||
@@ -0,0 +1,3391 @@ | |||
1 | #include "wmaprodec.h" | ||
2 | #include <inttypes.h> | ||
3 | |||
4 | /* Tables for fixed-point trig tables for windowing and mdct */ | ||
5 | |||
6 | /* Windowing trig tables in s.31 format */ | ||
7 | const int32_t sine_4096[] = { | ||
8 | 0xFFF9B782, 0xFFED2685, 0xFFE09587, 0xFFD4048A, 0xFFC7738D, 0xFFBAE291, | ||
9 | 0xFFAE5196, 0xFFA1C09B, 0xFF952FA1, 0xFF889EA8, 0xFF7C0DB1, 0xFF6F7CBB, | ||
10 | 0xFF62EBC5, 0xFF565AD3, 0xFF49C9E1, 0xFF3D38F0, 0xFF30A803, 0xFF241716, | ||
11 | 0xFF17862C, 0xFF0AF545, 0xFEFE645F, 0xFEF1D37C, 0xFEE5429B, 0xFED8B1BD, | ||
12 | 0xFECC20E4, 0xFEBF900C, 0xFEB2FF37, 0xFEA66E65, 0xFE99DD96, 0xFE8D4CCB, | ||
13 | 0xFE80BC06, 0xFE742B42, 0xFE679A82, 0xFE5B09C6, 0xFE4E790E, 0xFE41E85A, | ||
14 | 0xFE3557AD, 0xFE28C702, 0xFE1C365B, 0xFE0FA5B9, 0xFE03151C, 0xFDF68484, | ||
15 | 0xFDE9F3F3, 0xFDDD6363, 0xFDD0D2DC, 0xFDC4425A, 0xFDB7B1DB, 0xFDAB2164, | ||
16 | 0xFD9E90F0, 0xFD920085, 0xFD85701D, 0xFD78DFBE, 0xFD6C4F66, 0xFD5FBF10, | ||
17 | 0xFD532EC5, 0xFD469E7C, 0xFD3A0E3E, 0xFD2D7E07, 0xFD20EDD2, 0xFD145DA9, | ||
18 | 0xFD07CD83, 0xFCFB3D68, 0xFCEEAD51, 0xFCE21D46, 0xFCD58D42, 0xFCC8FD41, | ||
19 | 0xFCBC6D4D, 0xFCAFDD5D, 0xFCA34D79, 0xFC96BD9D, 0xFC8A2DC6, 0xFC7D9DFB, | ||
20 | 0xFC710E35, 0xFC647E7C, 0xFC57EEC8, 0xFC4B5F20, 0xFC3ECF82, 0xFC323FE9, | ||
21 | 0xFC25B05D, 0xFC1920D7, 0xFC0C915F, 0xFC0001F0, 0xFBF37287, 0xFBE6E329, | ||
22 | 0xFBDA53DC, 0xFBCDC491, 0xFBC13551, 0xFBB4A624, 0xFBA816F8, 0xFB9B87D8, | ||
23 | 0xFB8EF8C3, 0xFB8269C0, 0xFB75DAC1, 0xFB694BCC, 0xFB5CBCEB, 0xFB502E0E, | ||
24 | 0xFB439F3C, 0xFB371076, 0xFB2A81C3, 0xFB1DF315, 0xFB116472, 0xFB04D5E4, | ||
25 | 0xFAF8475A, 0xFAEBB8DC, 0xFADF2A73, 0xFAD29C0F, 0xFAC60DB7, 0xFAB97F6C, | ||
26 | 0xFAACF137, 0xFAA06306, 0xFA93D4E3, 0xFA8746D5, 0xFA7AB8CC, 0xFA6E2AD1, | ||
27 | 0xFA619CE4, 0xFA550F0D, 0xFA48813C, 0xFA3BF379, 0xFA2F65CC, 0xFA22D825, | ||
28 | 0xFA164A8D, 0xFA09BD04, 0xF9FD2F91, 0xF9F0A225, 0xF9E414C8, 0xF9D78782, | ||
29 | 0xF9CAFA43, 0xF9BE6D14, 0xF9B1DFFC, 0xF9A552EB, 0xF998C5EB, 0xF98C38FA, | ||
30 | 0xF97FAC21, 0xF9731F50, 0xF966928F, 0xF95A05E6, 0xF94D7946, 0xF940ECB6, | ||
31 | 0xF9346037, 0xF927D3D1, 0xF91B4774, 0xF90EBB28, 0xF9022EF4, 0xF8F5A2CA, | ||
32 | 0xF8E916B2, 0xF8DC8AAB, 0xF8CFFEBD, 0xF8C372DA, 0xF8B6E708, 0xF8AA5B50, | ||
33 | 0xF89DCFA2, 0xF8914407, 0xF884B885, 0xF8782D0F, 0xF86BA1AA, 0xF85F1659, | ||
34 | 0xF8528B22, 0xF845FFF6, 0xF83974DE, 0xF82CE9E0, 0xF8205EEE, 0xF813D40F, | ||
35 | 0xF8074944, 0xF7FABE95, 0xF7EE33F1, 0xF7E1A961, 0xF7D51EE5, 0xF7C8947E, | ||
36 | 0xF7BC0A3A, 0xF7AF7FFB, 0xF7A2F5D1, 0xF7966BBB, 0xF789E1BA, 0xF77D57CE, | ||
37 | 0xF770CDF7, 0xF7644445, 0xF757BA98, 0xF74B3100, 0xF73EA77E, 0xF7321E12, | ||
38 | 0xF72594BB, 0xF7190B7B, 0xF70C8260, 0xF6FFF94B, 0xF6F3704C, 0xF6E6E764, | ||
39 | 0xF6DA5E92, 0xF6CDD5D7, 0xF6C14D43, 0xF6B4C4B5, 0xF6A83C3E, 0xF69BB3DE, | ||
40 | 0xF68F2B96, 0xF682A365, 0xF6761B4B, 0xF6699358, 0xF65D0B6E, 0xF650839B, | ||
41 | 0xF643FBE0, 0xF637743D, 0xF62AECB2, 0xF61E6540, 0xF611DDF5, 0xF60556B4, | ||
42 | 0xF5F8CF8B, 0xF5EC487A, 0xF5DFC183, 0xF5D33AA4, 0xF5C6B3DF, 0xF5BA2D43, | ||
43 | 0xF5ADA6B0, 0xF5A12037, 0xF59499D7, 0xF5881391, 0xF57B8D65, 0xF56F0753, | ||
44 | 0xF562816B, 0xF555FB8D, 0xF54975C9, 0xF53CF020, 0xF5306A91, 0xF523E51D, | ||
45 | 0xF5175FC4, 0xF50ADA96, 0xF4FE5572, 0xF4F1D06A, 0xF4E54B7D, 0xF4D8C6AC, | ||
46 | 0xF4CC41F6, 0xF4BFBD5C, 0xF4B338ED, 0xF4A6B48B, 0xF49A3044, 0xF48DAC1A, | ||
47 | 0xF481280B, 0xF474A41A, 0xF4682054, 0xF45B9C9B, 0xF44F18FF, 0xF4429580, | ||
48 | 0xF436121E, 0xF4298ED9, 0xF41D0BB1, 0xF41088B6, 0xF40405C9, 0xF3F782F9, | ||
49 | 0xF3EB0047, 0xF3DE7DB3, 0xF3D1FB3D, 0xF3C578E5, 0xF3B8F6BB, 0xF3AC749F, | ||
50 | 0xF39FF2A2, 0xF39370C3, 0xF386EF03, 0xF37A6D62, 0xF36DEBE0, 0xF3616A8C, | ||
51 | 0xF354E948, 0xF3486823, 0xF33BE71E, 0xF32F6638, 0xF322E571, 0xF31664CA, | ||
52 | 0xF309E453, 0xF2FD63ED, 0xF2F0E3A6, 0xF2E4637F, 0xF2D7E379, 0xF2CB6393, | ||
53 | 0xF2BEE3CE, 0xF2B2643A, 0xF2A5E4B6, 0xF2996553, 0xF28CE612, 0xF28066F1, | ||
54 | 0xF273E7F2, 0xF2676924, 0xF25AEA68, 0xF24E6BCE, 0xF241ED55, 0xF2356EFE, | ||
55 | 0xF228F0C9, 0xF21C72B7, 0xF20FF4D6, 0xF2037708, 0xF1F6F95D, 0xF1EA7BD4, | ||
56 | 0xF1DDFE6E, 0xF1D1812B, 0xF1C5040B, 0xF1B8871D, 0xF1AC0A43, 0xF19F8D8D, | ||
57 | 0xF19310FA, 0xF186948A, 0xF17A183F, 0xF16D9C17, 0xF1612023, 0xF154A443, | ||
58 | 0xF1482887, 0xF13BACF0, 0xF12F317D, 0xF122B62F, 0xF1163B05, 0xF109C010, | ||
59 | 0xF0FD4530, 0xF0F0CA75, 0xF0E44FDF, 0xF0D7D56F, 0xF0CB5B24, 0xF0BEE0FE, | ||
60 | 0xF0B2670E, 0xF0A5ED34, 0xF0997380, 0xF08CF9F1, 0xF0808089, 0xF0740747, | ||
61 | 0xF0678E2C, 0xF05B1546, 0xF04E9C78, 0xF04223D0, 0xF035AB4F, 0xF02932F5, | ||
62 | 0xF01CBAC2, 0xF01042C6, 0xF003CAE2, 0xEFF75325, 0xEFEADB90, 0xEFDE6422, | ||
63 | 0xEFD1ECDC, 0xEFC575BE, 0xEFB8FEC8, 0xEFAC87FB, 0xEFA01155, 0xEF939AD8, | ||
64 | 0xEF8724A3, 0xEF7AAE77, 0xEF6E3874, 0xEF61C29A, 0xEF554CE9, 0xEF48D761, | ||
65 | 0xEF3C6202, 0xEF2FECCC, 0xEF2377C0, 0xEF1702DE, 0xEF0A8E25, 0xEEFE1996, | ||
66 | 0xEEF1A531, 0xEEE53116, 0xEED8BD06, 0xEECC491F, 0xEEBFD563, 0xEEB361D2, | ||
67 | 0xEEA6EE6C, 0xEE9A7B30, 0xEE8E081F, 0xEE819539, 0xEE75227E, 0xEE68AFEF, | ||
68 | 0xEE5C3D8B, 0xEE4FCB53, 0xEE435946, 0xEE36E784, 0xEE2A75CF, 0xEE1E0446, | ||
69 | 0xEE1192E9, 0xEE0521B8, 0xEDF8B0B4, 0xEDEC3FDC, 0xEDDFCF31, 0xEDD35EB2, | ||
70 | 0xEDC6EE60, 0xEDBA7E3C, 0xEDAE0E44, 0xEDA19E79, 0xED952EDC, 0xED88BF8C, | ||
71 | 0xED7C504A, 0xED6FE135, 0xED63724F, 0xED570396, 0xED4A950B, 0xED3E26AF, | ||
72 | 0xED31B880, 0xED254A80, 0xED18DCAF, 0xED0C6F0C, 0xED000198, 0xECF39453, | ||
73 | 0xECE7273D, 0xECDABA76, 0xECCE4DBE, 0xECC1E136, 0xECB574DD, 0xECA908B4, | ||
74 | 0xEC9C9CBA, 0xEC9030F0, 0xEC83C557, 0xEC7759ED, 0xEC6AEEB3, 0xEC5E83AA, | ||
75 | 0xEC5218D1, 0xEC45AE29, 0xEC3943D1, 0xEC2CD98B, 0xEC206F75, 0xEC140590, | ||
76 | 0xEC079BDD, 0xEBFB325A, 0xEBEEC909, 0xEBE25FEA, 0xEBD5F6FC, 0xEBC98E40, | ||
77 | 0xEBBD25B6, 0xEBB0BD5E, 0xEBA45538, 0xEB97ED44, 0xEB8B85A2, 0xEB7F1E13, | ||
78 | 0xEB72B6B7, 0xEB664F8D, 0xEB59E896, 0xEB4D81D2, 0xEB411B41, 0xEB34B4E4, | ||
79 | 0xEB284EB9, 0xEB1BE8C2, 0xEB0F82FF, 0xEB031D6F, 0xEAF6B813, 0xEAEA52EB, | ||
80 | 0xEADDEE17, 0xEAD18957, 0xEAC524CB, 0xEAB8C074, 0xEAAC5C51, 0xEA9FF863, | ||
81 | 0xEA9394AA, 0xEA873126, 0xEA7ACDD6, 0xEA6E6ABC, 0xEA6207D6, 0xEA55A527, | ||
82 | 0xEA4942AC, 0xEA3CE087, 0xEA307E78, 0xEA241C9E, 0xEA17BAFB, 0xEA0B598E, | ||
83 | 0xE9FEF857, 0xE9F29756, 0xE9E6368B, 0xE9D9D5F7, 0xE9CD759A, 0xE9C11574, | ||
84 | 0xE9B4B584, 0xE9A855CC, 0xE99BF64A, 0xE98F971F, 0xE983380D, 0xE976D931, | ||
85 | 0xE96A7A8D, 0xE95E1C21, 0xE951BDED, 0xE9455FF1, 0xE939022D, 0xE92CA4A1, | ||
86 | 0xE920474D, 0xE913EA32, 0xE9078D50, 0xE8FB30A6, 0xE8EED434, 0xE8E2781C, | ||
87 | 0xE8D61C1C, 0xE8C9C056, 0xE8BD64CA, 0xE8B10976, 0xE8A4AE5C, 0xE898537C, | ||
88 | 0xE88BF8D6, 0xE87F9E69, 0xE8734436, 0xE866EA3E, 0xE85A9080, 0xE84E36FC, | ||
89 | 0xE841DDD2, 0xE83584C3, 0xE8292BEF, 0xE81CD355, 0xE8107AF7, 0xE80422D3, | ||
90 | 0xE7F7CAEB, 0xE7EB733E, 0xE7DF1BCD, 0xE7D2C497, 0xE7C66D9C, 0xE7BA16DE, | ||
91 | 0xE7ADC05B, 0xE7A16A15, 0xE795142A, 0xE788BE5B, 0xE77C68C9, 0xE7701374, | ||
92 | 0xE763BE5B, 0xE757697F, 0xE74B14E0, 0xE73EC07E, 0xE7326C58, 0xE7261871, | ||
93 | 0xE719C4C6, 0xE70D7159, 0xE7011E29, 0xE6F4CB37, 0xE6E878A2, 0xE6DC262C, | ||
94 | 0xE6CFD3F4, 0xE6C381F9, 0xE6B7303E, 0xE6AADEC0, 0xE69E8D81, 0xE6923C81, | ||
95 | 0xE685EBBF, 0xE6799B3D, 0xE66D4AF9, 0xE660FAF4, 0xE654AB2F, 0xE6485BA9, | ||
96 | 0xE63C0C81, 0xE62FBD7A, 0xE6236EB3, 0xE617202B, 0xE60AD1E4, 0xE5FE83DC, | ||
97 | 0xE5F23615, 0xE5E5E88E, 0xE5D99B47, 0xE5CD4E41, 0xE5C1017B, 0xE5B4B4F6, | ||
98 | 0xE5A868B2, 0xE59C1CCF, 0xE58FD10D, 0xE583858C, 0xE5773A4D, 0xE56AEF4F, | ||
99 | 0xE55EA493, 0xE5525A19, 0xE5460FE0, 0xE539C5EA, 0xE52D7C35, 0xE52132C2, | ||
100 | 0xE514E992, 0xE508A0A5, 0xE4FC57F9, 0xE4F00FB0, 0xE4E3C78A, 0xE4D77FA8, | ||
101 | 0xE4CB3808, 0xE4BEF0AB, 0xE4B2A992, 0xE4A662BB, 0xE49A1C29, 0xE48DD5DA, | ||
102 | 0xE4818FCE, 0xE4754A07, 0xE4690483, 0xE45CBF44, 0xE4507A49, 0xE44435B1, | ||
103 | 0xE437F13F, 0xE42BAD11, 0xE41F6927, 0xE4132583, 0xE406E223, 0xE3FA9F09, | ||
104 | 0xE3EE5C33, 0xE3E219A3, 0xE3D5D758, 0xE3C99553, 0xE3BD5393, 0xE3B11219, | ||
105 | 0xE3A4D104, 0xE3989016, 0xE38C4F6E, 0xE3800F0C, 0xE373CEF1, 0xE3678F1C, | ||
106 | 0xE35B4F8D, 0xE34F1045, 0xE342D144, 0xE336928A, 0xE32A5417, 0xE31E15EB, | ||
107 | 0xE311D806, 0xE3059A69, 0xE2F95D32, 0xE2ED2024, 0xE2E0E35D, 0xE2D4A6DF, | ||
108 | 0xE2C86AA8, 0xE2BC2EB9, 0xE2AFF313, 0xE2A3B7B5, 0xE2977C9F, 0xE28B41D2, | ||
109 | 0xE27F074E, 0xE272CD13, 0xE2669320, 0xE25A5976, 0xE24E2035, 0xE241E71E, | ||
110 | 0xE235AE50, 0xE22975CC, 0xE21D3D91, 0xE21105A0, 0xE204CDF9, 0xE1F8969C, | ||
111 | 0xE1EC5F89, 0xE1E028C0, 0xE1D3F242, 0xE1C7BC0E, 0xE1BB8624, 0xE1AF50A5, | ||
112 | 0xE1A31B51, 0xE196E648, 0xE18AB18A, 0xE17E7D17, 0xE17248EF, 0xE1661513, | ||
113 | 0xE159E182, 0xE14DAE3D, 0xE1417B44, 0xE1354896, 0xE1291635, 0xE11CE41F, | ||
114 | 0xE110B256, 0xE10480F8, 0xE0F84FC8, 0xE0EC1EE4, 0xE0DFEE4D, 0xE0D3BE03, | ||
115 | 0xE0C78E05, 0xE0BB5E55, 0xE0AF2EF1, 0xE0A2FFDB, 0xE096D113, 0xE08AA298, | ||
116 | 0xE07E746A, 0xE072468A, 0xE06618F9, 0xE059EBD4, 0xE04DBEDE, 0xE0419236, | ||
117 | 0xE03565DD, 0xE02939D2, 0xE01D0E16, 0xE010E2A8, 0xE004B789, 0xDFF88CB9, | ||
118 | 0xDFEC6238, 0xDFE03807, 0xDFD40E24, 0xDFC7E491, 0xDFBBBB4D, 0xDFAF9259, | ||
119 | 0xDFA369B5, 0xDF974161, 0xDF8B195C, 0xDF7EF1A8, 0xDF72CA44, 0xDF66A36E, | ||
120 | 0xDF5A7CAB, 0xDF4E5638, 0xDF423015, 0xDF360A44, 0xDF29E4C4, 0xDF1DBF94, | ||
121 | 0xDF119AB6, 0xDF057629, 0xDEF951ED, 0xDEED2E03, 0xDEE10A6A, 0xDED4E723, | ||
122 | 0xDEC8C42E, 0xDEBCA18B, 0xDEB07F3A, 0xDEA45D3B, 0xDE983B8F, 0xDE8C1A35, | ||
123 | 0xDE7FF92D, 0xDE73D878, 0xDE67B816, 0xDE5B9807, 0xDE4F784B, 0xDE4358E2, | ||
124 | 0xDE3739CC, 0xDE2B1B09, 0xDE1EFC9A, 0xDE12DEBD, 0xDE06C0F5, 0xDDFAA381, | ||
125 | 0xDDEE8661, 0xDDE26995, 0xDDD64D1D, 0xDDCA30FA, 0xDDBE152B, 0xDDB1F9B1, | ||
126 | 0xDDA5DE8B, 0xDD99C3BA, 0xDD8DA93D, 0xDD818F16, 0xDD757544, 0xDD695BC7, | ||
127 | 0xDD5D42A0, 0xDD5129CE, 0xDD451151, 0xDD38F92B, 0xDD2CE15A, 0xDD20C9DF, | ||
128 | 0xDD14B2BA, 0xDD089BEB, 0xDCFC8572, 0xDCF06F50, 0xDCE45984, 0xDCD8440F, | ||
129 | 0xDCCC2F2E, 0xDCC01A67, 0xDCB405F7, 0xDCA7F1DD, 0xDC9BDE1B, 0xDC8FCAB0, | ||
130 | 0xDC83B79D, 0xDC77A4E1, 0xDC6B927D, 0xDC5F8070, 0xDC536EBC, 0xDC475D5F, | ||
131 | 0xDC3B4C5B, 0xDC2F3BAF, 0xDC232B5B, 0xDC171B60, 0xDC0B0BBE, 0xDBFEFC74, | ||
132 | 0xDBF2ED83, 0xDBE6DEEB, 0xDBDAD0AC, 0xDBCEC2C6, 0xDBC2B539, 0xDBB6A806, | ||
133 | 0xDBAA9B2D, 0xDB9E8EAD, 0xDB928287, 0xDB8676BA, 0xDB7A6B85, 0xDB6E606D, | ||
134 | 0xDB6255AF, 0xDB564B4C, 0xDB4A4143, 0xDB3E3794, 0xDB322E40, 0xDB262547, | ||
135 | 0xDB1A1CA9, 0xDB0E1466, 0xDB020C7E, 0xDAF604F1, 0xDAE9FDC0, 0xDADDF6EA, | ||
136 | 0xDAD1F070, 0xDAC5EA52, 0xDAB9E48F, 0xDAADDF29, 0xDAA1DA1E, 0xDA95D570, | ||
137 | 0xDA89D11E, 0xDA7DCD29, 0xDA71C990, 0xDA65C653, 0xDA59C374, 0xDA4DC0F1, | ||
138 | 0xDA41BECB, 0xDA35BD40, 0xDA29BBD5, 0xDA1DBAC7, 0xDA11BA17, 0xDA05B9C4, | ||
139 | 0xD9F9B9CF, 0xD9EDBA37, 0xD9E1BAFE, 0xD9D5BC23, 0xD9C9BDA6, 0xD9BDBF87, | ||
140 | 0xD9B1C1C6, 0xD9A5C464, 0xD999C761, 0xD98DCABC, 0xD981CE77, 0xD975D290, | ||
141 | 0xD969D708, 0xD95DDBE0, 0xD951E117, 0xD945E6AD, 0xD939ECA3, 0xD92DF2F9, | ||
142 | 0xD921F9AE, 0xD91600C3, 0xD90A0839, 0xD8FE100E, 0xD8F21881, 0xD8E62117, | ||
143 | 0xD8DA2A0D, 0xD8CE3364, 0xD8C23D1C, 0xD8B64735, 0xD8AA51AE, 0xD89E5C89, | ||
144 | 0xD89267C5, 0xD8867362, 0xD87A7F60, 0xD86E8BC0, 0xD8629882, 0xD856A5A5, | ||
145 | 0xD84AB32A, 0xD83EC112, 0xD832CF5B, 0xD826DE06, 0xD81AED14, 0xD80EFC84, | ||
146 | 0xD8030C57, 0xD7F71C8D, 0xD7EB2D25, 0xD7DF3E20, 0xD7D34F7E, 0xD7C76140, | ||
147 | 0xD7BB7364, 0xD7AF85EC, 0xD7A39914, 0xD797AC63, 0xD78BC016, 0xD77FD42C, | ||
148 | 0xD773E8A7, 0xD767FD85, 0xD75C12C8, 0xD750286F, 0xD7443E7A, 0xD73854EA, | ||
149 | 0xD72C6BBE, 0xD72082F7, 0xD7149A95, 0xD708B298, 0xD6FCCB00, 0xD6F0E3CE, | ||
150 | 0xD6E4FD00, 0xD6D91698, 0xD6CD3096, 0xD6C14AF9, 0xD6B565C2, 0xD6A980F0, | ||
151 | 0xD69D9C85, 0xD691B880, 0xD685D4E1, 0xD679F1A9, 0xD66E0ED7, 0xD6622CA8, | ||
152 | 0xD6564AA3, 0xD64A6905, 0xD63E87CE, 0xD632A6FE, 0xD626C695, 0xD61AE693, | ||
153 | 0xD60F06F9, 0xD60327C6, 0xD5F748FB, 0xD5EB6A98, 0xD5DF8C9C, 0xD5D3AF08, | ||
154 | 0xD5C7D1DD, 0xD5BBF519, 0xD5B018BE, 0xD5A43CCB, 0xD5986141, 0xD58C861F, | ||
155 | 0xD580AB66, 0xD574D116, 0xD568F72F, 0xD55D1DB1, 0xD551449C, 0xD5456BF1, | ||
156 | 0xD53993AF, 0xD52DBBD6, 0xD521E468, 0xD5160D9F, 0xD50A3704, 0xD4FE60D2, | ||
157 | 0xD4F28B0B, 0xD4E6B5AF, 0xD4DAE0BC, 0xD4CF0C34, 0xD4C33817, 0xD4B76464, | ||
158 | 0xD4AB911C, 0xD49FBE3F, 0xD493EBCD, 0xD48819C6, 0xD47C482A, 0xD47076FA, | ||
159 | 0xD464A635, 0xD458D5DC, 0xD44D05EE, 0xD441366D, 0xD4356757, 0xD42998AD, | ||
160 | 0xD41DCA70, 0xD411FC9E, 0xD4062F3A, 0xD3FA6241, 0xD3EE95B6, 0xD3E2C997, | ||
161 | 0xD3D6FE21, 0xD3CB32DB, 0xD3BF6803, 0xD3B39D98, 0xD3A7D39B, 0xD39C0A0B, | ||
162 | 0xD39040E8, 0xD3847833, 0xD378AFEC, 0xD36CE812, 0xD36120A7, 0xD35559A9, | ||
163 | 0xD349931A, 0xD33DCCFA, 0xD3320747, 0xD3264203, 0xD31A7D2E, 0xD30EB8C8, | ||
164 | 0xD302F4D0, 0xD2F73148, 0xD2EB6E2F, 0xD2DFAB85, 0xD2D3E94A, 0xD2C8277F, | ||
165 | 0xD2BC6623, 0xD2B0A537, 0xD2A4E4BB, 0xD29924EA, 0xD28D654E, 0xD281A622, | ||
166 | 0xD275E766, 0xD26A291A, 0xD25E6B3F, 0xD252ADD4, 0xD246F0DB, 0xD23B3452, | ||
167 | 0xD22F783A, 0xD223BC93, 0xD218015D, 0xD20C4698, 0xD2008C45, 0xD1F4D263, | ||
168 | 0xD1E918F3, 0xD1DD5FF5, 0xD1D1A768, 0xD1C5EF4E, 0xD1BA37A5, 0xD1AE806F, | ||
169 | 0xD1A2C9AB, 0xD1971359, 0xD18B5D7A, 0xD17FA80E, 0xD173F314, 0xD1683E8D, | ||
170 | 0xD15C8A79, 0xD150D714, 0xD14523E6, 0xD139712C, 0xD12DBEE5, 0xD1220D11, | ||
171 | 0xD1165BB1, 0xD10AAAC5, 0xD0FEFA4D, 0xD0F34A49, 0xD0E79AB9, 0xD0DBEB9D, | ||
172 | 0xD0D03CF5, 0xD0C48EC2, 0xD0B8E103, 0xD0AD33B9, 0xD0A186E4, 0xD095DA84, | ||
173 | 0xD08A2E98, 0xD07E8322, 0xD072D821, 0xD0672D95, 0xD05B837F, 0xD04FD9DE, | ||
174 | 0xD04430B3, 0xD03887FE, 0xD02CDFBF, 0xD02137F5, 0xD01590DD, 0xD009EA00, | ||
175 | 0xCFFE439A, 0xCFF29DA9, 0xCFE6F830, 0xCFDB532D, 0xCFCFAEA1, 0xCFC40A8B, | ||
176 | 0xCFB866ED, 0xCFACC3C6, 0xCFA12116, 0xCF957EDD, 0xCF89DD1C, 0xCF7E3BD3, | ||
177 | 0xCF729B01, 0xCF66FAA7, 0xCF5B5AC5, 0xCF4FBB5A, 0xCF441C68, 0xCF387DEF, | ||
178 | 0xCF2CDFED, 0xCF214264, 0xCF15A554, 0xCF0A08BC, 0xCEFE6C9E, 0xCEF2D0F8, | ||
179 | 0xCEE735CB, 0xCEDB9B17, 0xCED00118, 0xCEC46757, 0xCEB8CE0F, 0xCEAD3541, | ||
180 | 0xCEA19CED, 0xCE960512, 0xCE8A6DB1, 0xCE7ED6CB, 0xCE73405E, 0xCE67AA6C, | ||
181 | 0xCE5C14F4, 0xCE507FF7, 0xCE44EB74, 0xCE39576C, 0xCE2DC3DF, 0xCE2230CD, | ||
182 | 0xCE169E36, 0xCE0B0C1A, 0xCDFF7A79, 0xCDF3E953, 0xCDE858A9, 0xCDDCC87B, | ||
183 | 0xCDD138C8, 0xCDC5A992, 0xCDBA1AD7, 0xCDAE8C98, 0xCDA2FED5, 0xCD9771C9, | ||
184 | 0xCD8BE4FF, 0xCD8058B2, 0xCD74CCE1, 0xCD69418D, 0xCD5DB6B5, 0xCD522C5B, | ||
185 | 0xCD46A27D, 0xCD3B191D, 0xCD2F903A, 0xCD2407D4, 0xCD187FEC, 0xCD0CF882, | ||
186 | 0xCD017195, 0xCCF5EB26, 0xCCEA6535, 0xCCDEDFC2, 0xCCD35ACD, 0xCCC7D656, | ||
187 | 0xCCBC525E, 0xCCB0CEE4, 0xCCA54BE9, 0xCC99C96D, 0xCC8E476F, 0xCC82C5F1, | ||
188 | 0xCC7744F1, 0xCC6BC470, 0xCC6044AA, 0xCC54C528, 0xCC494626, 0xCC3DC7A3, | ||
189 | 0xCC3249A0, 0xCC26CC1D, 0xCC1B4F19, 0xCC0FD296, 0xCC045693, 0xCBF8DB10, | ||
190 | 0xCBED600E, 0xCBE1E58C, 0xCBD66B8B, 0xCBCAF20A, 0xCBBF790A, 0xCBB4008B, | ||
191 | 0xCBA8888D, 0xCB9D1111, 0xCB919A15, 0xCB86239B, 0xCB7AADA2, 0xCB6F382B, | ||
192 | 0xCB63C336, 0xCB584EC3, 0xCB4CDAD1, 0xCB416761, 0xCB35F474, 0xCB2A8209, | ||
193 | 0xCB1F105A, 0xCB139EF4, 0xCB082E10, 0xCAFCBDAF, 0xCAF14DD1, 0xCAE5DE76, | ||
194 | 0xCADA6F9D, 0xCACF0148, 0xCAC39376, 0xCAB82628, 0xCAACB95D, 0xCAA14D15, | ||
195 | 0xCA95E151, 0xCA8A7611, 0xCA7F0B55, 0xCA73A11D, 0xCA683769, 0xCA5CCE39, | ||
196 | 0xCA51658E, 0xCA45FD67, 0xCA3A95C4, 0xCA2F2EA7, 0xCA23C80E, 0xCA1861FA, | ||
197 | 0xCA0CFC6B, 0xCA019761, 0xC9F632DC, 0xC9EACF17, 0xC9DF6B9D, 0xC9D408A8, | ||
198 | 0xC9C8A63A, 0xC9BD4451, 0xC9B1E2EE, 0xC9A68211, 0xC99B21BA, 0xC98FC1E9, | ||
199 | 0xC984629E, 0xC97903DA, 0xC96DA59D, 0xC96247E6, 0xC956EAB6, 0xC94B8E0D, | ||
200 | 0xC94031EB, 0xC934D650, 0xC9297B3C, 0xC91E20AF, 0xC912C6AA, 0xC9076D2C, | ||
201 | 0xC8FC1436, 0xC8F0BBC8, 0xC8E563E2, 0xC8DA0C83, 0xC8CEB5AD, 0xC8C35F5F, | ||
202 | 0xC8B80999, 0xC8ACB495, 0xC8A15FE0, 0xC8960BB4, 0xC88AB810, 0xC87F64F5, | ||
203 | 0xC8741263, 0xC868C05B, 0xC85D6EDB, 0xC8521DE5, 0xC846CD78, 0xC83B7D94, | ||
204 | 0xC8302E3A, 0xC824DF6A, 0xC8199124, 0xC80E4367, 0xC802F635, 0xC7F7A98D, | ||
205 | 0xC7EC5D6F, 0xC7E111DB, 0xC7D5C6D2, 0xC7CA7C53, 0xC7BF325F, 0xC7B3E8F6, | ||
206 | 0xC7A8A018, 0xC79D57C5, 0xC7920FFD, 0xC786C8C0, 0xC77B8248, 0xC7703C22, | ||
207 | 0xC764F688, 0xC759B179, 0xC74E6CF6, 0xC74328FF, 0xC737E594, 0xC72CA2B5, | ||
208 | 0xC7216062, 0xC7161E9C, 0xC70ADD62, 0xC6FF9CB4, 0xC6F45C93, 0xC6E91CFF, | ||
209 | 0xC6DDDDF8, 0xC6D29F7E, 0xC6C76190, 0xC6BC2430, 0xC6B0E75E, 0xC6A5AB18, | ||
210 | 0xC69A6F61, 0xC68F3436, 0xC683F99A, 0xC678BF8B, 0xC66D860B, 0xC6624D18, | ||
211 | 0xC65714B4, 0xC64BDD17, 0xC640A5CF, 0xC6356F16, 0xC62A38EB, 0xC61F034F, | ||
212 | 0xC613CE42, 0xC60899C3, 0xC5FD65D4, 0xC5F23274, 0xC5E6FFA3, 0xC5DBCD62, | ||
213 | 0xC5D09BB0, 0xC5C56A8D, 0xC5BA39FA, 0xC5AF09F7, 0xC5A3DA84, 0xC598ABA1, | ||
214 | 0xC58D7D4E, 0xC5824F8B, 0xC5772258, 0xC56BF5B6, 0xC560C9A5, 0xC5559E24, | ||
215 | 0xC54A7334, 0xC53F48D5, 0xC5341F06, 0xC528F5C9, 0xC51DCD1D, 0xC512A53B, | ||
216 | 0xC5077DB2, 0xC4FC56BA, 0xC4F13053, 0xC4E60A7F, 0xC4DAE53C, 0xC4CFC08B, | ||
217 | 0xC4C49C6D, 0xC4B978E0, 0xC4AE55E6, 0xC4A3337E, 0xC49811A8, 0xC48CF065, | ||
218 | 0xC481CFB5, 0xC476AF98, 0xC46B900D, 0xC4607116, 0xC45552B1, 0xC44A34E0, | ||
219 | 0xC43F17A2, 0xC433FAF8, 0xC428DEE1, 0xC41DC35E, 0xC412A86E, 0xC4078E12, | ||
220 | 0xC3FC744B, 0xC3F15B17, 0xC3E642B0, 0xC3DB2AA5, 0xC3D0132F, 0xC3C4FC4C, | ||
221 | 0xC3B9E5FF, 0xC3AED046, 0xC3A3BB22, 0xC398A693, 0xC38D9299, 0xC3827F34, | ||
222 | 0xC3776C64, 0xC36C5A2A, 0xC3614885, 0xC3563776, 0xC34B26FC, 0xC3401719, | ||
223 | 0xC33507CB, 0xC329F913, 0xC31EEAF1, 0xC313DD66, 0xC308D070, 0xC2FDC412, | ||
224 | 0xC2F2B849, 0xC2E7AD18, 0xC2DCA27D, 0xC2D19879, 0xC2C68F0C, 0xC2BB8636, | ||
225 | 0xC2B07E2F, 0xC2A57687, 0xC29A6F77, 0xC28F68FF, 0xC284631E, 0xC2795DD4, | ||
226 | 0xC26E5923, 0xC2635509, 0xC2585187, 0xC24D4E9E, 0xC2424C4C, 0xC2374A94, | ||
227 | 0xC22C4973, 0xC22148EB, 0xC21648FC, 0xC20B49A5, 0xC2004AE8, 0xC1F54CC3, | ||
228 | 0xC1EA4F37, 0xC1DF5245, 0xC1D455EC, 0xC1C95A2C, 0xC1BE5F06, 0xC1B36479, | ||
229 | 0xC1A86A87, 0xC19D712E, 0xC192786E, 0xC1878049, 0xC17C88BE, 0xC17191CE, | ||
230 | 0xC1669B77, 0xC15BA5BC, 0xC150B09A, 0xC145BC14, 0xC13AC828, 0xC12FD4D7, | ||
231 | 0xC124E221, 0xC119F006, 0xC10EFE86, 0xC1040DA2, 0xC0F91D59, 0xC0EE2E1B, | ||
232 | 0xC0E33F09, 0xC0D85093, 0xC0CD62B8, 0xC0C2757A, 0xC0B788D8, 0xC0AC9CD1, | ||
233 | 0xC0A1B167, 0xC096C69A, 0xC08BDC69, 0xC080F2D4, 0xC07609DC, 0xC06B2181, | ||
234 | 0xC06039C3, 0xC05552A2, 0xC04A6C1D, 0xC03F8636, 0xC034A0ED, 0xC029BC40, | ||
235 | 0xC01ED832, 0xC013F4C1, 0xC00911ED, 0xBFFE2FB8, 0xBFF34E20, 0xBFE86D26, | ||
236 | 0xBFDD8CCB, 0xBFD2AD0E, 0xBFC7CDEF, 0xBFBCEF6E, 0xBFB2118C, 0xBFA73449, | ||
237 | 0xBF9C57A5, 0xBF917B9F, 0xBF86A039, 0xBF7BC571, 0xBF70EB49, 0xBF6611C0, | ||
238 | 0xBF5B38D6, 0xBF50608C, 0xBF4588E2, 0xBF3AB1D7, 0xBF2FDB6C, 0xBF2505A1, | ||
239 | 0xBF1A3076, 0xBF0F5BEB, 0xBF048800, 0xBEF9B4B6, 0xBEEEE20C, 0xBEE41003, | ||
240 | 0xBED93E9A, 0xBECE6DD2, 0xBEC39DAB, 0xBEB8CE25, 0xBEADFF40, 0xBEA330FC, | ||
241 | 0xBE9863C8, 0xBE8D96C6, 0xBE82CA67, 0xBE77FEA9, 0xBE6D338C, 0xBE626911, | ||
242 | 0xBE579F39, 0xBE4CD602, 0xBE420D6D, 0xBE37457B, 0xBE2C7E2B, 0xBE21B77D, | ||
243 | 0xBE16F172, 0xBE0C2C09, 0xBE016744, 0xBDF6A321, 0xBDEBDFA1, 0xBDE11CC4, | ||
244 | 0xBDD65A8A, 0xBDCB98F3, 0xBDC0D800, 0xBDB617B0, 0xBDAB5804, 0xBDA098FB, | ||
245 | 0xBD95DA97, 0xBD8B1CD6, 0xBD805FB9, 0xBD75A340, 0xBD6AE76B, 0xBD602C3B, | ||
246 | 0xBD5571AF, 0xBD4AB7C7, 0xBD3FFE84, 0xBD3545E6, 0xBD2A8DED, 0xBD1FD698, | ||
247 | 0xBD151FE9, 0xBD0A69DE, 0xBCFFB479, 0xBCF4FFB9, 0xBCEA4B9F, 0xBCDF982A, | ||
248 | 0xBCD4E55B, 0xBCCA3331, 0xBCBF81AE, 0xBCB4D0D0, 0xBCAA2098, 0xBC9F7107, | ||
249 | 0xBC94C21B, 0xBC8A13D6, 0xBC7F6638, 0xBC74B940, 0xBC6A0CEE, 0xBC5F6144, | ||
250 | 0xBC54B6AD, 0xBC4A0C50, 0xBC3F629B, 0xBC34B98C, 0xBC2A1125, 0xBC1F6965, | ||
251 | 0xBC14C24D, 0xBC0A1BDC, 0xBBFF7613, 0xBBF4D0F1, 0xBBEA2C78, 0xBBDF88A7, | ||
252 | 0xBBD4E57D, 0xBBCA42FC, 0xBBBFA123, 0xBBB4FFF3, 0xBBAA5F6B, 0xBB9FBF8C, | ||
253 | 0xBB952055, 0xBB8A81C8, 0xBB7FE3E3, 0xBB7546A7, 0xBB6AAA14, 0xBB600E2B, | ||
254 | 0xBB5572EB, 0xBB4AD854, 0xBB403E67, 0xBB35A523, 0xBB2B0C89, 0xBB207499, | ||
255 | 0xBB15DD53, 0xBB0B46B7, 0xBB00B0C5, 0xBAF61B7E, 0xBAEB86E0, 0xBAE0F2EE, | ||
256 | 0xBAD65FA5, 0xBACBCD08, 0xBAC13B15, 0xBAB6A9CD, 0xBAAC1930, 0xBAA1893E, | ||
257 | 0xBA96F9F7, 0xBA8C6B5B, 0xBA81DD6B, 0xBA775026, 0xBA6CC38D, 0xBA6237A0, | ||
258 | 0xBA57AC5E, 0xBA4D21C8, 0xBA4297DE, 0xBA380EA1, 0xBA2D860F, 0xBA22FE2A, | ||
259 | 0xBA1876F1, 0xBA0DF0CF, 0xBA036AEF, 0xB9F8E5BC, 0xB9EE6136, 0xB9E3DD5C, | ||
260 | 0xB9D95A30, 0xB9CED7B0, 0xB9C455DE, 0xB9B9D4B9, 0xB9AF5441, 0xB9A4D477, | ||
261 | 0xB99A555B, 0xB98FD6EC, 0xB985592B, 0xB97ADC18, 0xB9705FB3, 0xB965E3FC, | ||
262 | 0xB95B68F3, 0xB950EE99, 0xB94674EC, 0xB93BFBEF, 0xB93183A0, 0xB9270C00, | ||
263 | 0xB91C950E, 0xB9121ECC, 0xB907A938, 0xB8FD3454, 0xB8F2C01F, 0xB8E84C99, | ||
264 | 0xB8DDD9C2, 0xB8D3679B, 0xB8C8F624, 0xB8BE855C, 0xB8B41545, 0xB8A9A5DD, | ||
265 | 0xB89F3725, 0xB894C91D, 0xB88A5BC6, 0xB87FEF1E, 0xB8758328, 0xB86B17E1, | ||
266 | 0xB860AD4C, 0xB8564367, 0xB84BDA33, 0xB84171B0, 0xB83709DE, 0xB82CA2BD, | ||
267 | 0xB8223C4D, 0xB817D68E, 0xB80D7181, 0xB8030D26, 0xB7F8A97C, 0xB7EE4684, | ||
268 | 0xB7E3E43D, 0xB7D982A9, 0xB7CF2230, 0xB7C4C200, 0xB7BA6282, 0xB7B003B6, | ||
269 | 0xB7A5A59D, 0xB79B4836, 0xB790EB82, 0xB7868F80, 0xB77C3432, 0xB771D996, | ||
270 | 0xB7677FAD, 0xB75D2678, 0xB752CDF5, 0xB7487626, 0xB73E1F0B, 0xB733C8A3, | ||
271 | 0xB72972EE, 0xB71F1DEE, 0xB714C9A1, 0xB70A7608, 0xB7002323, 0xB6F5D0F2, | ||
272 | 0xB6EB7F75, 0xB6E12EAD, 0xB6D6DE99, 0xB6CC8F3A, 0xB6C2408F, 0xB6B7F299, | ||
273 | 0xB6ADA558, 0xB6A358CB, 0xB6990CF4, 0xB68EC1D2, 0xB6847765, 0xB67A2DAD, | ||
274 | 0xB66FE4AB, 0xB6659C5E, 0xB65B54C7, 0xB6510DE6, 0xB646C7BA, 0xB63C8245, | ||
275 | 0xB6323D85, 0xB627F97B, 0xB61DB628, 0xB613738B, 0xB60931A4, 0xB5FEF074, | ||
276 | 0xB5F4AFFA, 0xB5EA7038, 0xB5E0312C, 0xB5D5F2D6, 0xB5CBB538, 0xB5C17851, | ||
277 | 0xB5B73C21, 0xB5AD00A9, 0xB5A2C5E7, 0xB5988C46, 0xB58E52F4, 0xB5841A59, | ||
278 | 0xB579E276, 0xB56FAB4B, 0xB56574D9, 0xB55B3F1E, 0xB5510A1B, 0xB546D5D1, | ||
279 | 0xB53CA23F, 0xB5326F65, 0xB5283D45, 0xB51E0BDC, 0xB513DB2D, 0xB509AB36, | ||
280 | 0xB4FF7BF9, 0xB4F54D74, 0xB4EB1FA9, 0xB4E0F296, 0xB4D6C63E, 0xB4CC9A9E, | ||
281 | 0xB4C26FB8, 0xB4B8458C, 0xB4AE1C1A, 0xB4A3F361, 0xB499CB63, 0xB48FA41E, | ||
282 | 0xB4857D94, 0xB47B57C3, 0xB47132AE, 0xB4670E52, 0xB45CEAB1, 0xB452C7CB, | ||
283 | 0xB448A59F, 0xB43E842F, 0xB4346379, 0xB42A437E, 0xB420243E, 0xB41605BA, | ||
284 | 0xB40BE7F1, 0xB401CAE3, 0xB3F7AE91, 0xB3ED92FA, 0xB3E3781F, 0xB3D95E00, | ||
285 | 0xB3CF449D, 0xB3C52BF6, 0xB3BB140A, 0xB3B0FCDB, 0xB3A6E669, 0xB39CD0B2, | ||
286 | 0xB392BBB9, 0xB388A77B, 0xB37E93FB, 0xB3748137, 0xB36A6F97, 0xB3605E4D, | ||
287 | 0xB3564DC0, 0xB34C3DF0, 0xB3422EDD, 0xB3382088, 0xB32E12F1, 0xB3240616, | ||
288 | 0xB319F9FA, 0xB30FEE9B, 0xB305E3FA, 0xB2FBDA17, 0xB2F1D0F2, 0xB2E7C88B, | ||
289 | 0xB2DDC0E3, 0xB2D3B9F8, 0xB2C9B3CC, 0xB2BFAE5F, 0xB2B5A9B0, 0xB2ABA5C0, | ||
290 | 0xB2A1A28F, 0xB297A01D, 0xB28D9E69, 0xB2839D75, 0xB2799D40, 0xB26F9DCA, | ||
291 | 0xB2659F14, 0xB25BA11D, 0xB251A3E5, 0xB247A76E, 0xB23DABB6, 0xB233B0BE, | ||
292 | 0xB229B686, 0xB21FBD0E, 0xB215C456, 0xB20BCC5E, 0xB201D527, 0xB1F7DEB0, | ||
293 | 0xB1EDE8FA, 0xB1E3F404, 0xB1D9FFCF, 0xB1D00C5B, 0xB1C619A8, 0xB1BC27B6, | ||
294 | 0xB1B23685, 0xB1A84615, 0xB19E5666, 0xB1946779, 0xB18A794D, 0xB1808BE3, | ||
295 | 0xB1769F3B, 0xB16CB354, 0xB162C830, 0xB158DDCD, 0xB14EF491, 0xB1450BB3, | ||
296 | 0xB13B2396, 0xB1313C3C, 0xB12755A5, 0xB11D6FD0, 0xB1138ABE, 0xB109A66E, | ||
297 | 0xB0FFC2E1, 0xB0F5E018, 0xB0EBFE11, 0xB0E21CCD, 0xB0D83C4D, 0xB0CE5C90, | ||
298 | 0xB0C47D96, 0xB0BA9F60, 0xB0B0C1ED, 0xB0A6E53E, 0xB09D0953, 0xB0932E2C, | ||
299 | 0xB08953C8, 0xB07F7A29, 0xB075A14E, 0xB06BC937, 0xB061F1E5, 0xB0581B57, | ||
300 | 0xB04E458D, 0xB0447088, 0xB03A9C48, 0xB030C8CD, 0xB026F617, 0xB01D2425, | ||
301 | 0xB01352F9, 0xB0098292, 0xAFFFB2F1, 0xAFF5E414, 0xAFEC15FD, 0xAFE248AC, | ||
302 | 0xAFD87C21, 0xAFCEB05B, 0xAFC4E55B, 0xAFBB1B21, 0xAFB151AD, 0xAFA788FF, | ||
303 | 0xAF9DC118, 0xAF93F9F7, 0xAF8A339C, 0xAF806E08, 0xAF76A93A, 0xAF6CE533, | ||
304 | 0xAF6321F3, 0xAF595F7A, 0xAF4F9DC8, 0xAF45DCDD, 0xAF3C1CB9, 0xAF325DC0, | ||
305 | 0xAF289F2B, 0xAF1EE15D, 0xAF152457, 0xAF0B6818, 0xAF01ACA2, 0xAEF7F1F3, | ||
306 | 0xAEEE380C, 0xAEE47EED, 0xAEDAC696, 0xAED10F07, 0xAEC75841, 0xAEBDA243, | ||
307 | 0xAEB3ED0E, 0xAEAA38A1, 0xAEA084FD, 0xAE96D221, 0xAE8D200F, 0xAE836EC5, | ||
308 | 0xAE79BE45, 0xAE700E8E, 0xAE665FA0, 0xAE5CB17B, 0xAE530420, 0xAE49578E, | ||
309 | 0xAE3FABC6, 0xAE3600C7, 0xAE2C5693, 0xAE22AD28, 0xAE190487, 0xAE0F5CB1, | ||
310 | 0xAE05B5A4, 0xADFC0F62, 0xADF269EA, 0xADE8C53D, 0xADDF215A, 0xADD57E42, | ||
311 | 0xADCBDBF5, 0xADC23A72, 0xADB899BB, 0xADAEF9CE, 0xADA55AAC, 0xAD9BBC56, | ||
312 | 0xAD921ECB, 0xAD88820B, 0xAD7EE617, 0xAD754AEF, 0xAD6BB092, 0xAD621701, | ||
313 | 0xAD587E3B, 0xAD4EE642, 0xAD454F15, 0xAD3BB8B3, 0xAD32231E, 0xAD288E56, | ||
314 | 0xAD1EFABB, 0xAD15678B, 0xAD0BD528, 0xAD024392, 0xACF8B2C8, 0xACEF22CB, | ||
315 | 0xACE5939B, 0xACDC0538, 0xACD277A2, 0xACC8EADA, 0xACBF5EDF, 0xACB5D3B1, | ||
316 | 0xACAC4951, 0xACA2BFBE, 0xAC9936F9, 0xAC8FAF02, 0xAC8627D9, 0xAC7CA17D, | ||
317 | 0xAC731BF0, 0xAC699731, 0xAC601340, 0xAC56901D, 0xAC4D0DC9, 0xAC438C44, | ||
318 | 0xAC3A0B8D, 0xAC308BA5, 0xAC270C8B, 0xAC1D8E41, 0xAC1410C5, 0xAC0A9418, | ||
319 | 0xAC01183B, 0xABF79D2D, 0xABEE22EE, 0xABE4A97F, 0xABDB30DF, 0xABD1B90F, | ||
320 | 0xABC8420E, 0xABBECBDE, 0xABB5567D, 0xABABE1EC, 0xABA26E2B, 0xAB98FB3B, | ||
321 | 0xAB8F891A, 0xAB8617CA, 0xAB7CA74B, 0xAB73379C, 0xAB69C8BE, 0xAB605AB0, | ||
322 | 0xAB56ED73, 0xAB4D8107, 0xAB44156C, 0xAB3AAAA2, 0xAB3140A9, 0xAB27D782, | ||
323 | 0xAB1E6F2C, 0xAB150807, 0xAB0BA153, 0xAB023B72, 0xAAF8D662, 0xAAEF7224, | ||
324 | 0xAAE60EB8, 0xAADCAC1D, 0xAAD34A55, 0xAAC9E95F, 0xAAC0893C, 0xAAB729EA, | ||
325 | 0xAAADCB6B, 0xAAA46DBF, 0xAA9B10E5, 0xAA91B4DE, 0xAA8859A9, 0xAA7EFF48, | ||
326 | 0xAA75A5BA, 0xAA6C4CFE, 0xAA62F516, 0xAA599E01, 0xAA5047BF, 0xAA46F251, | ||
327 | 0xAA3D9DB6, 0xAA3449EF, 0xAA2AF6FC, 0xAA21A4DC, 0xAA185390, 0xAA0F0318, | ||
328 | 0xAA05B374, 0xA9FC64A5, 0xA9F316A9, 0xA9E9C982, 0xA9E07D30, 0xA9D731B2, | ||
329 | 0xA9CDE708, 0xA9C49D33, 0xA9BB5433, 0xA9B20C08, 0xA9A8C4B1, 0xA99F7E30, | ||
330 | 0xA9963884, 0xA98CF3AD, 0xA983AFAB, 0xA97A6C7F, 0xA9712A28, 0xA967E8A7, | ||
331 | 0xA95EA7FC, 0xA9556826, 0xA94C2926, 0xA942EAFC, 0xA939ADA8, 0xA930712A, | ||
332 | 0xA9273583, 0xA91DFAB1, 0xA914C114, 0xA90B87F0, 0xA9024FA2, 0xA8F9182A, | ||
333 | 0xA8EFE18A, 0xA8E6ABC0, 0xA8DD76CD, 0xA8D442B1, 0xA8CB0F6C, 0xA8C1DCFF, | ||
334 | 0xA8B8AB68, 0xA8AF7AA9, 0xA8A64AC2, 0xA89D1BB2, 0xA893ED79, 0xA88AC018, | ||
335 | 0xA881938F, 0xA87867DE, 0xA86F3D05, 0xA8661304, 0xA85CE9DB, 0xA853C18B, | ||
336 | 0xA84A9A13, 0xA8417373, 0xA8384DAB, 0xA82F28BC, 0xA82604A6, 0xA81CE169, | ||
337 | 0xA813BF04, 0xA80A9D79, 0xA8017CC6, 0xA7F85CED, 0xA7EF3DED, 0xA7E61FC6, | ||
338 | 0xA7DD0278, 0xA7D3E604, 0xA7CACA6A, 0xA7C1AFA9, 0xA7B895C2, 0xA7AF7CB4, | ||
339 | 0xA7A66481, 0xA79D4D28, 0xA79436A8, 0xA78B2103, 0xA7820C38, 0xA778F848, | ||
340 | 0xA76FE532, 0xA766D2F6, 0xA75DC195, 0xA754B10F, 0xA74BA163, 0xA7429293, | ||
341 | 0xA739849D, 0xA7307782, 0xA7276B9F, 0xA71E603B, 0xA71555B2, 0xA70C4C04, | ||
342 | 0xA7034332, 0xA6FA3B3C, 0xA6F13421, 0xA6E82DE2, 0xA6DF287E, 0xA6D623F7, | ||
343 | 0xA6CD204B, 0xA6C41D7C, 0xA6BB1B89, 0xA6B21A72, 0xA6A91A38, 0xA6A01AD9, | ||
344 | 0xA6971C58, 0xA68E1EB3, 0xA68521EB, 0xA67C25FF, 0xA6732AF1, 0xA66A30BF, | ||
345 | 0xA661376A, 0xA6583EF3, 0xA64F4759, 0xA646509C, 0xA63D5ABC, 0xA63465BA, | ||
346 | 0xA62B7196, 0xA6227E4F, 0xA6198BE6, 0xA6109A5A, 0xA607A9AD, 0xA5FEB9DE, | ||
347 | 0xA5F5CAEC, 0xA5ECDCD9, 0xA5E3EFA4, 0xA5DB034E, 0xA5D217D5, 0xA5C92D3C, | ||
348 | 0xA5C04381, 0xA5B75AA4, 0xA5AE72A7, 0xA5A58B88, 0xA59CA548, 0xA593BFE7, | ||
349 | 0xA58ADB66, 0xA581F7C3, 0xA5791500, 0xA570331C, 0xA5675218, 0xA55E71F3, | ||
350 | 0xA55592AE, 0xA54CB448, 0xA543D6C3, 0xA53AFA77, 0xA5321EB1, 0xA52943CB, | ||
351 | 0xA52069C6, 0xA51790A0, 0xA50EB85B, 0xA505E0F6, 0xA4FD0A72, 0xA4F434CE, | ||
352 | 0xA4EB600B, 0xA4E28C29, 0xA4D9B927, 0xA4D0E707, 0xA4C815C7, 0xA4BF4569, | ||
353 | 0xA4B675EB, 0xA4ADA74F, 0xA4A4D994, 0xA49C0CBB, 0xA49340C3, 0xA48A75AC, | ||
354 | 0xA481AB78, 0xA478E225, 0xA47019B4, 0xA4675225, 0xA45E8B77, 0xA455C5AC, | ||
355 | 0xA44D00C3, 0xA4443CBD, 0xA43B7999, 0xA432B757, 0xA429F5F7, 0xA421357B, | ||
356 | 0xA41875E1, 0xA40FB729, 0xA406F955, 0xA3FE3C63, 0xA3F58055, 0xA3ECC529, | ||
357 | 0xA3E40AE1, 0xA3DB517C, 0xA3D298FB, 0xA3C9E15D, 0xA3C12AA2, 0xA3B874CB, | ||
358 | 0xA3AFBFD8, 0xA3A70BC8, 0xA39E589C, 0xA395A655, 0xA38CF4F1, 0xA3844471, | ||
359 | 0xA37B94D6, 0xA372E61F, 0xA36A384C, 0xA3618B5E, 0xA358DFAC, 0xA3503487, | ||
360 | 0xA3478A47, 0xA33EE0EB, 0xA3363874, 0xA32D90E2, 0xA324EA35, 0xA31C446E, | ||
361 | 0xA3139F8B, 0xA30AFB8E, 0xA3025876, 0xA2F9B643, 0xA2F114F6, 0xA2E8748F, | ||
362 | 0xA2DFD50D, 0xA2D73671, 0xA2CE98BB, 0xA2C5FBEB, 0xA2BD6001, 0xA2B4C4FD, | ||
363 | 0xA2AC2AE0, 0xA2A391A8, 0xA29AF957, 0xA29261ED, 0xA289CB68, 0xA28135CB, | ||
364 | 0xA278A114, 0xA2700D44, 0xA2677A5B, 0xA25EE859, 0xA256573D, 0xA24DC709, | ||
365 | 0xA24537BC, 0xA23CA957, 0xA2341BD8, 0xA22B8F42, 0xA2230392, 0xA21A78CA, | ||
366 | 0xA211EEEA, 0xA20965F2, 0xA200DDE2, 0xA1F856B9, 0xA1EFD079, 0xA1E74B20, | ||
367 | 0xA1DEC6B0, 0xA1D64328, 0xA1CDC088, 0xA1C53ED1, 0xA1BCBE02, 0xA1B43E1C, | ||
368 | 0xA1ABBF1F, 0xA1A3410A, 0xA19AC3DE, 0xA192479B, 0xA189CC41, 0xA1815226, | ||
369 | 0xA178D89F, 0xA1706000, 0xA167E84B, 0xA15F717F, 0xA156FB9D, 0xA14E86A4, | ||
370 | 0xA1461295, 0xA13D9F6F, 0xA1352D34, 0xA12CBBE2, 0xA1244B7A, 0xA11BDBFD, | ||
371 | 0xA1136D69, 0xA10AFFC0, 0xA1029301, 0xA0FA272C, 0xA0F1BC42, 0xA0E95242, | ||
372 | 0xA0E0E92D, 0xA0D88103, 0xA0D019C3, 0xA0C7B36F, 0xA0BF4E05, 0xA0B6E986, | ||
373 | 0xA0AE85F3, 0xA0A6234A, 0xA09DC18D, 0xA09560BC, 0xA08D00D5, 0xA084A1DA, | ||
374 | 0xA07C43CB, 0xA073E6A8, 0xA06B8A70, 0xA0632F24, 0xA05AD4C4, 0xA0527B50, | ||
375 | 0xA04A22C8, 0xA041CB2C, 0xA039747C, 0xA0311EB9, 0xA028C9E2, 0xA02075F8, | ||
376 | 0xA01822FA, 0xA00FD0E9, 0xA0077FC4, 0x9FFF2F8D, 0x9FF6E042, 0x9FEE91E4, | ||
377 | 0x9FE64473, 0x9FDDF7F0, 0x9FD5AC59, 0x9FCD61B0, 0x9FC517F4, 0x9FBCCF26, | ||
378 | 0x9FB48799, 0x9FAC40A6, 0x9FA3FAA0, 0x9F9BB588, 0x9F93715E, 0x9F8B2E22, | ||
379 | 0x9F82EBD4, 0x9F7AAA74, 0x9F726A02, 0x9F6A2A7F, 0x9F61EBE9, 0x9F59AE42, | ||
380 | 0x9F51718A, 0x9F4935C0, 0x9F40FAE5, 0x9F38C0F8, 0x9F3087FA, 0x9F284FEC, | ||
381 | 0x9F2018CC, 0x9F17E29B, 0x9F0FAD59, 0x9F077906, 0x9EFF45A3, 0x9EF7132F, | ||
382 | 0x9EEEE1AA, 0x9EE6B115, 0x9EDE8170, 0x9ED652BA, 0x9ECE24F4, 0x9EC5F81E, | ||
383 | 0x9EBDCC37, 0x9EB5A141, 0x9EAD773B, 0x9EA54E24, 0x9E9D25FE, 0x9E94FEC9, | ||
384 | 0x9E8CD883, 0x9E84B32E, 0x9E7C8ECA, 0x9E746B56, 0x9E6C48D3, 0x9E642741, | ||
385 | 0x9E5C06A0, 0x9E53E6EF, 0x9E4BC82F, 0x9E43AA61, 0x9E3B8D84, 0x9E337198, | ||
386 | 0x9E2B569D, 0x9E233C94, 0x9E1B237C, 0x9E130B55, 0x9E0AF421, 0x9E02DDDE, | ||
387 | 0x9DFAC88C, 0x9DF2B47F, 0x9DEAA112, 0x9DE28E96, 0x9DDA7D0D, 0x9DD26C76, | ||
388 | 0x9DCA5CD1, 0x9DC24E1E, 0x9DBA405E, 0x9DB23390, 0x9DAA27B5, 0x9DA21CCC, | ||
389 | 0x9D9A12D6, 0x9D9209D3, 0x9D8A01C3, 0x9D81FAA6, 0x9D79F47B, 0x9D71EF44, | ||
390 | 0x9D69EB00, 0x9D61E7AF, 0x9D59E552, 0x9D51E3E8, 0x9D49E372, 0x9D41E3EF, | ||
391 | 0x9D39E55F, 0x9D31E7C4, 0x9D29EB1C, 0x9D21EF68, 0x9D19F4A8, 0x9D11FADC, | ||
392 | 0x9D0A0204, 0x9D020A21, 0x9CFA1331, 0x9CF21D36, 0x9CEA282F, 0x9CE2341D, | ||
393 | 0x9CDA4100, 0x9CD24ED7, 0x9CCA5DA2, 0x9CC26D63, 0x9CBA7E18, 0x9CB28FC2, | ||
394 | 0x9CAAA262, 0x9CA2B5F6, 0x9C9ACA80, 0x9C92DFFF, 0x9C8AF673, 0x9C830DDC, | ||
395 | 0x9C7B263C, 0x9C733F90, 0x9C6B59DA, 0x9C63751A, 0x9C5B9150, 0x9C53AE7C, | ||
396 | 0x9C4BCC9D, 0x9C43EC05, 0x9C3C0C13, 0x9C342D16, 0x9C2C4F10, 0x9C247201, | ||
397 | 0x9C1C95E7, 0x9C14BAC5, 0x9C0CE098, 0x9C050763, 0x9BFD2F24, 0x9BF557DB, | ||
398 | 0x9BED818A, 0x9BE5AC30, 0x9BDDD7CC, 0x9BD60460, 0x9BCE31EA, 0x9BC6606C, | ||
399 | 0x9BBE8FE6, 0x9BB6C056, 0x9BAEF1BE, 0x9BA7241E, 0x9B9F5775, 0x9B978BC4, | ||
400 | 0x9B8FC10B, 0x9B87F749, 0x9B802E80, 0x9B7866AE, 0x9B709FD4, 0x9B68D9F3, | ||
401 | 0x9B61150A, 0x9B595119, 0x9B518E20, 0x9B49CC20, 0x9B420B18, 0x9B3A4B09, | ||
402 | 0x9B328BF2, 0x9B2ACDD4, 0x9B2310AF, 0x9B1B5483, 0x9B139950, 0x9B0BDF16, | ||
403 | 0x9B0425D5, 0x9AFC6D8D, 0x9AF4B63E, 0x9AECFFE9, 0x9AE54A8D, 0x9ADD962A, | ||
404 | 0x9AD5E2C1, 0x9ACE3052, 0x9AC67EDC, 0x9ABECE61, 0x9AB71EDF, 0x9AAF7056, | ||
405 | 0x9AA7C2C8, 0x9AA01634, 0x9A986AE8, 0x9A90C049, 0x9A8916A3, 0x9A816DF8, | ||
406 | 0x9A79C647, 0x9A721F91, 0x9A6A79D5, 0x9A62D514, 0x9A5B314E, 0x9A538E83, | ||
407 | 0x9A4BECB2, 0x9A444BDC, 0x9A3CAC02, 0x9A350D22, 0x9A2D6F3E, 0x9A25D255, | ||
408 | 0x9A1E3667, 0x9A169B74, 0x9A0F017D, 0x9A076882, 0x99FFD082, 0x99F8397E, | ||
409 | 0x99F0A375, 0x99E90E69, 0x99E17A58, 0x99D9E743, 0x99D2552B, 0x99CAC40E, | ||
410 | 0x99C333EE, 0x99BBA4CA, 0x99B416A2, 0x99AC8976, 0x99A4FD48, 0x999D7215, | ||
411 | 0x9995E7DF, 0x998E5EA6, 0x9986D66A, 0x997F4F2B, 0x9977C8E8, 0x997043A3, | ||
412 | 0x9968BF5A, 0x99613C0F, 0x9959B9C1, 0x99523870, 0x994AB81D, 0x994338C7, | ||
413 | 0x993BBA6E, 0x99343D13, 0x992CC0B6, 0x99254556, 0x991DCAF4, 0x99165190, | ||
414 | 0x990ED92A, 0x990761C2, 0x98FFEB58, 0x98F87638, 0x98F101CB, 0x98E98E5B, | ||
415 | 0x98E21BEA, 0x98DAAA78, 0x98D33A04, 0x98CBCA8E, 0x98C45C17, 0x98BCEE9F, | ||
416 | 0x98B58226, 0x98AE16AB, 0x98A6AC30, 0x989F42B3, 0x9897DA36, 0x989072B7, | ||
417 | 0x98890C38, 0x9881A6B9, 0x987A4238, 0x9872DEB7, 0x986B7C36, 0x98641AB4, | ||
418 | 0x985CBA31, 0x98555AAF, 0x984DFC2C, 0x98469EA9, 0x983F4226, 0x9837E6A3, | ||
419 | 0x98308C20, 0x9829329D, 0x9821DA1B, 0x981A8299, 0x98132C17, 0x980BD695, | ||
420 | 0x98048214, 0x97FD2E94, 0x97F5DC14, 0x97EE8A95, 0x97E73A17, 0x97DFEA99, | ||
421 | 0x97D89C1D, 0x97D14EA1, 0x97CA0226, 0x97C2B6AD, 0x97BB6C35, 0x97B422BE, | ||
422 | 0x97ACDA49, 0x97A592D4, 0x979E4C62, 0x979706F1, 0x978FC281, 0x97887F13, | ||
423 | 0x97813CA7, 0x9779FB3D, 0x9772BAD5, 0x976B7B6F, 0x97643D54, 0x975CFFF2, | ||
424 | 0x9755C392, 0x974E8834, 0x97474DD9, 0x97401480, 0x9738DC29, 0x9731A4D5, | ||
425 | 0x972A6E84, 0x97233935, 0x971C04E9, 0x9714D1A0, 0x970D9F59, 0x97066E16, | ||
426 | 0x96FF3DD6, 0x96F80E98, 0x96F0E05E, 0x96E9B327, 0x96E286F4, 0x96DB5BC3, | ||
427 | 0x96D43196, 0x96CD086D, 0x96C5E047, 0x96BEB925, 0x96B79307, 0x96B06DEC, | ||
428 | 0x96A949D5, 0x96A226C3, 0x969B04B4, 0x9693E3A9, 0x968CC3A2, 0x9685A49F, | ||
429 | 0x967E86A1, 0x967769A7, 0x96704DB2, 0x966932C1, 0x966218D4, 0x965AFFEC, | ||
430 | 0x9653E809, 0x964CD12A, 0x9645BB51, 0x963EA67C, 0x963792AC, 0x96307FE1, | ||
431 | 0x96296E1B, 0x96225D5A, 0x961B4D9F, 0x96143EE9, 0x960D3138, 0x9606248C, | ||
432 | 0x95FF18E6, 0x95F80E46, 0x95F104AB, 0x95E9FC16, 0x95E2F487, 0x95DBEE45, | ||
433 | 0x95D4E8C1, 0x95CDE444, 0x95C6E0CC, 0x95BFDE5A, 0x95B8DCEF, 0x95B1DC8A, | ||
434 | 0x95AADD2B, 0x95A3DED2, 0x959CE180, 0x9595E535, 0x958EE9F0, 0x9587EFB1, | ||
435 | 0x9580F67A, 0x9579FE49, 0x9573071F, 0x956C10FC, 0x95651BE0, 0x955E27CB, | ||
436 | 0x955734BC, 0x955042B6, 0x954951B6, 0x954261BE, 0x953B72CD, 0x953484E3, | ||
437 | 0x952D9801, 0x9526AC27, 0x951FC154, 0x9518D789, 0x9511EEC6, 0x950B070A, | ||
438 | 0x95042057, 0x94FD3AAB, 0x94F65608, 0x94EF726C, 0x94E88FD9, 0x94E1AE4E, | ||
439 | 0x94DACDCB, 0x94D3EE51, 0x94CD0FDF, 0x94C63276, 0x94BF5615, 0x94B87ABD, | ||
440 | 0x94B1A06D, 0x94AAC727, 0x94A3EEE9, 0x949D17B4, 0x94964188, 0x948F6C65, | ||
441 | 0x9488984B, 0x9481C53A, 0x947AF333, 0x94742235, 0x946D5240, 0x9466839A, | ||
442 | 0x945FB5B8, 0x9458E8E0, 0x94521D11, 0x944B524C, 0x9444884B, 0x943DBF9A, | ||
443 | 0x9436F7F2, 0x94303155, 0x94296BC1, 0x9422A738, 0x941BE3B8, 0x94152143, | ||
444 | 0x940E5FD8, 0x94079F78, 0x9400E021, 0x93FA21D6, 0x93F36495, 0x93ECA85E, | ||
445 | 0x93E5ED32, 0x93DF3311, 0x93D879FB, 0x93D1C1EF, 0x93CB0AEF, 0x93C454F9, | ||
446 | 0x93BDA00F, 0x93B6EC2F, 0x93B0395B, 0x93A9881B, 0x93A2D75D, 0x939C27AB, | ||
447 | 0x93957904, 0x938ECB68, 0x93881ED9, 0x93817354, 0x937AC8DC, 0x93741F6F, | ||
448 | 0x936D770E, 0x9366CFB9, 0x93602970, 0x93598433, 0x9352E003, 0x934C3CDE, | ||
449 | 0x93459AC5, 0x933EF9B9, 0x933859B9, 0x9331BAC6, 0x932B1CDE, 0x93248004, | ||
450 | 0x931DE436, 0x93174975, 0x9310AFC0, 0x930A1718, 0x93037F7E, 0x92FCE8F0, | ||
451 | 0x92F6536F, 0x92EFBEFB, 0x92E92B94, 0x92E2993A, 0x92DC07EE, 0x92D577AE, | ||
452 | 0x92CEE87D, 0x92C85A58, 0x92C1CD41, 0x92BB4138, 0x92B4B63C, 0x92AE2C4E, | ||
453 | 0x92A7A36E, 0x92A11B9B, 0x929A94D7, 0x92940F20, 0x928D8A77, 0x928706DC, | ||
454 | 0x92808450, 0x927A02D1, 0x92738261, 0x926D02FF, 0x926684AC, 0x92600767, | ||
455 | 0x92598B30, 0x92531008, 0x924C95EF, 0x92461CE4, 0x923FA4E8, 0x92392DFB, | ||
456 | 0x9232B81C, 0x922C434D, 0x9225CF8D, 0x921F5CDB, 0x9218EB39, 0x92127AA6, | ||
457 | 0x920C0B22, 0x92059CAD, 0x91FF2F48, 0x91F8C2F3, 0x91F257AC, 0x91EBED76, | ||
458 | 0x91E5844E, 0x91DF1C37, 0x91D8B52F, 0x91D24F37, 0x91CBEA4F, 0x91C58677, | ||
459 | 0x91BF23AF, 0x91B8C1F7, 0x91B2614F, 0x91AC01B7, 0x91A5A32F, 0x919F45B8, | ||
460 | 0x9198E951, 0x91928DFA, 0x918C33B4, 0x9185DA7F, 0x917F825A, 0x91792B45, | ||
461 | 0x9172D542, 0x916C804F, 0x91662C6D, 0x915FD99C, 0x915987DC, 0x9153372C, | ||
462 | 0x914CE78E, 0x91469901, 0x91404B86, 0x9139FF1B, 0x9133B3C2, 0x912D697A, | ||
463 | 0x91272044, 0x9120D81F, 0x911A910C, 0x91144B0B, 0x910E061B, 0x9107C23C, | ||
464 | 0x91017F70, 0x90FB3DB6, 0x90F4FD0D, 0x90EEBD77, 0x90E87F71, 0x90E241FF, | ||
465 | 0x90DC059E, 0x90D5CA50, 0x90CF9014, 0x90C956EB, 0x90C31ED4, 0x90BCE7CF, | ||
466 | 0x90B6B1DD, 0x90B07CFE, 0x90AA4931, 0x90A41677, 0x909DE4D0, 0x9097B43B, | ||
467 | 0x909184BA, 0x908B564B, 0x908528EF, 0x907EFCA7, 0x9078D171, 0x9072A74F, | ||
468 | 0x906C7E40, 0x90665644, 0x90602F5C, 0x905A0987, 0x9053E4C5, 0x904DC118, | ||
469 | 0x90479E7D, 0x90417CF7, 0x903B5C84, 0x90353D25, 0x902F1ED9, 0x902901A2, | ||
470 | 0x9022E57E, 0x901CCA6F, 0x9016B074, 0x9010978C, 0x900A7FB9, 0x900468FA, | ||
471 | 0x8FFE5350, 0x8FF83EBA, 0x8FF22B38, 0x8FEC18CB, 0x8FE60772, 0x8FDFF72E, | ||
472 | 0x8FD9E7FF, 0x8FD3D9E4, 0x8FCDCCDE, 0x8FC7C0ED, 0x8FC1B611, 0x8FBBAC4A, | ||
473 | 0x8FB5A397, 0x8FAF9BFA, 0x8FA99572, 0x8FA38FFF, 0x8F9D8BA2, 0x8F978859, | ||
474 | 0x8F918626, 0x8F8B8509, 0x8F858501, 0x8F7F860E, 0x8F798831, 0x8F738B6A, | ||
475 | 0x8F6D8FB8, 0x8F67951D, 0x8F619B96, 0x8F5BA326, 0x8F55ABCC, 0x8F4FB588, | ||
476 | 0x8F49C05A, 0x8F43CC42, 0x8F3DD940, 0x8F37E754, 0x8F31F67F, 0x8F2C06C0, | ||
477 | 0x8F261817, 0x8F202A85, 0x8F1A3E09, 0x8F1452A4, 0x8F0E6855, 0x8F087F1E, | ||
478 | 0x8F0296FC, 0x8EFCAFF2, 0x8EF6C9FF, 0x8EF0E522, 0x8EEB015D, 0x8EE51EAE, | ||
479 | 0x8EDF3D16, 0x8ED95C96, 0x8ED37D2D, 0x8ECD9EDB, 0x8EC7C1A0, 0x8EC1E57D, | ||
480 | 0x8EBC0A71, 0x8EB6307D, 0x8EB057A0, 0x8EAA7FDB, 0x8EA4A92D, 0x8E9ED397, | ||
481 | 0x8E98FF19, 0x8E932BB3, 0x8E8D5964, 0x8E87882E, 0x8E81B80F, 0x8E7BE909, | ||
482 | 0x8E761B1A, 0x8E704E44, 0x8E6A8286, 0x8E64B7E0, 0x8E5EEE52, 0x8E5925DD, | ||
483 | 0x8E535EF6, 0x8E4D98B2, 0x8E47D386, 0x8E420F73, 0x8E3C4C78, 0x8E368A96, | ||
484 | 0x8E30C9CD, 0x8E2B0A1D, 0x8E254B86, 0x8E1F8E07, 0x8E19D1A2, 0x8E141655, | ||
485 | 0x8E0E5C22, 0x8E08A308, 0x8E02EB06, 0x8DFD341F, 0x8DF77E50, 0x8DF1C99B, | ||
486 | 0x8DEC15FF, 0x8DE6637D, 0x8DE0B215, 0x8DDB01C6, 0x8DD55290, 0x8DCFA474, | ||
487 | 0x8DC9F772, 0x8DC44B8A, 0x8DBEA0BC, 0x8DB8F708, 0x8DB34E6D, 0x8DADA6ED, | ||
488 | 0x8DA80086, 0x8DA25B3A, 0x8D9CB708, 0x8D9713F0, 0x8D9171F3, 0x8D8BD110, | ||
489 | 0x8D863147, 0x8D809299, 0x8D7AF505, 0x8D75588C, 0x8D6FBD2D, 0x8D6A22EA, | ||
490 | 0x8D6489C0, 0x8D5EF1B2, 0x8D595ABE, 0x8D53C4E6, 0x8D4E3028, 0x8D489C85, | ||
491 | 0x8D4309FE, 0x8D3D7891, 0x8D37E840, 0x8D32590A, 0x8D2CCAEF, 0x8D273DEF, | ||
492 | 0x8D21B20B, 0x8D1C2742, 0x8D169D95, 0x8D111503, 0x8D0B8D8D, 0x8D060733, | ||
493 | 0x8D0081F4, 0x8CFAFDD1, 0x8CF57ACA, 0x8CEFF8DE, 0x8CEA780F, 0x8CE4F85B, | ||
494 | 0x8CDF79C4, 0x8CD9FC48, 0x8CD47FE9, 0x8CCF04A6, 0x8CC98A7F, 0x8CC41174, | ||
495 | 0x8CBE9986, 0x8CB922B4, 0x8CB3ACFE, 0x8CAE3865, 0x8CA8C4E9, 0x8CA35289, | ||
496 | 0x8C9DE145, 0x8C98711F, 0x8C930215, 0x8C8D9428, 0x8C882758, 0x8C82BBA5, | ||
497 | 0x8C7D510E, 0x8C77E795, 0x8C727F39, 0x8C6D17FA, 0x8C67B1D8, 0x8C624CD3, | ||
498 | 0x8C5CE8EC, 0x8C578622, 0x8C522475, 0x8C4CC3E6, 0x8C476474, 0x8C42061F, | ||
499 | 0x8C3CA8E9, 0x8C374CD0, 0x8C31F1D4, 0x8C2C97F7, 0x8C273F37, 0x8C21E795, | ||
500 | 0x8C1C9111, 0x8C173BAA, 0x8C11E762, 0x8C0C9438, 0x8C07422C, 0x8C01F13E, | ||
501 | 0x8BFCA16F, 0x8BF752BD, 0x8BF20596, 0x8BECB921, 0x8BE76DCB, 0x8BE22393, | ||
502 | 0x8BDCDA79, 0x8BD7927E, 0x8BD24BA2, 0x8BCD05E4, 0x8BC7C145, 0x8BC27DC5, | ||
503 | 0x8BBD3B64, 0x8BB7FA21, 0x8BB2B9FE, 0x8BAD7AF9, 0x8BA83D14, 0x8BA3004D, | ||
504 | 0x8B9DC4A6, 0x8B988A1D, 0x8B9350B4, 0x8B8E186B, 0x8B88E140, 0x8B83AB35, | ||
505 | 0x8B7E7649, 0x8B79427D, 0x8B740FD0, 0x8B6EDE43, 0x8B69ADD6, 0x8B647E88, | ||
506 | 0x8B5F505A, 0x8B5A234C, 0x8B54F75D, 0x8B4FCC8E, 0x8B4AA2E0, 0x8B457A51, | ||
507 | 0x8B4052E2, 0x8B3B2C93, 0x8B360765, 0x8B30E357, 0x8B2BC068, 0x8B269E9A, | ||
508 | 0x8B217DED, 0x8B1C5E60, 0x8B173FF3, 0x8B1222A6, 0x8B0D067B, 0x8B07EB6F, | ||
509 | 0x8B02D185, 0x8AFDB8BB, 0x8AF8A111, 0x8AF38A89, 0x8AEE7521, 0x8AE960DA, | ||
510 | 0x8AE44DB4, 0x8ADF3BAF, 0x8ADA2ACB, 0x8AD51B08, 0x8AD00C66, 0x8ACAFEE6, | ||
511 | 0x8AC5F286, 0x8AC0E748, 0x8ABBDD2B, 0x8AB6D42F, 0x8AB1CC55, 0x8AACC59C, | ||
512 | 0x8AA7C005, 0x8AA2BB8F, 0x8A9DB83B, 0x8A98B609, 0x8A93B4F8, 0x8A8EB509, | ||
513 | 0x8A89B63B, 0x8A84B890, 0x8A7FBC06, 0x8A7AC09E, 0x8A75C659, 0x8A70CD35, | ||
514 | 0x8A6BD533, 0x8A66DE54, 0x8A61E896, 0x8A5CF3FB, 0x8A580082, 0x8A530E2C, | ||
515 | 0x8A4E1CF7, 0x8A492CE5, 0x8A443DF6, 0x8A3F5029, 0x8A3A637F, 0x8A3577F7, | ||
516 | 0x8A308D92, 0x8A2BA44F, 0x8A26BC30, 0x8A21D533, 0x8A1CEF59, 0x8A180AA2, | ||
517 | 0x8A13270D, 0x8A0E449C, 0x8A09634E, 0x8A048322, 0x89FFA41A, 0x89FAC635, | ||
518 | 0x89F5E974, 0x89F10DD5, 0x89EC335A, 0x89E75A02, 0x89E281CD, 0x89DDAABC, | ||
519 | 0x89D8D4CF, 0x89D40005, 0x89CF2C5E, 0x89CA5A3E, 0x89C588DF, 0x89C0B8A3, | ||
520 | 0x89BBE98B, 0x89B71B97, 0x89B24EC7, 0x89AD831B, 0x89A8B893, 0x89A3EF2F, | ||
521 | 0x899F26EF, 0x899A5FD2, 0x899599DA, 0x8990D507, 0x898C1157, 0x89874ECC, | ||
522 | 0x89828D65, 0x897DCD22, 0x89790E04, 0x8974500A, 0x896F9335, 0x896AD784, | ||
523 | 0x89661CF8, 0x89616391, 0x895CAB4E, 0x8957F430, 0x89533E37, 0x894E8962, | ||
524 | 0x8949D5B3, 0x89452328, 0x894071C2, 0x893BC182, 0x89371266, 0x8932646F, | ||
525 | 0x892DB79E, 0x89290BF2, 0x8924616B, 0x891FB809, 0x891B0FCC, 0x891668B5, | ||
526 | 0x8911C2C4, 0x890D1DF7, 0x89087A51, 0x8903D7D0, 0x88FF3674, 0x88FA963E, | ||
527 | 0x88F5F72E, 0x88F15943, 0x88ECBC7E, 0x88E820DF, 0x88E38666, 0x88DEED13, | ||
528 | 0x88DA54E6, 0x88D5BDDE, 0x88D127FD, 0x88CC9342, 0x88C7FFAD, 0x88C36D3E, | ||
529 | 0x88BEDBF5, 0x88BA4BD2, 0x88B5BCD6, 0x88B12F00, 0x88ACA251, 0x88A816C8, | ||
530 | 0x88A38C65, 0x889F0329, 0x889A7B14, 0x8895F425, 0x88916E5C, 0x888CE9BB, | ||
531 | 0x88886640, 0x8883E3EC, 0x887F62BF, 0x887AE2B8, 0x887663D9, 0x8871E620, | ||
532 | 0x886D698F, 0x8868EE24, 0x886473E1, 0x885FFAC5, 0x885B82CF, 0x88570C01, | ||
533 | 0x8852965B, 0x884E21DB, 0x8849AE83, 0x88453C53, 0x8840CB49, 0x883C5B68, | ||
534 | 0x8837ECAD, 0x88337F1B, 0x882F12AF, 0x882AA76C, 0x88263D50, 0x8821D45C, | ||
535 | 0x881D6C90, 0x881905EB, 0x8814A06E, 0x88103C1A, 0x880BD8ED, 0x880776E8, | ||
536 | 0x8803160B, 0x87FEB656, 0x87FA57CA, 0x87F5FA65, 0x87F19E29, 0x87ED4315, | ||
537 | 0x87E8E929, 0x87E49065, 0x87E038CA, 0x87DBE257, 0x87D78D0D, 0x87D33943, | ||
538 | 0x87CEE64A, 0x87CA9479, 0x87C643D0, 0x87C1F451, 0x87BDA5FA, 0x87B958CB, | ||
539 | 0x87B50CC6, 0x87B0C1E9, 0x87AC7836, 0x87A82FAB, 0x87A3E849, 0x879FA210, | ||
540 | 0x879B5D00, 0x87971919, 0x8792D65B, 0x878E94C6, 0x878A545B, 0x87861519, | ||
541 | 0x8781D700, 0x877D9A10, 0x87795E4A, 0x877523AD, 0x8770EA39, 0x876CB1EF, | ||
542 | 0x87687ACF, 0x876444D8, 0x8760100A, 0x875BDC66, 0x8757A9EC, 0x8753789C, | ||
543 | 0x874F4875, 0x874B1978, 0x8746EBA5, 0x8742BEFC, 0x873E937D, 0x873A6928, | ||
544 | 0x87363FFD, 0x873217FB, 0x872DF124, 0x8729CB77, 0x8725A6F4, 0x8721839B, | ||
545 | 0x871D616D, 0x87194069, 0x8715208F, 0x871101DF, 0x870CE45A, 0x8708C800, | ||
546 | 0x8704ACCF, 0x870092CA, 0x86FC79EE, 0x86F8623E, 0x86F44BB8, 0x86F0365D, | ||
547 | 0x86EC222C, 0x86E80F26, 0x86E3FD4B, 0x86DFEC9B, 0x86DBDD16, 0x86D7CEBB, | ||
548 | 0x86D3C18C, 0x86CFB587, 0x86CBAAAE, 0x86C7A0FF, 0x86C3987C, 0x86BF9124, | ||
549 | 0x86BB8AF7, 0x86B785F5, 0x86B3821F, 0x86AF7F73, 0x86AB7DF4, 0x86A77D9F, | ||
550 | 0x86A37E76, 0x869F8078, 0x869B83A6, 0x869787FF, 0x86938D84, 0x868F9435, | ||
551 | 0x868B9C11, 0x8687A519, 0x8683AF4C, 0x867FBAAC, 0x867BC737, 0x8677D4EE, | ||
552 | 0x8673E3D1, 0x866FF3DF, 0x866C051A, 0x86681781, 0x86642B13, 0x86603FD2, | ||
553 | 0x865C55BD, 0x86586CD4, 0x86548517, 0x86509E86, 0x864CB922, 0x8648D4EA, | ||
554 | 0x8644F1DE, 0x86410FFE, 0x863D2F4B, 0x86394FC5, 0x8635716B, 0x8631943D, | ||
555 | 0x862DB83C, 0x8629DD67, 0x862603BF, 0x86222B44, 0x861E53F6, 0x861A7DD4, | ||
556 | 0x8616A92D, 0x8612D565, 0x860F02C9, 0x860B315A, 0x86076119, 0x86039204, | ||
557 | 0x85FFC41C, 0x85FBF762, 0x85F82BD4, 0x85F46173, 0x85F09840, 0x85ECD03A, | ||
558 | 0x85E90961, 0x85E543B5, 0x85E17F36, 0x85DDBBE5, 0x85D9F9C2, 0x85D638CB, | ||
559 | 0x85D27902, 0x85CEBA67, 0x85CAFCF8, 0x85C740B8, 0x85C385A5, 0x85BFCBC0, | ||
560 | 0x85BC1308, 0x85B85B7E, 0x85B4A522, 0x85B0EFF3, 0x85AD3BF2, 0x85A98920, | ||
561 | 0x85A5D77A, 0x85A22703, 0x859E77BA, 0x859AC99F, 0x85971CB1, 0x859370F2, | ||
562 | 0x858FC661, 0x858C1CFE, 0x858874C9, 0x8584CDC2, 0x858127EA, 0x857D833F, | ||
563 | 0x8579DFC3, 0x85763D76, 0x85729C56, 0x856EFC66, 0x856B5DA3, 0x8567C00F, | ||
564 | 0x856423A9, 0x85608872, 0x855CEE6A, 0x85595590, 0x8555BDE5, 0x85522768, | ||
565 | 0x854E921A, 0x854AFDFB, 0x85476B0B, 0x8543D949, 0x854048B6, 0x853CB952, | ||
566 | 0x85392B1D, 0x85359E17, 0x85321240, 0x852E8798, 0x852AFE1F, 0x852775D5, | ||
567 | 0x8523EEBA, 0x852068CF, 0x851CE412, 0x85196085, 0x8515DE27, 0x85125CF8, | ||
568 | 0x850EDCF9, 0x850B5E29, 0x8507E088, 0x85046417, 0x8500E8D5, 0x84FD6EC3, | ||
569 | 0x84F9F5E0, 0x84F67E2C, 0x84F307A9, 0x84EF9255, 0x84EC1E30, 0x84E8AB3C, | ||
570 | 0x84E53976, 0x84E1C8E1, 0x84DE597C, 0x84DAEB46, 0x84D77E40, 0x84D4126A, | ||
571 | 0x84D0A7C4, 0x84CD3E4E, 0x84C9D608, 0x84C66EF2, 0x84C3090C, 0x84BFA456, | ||
572 | 0x84BC40D0, 0x84B8DE7A, 0x84B57D55, 0x84B21D60, 0x84AEBE9A, 0x84AB6106, | ||
573 | 0x84A804A1, 0x84A4A96D, 0x84A14F69, 0x849DF696, 0x849A9EF3, 0x84974880, | ||
574 | 0x8493F33E, 0x84909F2D, 0x848D4C90, 0x8489FADF, 0x8486AA60, 0x84835B11, | ||
575 | 0x84800CF2, 0x847CC005, 0x84797448, 0x847629BC, 0x8472E060, 0x846F9836, | ||
576 | 0x846C513C, 0x84690B74, 0x8465C6DC, 0x84628375, 0x845F4140, 0x845C003B, | ||
577 | 0x8458C067, 0x845581C5, 0x84524453, 0x844F0813, 0x844BCD04, 0x84489327, | ||
578 | 0x84455A7A, 0x844222FF, 0x843EECB5, 0x843BB79C, 0x843883B5, 0x84355100, | ||
579 | 0x84321F7B, 0x842EEF28, 0x842BC007, 0x84289217, 0x84256559, 0x842239CD, | ||
580 | 0x841F0F72, 0x841BE648, 0x8418BE51, 0x8415978B, 0x841271F7, 0x840F4D94, | ||
581 | 0x840C2A64, 0x84090865, 0x8405E798, 0x8402C7FD, 0x83FFA994, 0x83FC8C5D, | ||
582 | 0x83F97058, 0x83F65585, 0x83F33BE4, 0x83F02375, 0x83ED0C38, 0x83E9F62E, | ||
583 | 0x83E6E155, 0x83E3CDAF, 0x83E0BB3B, 0x83DDA9F9, 0x83DA99EA, 0x83D78B0D, | ||
584 | 0x83D47D62, 0x83D170E9, 0x83CE65A3, 0x83CB5B90, 0x83C852AF, 0x83C54B00, | ||
585 | 0x83C24484, 0x83BF3F3A, 0x83BC3B23, 0x83B9383F, 0x83B6368D, 0x83B3360E, | ||
586 | 0x83B036C2, 0x83AD38A8, 0x83AA3BC2, 0x83A7400E, 0x83A4458C, 0x83A14C3E, | ||
587 | 0x839E5422, 0x839B5D3A, 0x83986784, 0x83957301, 0x83927FB2, 0x838F8D95, | ||
588 | 0x838C9CAB, 0x8389ACF4, 0x8386BE71, 0x8383D121, 0x8380E503, 0x837DFA19, | ||
589 | 0x837B1062, 0x837827DF, 0x8375408E, 0x83725A71, 0x836F7588, 0x836C91D1, | ||
590 | 0x8369AF4E, 0x8366CDFF, 0x8363EDE3, 0x83610EFA, 0x835E3145, 0x835B54C3, | ||
591 | 0x83587975, 0x83559F5A, 0x8352C674, 0x834FEEC0, 0x834D1841, 0x834A42F5, | ||
592 | 0x83476EDC, 0x83449BF8, 0x8341CA47, 0x833EF9CA, 0x833C2ABA, 0x83395CA5, | ||
593 | 0x83368FC3, 0x8333C416, 0x8330F99C, 0x832E3056, 0x832B6844, 0x8328A167, | ||
594 | 0x8325DBBD, 0x83231747, 0x83205406, 0x831D91F8, 0x831AD11F, 0x8318117A, | ||
595 | 0x83155309, 0x831295CC, 0x830FD9C4, 0x830D1EF0, 0x830A6550, 0x8307ACE4, | ||
596 | 0x8304F5AD, 0x83023FAA, 0x82FF8ADC, 0x82FCD742, 0x82FA24DC, 0x82F773AB, | ||
597 | 0x82F4C3AF, 0x82F214E7, 0x82EF6753, 0x82ECBAF4, 0x82EA0FCA, 0x82E765D4, | ||
598 | 0x82E4BD13, 0x82E21587, 0x82DF6F30, 0x82DCCA0D, 0x82DA261F, 0x82D78365, | ||
599 | 0x82D4E1E1, 0x82D24191, 0x82CFA277, 0x82CD0491, 0x82CA67E0, 0x82C7CC64, | ||
600 | 0x82C5321D, 0x82C2990B, 0x82C0012E, 0x82BD6A86, 0x82BAD513, 0x82B840D5, | ||
601 | 0x82B5ADCD, 0x82B31BF9, 0x82B08B5B, 0x82ADFBF2, 0x82AB6DBE, 0x82A8E0BF, | ||
602 | 0x82A654F6, 0x82A3CA62, 0x82A14103, 0x829EB8D9, 0x829C31E5, 0x8299AC26, | ||
603 | 0x8297279D, 0x8294A449, 0x8292222B, 0x828FA142, 0x828D218E, 0x828AA311, | ||
604 | 0x828825C8, 0x8285A9B6, 0x82832ED8, 0x8280B531, 0x827E3CBF, 0x827BC583, | ||
605 | 0x82794F7C, 0x8276DAAC, 0x82746711, 0x8271F4AB, 0x826F837C, 0x826D1382, | ||
606 | 0x826AA4BF, 0x82683731, 0x8265CAD9, 0x82635FB6, 0x8260F5CA, 0x825E8D14, | ||
607 | 0x825C2594, 0x8259BF4A, 0x82575A35, 0x8254F657, 0x825293AF, 0x8250323D, | ||
608 | 0x824DD201, 0x824B72FC, 0x8249152C, 0x8246B893, 0x82445D30, 0x82420303, | ||
609 | 0x823FAA0C, 0x823D524C, 0x823AFBC2, 0x8238A66E, 0x82365251, 0x8233FF6A, | ||
610 | 0x8231ADB9, 0x822F5D3F, 0x822D0DFB, 0x822ABFEE, 0x82287317, 0x822627A5, | ||
611 | 0x8223DD3C, 0x82219408, 0x821F4C0B, 0x821D0545, 0x821ABFB6, 0x82187B5D, | ||
612 | 0x8216383B, 0x8213F64F, 0x8211B59A, 0x820F761C, 0x820D37D5, 0x820AFAC4, | ||
613 | 0x8208BEEA, 0x82068447, 0x82044ADB, 0x820212A5, 0x81FFDBA7, 0x81FDA5DF, | ||
614 | 0x81FB714F, 0x81F93DF5, 0x81F70BD2, 0x81F4DAE6, 0x81F2AB32, 0x81F07CB4, | ||
615 | 0x81EE4F6D, 0x81EC235D, 0x81E9F885, 0x81E7CEE3, 0x81E5A679, 0x81E37F46, | ||
616 | 0x81E1594A, 0x81DF3485, 0x81DD10F7, 0x81DAEEA1, 0x81D8CD82, 0x81D6AD9A, | ||
617 | 0x81D48EE9, 0x81D27170, 0x81D0552E, 0x81CE3A24, 0x81CC2050, 0x81CA07B5, | ||
618 | 0x81C7F050, 0x81C5DA23, 0x81C3C52E, 0x81C1B170, 0x81BF9EE9, 0x81BD8D9A, | ||
619 | 0x81BB7D83, 0x81B96EA3, 0x81B760FA, 0x81B5548A, 0x81B34950, 0x81B13F4F, | ||
620 | 0x81AF3685, 0x81AD2EF3, 0x81AB2898, 0x81A92376, 0x81A71F8A, 0x81A51CD7, | ||
621 | 0x81A31B5C, 0x81A11B18, 0x819F1C0C, 0x819D1E38, 0x819B219C, 0x81992637, | ||
622 | 0x81972C0B, 0x81953316, 0x81933B59, 0x819144D5, 0x818F4F88, 0x818D5B73, | ||
623 | 0x818B6896, 0x818976F2, 0x81878685, 0x81859750, 0x8183A954, 0x8181BC8F, | ||
624 | 0x817FD103, 0x817DE6AE, 0x817BFD92, 0x817A15AE, 0x81782F02, 0x8176498F, | ||
625 | 0x81746554, 0x81728250, 0x8170A086, 0x816EBFF3, 0x816CE099, 0x816B0277, | ||
626 | 0x8169258D, 0x816749DC, 0x81656F63, 0x81639622, 0x8161BE1A, 0x815FE74A, | ||
627 | 0x815E11B3, 0x815C3D54, 0x815A6A2E, 0x81589840, 0x8156C78B, 0x8154F80E, | ||
628 | 0x815329CA, 0x81515CBE, 0x814F90EB, 0x814DC650, 0x814BFCEE, 0x814A34C5, | ||
629 | 0x81486DD4, 0x8146A840, 0x8144E3C1, 0x8143207A, 0x81415E6C, 0x813F9D97, | ||
630 | 0x813DDDFA, 0x813C1F97, 0x813A626C, 0x8138A679, 0x8136EBC0, 0x81353240, | ||
631 | 0x813379F8, 0x8131C2E9, 0x81300D13, 0x812E5876, 0x812CA512, 0x812AF2E7, | ||
632 | 0x812941F5, 0x8127923B, 0x8125E3BB, 0x81243674, 0x81228A65, 0x8120DF90, | ||
633 | 0x811F35F4, 0x811D8D91, 0x811BE667, 0x811A4076, 0x81189BBE, 0x8116F83F, | ||
634 | 0x811555F9, 0x8113B4ED, 0x8112151A, 0x81107680, 0x810ED91F, 0x810D3CF7, | ||
635 | 0x810BA209, 0x810A0853, 0x81086FD7, 0x8106D895, 0x8105428B, 0x8103ADBB, | ||
636 | 0x81021A25, 0x810087C7, 0x80FEF6A3, 0x80FD66B9, 0x80FBD807, 0x80FA4A90, | ||
637 | 0x80F8BE51, 0x80F7334C, 0x80F5A981, 0x80F420EE, 0x80F29996, 0x80F11377, | ||
638 | 0x80EF8E91, 0x80EE0AE5, 0x80EC8872, 0x80EB0739, 0x80E9873A, 0x80E80874, | ||
639 | 0x80E68AE8, 0x80E50E95, 0x80E3937C, 0x80E2199D, 0x80E0A0F7, 0x80DF298B, | ||
640 | 0x80DDB358, 0x80DC3E5F, 0x80DACAA0, 0x80D9581B, 0x80D7E6D0, 0x80D676BE, | ||
641 | 0x80D507E6, 0x80D39A47, 0x80D22DE3, 0x80D0C2B8, 0x80CF58C7, 0x80CDF010, | ||
642 | 0x80CC8893, 0x80CB2250, 0x80C9BD46, 0x80C85977, 0x80C6F6E1, 0x80C59585, | ||
643 | 0x80C43563, 0x80C2D67B, 0x80C178CD, 0x80C01C59, 0x80BEC11F, 0x80BD671F, | ||
644 | 0x80BC0E59, 0x80BAB6CD, 0x80B9607B, 0x80B80B63, 0x80B6B785, 0x80B564E2, | ||
645 | 0x80B41378, 0x80B2C348, 0x80B17453, 0x80B02697, 0x80AEDA16, 0x80AD8ECF, | ||
646 | 0x80AC44C2, 0x80AAFBEF, 0x80A9B456, 0x80A86DF8, 0x80A728D4, 0x80A5E4EA, | ||
647 | 0x80A4A23A, 0x80A360C4, 0x80A22089, 0x80A0E1A1, 0x809FA3DA, 0x809E674E, | ||
648 | 0x809D2BFC, 0x809BF1E4, 0x809AB906, 0x80998163, 0x80984AFA, 0x809715CB, | ||
649 | 0x8095E1D7, 0x8094AF1D, 0x80937D9E, 0x80924D59, 0x80911E4E, 0x808FF07E, | ||
650 | 0x808EC3E8, 0x808D988D, 0x808C6E6C, 0x808B4586, 0x808A1DDA, 0x8088F769, | ||
651 | 0x8087D232, 0x8086AE36, 0x80858B74, 0x808469ED, 0x808349A0, 0x80822A8E, | ||
652 | 0x80810CB6, 0x807FF019, 0x807ED4B7, 0x807DBA8F, 0x807CA1A2, 0x807B89F0, | ||
653 | 0x807A7378, 0x80795E3B, 0x80784A38, 0x80773770, 0x807625E3, 0x80751590, | ||
654 | 0x80740679, 0x8072F89B, 0x8071EBF9, 0x8070E091, 0x806FD664, 0x806ECD72, | ||
655 | 0x806DC5BB, 0x806CBF3E, 0x806BB9FC, 0x806AB5F5, 0x8069B329, 0x8068B198, | ||
656 | 0x8067B141, 0x8066B225, 0x8065B444, 0x8064B79E, 0x8063BC33, 0x8062C202, | ||
657 | 0x8061C90D, 0x8060D152, 0x805FDAD3, 0x805EE58E, 0x805DF184, 0x805CFEB5, | ||
658 | 0x805C0D21, 0x805B1CC8, 0x805A2DA9, 0x80593FC6, 0x8058531E, 0x805767B1, | ||
659 | 0x80567D7F, 0x80559487, 0x8054ACCB, 0x8053C64A, 0x8052E104, 0x8051FCF8, | ||
660 | 0x80511A28, 0x80503893, 0x804F5839, 0x804E791A, 0x804D9B36, 0x804CBE8D, | ||
661 | 0x804BE31F, 0x804B08ED, 0x804A2FF5, 0x80495839, 0x804881B8, 0x8047AC71, | ||
662 | 0x8046D866, 0x80460596, 0x80453402, 0x804463A8, 0x8043948A, 0x8042C6A6, | ||
663 | 0x8041F9FE, 0x80412E92, 0x80406460, 0x803F9B69, 0x803ED3AE, 0x803E0D2E, | ||
664 | 0x803D47E9, 0x803C83E0, 0x803BC112, 0x803AFF7F, 0x803A3F27, 0x8039800A, | ||
665 | 0x8038C229, 0x80380583, 0x80374A18, 0x80368FE9, 0x8035D704, 0x80351F4B, | ||
666 | 0x803468CD, 0x8033B38B, 0x8032FF84, 0x80324CB9, 0x80319B28, 0x8030EAD4, | ||
667 | 0x80303BBA, 0x802F8DDC, 0x802EE139, 0x802E35D2, 0x802D8BA6, 0x802CE2B5, | ||
668 | 0x802C3B00, 0x802B9486, 0x802AEF48, 0x802A4B45, 0x8029A87D, 0x802906F1, | ||
669 | 0x802866A0, 0x8027C78B, 0x802729B1, 0x80268D13, 0x8025F1B0, 0x80255789, | ||
670 | 0x8024BE9D, 0x802426EC, 0x80239077, 0x8022FB3E, 0x80226740, 0x8021D47D, | ||
671 | 0x802142F6, 0x8020B2AB, 0x8020239B, 0x801F95C6, 0x801F092D, 0x801E7DD0, | ||
672 | 0x801DF3AE, 0x801D6AC7, 0x801CE31D, 0x801C5CAD, 0x801BD77A, 0x801B5381, | ||
673 | 0x801AD0C5, 0x801A4F44, 0x8019CEFE, 0x80194FF5, 0x8018D226, 0x80185594, | ||
674 | 0x8017DA3D, 0x80176021, 0x8016E741, 0x80166F9D, 0x8015F934, 0x80158407, | ||
675 | 0x80151016, 0x80149D60, 0x80142BE6, 0x8013BBA7, 0x80134CA4, 0x8012DEDD, | ||
676 | 0x80127252, 0x80120702, 0x80119CED, 0x80113415, 0x8010CC78, 0x80106616, | ||
677 | 0x801000F1, 0x800F9D07, 0x800F3A58, 0x800ED8E6, 0x800E78AF, 0x800E19B4, | ||
678 | 0x800DBBF4, 0x800D5F70, 0x800D0428, 0x800CAA1C, 0x800C514B, 0x800BF9B6, | ||
679 | 0x800BA35D, 0x800B4E3F, 0x800AFA5D, 0x800AA7B7, 0x800A564D, 0x800A061E, | ||
680 | 0x8009B72B, 0x80096974, 0x80091CF8, 0x8008D1B9, 0x800887B5, 0x80083EEC, | ||
681 | 0x8007F760, 0x8007B10F, 0x80076BFA, 0x80072821, 0x8006E584, 0x8006A422, | ||
682 | 0x800663FC, 0x80062512, 0x8005E763, 0x8005AAF1, 0x80056FBA, 0x800535BF, | ||
683 | 0x8004FCFF, 0x8004C57C, 0x80048F34, 0x80045A28, 0x80042658, 0x8003F3C4, | ||
684 | 0x8003C26F, 0x80039252, 0x80036371, 0x800335CC, 0x80030962, 0x8002DE35, | ||
685 | 0x8002B443, 0x80028B8D, 0x80026412, 0x80023DD4, 0x800218D1, 0x8001F50A, | ||
686 | 0x8001D27F, 0x8001B130, 0x8001911C, 0x80017245, 0x800154A9, 0x80013849, | ||
687 | 0x80011D25, 0x8001033D, 0x8000EA90, 0x8000D31F, 0x8000BCEA, 0x8000A7F1, | ||
688 | 0x80009434, 0x800081B3, 0x8000706D, 0x80006063, 0x80005195, 0x80004403, | ||
689 | 0x800037AD, 0x80002C92, 0x800022B4, 0x80001A11, 0x800012AA, 0x80000C7F, | ||
690 | 0x8000078F, 0x800003DC, 0x80000164, 0x80000028 | ||
691 | }; | ||
692 | |||
693 | const int32_t sine_2048[] ICONST_ATTR_WMAPRO_WIN_VS_TMP = { | ||
694 | 0xFFF36F03, 0xFFDA4D09, 0xFFC12B0F, 0xFFA80918, 0xFF8EE725, 0xFF75C536, | ||
695 | 0xFF5CA34B, 0xFF438168, 0xFF2A5F8C, 0xFF113DB7, 0xFEF81BEE, 0xFEDEFA2D, | ||
696 | 0xFEC5D876, 0xFEACB6CE, 0xFE939531, 0xFE7A73A2, 0xFE615224, 0xFE4830B4, | ||
697 | 0xFE2F0F55, 0xFE15EE0A, 0xFDFCCCD0, 0xFDE3ABAA, 0xFDCA8A98, 0xFDB1699D, | ||
698 | 0xFD9848BC, 0xFD7F27EF, 0xFD66073A, 0xFD4CE69F, 0xFD33C61F, 0xFD1AA5BB, | ||
699 | 0xFD018577, 0xFCE8654C, 0xFCCF4541, 0xFCB62554, 0xFC9D0588, 0xFC83E5DE, | ||
700 | 0xFC6AC65A, 0xFC51A6F5, 0xFC3887B4, 0xFC1F6899, 0xFC0649A4, 0xFBED2AD7, | ||
701 | 0xFBD40C35, 0xFBBAEDB5, 0xFBA1CF67, 0xFB88B144, 0xFB6F9345, 0xFB56757B, | ||
702 | 0xFB3D57D7, 0xFB243A6A, 0xFB0B1D25, 0xFAF20019, 0xFAD8E33F, 0xFABFC690, | ||
703 | 0xFAA6AA1D, 0xFA8D8DD6, 0xFA7471CD, 0xFA5B55FB, 0xFA423A59, 0xFA291EF7, | ||
704 | 0xFA1003C7, 0xF9F6E8D9, 0xF9DDCE1F, 0xF9C4B3AA, 0xF9AB9972, 0xF9927F70, | ||
705 | 0xF97965B6, 0xF9604C34, 0xF94732FC, 0xF92E1A06, 0xF915014C, 0xF8FBE8DD, | ||
706 | 0xF8E2D0AC, 0xF8C9B8C9, 0xF8B0A126, 0xF89789D2, 0xF87E72C8, 0xF8655BFF, | ||
707 | 0xF84C458A, 0xF8332F59, 0xF81A197C, 0xF80103EE, 0xF7E7EEA7, 0xF7CED9AF, | ||
708 | 0xF7B5C518, 0xF79CB0C3, 0xF7839CC1, 0xF76A8923, 0xF75175C9, 0xF73862C5, | ||
709 | 0xF71F5018, 0xF7063DD2, 0xF6ED2BD5, 0xF6D41A32, 0xF6BB08F9, 0xF6A1F80B, | ||
710 | 0xF688E77A, 0xF66FD747, 0xF656C781, 0xF63DB80B, 0xF624A8F6, 0xF60B9A51, | ||
711 | 0xF5F28BFF, 0xF5D97E11, 0xF5C07096, 0xF5A76370, 0xF58E56B1, 0xF5754A59, | ||
712 | 0xF55C3E78, 0xF54332F1, 0xF52A27D4, 0xF5111D31, 0xF4F812EB, 0xF4DF0911, | ||
713 | 0xF4C5FFA6, 0xF4ACF6B9, 0xF493EE2B, 0xF47AE60F, 0xF461DE74, 0xF448D73C, | ||
714 | 0xF42FD078, 0xF416CA28, 0xF3FDC45D, 0xF3E4BEFA, 0xF3CBBA0D, 0xF3B2B5A9, | ||
715 | 0xF399B1AF, 0xF380AE2F, 0xF367AB3A, 0xF34EA8B2, 0xF335A6A7, 0xF31CA51A, | ||
716 | 0xF303A41C, 0xF2EAA38E, 0xF2D1A382, 0xF2B8A408, 0xF29FA500, 0xF286A67D, | ||
717 | 0xF26DA87F, 0xF254AB17, 0xF23BAE25, 0xF222B1BC, 0xF209B5EB, 0xF1F0BA94, | ||
718 | 0xF1D7BFC8, 0xF1BEC588, 0xF1A5CBE4, 0xF18CD2BE, 0xF173DA26, 0xF15AE22E, | ||
719 | 0xF141EAB7, 0xF128F3D1, 0xF10FFD8E, 0xF0F707CE, 0xF0DE12A2, 0xF0C51E0C, | ||
720 | 0xF0AC2A1C, 0xF09336B4, 0xF07A43E3, 0xF06151BC, 0xF048601F, 0xF02F6F1D, | ||
721 | 0xF0167EB8, 0xEFFD8EFF, 0xEFE49FD4, 0xEFCBB148, 0xEFB2C35C, 0xEF99D612, | ||
722 | 0xEF80E988, 0xEF67FD82, 0xEF4F121F, 0xEF362762, 0xEF1D3D4A, 0xEF0453D8, | ||
723 | 0xEEEB6B0F, 0xEED2830D, 0xEEB99B95, 0xEEA0B4C8, 0xEE87CEA7, 0xEE6EE931, | ||
724 | 0xEE560469, 0xEE3D2050, 0xEE243D05, 0xEE0B5A4B, 0xEDF27842, 0xEDD996EC, | ||
725 | 0xEDC0B648, 0xEDA7D659, 0xED8EF73E, 0xED7618BA, 0xED5D3AED, 0xED445DD7, | ||
726 | 0xED2B817B, 0xED12A5D8, 0xECF9CAF0, 0xECE0F0E3, 0xECC81774, 0xECAF3EC2, | ||
727 | 0xEC9666CF, 0xEC7D8F9C, 0xEC64B929, 0xEC4BE377, 0xEC330EA8, 0xEC1A3A7C, | ||
728 | 0xEC016715, 0xEBE89473, 0xEBCFC298, 0xEBB6F184, 0xEB9E2138, 0xEB8551D4, | ||
729 | 0xEB6C831B, 0xEB53B52E, 0xEB3AE80C, 0xEB221BB7, 0xEB095031, 0xEAF08579, | ||
730 | 0xEAD7BBB0, 0xEABEF299, 0xEAA62A54, 0xEA8D62E1, 0xEA749C42, 0xEA5BD678, | ||
731 | 0xEA431183, 0xEA2A4D84, 0xEA118A3E, 0xE9F8C7CF, 0xE9E0063B, 0xE9C74580, | ||
732 | 0xE9AE85A1, 0xE995C69E, 0xE97D0898, 0xE9644B50, 0xE94B8EE8, 0xE932D360, | ||
733 | 0xE91A18B9, 0xE9015EF3, 0xE8E8A631, 0xE8CFEE32, 0xE8B73719, 0xE89E80E5, | ||
734 | 0xE885CB98, 0xE86D1733, 0xE85463B6, 0xE83BB143, 0xE822FF9A, 0xE80A4EDE, | ||
735 | 0xE7F19F0D, 0xE7D8F02A, 0xE7C04236, 0xE7A79530, 0xE78EE93B, 0xE7763E17, | ||
736 | 0xE75D93E6, 0xE744EAA7, 0xE72C425D, 0xE7139B08, 0xE6FAF4A8, 0xE6E24F5F, | ||
737 | 0xE6C9AAEF, 0xE6B10777, 0xE69864F9, 0xE67FC376, 0xE66722EF, 0xE64E8364, | ||
738 | 0xE635E4F6, 0xE61D4767, 0xE604AAD8, 0xE5EC0F49, 0xE5D374BC, 0xE5BADB31, | ||
739 | 0xE5A242A9, 0xE589AB45, 0xE57114C6, 0xE5587F4E, 0xE53FEADD, 0xE5275773, | ||
740 | 0xE50EC513, 0xE4F633DC, 0xE4DDA391, 0xE4C51451, 0xE4AC861E, 0xE493F8F9, | ||
741 | 0xE47B6CE2, 0xE462E1DB, 0xE44A5804, 0xE431CF1F, 0xE419474D, 0xE400C08D, | ||
742 | 0xE3E83AE3, 0xE3CFB64D, 0xE3B732CE, 0xE39EB085, 0xE3862F34, 0xE36DAEFD, | ||
743 | 0xE3552FE0, 0xE33CB1DE, 0xE32434F8, 0xE30BB92F, 0xE2F33EA2, 0xE2DAC515, | ||
744 | 0xE2C24CA8, 0xE2A9D55B, 0xE2915F30, 0xE278EA27, 0xE2607642, 0xE24803A0, | ||
745 | 0xE22F9205, 0xE217218F, 0xE1FEB241, 0xE1E6441B, 0xE1CDD71E, 0xE1B56B4C, | ||
746 | 0xE19D00C3, 0xE1849747, 0xE16C2EF8, 0xE153C7D6, 0xE13B61E4, 0xE122FD21, | ||
747 | 0xE10A998E, 0xE0F2374C, 0xE0D9D61E, 0xE0C17623, 0xE0A9175D, 0xE090B9CC, | ||
748 | 0xE0785D71, 0xE060026C, 0xE047A880, 0xE02F4FCE, 0xE016F855, 0xDFFEA217, | ||
749 | 0xDFE64D16, 0xDFCDF951, 0xDFB5A6C9, 0xDF9D5581, 0xDF850578, 0xDF6CB6B0, | ||
750 | 0xDF546967, 0xDF3C1D23, 0xDF23D222, 0xDF0B8865, 0xDEF33FEE, 0xDEDAF8BD, | ||
751 | 0xDEC2B2D2, 0xDEAA6E30, 0xDE922AD7, 0xDE79E8C8, 0xDE61A804, 0xDE49688C, | ||
752 | 0xDE312A60, 0xDE18EDC0, 0xDE00B230, 0xDDE877F1, 0xDDD03F01, 0xDDB80763, | ||
753 | 0xDD9FD118, 0xDD879C1F, 0xDD6F687B, 0xDD57362C, 0xDD3F0533, 0xDD26D591, | ||
754 | 0xDD0EA747, 0xDCF67A56, 0xDCDE4EBF, 0xDCC624C0, 0xDCADFBDF, 0xDC95D45B, | ||
755 | 0xDC7DAE34, 0xDC65896C, 0xDC4D6603, 0xDC3543FA, 0xDC1D2353, 0xDC05040E, | ||
756 | 0xDBECE62C, 0xDBD4C9AE, 0xDBBCAE95, 0xDBA494E1, 0xDB8C7C95, 0xDB7465EE, | ||
757 | 0xDB5C5072, 0xDB443C60, 0xDB2C29B8, 0xDB14187C, 0xDAFC08AC, 0xDAE3FA4A, | ||
758 | 0xDACBED56, 0xDAB3E1D1, 0xDA9BD7BC, 0xDA83CF18, 0xDA6BC7E6, 0xDA53C227, | ||
759 | 0xDA3BBDDC, 0xDA23BB42, 0xDA0BB9E1, 0xD9F3B9F7, 0xD9DBBB85, 0xD9C3BE8A, | ||
760 | 0xD9ABC309, 0xD993C903, 0xD97BD077, 0xD963D968, 0xD94BE3D6, 0xD933EFC2, | ||
761 | 0xD91BFD2D, 0xD9040C17, 0xD8EC1CC0, 0xD8D42EAD, 0xD8BC421C, 0xD8A4570F, | ||
762 | 0xD88C6D87, 0xD8748584, 0xD85C9F07, 0xD844BA12, 0xD82CD6A4, 0xD814F4C0, | ||
763 | 0xD7FD1466, 0xD7E53596, 0xD7CD5853, 0xD7B57C9C, 0xD79DA2AF, 0xD785CA15, | ||
764 | 0xD76DF309, 0xD7561D8F, 0xD73E49A5, 0xD726774E, 0xD70EA68A, 0xD6F6D75A, | ||
765 | 0xD6DF09BF, 0xD6C73DBA, 0xD6AF734C, 0xD697AA76, 0xD67FE338, 0xD6681D94, | ||
766 | 0xD65059C7, 0xD6389759, 0xD620D687, 0xD6091753, 0xD5F159BC, 0xD5D99DC5, | ||
767 | 0xD5C1E36E, 0xD5AA2AB7, 0xD59273A3, 0xD57ABE31, 0xD5630A63, 0xD54B5839, | ||
768 | 0xD533A7B5, 0xD51BF914, 0xD5044BDE, 0xD4ECA050, 0xD4D4F66B, 0xD4BD4E30, | ||
769 | 0xD4A5A7A0, 0xD48E02BC, 0xD4765F85, 0xD45EBDFB, 0xD4471E20, 0xD42F7FF5, | ||
770 | 0xD417E37A, 0xD40048B0, 0xD3E8AF98, 0xD3D11870, 0xD3B982C0, 0xD3A1EEC5, | ||
771 | 0xD38A5C80, 0xD372CBF1, 0xD35B3D1A, 0xD343AFFC, 0xD32C2497, 0xD3149AED, | ||
772 | 0xD2FD12FE, 0xD2E58CCC, 0xD2CE0856, 0xD2B6859F, 0xD29F04A6, 0xD28785AA, | ||
773 | 0xD2700832, 0xD2588C7C, 0xD2411288, 0xD2299A58, 0xD21223EC, 0xD1FAAF46, | ||
774 | 0xD1E33C66, 0xD1CBCB4D, 0xD1B45BFC, 0xD19CEE74, 0xD18582B6, 0xD16E18C2, | ||
775 | 0xD156B0D6, 0xD13F4A7A, 0xD127E5EC, 0xD110832D, 0xD0F9223C, 0xD0E1C31C, | ||
776 | 0xD0CA65CD, 0xD0B30A50, 0xD09BB0A5, 0xD08458CF, 0xD06D02CD, 0xD055AEA0, | ||
777 | 0xD03E5C4A, 0xD0270BCB, 0xD00FBD60, 0xCFF87093, 0xCFE1259F, 0xCFC9DC87, | ||
778 | 0xCFB2954B, 0xCF9B4FEB, 0xCF840C68, 0xCF6CCAC5, 0xCF558B01, 0xCF3E4D1D, | ||
779 | 0xCF27111A, 0xCF0FD6F9, 0xCEF89EBC, 0xCEE16862, 0xCECA3428, 0xCEB30199, | ||
780 | 0xCE9BD0F0, 0xCE84A22F, 0xCE6D7556, 0xCE564A66, 0xCE3F2161, 0xCE27FA47, | ||
781 | 0xCE10D518, 0xCDF9B1D7, 0xCDE29083, 0xCDCB711D, 0xCDB453A8, 0xCD9D3822, | ||
782 | 0xCD861EC9, 0xCD6F0727, 0xCD57F178, 0xCD40DDBE, 0xCD29CBF8, 0xCD12BC27, | ||
783 | 0xCCFBAE4E, 0xCCE4A26C, 0xCCCD9882, 0xCCB69091, 0xCC9F8A9B, 0xCC8886A0, | ||
784 | 0xCC7184A1, 0xCC5A84D9, 0xCC4386D4, 0xCC2C8ACE, 0xCC1590C8, 0xCBFE98C2, | ||
785 | 0xCBE7A2BD, 0xCBD0AEBA, 0xCBB9BCBB, 0xCBA2CCBF, 0xCB8BDEC8, 0xCB74F2D7, | ||
786 | 0xCB5E08EC, 0xCB472109, 0xCB303B2E, 0xCB195797, 0xCB0275CF, 0xCAEB9613, | ||
787 | 0xCAD4B862, 0xCABDDCBF, 0xCAA70328, 0xCA902BA1, 0xCA795628, 0xCA6282C0, | ||
788 | 0xCA4BB16A, 0xCA34E225, 0xCA1E14F3, 0xCA0749D5, 0xC9F080CC, 0xC9D9BA12, | ||
789 | 0xC9C2F534, 0xC9AC326E, 0xC99571C0, 0xC97EB32C, 0xC967F6B1, 0xC9513C51, | ||
790 | 0xC93A840C, 0xC923CDE5, 0xC90D19DA, 0xC8F667EE, 0xC8DFB822, 0xC8C90A75, | ||
791 | 0xC8B25F23, 0xC89BB5B9, 0xC8850E72, 0xC86E694E, 0xC857C64F, 0xC8412575, | ||
792 | 0xC82A86C1, 0xC813EA34, 0xC7FD4FD0, 0xC7E6B794, 0xC7D02181, 0xC7B98D9A, | ||
793 | 0xC7A2FBDD, 0xC78C6C4D, 0xC775DF24, 0xC75F53EF, 0xC748CAE9, 0xC7324413, | ||
794 | 0xC71BBF6D, 0xC7053CF9, 0xC6EEBCB8, 0xC6D83EA9, 0xC6C1C2CF, 0xC6AB4929, | ||
795 | 0xC694D1BA, 0xC67E5C81, 0xC667E980, 0xC65178B7, 0xC63B0A60, 0xC6249E0B, | ||
796 | 0xC60E33F1, 0xC5F7CC12, 0xC5E16670, 0xC5CB030C, 0xC5B4A1E7, 0xC59E4300, | ||
797 | 0xC587E65A, 0xC5718BF5, 0xC55B33D2, 0xC544DDF2, 0xC52E8A55, 0xC5183936, | ||
798 | 0xC501EA23, 0xC4EB9D57, 0xC4D552D1, 0xC4BF0A94, 0xC4A8C49F, 0xC49280F4, | ||
799 | 0xC47C3F94, 0xC466007F, 0xC44FC3B6, 0xC439893A, 0xC423510D, 0xC40D1B2E, | ||
800 | 0xC3F6E79F, 0xC3E0B698, 0xC3CA87AB, 0xC3B45B10, 0xC39E30C8, 0xC38808D4, | ||
801 | 0xC371E335, 0xC35BBFEB, 0xC3459EF8, 0xC32F805C, 0xC3196419, 0xC3034A2E, | ||
802 | 0xC2ED329E, 0xC2D71D68, 0xC2C10A8E, 0xC2AAFA48, 0xC294EC28, 0xC27EE066, | ||
803 | 0xC268D703, 0xC252CFFF, 0xC23CCB5D, 0xC226C91C, 0xC210C93D, 0xC1FACBC2, | ||
804 | 0xC1E4D0AB, 0xC1CED7F9, 0xC1B8E1AD, 0xC1A2EDC7, 0xC18CFC49, 0xC1770D33, | ||
805 | 0xC1612086, 0xC14B3644, 0xC1354E6C, 0xC11F6900, 0xC1098601, 0xC0F3A5DE, | ||
806 | 0xC0DDC7BA, 0xC0C7EC06, 0xC0B212C1, 0xC09C3BED, 0xC086678B, 0xC070959B, | ||
807 | 0xC05AC61F, 0xC044F916, 0xC02F2E83, 0xC0196665, 0xC003A0BF, 0xBFEDDD8F, | ||
808 | 0xBFD81CD8, 0xBFC25E9B, 0xBFACA2D7, 0xBF96E98E, 0xBF8132C1, 0xBF6B7E71, | ||
809 | 0xBF55CC9D, 0xBF401D48, 0xBF2A7072, 0xBF14C61C, 0xBEFF1E47, 0xBEE978F3, | ||
810 | 0xBED3D622, 0xBEBE35D4, 0xBEA8980A, 0xBE92FD33, 0xBE7D6473, 0xBE67CE3B, | ||
811 | 0xBE523A89, 0xBE3CA960, 0xBE271AC0, 0xBE118EA9, 0xBDFC051E, 0xBDE67E1E, | ||
812 | 0xBDD0F9AA, 0xBDBB77C4, 0xBDA5F86B, 0xBD907BA2, 0xBD7B0168, 0xBD6589BE, | ||
813 | 0xBD5014A6, 0xBD3AA221, 0xBD25322E, 0xBD0FC4CF, 0xBCFA5A05, 0xBCE4F1D0, | ||
814 | 0xBCCF8C31, 0xBCBA292A, 0xBCA4C8BB, 0xBC8F6AE4, 0xBC7A0FA7, 0xBC64B704, | ||
815 | 0xBC4F616A, 0xBC3A0DFE, 0xBC24BD30, 0xBC0F6EFF, 0xBBFA236D, 0xBBE4DA7A, | ||
816 | 0xBBCF9428, 0xBBBA5076, 0xBBA50F66, 0xBB8FD0F9, 0xBB7A9530, 0xBB655C0A, | ||
817 | 0xBB50258A, 0xBB3AF1B0, 0xBB25C07C, 0xBB1091F0, 0xBAFB660C, 0xBAE63CD2, | ||
818 | 0xBAD11641, 0xBABBF25B, 0xBAA6D121, 0xBA91B294, 0xBA7C96B3, 0xBA677D81, | ||
819 | 0xBA5266FE, 0xBA3D532A, 0xBA284207, 0xBA133395, 0xB9FE2840, 0xB9E91F33, | ||
820 | 0xB9D418DA, 0xB9BF1536, 0xB9AA1447, 0xB995160E, 0xB9801A8C, 0xB96B21C2, | ||
821 | 0xB9562BB0, 0xB9413858, 0xB92C47BA, 0xB91759D7, 0xB9026EB0, 0xB8ED8646, | ||
822 | 0xB8D8A099, 0xB8C3BDAA, 0xB8AEDD7B, 0xB89A000B, 0xB885255C, 0xB8704D6F, | ||
823 | 0xB85B7843, 0xB846A5DB, 0xB831D637, 0xB81D0957, 0xB8083F3D, 0xB7F377E9, | ||
824 | 0xB7DEB35D, 0xB7C9F202, 0xB7B53306, 0xB7A076D3, 0xB78BBD6B, 0xB77706CD, | ||
825 | 0xB76252FC, 0xB74DA1F7, 0xB738F3C0, 0xB7244857, 0xB70F9FBE, 0xB6FAF9F4, | ||
826 | 0xB6E656FB, 0xB6D1B6D3, 0xB6BD197D, 0xB6A87EFB, 0xB693E74C, 0xB67F5273, | ||
827 | 0xB66AC06E, 0xB6563140, 0xB641A4E9, 0xB62D1B69, 0xB61894C3, 0xB60410F5, | ||
828 | 0xB5EF9002, 0xB5DB11EA, 0xB5C696AE, 0xB5B21E4E, 0xB59DA934, 0xB589368F, | ||
829 | 0xB574C6CA, 0xB56059E4, 0xB54BEFDF, 0xB53788BB, 0xB5232479, 0xB50EC31A, | ||
830 | 0xB4FA649F, 0xB4E60908, 0xB4D1B057, 0xB4BD5A8B, 0xB4A907A6, 0xB494B7A9, | ||
831 | 0xB4806A94, 0xB46C2068, 0xB457D927, 0xB44394D0, 0xB42F5364, 0xB41B14E5, | ||
832 | 0xB406D952, 0xB3F2A0AE, 0xB3DE6AF8, 0xB3CA3832, 0xB3B6085B, 0xB3A1DB76, | ||
833 | 0xB38DB182, 0xB3798A81, 0xB36566DA, 0xB35145C0, 0xB33D279B, 0xB3290C6C, | ||
834 | 0xB314F433, 0xB300DEF1, 0xB2ECCCA7, 0xB2D8BD56, 0xB2C4B0FE, 0xB2B0A7A0, | ||
835 | 0xB29CA13E, 0xB2889DD7, 0xB2749D6D, 0xB260A000, 0xB24CA592, 0xB238AE22, | ||
836 | 0xB224B9B2, 0xB210C842, 0xB1FCD9D3, 0xB1E8EE67, 0xB1D505FD, 0xB1C12097, | ||
837 | 0xB1AD3E35, 0xB1995ED7, 0xB1858280, 0xB171A92F, 0xB15DD2E6, 0xB14A000A, | ||
838 | 0xB1362FD1, 0xB12262A2, 0xB10E987D, 0xB0FAD164, 0xB0E70D57, 0xB0D34C56, | ||
839 | 0xB0BF8E62, 0xB0ABD37D, 0xB0981BA7, 0xB08466E0, 0xB070B52A, 0xB05D0685, | ||
840 | 0xB0495AF2, 0xB035B272, 0xB0220D05, 0xB00E6AAD, 0xAFFACB6A, 0xAFE72F3C, | ||
841 | 0xAFD39625, 0xAFC00025, 0xAFAC6D3E, 0xAF98DD6F, 0xAF8550B9, 0xAF71C71E, | ||
842 | 0xAF5E409E, 0xAF4ABD3A, 0xAF373CF2, 0xAF23C02B, 0xAF10461F, 0xAEFCCF31, | ||
843 | 0xAEE95B63, 0xAED5EAB5, 0xAEC27D29, 0xAEAF12BE, 0xAE9BAB76, 0xAE884751, | ||
844 | 0xAE74E650, 0xAE618874, 0xAE4E2DBE, 0xAE3AD62D, 0xAE2781C4, 0xAE143083, | ||
845 | 0xAE00E26A, 0xADED977A, 0xADDA4FB5, 0xADC70B1A, 0xADB3C9AB, 0xADA08B68, | ||
846 | 0xAD8D5052, 0xAD7A186A, 0xAD66E3B0, 0xAD53B225, 0xAD4083CB, 0xAD2D58A1, | ||
847 | 0xAD1A310A, 0xAD070C43, 0xACF3EAB0, 0xACE0CC50, 0xACCDB124, 0xACBA992E, | ||
848 | 0xACA7846E, 0xAC9472E4, 0xAC816491, 0xAC6E5977, 0xAC5B5195, 0xAC484CED, | ||
849 | 0xAC354B7F, 0xAC224D4C, 0xAC0F5255, 0xABFC5A9A, 0xABE9661D, 0xABD674DD, | ||
850 | 0xABC386DC, 0xABB09C1A, 0xAB9DB499, 0xAB8AD058, 0xAB77EF59, 0xAB65119D, | ||
851 | 0xAB523723, 0xAB3F5FED, 0xAB2C8BFB, 0xAB19BBAF, 0xAB06EE48, 0xAAF42429, | ||
852 | 0xAAE15D50, 0xAACE99C0, 0xAABBD979, 0xAAA91C7B, 0xAA9662C7, 0xAA83AC5E, | ||
853 | 0xAA70F941, 0xAA5E4971, 0xAA4B9CEE, 0xAA38F3B8, 0xAA264DD1, 0xAA13AB3A, | ||
854 | 0xAA010BF2, 0xA9EE6FFB, 0xA9DBD756, 0xA9C94203, 0xA9B6B003, 0xA9A42156, | ||
855 | 0xA99195FE, 0xA97F0DFB, 0xA96C894D, 0xA95A07F6, 0xA94789F6, 0xA9350F4E, | ||
856 | 0xA92297FF, 0xA9102467, 0xA8FDB3CB, 0xA8EB468A, 0xA8D8DCA4, 0xA8C6761A, | ||
857 | 0xA8B412EE, 0xA8A1B31F, 0xA88F56AE, 0xA87CFD9C, 0xA86AA7EA, 0xA8585598, | ||
858 | 0xA84606A8, 0xA833BB19, 0xA82172ED, 0xA80F2E24, 0xA7FCECBF, 0xA7EAAEBE, | ||
859 | 0xA7D87423, 0xA7C63CEE, 0xA7B40920, 0xA7A1D8B9, 0xA78FABBB, 0xA77D8225, | ||
860 | 0xA76B5BF9, 0xA7593937, 0xA74719E0, 0xA734FDF4, 0xA722E5D2, 0xA710D0C0, | ||
861 | 0xA6FEBF1B, 0xA6ECB0E6, 0xA6DAA61F, 0xA6C89EC8, 0xA6B69AE2, 0xA6A49A6D, | ||
862 | 0xA6929D6A, 0xA680A3D9, 0xA66EADBC, 0xA65CBB13, 0xA64ACBDF, 0xA638E020, | ||
863 | 0xA626F7D7, 0xA6151304, 0xA60331AA, 0xA5F153C7, 0xA5DF795D, 0xA5CDA26D, | ||
864 | 0xA5BBCEF7, 0xA5A9FEFC, 0xA598327C, 0xA5866979, 0xA574A3F2, 0xA562E1EA, | ||
865 | 0xA551235F, 0xA53F6854, 0xA52DB122, 0xA51BFD17, 0xA50A4C8D, 0xA4F89F84, | ||
866 | 0xA4E6F5FE, 0xA4D54FFB, 0xA4C3AD7C, 0xA4B20E81, 0xA4A0730B, 0xA48EDB1B, | ||
867 | 0xA47D46B2, 0xA46BB5D0, 0xA45A2876, 0xA4489EA4, 0xA437185B, 0xA425959D, | ||
868 | 0xA4141669, 0xA4029AC0, 0xA3F122A3, 0xA3DFAE12, 0xA3CE3D0F, 0xA3BCCF9A, | ||
869 | 0xA3AB65B3, 0xA399FF5C, 0xA3889C95, 0xA3773D5E, 0xA365E1B8, 0xA35489FD, | ||
870 | 0xA343357C, 0xA331E48F, 0xA3209735, 0xA30F4D70, 0xA2FE0740, 0xA2ECC4A6, | ||
871 | 0xA2DB85A3, 0xA2CA4A37, 0xA2B91263, 0xA2A7DE27, 0xA296AD85, 0xA285807D, | ||
872 | 0xA274570F, 0xA263313D, 0xA2520F06, 0xA240F06D, 0xA22FD570, 0xA21EBE11, | ||
873 | 0xA20DAA51, 0xA1FC9A30, 0xA1EB8DAF, 0xA1DA84CF, 0xA1C97F90, 0xA1B87DF2, | ||
874 | 0xA1A77FF7, 0xA196859F, 0xA1858F42, 0xA1749C32, 0xA163ACC8, 0xA152C103, | ||
875 | 0xA141D8E5, 0xA130F46E, 0xA120139E, 0xA10F3677, 0xA0FE5CF9, 0xA0ED8725, | ||
876 | 0xA0DCB4FB, 0xA0CBE67C, 0xA0BB1BA8, 0xA0AA5481, 0xA0999107, 0xA088D13A, | ||
877 | 0xA078151C, 0xA0675CAC, 0xA056A7EC, 0xA045F6DC, 0xA035497D, 0xA0249FD0, | ||
878 | 0xA013F9D4, 0xA003578B, 0x9FF2B8F5, 0x9FE21E14, 0x9FD186E7, 0x9FC0F36F, | ||
879 | 0x9FB06402, 0x9F9FD7F7, 0x9F8F4FA3, 0x9F7ECB06, 0x9F6E4A23, 0x9F5DCCF8, | ||
880 | 0x9F4D5387, 0x9F3CDDD1, 0x9F2C6BD5, 0x9F1BFD95, 0x9F0B9312, 0x9EFB2C4B, | ||
881 | 0x9EEAC942, 0x9EDA69F7, 0x9ECA0E6B, 0x9EB9B69E, 0x9EA96291, 0x9E991245, | ||
882 | 0x9E88C5BB, 0x9E787CF2, 0x9E6837EC, 0x9E57F6A9, 0x9E47B92A, 0x9E377F70, | ||
883 | 0x9E27497A, 0x9E17174A, 0x9E06E8E1, 0x9DF6BE91, 0x9DE697B6, 0x9DD674A3, | ||
884 | 0x9DC65559, 0x9DB639D8, 0x9DA62222, 0x9D960E36, 0x9D85FE16, 0x9D75F1C1, | ||
885 | 0x9D65E939, 0x9D55E47F, 0x9D45E392, 0x9D35E673, 0x9D25ED23, 0x9D15F7A4, | ||
886 | 0x9D0605F4, 0x9CF61815, 0x9CE62E08, 0x9CD647CC, 0x9CC66564, 0x9CB686CF, | ||
887 | 0x9CA6AC0D, 0x9C96D521, 0x9C870209, 0x9C7732C7, 0x9C67675C, 0x9C579FC7, | ||
888 | 0x9C47DC0A, 0x9C381C76, 0x9C28606A, 0x9C18A837, 0x9C08F3DF, 0x9BF94361, | ||
889 | 0x9BE996BE, 0x9BD9EDF7, 0x9BCA490D, 0x9BBAA7FF, 0x9BAB0ACF, 0x9B9B717E, | ||
890 | 0x9B8BDC0B, 0x9B7C4A78, 0x9B6CBCC5, 0x9B5D32F2, 0x9B4DAD01, 0x9B3E2AF1, | ||
891 | 0x9B2EACC4, 0x9B1F327A, 0x9B0FBC14, 0x9B004992, 0x9AF0DAF4, 0x9AE1703C, | ||
892 | 0x9AD2096B, 0x9AC2A67F, 0x9AB3477B, 0x9AA3EC5F, 0x9A949579, 0x9A85422E, | ||
893 | 0x9A75F2CD, 0x9A66A755, 0x9A575FC9, 0x9A481C28, 0x9A38DC72, 0x9A29A0AA, | ||
894 | 0x9A1A68CE, 0x9A0B34E0, 0x99FC04E0, 0x99ECD8D0, 0x99DDB0AE, 0x99CE8C7D, | ||
895 | 0x99BF6C3C, 0x99B04FED, 0x99A1378F, 0x99922323, 0x998312AB, 0x99740626, | ||
896 | 0x9964FD95, 0x9955F8F9, 0x9946F852, 0x9937FBA1, 0x992902E6, 0x991A0E23, | ||
897 | 0x990B1D57, 0x98FC30CF, 0x98ED47F3, 0x98DE6311, 0x98CF8229, 0x98C0A53B, | ||
898 | 0x98B1CC49, 0x98A2F752, 0x98942657, 0x98855959, 0x98769058, 0x9867CB55, | ||
899 | 0x98590A50, 0x984A4D4B, 0x983B9445, 0x982CDF3F, 0x981E2E3A, 0x980F8136, | ||
900 | 0x9800D834, 0x97F23334, 0x97E39238, 0x97D4F53F, 0x97C65C4A, 0x97B7C759, | ||
901 | 0x97A9366E, 0x979AA989, 0x978C20AA, 0x977D9BD2, 0x976F1B02, 0x97609E83, | ||
902 | 0x975225C3, 0x9743B10C, 0x9735405F, 0x9726D3BC, 0x97186B24, 0x970A0697, | ||
903 | 0x96FBA617, 0x96ED49A2, 0x96DEF13B, 0x96D09CE1, 0x96C24C96, 0x96B40059, | ||
904 | 0x96A5B82B, 0x9697740E, 0x96893400, 0x967AF804, 0x966CC019, 0x965E8C40, | ||
905 | 0x96505C79, 0x964230C5, 0x96340926, 0x9625E59A, 0x9617C623, 0x9609AAC1, | ||
906 | 0x95FB9375, 0x95ED8040, 0x95DF7169, 0x95D16662, 0x95C35F72, 0x95B55C9C, | ||
907 | 0x95A75DDE, 0x9599633A, 0x958B6CB0, 0x957D7A41, 0x956F8BEC, 0x9561A1B4, | ||
908 | 0x9553BB98, 0x9545D999, 0x9537FBB7, 0x952A21F3, 0x951C4C4E, 0x950E7AC7, | ||
909 | 0x9500AD60, 0x94F2E419, 0x94E51EF3, 0x94D75DED, 0x94C9A10A, 0x94BBE848, | ||
910 | 0x94AE33A9, 0x94A0832D, 0x9492D6D5, 0x94852EA2, 0x94778A93, 0x9469EAA9, | ||
911 | 0x945C4F2B, 0x944EB78D, 0x94412416, 0x943394C7, 0x942609A0, 0x941882A1, | ||
912 | 0x940AFFCB, 0x93FD811F, 0x93F0069D, 0x93E29045, 0x93D51E18, 0x93C7B017, | ||
913 | 0x93BA4642, 0x93ACE09A, 0x939F7F1E, 0x939221D1, 0x9384C8B1, 0x937773C0, | ||
914 | 0x936A22FF, 0x935CD66D, 0x934F8E0B, 0x934249DA, 0x933509DA, 0x9327CE0C, | ||
915 | 0x931A9671, 0x930D6308, 0x930033D2, 0x92F308D0, 0x92E5E202, 0x92D8BF69, | ||
916 | 0x92CBA106, 0x92BE86D8, 0x92B170E1, 0x92A45F20, 0x92975197, 0x928A4846, | ||
917 | 0x927D432D, 0x9270424C, 0x926345A5, 0x92564D38, 0x92495906, 0x923C6991, | ||
918 | 0x922F7DD5, 0x92229654, 0x9215B30F, 0x9208D407, 0x91FBF93D, 0x91EF22B0, | ||
919 | 0x91E25062, 0x91D58252, 0x91C8B882, 0x91BBF2F2, 0x91AF31A2, 0x91A27492, | ||
920 | 0x9195BBC4, 0x91890738, 0x917C56EE, 0x916FAAE7, 0x91630323, 0x91565FA2, | ||
921 | 0x9149C066, 0x913D256E, 0x91308EBC, 0x9123FC50, 0x91176E29, 0x910AE449, | ||
922 | 0x90FE5EB0, 0x90F1DD5F, 0x90E56056, 0x90D8E796, 0x90CC731E, 0x90C002F0, | ||
923 | 0x90B3970C, 0x90A72F73, 0x909ACC24, 0x908E6D21, 0x9082126A, 0x9075BBFF, | ||
924 | 0x906969E1, 0x905D1C10, 0x9050D28E, 0x90448D59, 0x90384C73, 0x902C0FDD, | ||
925 | 0x901FD796, 0x9013A39F, 0x900773F9, 0x8FFB48A4, 0x8FEF21A1, 0x8FE2FEF0, | ||
926 | 0x8FD6E091, 0x8FCAC685, 0x8FBEB0CD, 0x8FB29F69, 0x8FA69259, 0x8F9A899E, | ||
927 | 0x8F8E85B2, 0x8F8285A2, 0x8F7689E8, 0x8F6A9285, 0x8F5E9F78, 0x8F52B0C4, | ||
928 | 0x8F46C668, 0x8F3AE064, 0x8F2EFEB9, 0x8F232167, 0x8F174870, 0x8F0B73D3, | ||
929 | 0x8EFFA391, 0x8EF3D7AA, 0x8EE8101E, 0x8EDC4CEF, 0x8ED08E1D, 0x8EC4D3A8, | ||
930 | 0x8EB91D90, 0x8EAD6BD6, 0x8EA1BE7B, 0x8E96157E, 0x8E8A70E1, 0x8E7ED0A4, | ||
931 | 0x8E7334C7, 0x8E679D4B, 0x8E5C0A30, 0x8E507B76, 0x8E44F11F, 0x8E396B2A, | ||
932 | 0x8E2DE997, 0x8E226C69, 0x8E16F39E, 0x8E0B7F37, 0x8E000F35, 0x8DF4A398, | ||
933 | 0x8DE93C61, 0x8DDDD990, 0x8DD27B25, 0x8DC72121, 0x8DBBCB85, 0x8DB07A50, | ||
934 | 0x8DA52D83, 0x8D99E520, 0x8D8EA125, 0x8D836193, 0x8D78266C, 0x8D6CEFAF, | ||
935 | 0x8D61BD5D, 0x8D568F76, 0x8D4B65FB, 0x8D4040EB, 0x8D352049, 0x8D2A0413, | ||
936 | 0x8D1EECBC, 0x8D13D961, 0x8D08CA75, 0x8CFDBFF7, 0x8CF2B9E8, 0x8CE7B849, | ||
937 | 0x8CDCBB1A, 0x8CD1C25B, 0x8CC6CE0D, 0x8CBBDE31, 0x8CB0F2C6, 0x8CA60BCC, | ||
938 | 0x8C9B2946, 0x8C904B32, 0x8C857192, 0x8C7A9C65, 0x8C6FCBAD, 0x8C64FF69, | ||
939 | 0x8C5A379A, 0x8C4F7440, 0x8C44B55D, 0x8C39FAEF, 0x8C2F44F8, 0x8C249378, | ||
940 | 0x8C19E670, 0x8C0F3DE0, 0x8C0499C8, 0x8BF9FA28, 0x8BEF5F02, 0x8BE4C855, | ||
941 | 0x8BDA3622, 0x8BCFA86A, 0x8BC51F2C, 0x8BBA9A69, 0x8BB01A22, 0x8BA59E57, | ||
942 | 0x8B9B2708, 0x8B90B436, 0x8B8645E2, 0x8B7BDC0A, 0x8B7176B1, 0x8B6715D6, | ||
943 | 0x8B5CB97A, 0x8B52619D, 0x8B480E40, 0x8B3DBF62, 0x8B337505, 0x8B292F29, | ||
944 | 0x8B1EEDCE, 0x8B14B0F4, 0x8B0A789D, 0x8B0044C8, 0x8AF61575, 0x8AEBEAA6, | ||
945 | 0x8AE1C45A, 0x8AD7A2F9, 0x8ACD85B5, 0x8AC36CF6, 0x8AB958BC, 0x8AAF4908, | ||
946 | 0x8AA53DD9, 0x8A9B3731, 0x8A91350F, 0x8A873774, 0x8A7D3E61, 0x8A7349D5, | ||
947 | 0x8A6959D2, 0x8A5F6E57, 0x8A558765, 0x8A4BA4FC, 0x8A41C71E, 0x8A37EDC9, | ||
948 | 0x8A2E18FE, 0x8A2448BF, 0x8A1A7D0B, 0x8A10B5E2, 0x8A06F345, 0x89FD3535, | ||
949 | 0x89F37BB1, 0x89E9C6BB, 0x89E01652, 0x89D66A77, 0x89CCC32A, 0x89C3206B, | ||
950 | 0x89B9823C, 0x89AFE89C, 0x89A6538C, 0x899CC30B, 0x8993371B, 0x8989AFBC, | ||
951 | 0x89802CEF, 0x8976AEB2, 0x896D3508, 0x8963BFF0, 0x895A4F6A, 0x8950E378, | ||
952 | 0x89477C19, 0x893E194E, 0x8934BB16, 0x892B6174, 0x89220C66, 0x8918BBED, | ||
953 | 0x890F700A, 0x890628BC, 0x88FCE605, 0x88F3A7E5, 0x88EA6E5B, 0x88E13969, | ||
954 | 0x88D8090E, 0x88CEDD4C, 0x88C5B67F, 0x88BC93ED, 0x88B375F5, 0x88AA5C96, | ||
955 | 0x88A147D1, 0x889837A5, 0x888F2C15, 0x8886251F, 0x887D22C5, 0x88742505, | ||
956 | 0x886B2BE2, 0x8862375B, 0x88594771, 0x88505C24, 0x88477573, 0x883E9361, | ||
957 | 0x8835B5EC, 0x882CDD16, 0x882408DE, 0x881B3945, 0x88126E4C, 0x8809A7F2, | ||
958 | 0x8800E638, 0x87F8291F, 0x87EF70A6, 0x87E6BCCE, 0x87DE0D98, 0x87D56303, | ||
959 | 0x87CCBD10, 0x87C41BC0, 0x87BB7F12, 0x87B2E707, 0x87AA539F, 0x87A1C4DC, | ||
960 | 0x87993ABC, 0x8790B540, 0x87883469, 0x877FB837, 0x877740AB, 0x876ECDC4, | ||
961 | 0x87665F83, 0x875DF5E8, 0x875590F4, 0x874D30A7, 0x8744D501, 0x873C7E03, | ||
962 | 0x87342BAC, 0x872BDDFE, 0x872394F8, 0x871B509C, 0x871310E8, 0x870AD5DE, | ||
963 | 0x87029F7D, 0x86FA6DC7, 0x86F240BB, 0x86EA18AD, 0x86E1F4F7, 0x86D9D5EC, | ||
964 | 0x86D1BB8D, 0x86C9A5DA, 0x86C194D4, 0x86B9887A, 0x86B180CC, 0x86A97DCD, | ||
965 | 0x86A17F7A, 0x869985D6, 0x869190E0, 0x8689A098, 0x8681B4FF, 0x8679CE15, | ||
966 | 0x8671EBDB, 0x866A0E50, 0x86623575, 0x865A614B, 0x865291D1, 0x864AC708, | ||
967 | 0x864300F0, 0x863B3F8A, 0x863382D5, 0x862BCAD3, 0x86241783, 0x861C68E6, | ||
968 | 0x8614BEFC, 0x860D19C5, 0x86057942, 0x85FDDD73, 0x85F64657, 0x85EEB3F1, | ||
969 | 0x85E7263F, 0x85DF9D42, 0x85D818FA, 0x85D09968, 0x85C91E8C, 0x85C1A867, | ||
970 | 0x85BA36F7, 0x85B2CA3F, 0x85AB623E, 0x85A3FEF4, 0x859CA061, 0x85954687, | ||
971 | 0x858DF164, 0x8586A0FB, 0x857F554A, 0x85780E52, 0x8570CC13, 0x85698E8E, | ||
972 | 0x856255C3, 0x855B21B2, 0x8553F25C, 0x854CC7C0, 0x8545A228, 0x853E8103, | ||
973 | 0x85376499, 0x85304CEA, 0x852939F8, 0x85222BC3, 0x851B224A, 0x85141D8D, | ||
974 | 0x850D1D8E, 0x8506224D, 0x84FF2BC9, 0x84F83A03, 0x84F14CFC, 0x84EA64B3, | ||
975 | 0x84E38129, 0x84DCA25E, 0x84D5C852, 0x84CEF306, 0x84C8227A, 0x84C156AD, | ||
976 | 0x84BA8FA2, 0x84B3CD57, 0x84AD0FCC, 0x84A65703, 0x849FA2FC, 0x8498F3B6, | ||
977 | 0x84924932, 0x848BA370, 0x84850270, 0x847E6634, 0x8477CEBA, 0x84713C04, | ||
978 | 0x846AAE11, 0x846424E1, 0x845DA076, 0x845720CF, 0x8450A5EC, 0x844A2FCE, | ||
979 | 0x8443BE75, 0x843D51E2, 0x8436EA14, 0x8430870B, 0x842A28C9, 0x8423CF4C, | ||
980 | 0x841D7A97, 0x84172AA7, 0x8410DF7F, 0x840A991E, 0x84045785, 0x83FE1AB3, | ||
981 | 0x83F7E2A9, 0x83F1AF67, 0x83EB80ED, 0x83E5573D, 0x83DF3293, 0x83D91274, | ||
982 | 0x83D2F71E, 0x83CCE092, 0x83C6CED0, 0x83C0C1D8, 0x83BAB9AA, 0x83B4B646, | ||
983 | 0x83AEB7AD, 0x83A8BDE0, 0x83A2C8DD, 0x839CD8A6, 0x8396ED3A, 0x8391069B, | ||
984 | 0x838B24C7, 0x838547C0, 0x837F6F86, 0x83799C18, 0x8373CD77, 0x836E03A4, | ||
985 | 0x83683E9D, 0x83627E65, 0x835CC2FB, 0x83570C5E, 0x83515A90, 0x834BAD91, | ||
986 | 0x83460560, 0x834061FF, 0x833AC36C, 0x833529A9, 0x832F94B6, 0x832A0493, | ||
987 | 0x8324793F, 0x831EF2BC, 0x8319710A, 0x8313F428, 0x830E7C17, 0x830908D8, | ||
988 | 0x83039A69, 0x82FE30CD, 0x82F8CC02, 0x82F36C09, 0x82EE10E2, 0x82E8BA8D, | ||
989 | 0x82E3690C, 0x82DE1C5D, 0x82D8D481, 0x82D39178, 0x82CE5343, 0x82C919E1, | ||
990 | 0x82C3E553, 0x82BEB599, 0x82B98AB3, 0x82B464A2, 0x82AF4366, 0x82AA2732, | ||
991 | 0x82A50F9F, 0x829FFCE1, 0x829AEEF9, 0x8295E5E6, 0x8290E1A9, 0x828BE242, | ||
992 | 0x8286E7B1, 0x8281F1F7, 0x827D0113, 0x82781506, 0x82732DD0, 0x826E4B71, | ||
993 | 0x82696DEA, 0x82649539, 0x825FC161, 0x825AF260, 0x82562838, 0x825162E8, | ||
994 | 0x824CA270, 0x8247E6D1, 0x8243300A, 0x823E7E1D, 0x8239D109, 0x823528CE, | ||
995 | 0x8230856D, 0x822BE6E5, 0x82274D37, 0x8222B864, 0x821E286A, 0x82199D4B, | ||
996 | 0x82151707, 0x8210959D, 0x820C190F, 0x8207A15B, 0x82032E83, 0x81FEC086, | ||
997 | 0x81FA5764, 0x81F5F31F, 0x81F193B6, 0x81ED3928, 0x81E8E377, 0x81E492A3, | ||
998 | 0x81E046AB, 0x81DBFF8F, 0x81D7BD51, 0x81D37FF0, 0x81CF476C, 0x81CB13C6, | ||
999 | 0x81C6E4FD, 0x81C2BB13, 0x81BE9606, 0x81BA75D7, 0x81B65A86, 0x81B24414, | ||
1000 | 0x81AE32AA, 0x81AA25F5, 0x81A61E1E, 0x81A21B27, 0x819E1D0F, 0x819A23D7, | ||
1001 | 0x81962F7D, 0x81924004, 0x818E556A, 0x818A6FB1, 0x81868ED7, 0x8182B2DE, | ||
1002 | 0x817EDBC5, 0x817B098D, 0x81773C35, 0x817373BE, 0x816FB028, 0x816BF174, | ||
1003 | 0x816837A0, 0x816482AE, 0x8160D29E, 0x815D276F, 0x81598123, 0x8155DFB8, | ||
1004 | 0x8152432F, 0x814EAB89, 0x814B18C5, 0x81478AE3, 0x814401E5, 0x81407DC9, | ||
1005 | 0x813CFE90, 0x8139843A, 0x81360EC7, 0x81329E38, 0x812F328C, 0x812BCBC4, | ||
1006 | 0x812869E0, 0x81250CDF, 0x8121B4C3, 0x811E618A, 0x811B1336, 0x8117C9C7, | ||
1007 | 0x8114853B, 0x81114595, 0x810E0AD3, 0x810AD4F6, 0x8107A3FF, 0x810477EC, | ||
1008 | 0x810150BF, 0x80FE2E77, 0x80FB1114, 0x80F7F898, 0x80F4E501, 0x80F1D650, | ||
1009 | 0x80EECC84, 0x80EBC7BE, 0x80E8C7BF, 0x80E5CCA6, 0x80E2D674, 0x80DFE528, | ||
1010 | 0x80DCF8C3, 0x80DA1145, 0x80D72EAE, 0x80D450FE, 0x80D17835, 0x80CEA453, | ||
1011 | 0x80CBD558, 0x80C90B45, 0x80C6461A, 0x80C385D6, 0x80C0CA7A, 0x80BE1406, | ||
1012 | 0x80BB627A, 0x80B8B5D6, 0x80B60E1A, 0x80B36B46, 0x80B0CD5B, 0x80AE3458, | ||
1013 | 0x80ABA03E, 0x80A9110D, 0x80A686C4, 0x80A40165, 0x80A180EE, 0x809F0560, | ||
1014 | 0x809C8EBC, 0x809A1D01, 0x8097B02F, 0x80954847, 0x8092E548, 0x80908733, | ||
1015 | 0x808E2E08, 0x808BD9C6, 0x80898A6F, 0x80874001, 0x8084FA7D, 0x8082B9E4, | ||
1016 | 0x80807E35, 0x807E4771, 0x807C1596, 0x8079E8A7, 0x8077C0A2, 0x80759D87, | ||
1017 | 0x80737F58, 0x80716613, 0x806F51B9, 0x806D424B, 0x806B37C7, 0x8069322F, | ||
1018 | 0x80673182, 0x806535C0, 0x80633EFD, 0x80614D12, 0x805F6013, 0x805D77FF, | ||
1019 | 0x805B94D6, 0x8059B69A, 0x8057DD49, 0x805608E5, 0x8054396C, 0x80526EE0, | ||
1020 | 0x8050A93F, 0x804EE88B, 0x804D2CC3, 0x804B75E7, 0x8049C3F8, 0x804816F6, | ||
1021 | 0x80466EDF, 0x8044CBB6, 0x80432D79, 0x80419429, 0x803FFFC5, 0x803E704F, | ||
1022 | 0x803CE5C5, 0x803B6028, 0x8039DF79, 0x803863B6, 0x8036ECE1, 0x80357AF8, | ||
1023 | 0x80340DFE, 0x8032A5F0, 0x803142D0, 0x802FE49D, 0x802E8B57, 0x802D36FF, | ||
1024 | 0x802BE795, 0x802A9D18, 0x80295789, 0x802816E8, 0x8026DB35, 0x8025A46F, | ||
1025 | 0x80247297, 0x802345AD, 0x80221DB1, 0x8020FAA3, 0x801FDC83, 0x801EC351, | ||
1026 | 0x801DAF0E, 0x801C9FB8, 0x801B9551, 0x801A8FD8, 0x80198F4D, 0x801893B1, | ||
1027 | 0x80179D02, 0x8016AB43, 0x8015BE7B, 0x8014D698, 0x8013F3A4, 0x8013159E, | ||
1028 | 0x80123C86, 0x8011685E, 0x80109924, 0x800FCED8, 0x800F097C, 0x800E490E, | ||
1029 | 0x800D8D8E, 0x800CD6FE, 0x800C255D, 0x800B78AA, 0x800AD0E6, 0x800A2E11, | ||
1030 | 0x8009902B, 0x8008F734, 0x8008632C, 0x8007D413, 0x800749E9, 0x8006C4AE, | ||
1031 | 0x80064462, 0x8005C905, 0x80055297, 0x8004E118, 0x80047489, 0x80040CE8, | ||
1032 | 0x8003AA37, 0x80034C75, 0x8002F3A2, 0x80029FBE, 0x800250CA, 0x800206C5, | ||
1033 | 0x8001C1AF, 0x80018188, 0x80014650, 0x80011008, 0x8000DEAF, 0x8000B246, | ||
1034 | 0x80008ACB, 0x80006840, 0x80004AA4, 0x800031F8, 0x80001E3B, 0x80000F6D, | ||
1035 | 0x8000058E, 0x8000009F | ||
1036 | }; | ||
1037 | |||
1038 | const int32_t sine_1024[] = { | ||
1039 | 0xFFE6DE06, 0xFFB49A13, 0xFF82562D, 0xFF501259, 0xFF1DCEA1, 0xFEEB8B0C, | ||
1040 | 0xFEB947A0, 0xFE870468, 0xFE54C16A, 0xFE227EAD, 0xFDF03C3D, 0xFDBDFA1A, | ||
1041 | 0xFD8BB850, 0xFD5976EC, 0xFD2735EC, 0xFCF4F55C, 0xFCC2B548, 0xFC9075B1, | ||
1042 | 0xFC5E36A1, 0xFC2BF824, 0xFBF9BA3B, 0xFBC77CF0, 0xFB95404C, 0xFB630456, | ||
1043 | 0xFB30C91F, 0xFAFE8E9D, 0xFACC54E1, 0xFA9A1BF3, 0xFA67E3D9, 0xFA35AC9C, | ||
1044 | 0xFA03764C, 0xF9D140E1, 0xF99F0C69, 0xF96CD8ED, 0xF93AA675, 0xF9087508, | ||
1045 | 0xF8D644B6, 0xF8A41577, 0xF871E75A, 0xF83FBA68, 0xF80D8EA7, 0xF7DB6421, | ||
1046 | 0xF7A93AE4, 0xF77712E0, 0xF744EC3D, 0xF712C6F2, 0xF6E0A2F8, 0xF6AE8077, | ||
1047 | 0xF67C5F55, 0xF64A3FBA, 0xF618218F, 0xF5E604FC, 0xF5B3E9F6, 0xF581D078, | ||
1048 | 0xF54FB8A7, 0xF51DA26D, 0xF4EB8DF0, 0xF4B97B29, 0xF4876A0F, 0xF4555ACA, | ||
1049 | 0xF4234D41, 0xF3F1419D, 0xF3BF37C4, 0xF38D2FE0, 0xF35B29E6, 0xF32925D0, | ||
1050 | 0xF2F723C5, 0xF2C523AD, 0xF29325AE, 0xF26129C2, 0xF22F2FDF, 0xF1FD382E, | ||
1051 | 0xF1CB4296, 0xF1994F3F, 0xF1675E10, 0xF1356F32, 0xF103829B, 0xF0D19845, | ||
1052 | 0xF09FB055, 0xF06DCAB5, 0xF03BE78B, 0xF00A06CF, 0xEFD8287A, 0xEFA64CA3, | ||
1053 | 0xEF747371, 0xEF429CAC, 0xEF10C87C, 0xEEDEF709, 0xEEAD2819, 0xEE7B5BD6, | ||
1054 | 0xEE499247, 0xEE17CB92, 0xEDE60781, 0xEDB4463A, 0xED8287E5, 0xED50CC4B, | ||
1055 | 0xED1F1392, 0xECED5DC2, 0xECBBAB03, 0xEC89FB1D, 0xEC584E38, 0xEC26A47A, | ||
1056 | 0xEBF4FDAC, 0xEBC359F5, 0xEB91B97C, 0xEB601C0B, 0xEB2E81C8, 0xEAFCEABB, | ||
1057 | 0xEACB570B, 0xEA99C680, 0xEA683942, 0xEA36AF79, 0xEA0528EB, 0xE9D3A5C2, | ||
1058 | 0xE9A22604, 0xE970A9D8, 0xE93F3108, 0xE90DBBBA, 0xE8DC4A15, 0xE8AADBE2, | ||
1059 | 0xE8797148, 0xE8480A50, 0xE816A71F, 0xE7E5477E, 0xE7B3EB95, 0xE782938B, | ||
1060 | 0xE7513F28, 0xE71FEE94, 0xE6EEA1F4, 0xE6BD5914, 0xE68C1418, 0xE65AD30A, | ||
1061 | 0xE629960F, 0xE5F85CF0, 0xE5C727D6, 0xE595F6E6, 0xE564C9E9, 0xE533A107, | ||
1062 | 0xE5027C47, 0xE4D15BCF, 0xE4A03F6A, 0xE46F273D, 0xE43E136F, 0xE40D03CA, | ||
1063 | 0xE3DBF875, 0xE3AAF177, 0xE379EEF6, 0xE348F0BC, 0xE317F6F0, 0xE2E701B8, | ||
1064 | 0xE2B610DD, 0xE2852487, 0xE2543CDC, 0xE22359A5, 0xE1F27B09, 0xE1C1A110, | ||
1065 | 0xE190CBDF, 0xE15FFB41, 0xE12F2F5C, 0xE0FE6857, 0xE0CDA5FA, 0xE09CE86D, | ||
1066 | 0xE06C2FB8, 0xE03B7C00, 0xE00ACD0F, 0xDFDA230B, 0xDFA97DFD, 0xDF78DDEC, | ||
1067 | 0xDF48431C, 0xDF17AD1B, 0xDEE71C2C, 0xDEB69058, 0xDE8609A7, 0xDE55881E, | ||
1068 | 0xDE250BC7, 0xDDF494E6, 0xDDC42308, 0xDD93B671, 0xDD634F29, 0xDD32ED37, | ||
1069 | 0xDD0290A4, 0xDCD23975, 0xDCA1E7F1, 0xDC719BA4, 0xDC4154D2, 0xDC111384, | ||
1070 | 0xDBE0D7C0, 0xDBB0A18E, 0xDB807133, 0xDB50463C, 0xDB2020ED, 0xDAF0014D, | ||
1071 | 0xDABFE765, 0xDA8FD33B, 0xDA5FC4D8, 0xDA2FBC7F, 0xD9FFB9BD, 0xD9CFBCD8, | ||
1072 | 0xD99FC5D7, 0xD96FD4C0, 0xD93FE99C, 0xD9100472, 0xD8E02586, 0xD8B04C65, | ||
1073 | 0xD8807955, 0xD850AC5C, 0xD820E581, 0xD7F124CD, 0xD7C16A46, 0xD791B630, | ||
1074 | 0xD762081A, 0xD7326047, 0xD702BEC0, 0xD6D3238A, 0xD6A38EAE, 0xD6740033, | ||
1075 | 0xD644785D, 0xD614F6B9, 0xD5E57B8D, 0xD5B606DE, 0xD58698B6, 0xD557311A, | ||
1076 | 0xD527D012, 0xD4F875E2, 0xD4C92218, 0xD499D4F8, 0xD46A8E8A, 0xD43B4ED4, | ||
1077 | 0xD40C15DE, 0xD3DCE3B0, 0xD3ADB88C, 0xD37E9401, 0xD34F7654, 0xD3205F8B, | ||
1078 | 0xD2F14FAD, 0xD2C246C3, 0xD293450E, 0xD2644A1E, 0xD2355638, 0xD2066961, | ||
1079 | 0xD1D783A0, 0xD1A8A4FF, 0xD179CD82, 0xD14AFD6E, 0xD11C3453, 0xD0ED7272, | ||
1080 | 0xD0BEB7D4, 0xD090047F, 0xD061587C, 0xD032B3D0, 0xD00416BE, 0xCFD580D8, | ||
1081 | 0xCFA6F25F, 0xCF786B5B, 0xCF49EBD2, 0xCF1B73CD, 0xCEED0352, 0xCEBE9AA4, | ||
1082 | 0xCE903952, 0xCE61DFA1, 0xCE338D96, 0xCE05433A, 0xCDD70092, 0xCDA8C5A7, | ||
1083 | 0xCD7A92BA, 0xCD4C675C, 0xCD1E43D1, 0xCCF0281E, 0xCCC2144A, 0xCC94085E, | ||
1084 | 0xCC660460, 0xCC380891, 0xCC0A1485, 0xCBDC287B, 0xCBAE447C, 0xCB80688F, | ||
1085 | 0xCB5294BA, 0xCB24C93F, 0xCAF705B0, 0xCAC94A4F, 0xCA9B9723, 0xCA6DEC32, | ||
1086 | 0xCA404985, 0xCA12AF21, 0xC9E51D49, 0xC9B7938E, 0xC98A1233, 0xC95C993D, | ||
1087 | 0xC92F28B5, 0xC901C0A0, 0xC8D46107, 0xC8A70A2A, 0xC879BB9B, 0xC84C759D, | ||
1088 | 0xC81F3836, 0xC7F2036C, 0xC7C4D748, 0xC797B3D0, 0xC76A9944, 0xC73D8738, | ||
1089 | 0xC7107DED, 0xC6E37D6A, 0xC6B685B5, 0xC68996D6, 0xC65CB0D4, 0xC62FD3EE, | ||
1090 | 0xC602FFBA, 0xC5D63477, 0xC5A9722C, 0xC57CB8E0, 0xC550089A, 0xC5236161, | ||
1091 | 0xC4F6C374, 0xC4CA2E6A, 0xC49DA281, 0xC4711FC0, 0xC444A62F, 0xC41835D3, | ||
1092 | 0xC3EBCEB5, 0xC3BF7113, 0xC3931C83, 0xC366D145, 0xC33A8F5F, 0xC30E56D8, | ||
1093 | 0xC2E227B7, 0xC2B6023C, 0xC289E5FB, 0xC25DD335, 0xC231C9F0, 0xC205CA33, | ||
1094 | 0xC1D9D405, 0xC1ADE76D, 0xC1820471, 0xC1562B18, 0xC12A5B68, 0xC0FE956A, | ||
1095 | 0xC0D2D992, 0xC0A72709, 0xC07B7E45, 0xC04FDF4C, 0xC0244A25, 0xBFF8BED8, | ||
1096 | 0xBFCD3D6A, 0xBFA1C5E3, 0xBF765849, 0xBF4AF4A3, 0xBF1F9AF7, 0xBEF44B4D, | ||
1097 | 0xBEC905AB, 0xBE9DCA85, 0xBE729906, 0xBE4771A3, 0xBE1C5463, 0xBDF1414C, | ||
1098 | 0xBDC63865, 0xBD9B39B4, 0xBD704541, 0xBD455B11, 0xBD1A7B2C, 0xBCEFA597, | ||
1099 | 0xBCC4DA5B, 0xBC9A197C, 0xBC6F6302, 0xBC44B760, 0xBC1A15C4, 0xBBEF7EA0, | ||
1100 | 0xBBC4F1FB, 0xBB9A6FDB, 0xBB6FF848, 0xBB458B48, 0xBB1B28E1, 0xBAF0D11A, | ||
1101 | 0xBAC683F9, 0xBA9C4185, 0xBA7209C4, 0xBA47DCBE, 0xBA1DBA78, 0xB9F3A363, | ||
1102 | 0xB9C996B1, 0xB99F94D3, 0xB9759DD0, 0xB94BB1AD, 0xB921D071, 0xB8F7FA23, | ||
1103 | 0xB8CE2ECA, 0xB8A46E6B, 0xB87AB90D, 0xB8510EB7, 0xB8276F6E, 0xB7FDDB3B, | ||
1104 | 0xB7D45221, 0xB7AAD493, 0xB78161C3, 0xB757FA20, 0xB72E9DB2, 0xB7054C7F, | ||
1105 | 0xB6DC068C, 0xB6B2CBE2, 0xB6899C85, 0xB660787C, 0xB6375FCE, 0xB60E5281, | ||
1106 | 0xB5E5509B, 0xB5BC5A22, 0xB5936F86, 0xB56A8FFB, 0xB541BBF1, 0xB518F36D, | ||
1107 | 0xB4F03677, 0xB4C78514, 0xB49EDF4B, 0xB4764521, 0xB44DB69E, 0xB42533C7, | ||
1108 | 0xB3FCBCA2, 0xB3D45137, 0xB3ABF18B, 0xB3839DA3, 0xB35B55EF, 0xB33319A5, | ||
1109 | 0xB30AE933, 0xB2E2C49F, 0xB2BAABF0, 0xB2929F2B, 0xB26A9E57, 0xB242A97A, | ||
1110 | 0xB21AC09A, 0xB1F2E3BD, 0xB1CB12E9, 0xB1A34E25, 0xB17B9577, 0xB153E8E4, | ||
1111 | 0xB12C48D8, 0xB104B48F, 0xB0DD2C75, 0xB0B5B08E, 0xB08E40E1, 0xB066DD75, | ||
1112 | 0xB03F8650, 0xB0183B77, 0xAFF0FCF0, 0xAFC9CAC2, 0xAFA2A4F3, 0xAF7B8B88, | ||
1113 | 0xAF547E88, 0xAF2D7E5C, 0xAF068A44, 0xAEDFA2A8, 0xAEB8C78F, 0xAE91F8FF, | ||
1114 | 0xAE6B36FD, 0xAE448191, 0xAE1DD8BE, 0xADF73C8D, 0xADD0AD02, 0xADAA2A24, | ||
1115 | 0xAD83B3F8, 0xAD5D4A85, 0xAD36EDCF, 0xAD109E40, 0xACEA5B19, 0xACC424C3, | ||
1116 | 0xAC9DFB42, 0xAC77DE9D, 0xAC51CEDA, 0xAC2BCBFE, 0xAC05D610, 0xABDFED15, | ||
1117 | 0xABBA1113, 0xAB944211, 0xAB6E8013, 0xAB48CB1F, 0xAB23233D, 0xAAFD88D0, | ||
1118 | 0xAAD7FB1F, 0xAAB27A90, 0xAA8D0729, 0xAA67A0F0, 0xAA4247E9, 0xAA1CFC1B, | ||
1119 | 0xA9F7BD8D, 0xA9D28C42, 0xA9AD6842, 0xA9885191, 0xA9634837, 0xA93E4C37, | ||
1120 | 0xA9195DF7, 0xA8F47CBF, 0xA8CFA8F4, 0xA8AAE29A, 0xA88629B9, 0xA8617E55, | ||
1121 | 0xA83CE074, 0xA818501C, 0xA7F3CD52, 0xA7CF581C, 0xA7AAF080, 0xA7869682, | ||
1122 | 0xA7624A2A, 0xA73E0B7D, 0xA719DADB, 0xA6F5B793, 0xA6D1A206, 0xA6AD9A39, | ||
1123 | 0xA689A033, 0xA665B3F9, 0xA641D590, 0xA61E04FF, 0xA5FA4249, 0xA5D68D76, | ||
1124 | 0xA5B2E68A, 0xA58F4D8B, 0xA56BC27E, 0xA548456A, 0xA524D6AD, 0xA5017598, | ||
1125 | 0xA4DE228C, 0xA4BADD8E, 0xA497A6A3, 0xA4747DD0, 0xA451631C, 0xA42E568B, | ||
1126 | 0xA40B5823, 0xA3E867E9, 0xA3C585E3, 0xA3A2B216, 0xA37FEC87, 0xA35D353C, | ||
1127 | 0xA33A8C93, 0xA317F1E0, 0xA2F56580, 0xA2D2E77A, 0xA2B077D2, 0xA28E168E, | ||
1128 | 0xA26BC3B3, 0xA2497F46, 0xA227494D, 0xA20521CD, 0xA1E308CB, 0xA1C0FE4D, | ||
1129 | 0xA19F0257, 0xA17D1545, 0xA15B3671, 0xA1396634, 0xA117A496, 0xA0F5F19A, | ||
1130 | 0xA0D44D46, 0xA0B2B79F, 0xA09130AB, 0xA06FB86E, 0xA04E4EEE, 0xA02CF430, | ||
1131 | 0xA00BA839, 0x9FEA6B0E, 0x9FC93CB4, 0x9FA81D85, 0x9F870CDE, 0x9F660B16, | ||
1132 | 0x9F451835, 0x9F24343E, 0x9F035F37, 0x9EE29925, 0x9EC1E20C, 0x9EA139F3, | ||
1133 | 0x9E80A0DE, 0x9E6016D2, 0x9E3F9BD4, 0x9E1F2FE9, 0x9DFED317, 0x9DDE85B3, | ||
1134 | 0x9DBE471F, 0x9D9E17B3, 0x9D7DF772, 0x9D5DE662, 0x9D3DE489, 0x9D1DF1EA, | ||
1135 | 0x9CFE0E8A, 0x9CDE3A70, 0x9CBE759F, 0x9C9EC01C, 0x9C7F19ED, 0x9C5F8316, | ||
1136 | 0x9C3FFBED, 0x9C2083D5, 0x9C011B24, 0x9BE1C1DF, 0x9BC2780A, 0x9BA33DAB, | ||
1137 | 0x9B8412C6, 0x9B64F75F, 0x9B45EB7D, 0x9B26EF23, 0x9B080256, 0x9AE9251C, | ||
1138 | 0x9ACA5778, 0x9AAB9970, 0x9A8CEB57, 0x9A6E4C94, 0x9A4FBD7B, 0x9A313E10, | ||
1139 | 0x9A12CE59, 0x99F46E5A, 0x99D61E17, 0x99B7DD96, 0x9999ACDB, 0x997B8BEA, | ||
1140 | 0x995D7AC8, 0x993F797B, 0x99218806, 0x9903A66D, 0x98E5D503, 0x98C81333, | ||
1141 | 0x98AA614E, 0x988CBF58, 0x986F2D56, 0x9851AB4D, 0x98343942, 0x9816D738, | ||
1142 | 0x97F98534, 0x97DC433B, 0x97BF1151, 0x97A1EF7B, 0x9784DDBD, 0x9767DC66, | ||
1143 | 0x974AEAE6, 0x972E098C, 0x9711385C, 0x96F4775B, 0x96D7C68C, 0x96BB25F6, | ||
1144 | 0x969E959B, 0x96821580, 0x9665A5AA, 0x9649461D, 0x962CF6DD, 0x9610B7EF, | ||
1145 | 0x95F48958, 0x95D86B62, 0x95BC5D84, 0x95A06009, 0x958472F5, 0x9568964D, | ||
1146 | 0x954CCA15, 0x95310E51, 0x95156307, 0x94F9C839, 0x94DE3DEC, 0x94C2C424, | ||
1147 | 0x94A75AE7, 0x948C0237, 0x9470BA19, 0x945582D7, 0x943A5BEA, 0x941F459B, | ||
1148 | 0x94043FF0, 0x93E94AEB, 0x93CE6692, 0x93B392E8, 0x9398CFF2, 0x937E1DB3, | ||
1149 | 0x93637C30, 0x9348EB6C, 0x932E6B6D, 0x9313FC36, 0x92F99DCA, 0x92DF502F, | ||
1150 | 0x92C51368, 0x92AAE77A, 0x9290CC67, 0x9276C235, 0x925CC8E8, 0x9242E106, | ||
1151 | 0x9229098D, 0x920F4304, 0x91F58D6F, 0x91DBE8D2, 0x91C25532, 0x91A8D292, | ||
1152 | 0x918F60F6, 0x91760062, 0x915CB0DA, 0x91437262, 0x912A44FD, 0x911128B0, | ||
1153 | 0x90F81D7F, 0x90DF236D, 0x90C63A7E, 0x90AD62B6, 0x90949C19, 0x907BE6AB, | ||
1154 | 0x9063426F, 0x904AAF69, 0x90322D9E, 0x9019BD11, 0x90015DC5, 0x8FE90FBE, | ||
1155 | 0x8FD0D301, 0x8FB8A790, 0x8FA08D71, 0x8F88851F, 0x8F708DAB, 0x8F58A793, | ||
1156 | 0x8F40D2DB, 0x8F290F85, 0x8F115D96, 0x8EF9BD12, 0x8EE22DFB, 0x8ECAB057, | ||
1157 | 0x8EB34427, 0x8E9BE971, 0x8E84A037, 0x8E6D687D, 0x8E564247, 0x8E3F2D98, | ||
1158 | 0x8E282A74, 0x8E1138DE, 0x8DFA58DA, 0x8DE38A6C, 0x8DCCCD96, 0x8DB6225D, | ||
1159 | 0x8D9F88C4, 0x8D8900CF, 0x8D728A80, 0x8D5C25DC, 0x8D45D2E6, 0x8D2F91A0, | ||
1160 | 0x8D196281, 0x8D0344A8, 0x8CED388B, 0x8CD73E2D, 0x8CC15591, 0x8CAB7EBB, | ||
1161 | 0x8C95B9AE, 0x8C80066D, 0x8C6A64FC, 0x8C54D55E, 0x8C3F5797, 0x8C29EBA9, | ||
1162 | 0x8C149199, 0x8BFF4969, 0x8BEA131C, 0x8BD4EEB7, 0x8BBFDC3B, 0x8BAADBAD, | ||
1163 | 0x8B95ED10, 0x8B811066, 0x8B6C45B4, 0x8B578CFC, 0x8B42E641, 0x8B2E5187, | ||
1164 | 0x8B19CED1, 0x8B055E22, 0x8AF0FF7D, 0x8ADCB2E5, 0x8AC878C5, 0x8AB45051, | ||
1165 | 0x8AA039F4, 0x8A8C35B1, 0x8A78438A, 0x8A646383, 0x8A50959F, 0x8A3CD9E2, | ||
1166 | 0x8A29304D, 0x8A1598E5, 0x8A0213AC, 0x89EEA0A4, 0x89DB3FD2, 0x89C7F139, | ||
1167 | 0x89B4B4DA, 0x89A18AB9, 0x898E72DA, 0x897B6D3E, 0x896879EA, 0x895598DF, | ||
1168 | 0x8942CA21, 0x89300DB2, 0x891D6397, 0x890ACBD0, 0x88F84662, 0x88E5D34F, | ||
1169 | 0x88D3729A, 0x88C124A3, 0x88AEE8B2, 0x889CBF28, 0x888AA807, 0x8878A352, | ||
1170 | 0x8866B10B, 0x8854D137, 0x884303D6, 0x883148ED, 0x881FA07E, 0x880E0A8B, | ||
1171 | 0x87FC8717, 0x87EB1626, 0x87D9B7B9, 0x87C86BD3, 0x87B73278, 0x87A60BA9, | ||
1172 | 0x8794F769, 0x8783F5BC, 0x877306A3, 0x87622A21, 0x87516039, 0x8740A8ED, | ||
1173 | 0x87300440, 0x871F7235, 0x870EF2CE, 0x86FE860D, 0x86EE2C49, 0x86DDE4DC, | ||
1174 | 0x86CDB01E, 0x86BD8E11, 0x86AD7EB7, 0x869D8212, 0x868D9826, 0x867DC0F4, | ||
1175 | 0x866DFC7F, 0x865E4ACA, 0x864EABD6, 0x863F1FA7, 0x862FA63E, 0x86203F9E, | ||
1176 | 0x8610EBCA, 0x8601AAC4, 0x85F27C8E, 0x85E3612A, 0x85D4589B, 0x85C562E3, | ||
1177 | 0x85B68004, 0x85A7B002, 0x8598F2DD, 0x858A4899, 0x857BB137, 0x856D2CBA, | ||
1178 | 0x855EBB24, 0x85505C77, 0x854210FE, 0x8533D82A, 0x8525B246, 0x85179F54, | ||
1179 | 0x85099F56, 0x84FBB24F, 0x84EDD840, 0x84E0112B, 0x84D25D14, 0x84C4BBFC, | ||
1180 | 0x84B72DE4, 0x84A9B2D0, 0x849C4AC0, 0x848EF5B8, 0x8481B3BA, 0x847484C6, | ||
1181 | 0x846768E0, 0x845A600A, 0x844D6A45, 0x84408793, 0x8433B7F7, 0x8426FB72, | ||
1182 | 0x841A5206, 0x840DBBB6, 0x84013883, 0x83F4C86F, 0x83E86B7C, 0x83DC21EA, | ||
1183 | 0x83CFEB3F, 0x83C3C7BB, 0x83B7B75F, 0x83ABBA2D, 0x839FD028, 0x8393F951, | ||
1184 | 0x838835AA, 0x837C8535, 0x8370E7F4, 0x83655DE8, 0x8359E713, 0x834E8377, | ||
1185 | 0x83433316, 0x8337F5F1, 0x832CCC0A, 0x8321B564, 0x8316B1FF, 0x830BC1DD, | ||
1186 | 0x8300E501, 0x82F61B6B, 0x82EB651D, 0x82E0C21A, 0x82D63262, 0x82CBB5F7, | ||
1187 | 0x82C14CDC, 0x82B6F710, 0x82ACB497, 0x82A285A5, 0x829869D5, 0x828E615B, | ||
1188 | 0x82846C39, 0x827A8A72, 0x8270BC06, 0x826700F7, 0x825D5946, 0x8253C4F5, | ||
1189 | 0x824A4405, 0x8240D679, 0x82377C50, 0x822E358E, 0x82250232, 0x821BE240, | ||
1190 | 0x8212D5B7, 0x8209DC99, 0x8200F6E9, 0x81F824A6, 0x81EF65D3, 0x81E6BA71, | ||
1191 | 0x81DE2281, 0x81D59E05, 0x81CD2CFE, 0x81C4CF6C, 0x81BC8552, 0x81B44EB1, | ||
1192 | 0x81AC2BB3, 0x81A41C07, 0x819C1FD7, 0x81943725, 0x818C61F2, 0x8184A03E, | ||
1193 | 0x817CF20D, 0x8175575D, 0x816DD032, 0x81665C8B, 0x815EFC6A, 0x8157AFD1, | ||
1194 | 0x815076C0, 0x81495138, 0x81423F3A, 0x813B40C8, 0x813455E3, 0x812D7E8C, | ||
1195 | 0x8126BAC3, 0x81200A8A, 0x81196DE2, 0x8112E4CC, 0x810C6F48, 0x81060D59, | ||
1196 | 0x80FFBEFE, 0x80F98439, 0x80F35D0B, 0x80ED4994, 0x80E74996, 0x80E15D31, | ||
1197 | 0x80DB8468, 0x80D5BF39, 0x80D00DA7, 0x80CA6FB2, 0x80C4E55B, 0x80BF6EA3, | ||
1198 | 0x80BA0B8B, 0x80B4BC13, 0x80AF803D, 0x80AA5808, 0x80A54377, 0x80A0428A, | ||
1199 | 0x809B5541, 0x80967B9E, 0x8091B5A0, 0x808D034A, 0x8088649A, 0x8083D994, | ||
1200 | 0x807F6236, 0x807AFE81, 0x8076AE77, 0x80727218, 0x806E4965, 0x806A345E, | ||
1201 | 0x80663303, 0x8062456A, 0x805E6B6B, 0x805AA51B, 0x8056F27A, 0x80535388, | ||
1202 | 0x804FC848, 0x804C50B8, 0x8048ECD9, 0x80459CAD, 0x80426033, 0x803F376C, | ||
1203 | 0x803C2259, 0x803920FA, 0x8036334F, 0x80335959, 0x80309318, 0x802DE08E, | ||
1204 | 0x802B41B9, 0x8028B69B, 0x80263F34, 0x8023DB84, 0x80218B8C, 0x801F4F4D, | ||
1205 | 0x801D26C5, 0x801B11F7, 0x801910E1, 0x80172385, 0x801549EC, 0x80138403, | ||
1206 | 0x8011D1D4, 0x80103360, 0x800EA8A7, 0x800D31A8, 0x800BCE65, 0x800A7EDE, | ||
1207 | 0x80094312, 0x80081B02, 0x800706AD, 0x80060616, 0x8005193A, 0x8004401B, | ||
1208 | 0x80037AB8, 0x8002C912, 0x80022B29, 0x8001A0FD, 0x80012A8E, 0x8000C7DC, | ||
1209 | 0x800078E8, 0x80003DB0, 0x80001636, 0x80000279 | ||
1210 | }; | ||
1211 | |||
1212 | const int32_t sine_512[] = { | ||
1213 | 0xFFCDBC0C, 0xFF693440, 0xFF04ACD1, 0xFEA025FE, 0xFE3BA003, 0xFDD71B21, | ||
1214 | 0xFD72978F, 0xFD0E1595, 0xFCA9956C, 0xFC45174E, 0xFBE09B85, 0xFB7C223F, | ||
1215 | 0xFB17ABC2, 0xFAB33854, 0xFA4EC823, 0xF9EA5B74, 0xF985F28F, 0xF9218DA0, | ||
1216 | 0xF8BD2CEF, 0xF858D0BF, 0xF7F47940, 0xF79026B8, 0xF72BD964, 0xF6C79182, | ||
1217 | 0xF6634F60, 0xF5FF131C, 0xF59ADD04, 0xF536AD55, 0xF4D2844E, 0xF46E622B, | ||
1218 | 0xF40A473C, 0xF3A6339D, 0xF342279C, 0xF2DE2378, 0xF27A276D, 0xF21633BA, | ||
1219 | 0xF1B248AC, 0xF14E6661, 0xF0EA8D26, 0xF086BD38, 0xF022F6D7, 0xEFBF3A3E, | ||
1220 | 0xEF5B87BC, 0xEEF7DF5E, 0xEE9441A2, 0xEE30AEA4, 0xEDCD2684, 0xED69A9BC, | ||
1221 | 0xED06384C, 0xECA2D2B1, 0xEC3F78E7, 0xEBDC2B6D, 0xEB78EA5E, 0xEB15B5DA, | ||
1222 | 0xEAB28E5C, 0xEA4F73E3, 0xE9EC66EA, 0xE989678F, 0xE92675F0, 0xE8C39289, | ||
1223 | 0xE860BD57, 0xE7FDF6D8, 0xE79B3F08, 0xE7389663, 0xE6D5FD08, 0xE6737313, | ||
1224 | 0xE610F900, 0xE5AE8ECC, 0xE54C34F4, 0xE4E9EB95, 0xE487B2CC, 0xE4258B13, | ||
1225 | 0xE3C3746A, 0xE3616F4C, 0xE2FF7BB5, 0xE29D9A21, 0xE23BCAAE, 0xE1DA0D78, | ||
1226 | 0xE17862F9, 0xE116CB31, 0xE0B54699, 0xE053D54F, 0xDFF2776F, 0xDF912D55, | ||
1227 | 0xDF2FF77A, 0xDECED59F, 0xDE6DC83D, 0xDE0CCFCE, 0xDDABEC13, 0xDD4B1D85, | ||
1228 | 0xDCEA645F, 0xDC89C11C, 0xDC29337A, 0xDBC8BBF4, 0xDB685B03, 0xDB081067, | ||
1229 | 0xDAA7DC98, 0xDA47BFD3, 0xD9E7BA8F, 0xD987CC8E, 0xD927F647, 0xD8C83834, | ||
1230 | 0xD8689215, 0xD8090462, 0xD7A98F92, 0xD74A3368, 0xD6EAF05A, 0xD68BC6A4, | ||
1231 | 0xD62CB6BD, 0xD5CDC065, 0xD56EE416, 0xD5102244, 0xD4B17AB2, 0xD452EDD8, | ||
1232 | 0xD3F47BEE, 0xD396256B, 0xD337EA13, 0xD2D9CA59, 0xD27BC6B6, 0xD21DDEEA, | ||
1233 | 0xD1C0136B, 0xD1626475, 0xD104D27B, 0xD0A75D40, 0xD04A053A, 0xCFECCADE, | ||
1234 | 0xCF8FADEE, 0xCF32AEDF, 0xCED5CE26, 0xCE790B85, 0xCE1C6772, 0xCDBFE225, | ||
1235 | 0xCD637C11, 0xCD0734FC, 0xCCAB0D57, 0xCC4F0597, 0xCBF31D7F, 0xCB975583, | ||
1236 | 0xCB3BADDB, 0xCAE026F9, 0xCA84C0A3, 0xCA297B4A, 0xC9CE5760, 0xC97354AB, | ||
1237 | 0xC918739C, 0xC8BDB46B, 0xC863178A, 0xC8089CBD, 0xC7AE4476, 0xC7540F26, | ||
1238 | 0xC6F9FC92, 0xC6A00D2B, 0xC6464161, 0xC5EC98FA, 0xC5931465, 0xC539B3DB, | ||
1239 | 0xC4E077CB, 0xC4875FFB, 0xC42E6CDA, 0xC3D59ED7, 0xC37CF5B9, 0xC32471EF, | ||
1240 | 0xC2CC13AF, 0xC273DB68, 0xC21BC8E0, 0xC1C3DC86, 0xC16C168F, 0xC1147733, | ||
1241 | 0xC0BCFF15, 0xC065AD8E, 0xC00E8343, 0xBFB7806A, 0xBF60A537, 0xBF09F1E2, | ||
1242 | 0xBEB3669E, 0xBE5D0411, 0xBE06C992, 0xBDB0B7C6, 0xBD5ACEE0, 0xBD050F17, | ||
1243 | 0xBCAF789F, 0xBC5A0BAD, 0xBC04C8E2, 0xBBAFAF9A, 0xBB5AC075, 0xBB05FBA9, | ||
1244 | 0xBAB16169, 0xBA5CF1E9, 0xBA08ADCA, 0xB9B49467, 0xB960A662, 0xB90CE3EC, | ||
1245 | 0xB8B94D3B, 0xB865E281, 0xB812A3F2, 0xB7BF922B, 0xB76CAC8B, 0xB719F3B1, | ||
1246 | 0xB6C767CE, 0xB6750916, 0xB622D7BB, 0xB5D0D3F0, 0xB57EFE51, 0xB52D563E, | ||
1247 | 0xB4DBDC53, 0xB48A90C2, 0xB43973BC, 0xB3E88575, 0xB397C61E, 0xB347364F, | ||
1248 | 0xB2F6D56D, 0xB2A6A410, 0xB256A269, 0xB206D0AB, 0xB1B72F05, 0xB167BDAA, | ||
1249 | 0xB1187D2E, 0xB0C96CFA, 0xB07A8DA3, 0xB02BDF59, 0xAFDD624E, 0xAF8F16B1, | ||
1250 | 0xAF40FCB2, 0xAEF314E6, 0xAEA55EB6, 0xAE57DAB4, 0xAE0A8911, 0xADBD69FD, | ||
1251 | 0xAD707DA7, 0xAD23C43E, 0xACD73E54, 0xAC8AEB53, 0xAC3ECBCF, 0xABF2DFF4, | ||
1252 | 0xABA727F2, 0xAB5BA3F7, 0xAB105493, 0xAAC53933, 0xAA7A5266, 0xAA2FA05B, | ||
1253 | 0xA9E5233E, 0xA99ADB3F, 0xA950C88B, 0xA906EBAE, 0xA8BD4418, 0xA873D257, | ||
1254 | 0xA82A9696, 0xA7E19104, 0xA798C1CD, 0xA750291E, 0xA707C780, 0xA6BF9C67, | ||
1255 | 0xA677A85C, 0xA62FEB8C, 0xA5E86623, 0xA5A1184C, 0xA55A0235, 0xA5132462, | ||
1256 | 0xA4CC7E4B, 0xA4861076, 0xA43FDB0E, 0xA3F9DE40, 0xA3B41A35, 0xA36E8F19, | ||
1257 | 0xA3293D6F, 0xA2E424B1, 0xA29F4563, 0xA25A9FAE, 0xA21633BD, 0xA1D201BB, | ||
1258 | 0xA18E09D1, 0xA14A4C7F, 0xA106C943, 0xA0C3809D, 0xA08072B5, 0xA03D9FB7, | ||
1259 | 0x9FFB07CA, 0x9FB8AB6C, 0x9F768A1D, 0x9F34A45B, 0x9EF2FA4F, 0x9EB18C20, | ||
1260 | 0x9E7059F7, 0x9E2F63FC, 0x9DEEAAAA, 0x9DAE2D84, 0x9D6DED04, 0x9D2DE951, | ||
1261 | 0x9CEE2294, 0x9CAE98F3, 0x9C6F4C97, 0x9C303DF5, 0x9BF16C94, 0x9BB2D8EB, | ||
1262 | 0x9B748322, 0x9B366B5E, 0x9AF891C6, 0x9ABAF680, 0x9A7D9A00, 0x9A407BD0, | ||
1263 | 0x9A039C62, 0x99C6FBDE, 0x998A9A69, 0x994E7827, 0x9912953E, 0x98D6F21E, | ||
1264 | 0x989B8E55, 0x98606A53, 0x9825863C, 0x97EAE236, 0x97B07E63, 0x97765AE9, | ||
1265 | 0x973C7834, 0x9702D5D5, 0x96C9743A, 0x96905385, 0x965773DA, 0x961ED55C, | ||
1266 | 0x95E6782E, 0x95AE5CBA, 0x95768293, 0x953EEA24, 0x95079390, 0x94D07EF7, | ||
1267 | 0x9499AC7D, 0x94631C88, 0x942CCEAF, 0x93F6C359, 0x93C0FAA7, 0x938B74BB, | ||
1268 | 0x935631B6, 0x932131B8, 0x92EC74E3, 0x92B7FB56, 0x9283C532, 0x924FD298, | ||
1269 | 0x921C242A, 0x91E8B901, 0x91B591C2, 0x9182AE8B, 0x91500F7C, 0x911DB4B3, | ||
1270 | 0x90EB9E52, 0x90B9CC75, 0x90883F3C, 0x9056F6C5, 0x9025F32F, 0x8FF53499, | ||
1271 | 0x8FC4BB1F, 0x8F94875A, 0x8F649874, 0x8F34EF03, 0x8F058B26, 0x8ED66CFA, | ||
1272 | 0x8EA7949D, 0x8E79022A, 0x8E4AB5BE, 0x8E1CAF77, 0x8DEEEF70, 0x8DC175C6, | ||
1273 | 0x8D944295, 0x8D6755F9, 0x8D3AB00D, 0x8D0E515D, 0x8CE23924, 0x8CB667ED, | ||
1274 | 0x8C8ADDD4, 0x8C5F9AF3, 0x8C349F65, 0x8C09EB45, 0x8BDF7EAC, 0x8BB559B6, | ||
1275 | 0x8B8B7C7C, 0x8B61E718, 0x8B3899A4, 0x8B0F9438, 0x8AE6D6EF, 0x8ABE6249, | ||
1276 | 0x8A96358F, 0x8A6E5142, 0x8A46B57C, 0x8A1F6253, 0x89F857E2, 0x89D1963E, | ||
1277 | 0x89AB1D82, 0x8984EDC3, 0x895F071B, 0x8939699F, 0x89141569, 0x88EF0A8D, | ||
1278 | 0x88CA4924, 0x88A5D1A0, 0x8881A35E, 0x885DBED3, 0x883A2413, 0x8816D335, | ||
1279 | 0x87F3CC4E, 0x87D10F75, 0x87AE9CBF, 0x878C7440, 0x876A960F, 0x8749023F, | ||
1280 | 0x8727B8E6, 0x8706BA18, 0x86E6063D, 0x86C59CC1, 0x86A57E0E, 0x8685AA35, | ||
1281 | 0x8666214C, 0x8646E366, 0x8627F095, 0x860948ED, 0x85EAEC81, 0x85CCDB64, | ||
1282 | 0x85AF15A7, 0x85919B5F, 0x85746C9B, 0x85578970, 0x853AF236, 0x851EA66F, | ||
1283 | 0x8502A673, 0x84E6F256, 0x84CB8A28, 0x84B06DF9, 0x84959DDB, 0x847B19DE, | ||
1284 | 0x8460E213, 0x8446F689, 0x842D5751, 0x8414047A, 0x83FAFE15, 0x83E24430, | ||
1285 | 0x83C9D718, 0x83B1B660, 0x8399E257, 0x83825B09, 0x836B2087, 0x835432DE, | ||
1286 | 0x833D921C, 0x83273E4F, 0x83113786, 0x82FB7DCD, 0x82E61132, 0x82D0F1C3, | ||
1287 | 0x82BC1F8C, 0x82A79ACE, 0x8293632D, 0x827F78EA, 0x826BDC12, 0x82588CB1, | ||
1288 | 0x82458AD3, 0x8232D682, 0x82206FCC, 0x820E56BB, 0x81FC8B5A, 0x81EB0DB4, | ||
1289 | 0x81D9DDD5, 0x81C8FBC6, 0x81B86793, 0x81A8216E, 0x8198290E, 0x81887EA8, | ||
1290 | 0x81792245, 0x816A13EE, 0x815B53AD, 0x814CE18A, 0x813EBD90, 0x8130E7C6, | ||
1291 | 0x81236034, 0x811626E4, 0x81093BDE, 0x80FC9F29, 0x80F050CD, 0x80E450F0, | ||
1292 | 0x80D89F5D, 0x80CD3C39, 0x80C2278B, 0x80B7615B, 0x80ACE9AE, 0x80A2C08C, | ||
1293 | 0x8098E5FB, 0x808F5A00, 0x80861CA2, 0x807D2DE6, 0x80748DD2, 0x806C3C6C, | ||
1294 | 0x806439CB, 0x805C85CD, 0x8055208B, 0x804E0A09, 0x8047424D, 0x8040C959, | ||
1295 | 0x803A9F33, 0x8034C3DD, 0x802F375C, 0x8029F9B3, 0x80250AE5, 0x80206AF5, | ||
1296 | 0x801C19E7, 0x801817BC, 0x80146480, 0x80110023, 0x800DEAB0, 0x800B242A, | ||
1297 | 0x8008AC92, 0x800683EA, 0x8004AA33, 0x80031F6E, 0x8001E39C, 0x8000F6BE, | ||
1298 | 0x800058D4, 0x800009DF | ||
1299 | }; | ||
1300 | |||
1301 | const int32_t sine_256[] ICONST_ATTR_WMAPRO_WIN_VS_TMP = { | ||
1302 | 0xFF9B781E, 0xFED26950, 0xFE095D6B, 0xFD40565E, 0xFC775617, 0xFBAE5E8D, | ||
1303 | 0xFAE571A2, 0xFA1C9157, 0xF953BF94, 0xF88AFE40, 0xF7C24F61, 0xF6F9B4C9, | ||
1304 | 0xF6313075, 0xF568C463, 0xF4A07264, 0xF3D83C74, 0xF3102493, 0xF2482C8D, | ||
1305 | 0xF1805660, 0xF0B8A409, 0xEFF11756, 0xEF29B241, 0xEE6276B8, 0xED9B66A5, | ||
1306 | 0xECD48414, 0xEC0DD0B0, 0xEB474E83, 0xEA80FF77, 0xE9BAE575, 0xE8F50266, | ||
1307 | 0xE82F5851, 0xE769E8E0, 0xE6A4B619, 0xE5DFC1E2, 0xE51B0E22, 0xE4569CBE, | ||
1308 | 0xE3926FB9, 0xE2CE88BA, 0xE20AE9C3, 0xE14794B7, 0xE0848B77, 0xDFC1CFE5, | ||
1309 | 0xDEFF6401, 0xDE3D494C, 0xDD7B8223, 0xDCBA1024, 0xDBF8F4F0, 0xDB3832DF, | ||
1310 | 0xDA77CB50, 0xD9B7C09B, 0xD8F8141D, 0xD838C82A, 0xD779DE5D, 0xD6BB5850, | ||
1311 | 0xD5FD3854, 0xD53F7FC3, 0xD48230EB, 0xD3C54D62, 0xD308D6BE, 0xD24CCF4A, | ||
1312 | 0xD191385B, 0xD0D6143A, 0xD01B643D, 0xCF612AA7, 0xCEA76907, 0xCDEE20EF, | ||
1313 | 0xCD35549C, 0xCC7D0561, 0xCBC5357A, 0xCB0DE672, 0xCA5719D3, 0xC9A0D1D4, | ||
1314 | 0xC8EB0FC4, 0xC835D5D6, 0xC7812556, 0xC6CD0075, 0xC61968B6, 0xC5665F9C, | ||
1315 | 0xC4B3E751, 0xC402011C, 0xC350AF27, 0xC29FF2EC, 0xC1EFCDEA, 0xC140420A, | ||
1316 | 0xC091516E, 0xBFE2FCE5, 0xBF35468E, 0xBE883082, 0xBDDBBB92, 0xBD2FE9D5, | ||
1317 | 0xBC84BCF2, 0xBBDA36FD, 0xBB3058C1, 0xBA87244E, 0xB9DE9BB0, 0xB936BFB2, | ||
1318 | 0xB88F925B, 0xB7E9154A, 0xB7434A82, 0xB69E32C9, 0xB5F9D020, 0xB5562485, | ||
1319 | 0xB4B330BC, 0xB410F6BE, 0xB36F7882, 0xB2CEB6CB, 0xB22EB38A, 0xB18F704B, | ||
1320 | 0xB0F0EEFC, 0xB0533059, 0xAFB6364E, 0xAF1A02C1, 0xAE7E966C, 0xADE3F332, | ||
1321 | 0xAD4A1A92, 0xACB10E67, 0xAC18CF69, 0xAB815F71, 0xAAEAC054, 0xAA54F2C6, | ||
1322 | 0xA9BFF898, 0xA92BD33C, 0xA898847A, 0xA8060D04, 0xA7746EA1, 0xA6E3AB14, | ||
1323 | 0xA653C30A, 0xA5C4B842, 0xA5368C78, 0xA4A94055, 0xA41CD591, 0xA3914D86, | ||
1324 | 0xA306A9E5, 0xA27CEB53, 0xA1F4137C, 0xA16C2408, 0xA0E51D9A, 0xA05F01D6, | ||
1325 | 0x9FD9D207, 0x9F558FC8, 0x9ED23BB9, 0x9E4FD771, 0x9DCE6485, 0x9D4DE38E, | ||
1326 | 0x9CCE561E, 0x9C4FBD6E, 0x9BD21B06, 0x9B556F7D, 0x9AD9BC57, 0x9A5F0312, | ||
1327 | 0x99E54441, 0x996C815F, 0x98F4BBE2, 0x987DF458, 0x98082C35, 0x97936499, | ||
1328 | 0x971F9EEF, 0x96ACDBC0, 0x963B1C73, 0x95CA6267, 0x955AAE23, 0x94EC0102, | ||
1329 | 0x947E5C15, 0x9411C0B1, 0x93A62F56, 0x933BA954, 0x92D22FB1, 0x9269C372, | ||
1330 | 0x9202661A, 0x919C17A3, 0x9136D98D, 0x90D2ACD1, 0x906F9266, 0x900D8B42, | ||
1331 | 0x8FAC9856, 0x8F4CBB0B, 0x8EEDF358, 0x8E9042A4, 0x8E33A9D4, 0x8DD829CE, | ||
1332 | 0x8D7DC372, 0x8D2477A1, 0x8CCC47A6, 0x8C75337A, 0x8C1F3C65, 0x8BCA633B, | ||
1333 | 0x8B76A8CE, 0x8B240DEB, 0x8AD293C7, 0x8A823A59, 0x8A3302D2, 0x89E4EDF5, | ||
1334 | 0x8997FC81, 0x894C2F36, 0x890186CE, 0x88B8045E, 0x886FA7E0, 0x88287266, | ||
1335 | 0x87E2649F, 0x879D7F37, 0x8759C2D9, 0x8717302D, 0x86D5C827, 0x86958AC5, | ||
1336 | 0x865678F8, 0x8618935B, 0x85DBDA87, 0x85A04F13, 0x8565F192, 0x852CC2DA, | ||
1337 | 0x84F4C2E8, 0x84BDF28F, 0x84885258, 0x8453E2C5, 0x8420A459, 0x83EE9791, | ||
1338 | 0x83BDBD27, 0x838E1518, 0x835FA016, 0x83325E96, 0x83065106, 0x82DB77D4, | ||
1339 | 0x82B1D369, 0x8289645F, 0x82622AB2, 0x823C26F8, 0x8217598E, 0x81F3C2CF, | ||
1340 | 0x81D16313, 0x81B03AAE, 0x81904A1B, 0x81719157, 0x815410D7, 0x8137C8E4, | ||
1341 | 0x811CB9C4, 0x8102E3B9, 0x80EA4722, 0x80D2E3FC, 0x80BCBAA3, 0x80A7CB4B, | ||
1342 | 0x8094162A, 0x80819B6F, 0x80705B49, 0x806055F5, 0x80518B72, 0x8043FBFA, | ||
1343 | 0x8037A7AE, 0x802C8EAD, 0x8022B111, 0x801A0EF5, 0x8012A874, 0x800C7D90, | ||
1344 | 0x80078E60, 0x8003DAF2, 0x8001634E, 0x8000277B | ||
1345 | }; | ||
1346 | |||
1347 | const int32_t sine_128[] ICONST_ATTR = { | ||
1348 | 0xFF36F079, 0xFDA4D929, 0xFC12D91C, 0xFA80FFCF, 0xF8EF5CBC, 0xF75DFF6C, | ||
1349 | 0xF5CCF73F, 0xF43C53CB, 0xF2AC2474, 0xF11C7895, 0xEF8D5FC8, 0xEDFEE931, | ||
1350 | 0xEC71244A, 0xEAE4208A, 0xE957ED00, 0xE7CC9912, 0xE642341D, 0xE4B8CD16, | ||
1351 | 0xE3307348, 0xE1A935F1, 0xE02323EA, 0xDE9E4C5B, 0xDD1ABE41, 0xDB98888E, | ||
1352 | 0xDA17BA63, 0xD898621B, 0xD71A8EBA, 0xD59E4EF9, 0xD423B181, 0xD2AAC4EB, | ||
1353 | 0xD13397FA, 0xCFBE38AD, 0xCE4AB5A6, 0xCCD91D38, 0xCB697DA1, 0xC9FBE50E, | ||
1354 | 0xC89061D1, 0xC727017A, 0xC5BFD232, 0xC45AE1D1, 0xC2F83E1B, 0xC197F4BB, | ||
1355 | 0xC03A137E, 0xBEDEA73A, 0xBD85BE33, 0xBC2F6544, 0xBADBA934, 0xB98A97F6, | ||
1356 | 0xB83C3DB0, 0xB6F0A81D, 0xB5A7E331, 0xB461FC6A, 0xB31EFFF0, 0xB1DEF9D2, | ||
1357 | 0xB0A1F730, 0xAF68037B, 0xAE312B94, 0xACFD7B13, 0xABCCFD75, 0xAA9FBF37, | ||
1358 | 0xA975CB39, 0xA84F2DB4, 0xA72BF147, 0xA60C21E8, 0xA4EFCA51, 0xA3D6F51F, | ||
1359 | 0xA2C1ADDA, 0xA1AFFE80, 0xA0A1F24E, 0x9F979356, 0x9E90EB88, 0x9D8E05AD, | ||
1360 | 0x9C8EEB1A, 0x9B93A649, 0x9A9C4048, 0x99A8C33F, 0x98B93843, 0x97CDA844, | ||
1361 | 0x96E61CED, 0x96029E99, 0x9523369D, 0x9447ED4D, 0x9370CADA, 0x929DD7D5, | ||
1362 | 0x91CF1CE2, 0x9104A0F4, 0x903E6C5C, 0x8F7C873A, 0x8EBEF810, 0x8E05C6AA, | ||
1363 | 0x8D50FA2B, 0x8CA099FB, 0x8BF4AC06, 0x8B4D375E, 0x8AAA42E0, 0x8A0BD402, | ||
1364 | 0x8971F14B, 0x88DCA0A9, 0x884BE838, 0x87BFCCD4, 0x87385443, 0x86B5840D, | ||
1365 | 0x86376099, 0x85BDEF18, 0x85493481, 0x84D934C0, 0x846DF472, 0x840777B8, | ||
1366 | 0x83A5C2C5, 0x8348D8DF, 0x82F0BDDB, 0x829D7552, 0x824F0211, 0x82056753, | ||
1367 | 0x81C0A7F0, 0x8180C6B5, 0x8145C5C8, 0x810FA798, 0x80DE6E59, 0x80B21BB4, | ||
1368 | 0x808AB17D, 0x8068313B, 0x804A9C52, 0x8031F3C2, 0x801E3892, 0x800F6B8C, | ||
1369 | 0x80058D30, 0x80009DEA | ||
1370 | }; | ||
1371 | |||
1372 | const int32_t *sine_windows[6] = { | ||
1373 | sine_128, sine_256, sine_512, sine_1024, sine_2048, sine_4096 | ||
1374 | }; | ||
1375 | |||
1376 | |||
1377 | /* mdct trig table. | ||
1378 | the table should be in s.31 format, but in wma pro, all the tables are scaled | ||
1379 | down to preserve energy in the signal, so this downscaling is equivalent to | ||
1380 | having the tables in ~s15.16 instead. */ | ||
1381 | /* rockbox: not used | ||
1382 | const int32_t sincos_lookup_wmap[8064] = { | ||
1383 | 0x0000011C, 0x00016A09, 0x000009FE, 0x000169E6, | ||
1384 | 0x000012DF, 0x0001698B, 0x00001BBD, 0x000168F9, | ||
1385 | 0x00002497, 0x0001682F, 0x00002D6B, 0x0001672D, | ||
1386 | 0x00003638, 0x000165F4, 0x00003EFD, 0x00016484, | ||
1387 | 0x000047B8, 0x000162DD, 0x00005068, 0x000160FF, | ||
1388 | 0x0000590B, 0x00015EEA, 0x000061A1, 0x00015CA0, | ||
1389 | 0x00006A28, 0x00015A20, 0x0000729E, 0x0001576A, | ||
1390 | 0x00007B03, 0x0001547F, 0x00008354, 0x00015160, | ||
1391 | 0x00008B92, 0x00014E0D, 0x000093BA, 0x00014A87, | ||
1392 | 0x00009BCB, 0x000146CD, 0x0000A3C4, 0x000142E1, | ||
1393 | 0x0000ABA4, 0x00013EC3, 0x0000B369, 0x00013A74, | ||
1394 | 0x0000BB13, 0x000135F5, 0x0000C2A0, 0x00013146, | ||
1395 | 0x0000CA0F, 0x00012C67, 0x0000D15F, 0x0001275B, | ||
1396 | 0x0000D88E, 0x00012221, 0x0000DF9C, 0x00011CBA, | ||
1397 | 0x0000E688, 0x00011727, 0x0000ED50, 0x00011169, | ||
1398 | 0x0000F3F3, 0x00010B81, 0x0000FA71, 0x00010570, | ||
1399 | 0x000100C8, 0x0000FF36, 0x000106F8, 0x0000F8D5, | ||
1400 | 0x00010CFF, 0x0000F24E, 0x000112DC, 0x0000EBA1, | ||
1401 | 0x00011890, 0x0000E4D0, 0x00011E18, 0x0000DDDC, | ||
1402 | 0x00012373, 0x0000D6C5, 0x000128A2, 0x0000CF8E, | ||
1403 | 0x00012DA3, 0x0000C836, 0x00013276, 0x0000C0C0, | ||
1404 | 0x00013719, 0x0000B92B, 0x00013B8D, 0x0000B17B, | ||
1405 | 0x00013FCF, 0x0000A9AE, 0x000143E1, 0x0000A1C8, | ||
1406 | 0x000147C0, 0x000099C9, 0x00014B6D, 0x000091B2, | ||
1407 | 0x00014EE7, 0x00008984, 0x0001522D, 0x00008142, | ||
1408 | 0x0001553F, 0x000078EB, 0x0001581C, 0x00007082, | ||
1409 | 0x00015AC5, 0x00006807, 0x00015D38, 0x00005F7D, | ||
1410 | 0x00015F75, 0x000056E3, 0x0001617B, 0x00004E3D, | ||
1411 | 0x0001634C, 0x0000458A, 0x000164E5, 0x00003CCC, | ||
1412 | 0x00016648, 0x00003405, 0x00016773, 0x00002B36, | ||
1413 | 0x00016867, 0x00002261, 0x00016923, 0x00001986, | ||
1414 | 0x000169A7, 0x000010A7, 0x000169F4, 0x000007C6, | ||
1415 | 0x00000064, 0x0000FFFF, 0x00000388, 0x0000FFF9, | ||
1416 | 0x000006AC, 0x0000FFE9, 0x000009D0, 0x0000FFCF, | ||
1417 | 0x00000CF4, 0x0000FFAC, 0x00001017, 0x0000FF7E, | ||
1418 | 0x00001339, 0x0000FF46, 0x0000165A, 0x0000FF05, | ||
1419 | 0x0000197B, 0x0000FEBA, 0x00001C9B, 0x0000FE65, | ||
1420 | 0x00001FBA, 0x0000FE06, 0x000022D7, 0x0000FD9E, | ||
1421 | 0x000025F3, 0x0000FD2B, 0x0000290E, 0x0000FCAF, | ||
1422 | 0x00002C27, 0x0000FC29, 0x00002F3E, 0x0000FB9A, | ||
1423 | 0x00003254, 0x0000FB01, 0x00003567, 0x0000FA5E, | ||
1424 | 0x00003879, 0x0000F9B1, 0x00003B88, 0x0000F8FB, | ||
1425 | 0x00003E95, 0x0000F83B, 0x000041A0, 0x0000F772, | ||
1426 | 0x000044A8, 0x0000F69F, 0x000047AD, 0x0000F5C2, | ||
1427 | 0x00004AB0, 0x0000F4DC, 0x00004DB0, 0x0000F3ED, | ||
1428 | 0x000050AC, 0x0000F2F4, 0x000053A6, 0x0000F1F2, | ||
1429 | 0x0000569D, 0x0000F0E7, 0x00005990, 0x0000EFD2, | ||
1430 | 0x00005C7F, 0x0000EEB4, 0x00005F6B, 0x0000ED8D, | ||
1431 | 0x00006254, 0x0000EC5C, 0x00006539, 0x0000EB23, | ||
1432 | 0x00006819, 0x0000E9E0, 0x00006AF6, 0x0000E895, | ||
1433 | 0x00006DCF, 0x0000E740, 0x000070A3, 0x0000E5E3, | ||
1434 | 0x00007373, 0x0000E47D, 0x0000763F, 0x0000E30D, | ||
1435 | 0x00007906, 0x0000E196, 0x00007BC8, 0x0000E015, | ||
1436 | 0x00007E86, 0x0000DE8C, 0x0000813E, 0x0000DCFA, | ||
1437 | 0x000083F2, 0x0000DB60, 0x000086A1, 0x0000D9BD, | ||
1438 | 0x0000894A, 0x0000D812, 0x00008BEE, 0x0000D65F, | ||
1439 | 0x00008E8D, 0x0000D4A3, 0x00009126, 0x0000D2DF, | ||
1440 | 0x000093BA, 0x0000D113, 0x00009648, 0x0000CF3F, | ||
1441 | 0x000098D0, 0x0000CD63, 0x00009B52, 0x0000CB7F, | ||
1442 | 0x00009DCF, 0x0000C993, 0x0000A045, 0x0000C79F, | ||
1443 | 0x0000A2B5, 0x0000C5A4, 0x0000A51F, 0x0000C3A1, | ||
1444 | 0x0000A782, 0x0000C196, 0x0000A9DF, 0x0000BF84, | ||
1445 | 0x0000AC35, 0x0000BD6B, 0x0000AE85, 0x0000BB4A, | ||
1446 | 0x0000B0CE, 0x0000B922, 0x0000B310, 0x0000B6F3, | ||
1447 | 0x0000B54B, 0x0000B4BD, 0x0000B780, 0x0000B280, | ||
1448 | 0x0000B9AD, 0x0000B03C, 0x0000BBD3, 0x0000ADF2, | ||
1449 | 0x0000BDF2, 0x0000ABA0, 0x0000C009, 0x0000A948, | ||
1450 | 0x0000C21A, 0x0000A6EA, 0x0000C422, 0x0000A485, | ||
1451 | 0x0000C623, 0x0000A219, 0x0000C81D, 0x00009FA8, | ||
1452 | 0x0000CA0E, 0x00009D30, 0x0000CBF8, 0x00009AB2, | ||
1453 | 0x0000CDDA, 0x0000982E, 0x0000CFB4, 0x000095A5, | ||
1454 | 0x0000D187, 0x00009315, 0x0000D351, 0x00009080, | ||
1455 | 0x0000D512, 0x00008DE6, 0x0000D6CC, 0x00008B46, | ||
1456 | 0x0000D87E, 0x000088A0, 0x0000DA27, 0x000085F5, | ||
1457 | 0x0000DBC7, 0x00008345, 0x0000DD5F, 0x00008090, | ||
1458 | 0x0000DEEF, 0x00007DD7, 0x0000E076, 0x00007B18, | ||
1459 | 0x0000E1F4, 0x00007854, 0x0000E36A, 0x0000758C, | ||
1460 | 0x0000E4D7, 0x000072BF, 0x0000E63B, 0x00006FEE, | ||
1461 | 0x0000E796, 0x00006D19, 0x0000E8E9, 0x00006A3F, | ||
1462 | 0x0000EA32, 0x00006761, 0x0000EB72, 0x00006480, | ||
1463 | 0x0000ECA9, 0x0000619A, 0x0000EDD7, 0x00005EB1, | ||
1464 | 0x0000EEFC, 0x00005BC4, 0x0000F018, 0x000058D3, | ||
1465 | 0x0000F12A, 0x000055DF, 0x0000F233, 0x000052E8, | ||
1466 | 0x0000F333, 0x00004FED, 0x0000F42A, 0x00004CF0, | ||
1467 | 0x0000F517, 0x000049EF, 0x0000F5FA, 0x000046EC, | ||
1468 | 0x0000F6D4, 0x000043E6, 0x0000F7A5, 0x000040DD, | ||
1469 | 0x0000F86C, 0x00003DD2, 0x0000F929, 0x00003AC4, | ||
1470 | 0x0000F9DD, 0x000037B4, 0x0000FA87, 0x000034A2, | ||
1471 | 0x0000FB28, 0x0000318E, 0x0000FBBF, 0x00002E78, | ||
1472 | 0x0000FC4C, 0x00002B61, 0x0000FCCF, 0x00002847, | ||
1473 | 0x0000FD49, 0x0000252C, 0x0000FDB9, 0x00002210, | ||
1474 | 0x0000FE1F, 0x00001EF2, 0x0000FE7B, 0x00001BD3, | ||
1475 | 0x0000FECE, 0x000018B3, 0x0000FF16, 0x00001592, | ||
1476 | 0x0000FF55, 0x00001270, 0x0000FF8A, 0x00000F4E, | ||
1477 | 0x0000FFB5, 0x00000C2B, 0x0000FFD7, 0x00000907, | ||
1478 | 0x0000FFEE, 0x000005E3, 0x0000FFFC, 0x000002BF, | ||
1479 | 0x00000023, 0x0000B504, 0x0000013F, 0x0000B503, | ||
1480 | 0x0000025C, 0x0000B501, 0x00000378, 0x0000B4FC, | ||
1481 | 0x00000494, 0x0000B4F6, 0x000005B1, 0x0000B4EE, | ||
1482 | 0x000006CD, 0x0000B4E4, 0x000007E9, 0x0000B4D8, | ||
1483 | 0x00000905, 0x0000B4CB, 0x00000A21, 0x0000B4BC, | ||
1484 | 0x00000B3D, 0x0000B4AB, 0x00000C58, 0x0000B499, | ||
1485 | 0x00000D74, 0x0000B484, 0x00000E8F, 0x0000B46E, | ||
1486 | 0x00000FAB, 0x0000B457, 0x000010C6, 0x0000B43D, | ||
1487 | 0x000011E1, 0x0000B422, 0x000012FC, 0x0000B405, | ||
1488 | 0x00001417, 0x0000B3E6, 0x00001531, 0x0000B3C6, | ||
1489 | 0x0000164B, 0x0000B3A4, 0x00001765, 0x0000B380, | ||
1490 | 0x0000187F, 0x0000B35A, 0x00001999, 0x0000B333, | ||
1491 | 0x00001AB2, 0x0000B30A, 0x00001BCB, 0x0000B2DF, | ||
1492 | 0x00001CE4, 0x0000B2B2, 0x00001DFD, 0x0000B284, | ||
1493 | 0x00001F15, 0x0000B254, 0x0000202D, 0x0000B222, | ||
1494 | 0x00002145, 0x0000B1EF, 0x0000225C, 0x0000B1BA, | ||
1495 | 0x00002373, 0x0000B183, 0x0000248A, 0x0000B14B, | ||
1496 | 0x000025A0, 0x0000B110, 0x000026B6, 0x0000B0D4, | ||
1497 | 0x000027CC, 0x0000B097, 0x000028E1, 0x0000B057, | ||
1498 | 0x000029F6, 0x0000B016, 0x00002B0A, 0x0000AFD3, | ||
1499 | 0x00002C1E, 0x0000AF8F, 0x00002D31, 0x0000AF49, | ||
1500 | 0x00002E45, 0x0000AF01, 0x00002F57, 0x0000AEB8, | ||
1501 | 0x00003069, 0x0000AE6C, 0x0000317B, 0x0000AE1F, | ||
1502 | 0x0000328D, 0x0000ADD1, 0x0000339D, 0x0000AD81, | ||
1503 | 0x000034AE, 0x0000AD2F, 0x000035BD, 0x0000ACDB, | ||
1504 | 0x000036CD, 0x0000AC86, 0x000037DB, 0x0000AC2F, | ||
1505 | 0x000038EA, 0x0000ABD6, 0x000039F7, 0x0000AB7C, | ||
1506 | 0x00003B04, 0x0000AB20, 0x00003C11, 0x0000AAC3, | ||
1507 | 0x00003D1D, 0x0000AA64, 0x00003E28, 0x0000AA03, | ||
1508 | 0x00003F33, 0x0000A9A0, 0x0000403D, 0x0000A93C, | ||
1509 | 0x00004147, 0x0000A8D6, 0x0000424F, 0x0000A86F, | ||
1510 | 0x00004358, 0x0000A806, 0x0000445F, 0x0000A79C, | ||
1511 | 0x00004566, 0x0000A72F, 0x0000466D, 0x0000A6C2, | ||
1512 | 0x00004772, 0x0000A652, 0x00004877, 0x0000A5E1, | ||
1513 | 0x0000497B, 0x0000A56E, 0x00004A7F, 0x0000A4FA, | ||
1514 | 0x00004B82, 0x0000A484, 0x00004C84, 0x0000A40D, | ||
1515 | 0x00004D85, 0x0000A394, 0x00004E86, 0x0000A319, | ||
1516 | 0x00004F85, 0x0000A29D, 0x00005084, 0x0000A220, | ||
1517 | 0x00005183, 0x0000A1A0, 0x00005280, 0x0000A120, | ||
1518 | 0x0000537D, 0x0000A09D, 0x00005479, 0x0000A019, | ||
1519 | 0x00005574, 0x00009F94, 0x0000566E, 0x00009F0D, | ||
1520 | 0x00005767, 0x00009E84, 0x00005860, 0x00009DFA, | ||
1521 | 0x00005958, 0x00009D6F, 0x00005A4F, 0x00009CE2, | ||
1522 | 0x00005B45, 0x00009C53, 0x00005C3A, 0x00009BC3, | ||
1523 | 0x00005D2E, 0x00009B31, 0x00005E21, 0x00009A9E, | ||
1524 | 0x00005F14, 0x00009A09, 0x00006005, 0x00009973, | ||
1525 | 0x000060F6, 0x000098DC, 0x000061E5, 0x00009843, | ||
1526 | 0x000062D4, 0x000097A8, 0x000063C2, 0x0000970C, | ||
1527 | 0x000064AF, 0x0000966F, 0x0000659B, 0x000095D0, | ||
1528 | 0x00006685, 0x00009530, 0x0000676F, 0x0000948E, | ||
1529 | 0x00006858, 0x000093EB, 0x00006940, 0x00009346, | ||
1530 | 0x00006A27, 0x000092A0, 0x00006B0D, 0x000091F9, | ||
1531 | 0x00006BF1, 0x00009150, 0x00006CD5, 0x000090A5, | ||
1532 | 0x00006DB8, 0x00008FFA, 0x00006E99, 0x00008F4D, | ||
1533 | 0x00006F7A, 0x00008E9E, 0x00007059, 0x00008DEF, | ||
1534 | 0x00007138, 0x00008D3D, 0x00007215, 0x00008C8B, | ||
1535 | 0x000072F1, 0x00008BD7, 0x000073CC, 0x00008B22, | ||
1536 | 0x000074A6, 0x00008A6B, 0x0000757F, 0x000089B3, | ||
1537 | 0x00007657, 0x000088FA, 0x0000772E, 0x00008840, | ||
1538 | 0x00007803, 0x00008784, 0x000078D7, 0x000086C6, | ||
1539 | 0x000079AB, 0x00008608, 0x00007A7C, 0x00008548, | ||
1540 | 0x00007B4D, 0x00008487, 0x00007C1D, 0x000083C5, | ||
1541 | 0x00007CEB, 0x00008301, 0x00007DB8, 0x0000823C, | ||
1542 | 0x00007E84, 0x00008176, 0x00007F4F, 0x000080AF, | ||
1543 | 0x00008019, 0x00007FE6, 0x000080E1, 0x00007F1D, | ||
1544 | 0x000081A8, 0x00007E51, 0x0000826E, 0x00007D85, | ||
1545 | 0x00008332, 0x00007CB8, 0x000083F6, 0x00007BE9, | ||
1546 | 0x000084B8, 0x00007B19, 0x00008578, 0x00007A48, | ||
1547 | 0x00008638, 0x00007976, 0x000086F6, 0x000078A2, | ||
1548 | 0x000087B3, 0x000077CE, 0x0000886E, 0x000076F8, | ||
1549 | 0x00008928, 0x00007621, 0x000089E1, 0x00007549, | ||
1550 | 0x00008A99, 0x00007470, 0x00008B4F, 0x00007396, | ||
1551 | 0x00008C04, 0x000072BA, 0x00008CB8, 0x000071DE, | ||
1552 | 0x00008D6A, 0x00007100, 0x00008E1B, 0x00007022, | ||
1553 | 0x00008ECA, 0x00006F42, 0x00008F78, 0x00006E61, | ||
1554 | 0x00009025, 0x00006D7F, 0x000090D0, 0x00006C9C, | ||
1555 | 0x0000917A, 0x00006BB8, 0x00009223, 0x00006AD3, | ||
1556 | 0x000092CA, 0x000069ED, 0x0000936F, 0x00006906, | ||
1557 | 0x00009414, 0x0000681E, 0x000094B6, 0x00006735, | ||
1558 | 0x00009558, 0x0000664B, 0x000095F8, 0x00006560, | ||
1559 | 0x00009696, 0x00006474, 0x00009733, 0x00006387, | ||
1560 | 0x000097CF, 0x00006299, 0x00009869, 0x000061AA, | ||
1561 | 0x00009902, 0x000060BA, 0x00009999, 0x00005FC9, | ||
1562 | 0x00009A2F, 0x00005ED7, 0x00009AC3, 0x00005DE5, | ||
1563 | 0x00009B56, 0x00005CF1, 0x00009BE7, 0x00005BFD, | ||
1564 | 0x00009C77, 0x00005B07, 0x00009D05, 0x00005A11, | ||
1565 | 0x00009D92, 0x0000591A, 0x00009E1D, 0x00005822, | ||
1566 | 0x00009EA7, 0x00005729, 0x00009F2F, 0x00005630, | ||
1567 | 0x00009FB5, 0x00005535, 0x0000A03A, 0x0000543A, | ||
1568 | 0x0000A0BE, 0x0000533E, 0x0000A140, 0x00005241, | ||
1569 | 0x0000A1C0, 0x00005143, 0x0000A23F, 0x00005045, | ||
1570 | 0x0000A2BD, 0x00004F45, 0x0000A338, 0x00004E45, | ||
1571 | 0x0000A3B2, 0x00004D45, 0x0000A42B, 0x00004C43, | ||
1572 | 0x0000A4A2, 0x00004B41, 0x0000A517, 0x00004A3E, | ||
1573 | 0x0000A58B, 0x0000493A, 0x0000A5FD, 0x00004836, | ||
1574 | 0x0000A66E, 0x00004731, 0x0000A6DD, 0x0000462B, | ||
1575 | 0x0000A74B, 0x00004525, 0x0000A7B6, 0x0000441D, | ||
1576 | 0x0000A821, 0x00004316, 0x0000A889, 0x0000420D, | ||
1577 | 0x0000A8F0, 0x00004104, 0x0000A955, 0x00003FFB, | ||
1578 | 0x0000A9B9, 0x00003EF0, 0x0000AA1B, 0x00003DE5, | ||
1579 | 0x0000AA7C, 0x00003CDA, 0x0000AADA, 0x00003BCE, | ||
1580 | 0x0000AB37, 0x00003AC1, 0x0000AB93, 0x000039B4, | ||
1581 | 0x0000ABED, 0x000038A6, 0x0000AC45, 0x00003798, | ||
1582 | 0x0000AC9B, 0x00003689, 0x0000ACF0, 0x00003579, | ||
1583 | 0x0000AD43, 0x0000346A, 0x0000AD95, 0x00003359, | ||
1584 | 0x0000ADE5, 0x00003248, 0x0000AE33, 0x00003137, | ||
1585 | 0x0000AE7F, 0x00003025, 0x0000AECA, 0x00002F13, | ||
1586 | 0x0000AF13, 0x00002E00, 0x0000AF5B, 0x00002CED, | ||
1587 | 0x0000AFA0, 0x00002BD9, 0x0000AFE4, 0x00002AC5, | ||
1588 | 0x0000B027, 0x000029B0, 0x0000B067, 0x0000289B, | ||
1589 | 0x0000B0A6, 0x00002786, 0x0000B0E3, 0x00002671, | ||
1590 | 0x0000B11F, 0x0000255A, 0x0000B159, 0x00002444, | ||
1591 | 0x0000B191, 0x0000232D, 0x0000B1C7, 0x00002216, | ||
1592 | 0x0000B1FC, 0x000020FF, 0x0000B22F, 0x00001FE7, | ||
1593 | 0x0000B260, 0x00001ECF, 0x0000B290, 0x00001DB7, | ||
1594 | 0x0000B2BE, 0x00001C9E, 0x0000B2EA, 0x00001B85, | ||
1595 | 0x0000B314, 0x00001A6C, 0x0000B33D, 0x00001953, | ||
1596 | 0x0000B364, 0x00001839, 0x0000B389, 0x0000171F, | ||
1597 | 0x0000B3AC, 0x00001605, 0x0000B3CE, 0x000014EB, | ||
1598 | 0x0000B3EE, 0x000013D0, 0x0000B40C, 0x000012B5, | ||
1599 | 0x0000B429, 0x0000119A, 0x0000B444, 0x0000107F, | ||
1600 | 0x0000B45D, 0x00000F64, 0x0000B474, 0x00000E49, | ||
1601 | 0x0000B489, 0x00000D2D, 0x0000B49D, 0x00000C11, | ||
1602 | 0x0000B4AF, 0x00000AF6, 0x0000B4C0, 0x000009DA, | ||
1603 | 0x0000B4CE, 0x000008BE, 0x0000B4DB, 0x000007A2, | ||
1604 | 0x0000B4E6, 0x00000686, 0x0000B4F0, 0x00000569, | ||
1605 | 0x0000B4F7, 0x0000044D, 0x0000B4FD, 0x00000331, | ||
1606 | 0x0000B501, 0x00000215, 0x0000B504, 0x000000F8, | ||
1607 | 0x0000000C, 0x00007FFF, 0x00000071, 0x00007FFF, | ||
1608 | 0x000000D5, 0x00007FFF, 0x0000013A, 0x00007FFE, | ||
1609 | 0x0000019E, 0x00007FFD, 0x00000203, 0x00007FFB, | ||
1610 | 0x00000267, 0x00007FFA, 0x000002CC, 0x00007FF8, | ||
1611 | 0x00000330, 0x00007FF5, 0x00000395, 0x00007FF3, | ||
1612 | 0x000003F9, 0x00007FF0, 0x0000045E, 0x00007FEC, | ||
1613 | 0x000004C2, 0x00007FE9, 0x00000527, 0x00007FE5, | ||
1614 | 0x0000058B, 0x00007FE1, 0x000005EF, 0x00007FDC, | ||
1615 | 0x00000654, 0x00007FD7, 0x000006B8, 0x00007FD2, | ||
1616 | 0x0000071D, 0x00007FCD, 0x00000781, 0x00007FC7, | ||
1617 | 0x000007E5, 0x00007FC1, 0x0000084A, 0x00007FBB, | ||
1618 | 0x000008AE, 0x00007FB4, 0x00000912, 0x00007FAD, | ||
1619 | 0x00000977, 0x00007FA6, 0x000009DB, 0x00007F9E, | ||
1620 | 0x00000A3F, 0x00007F96, 0x00000AA3, 0x00007F8E, | ||
1621 | 0x00000B07, 0x00007F86, 0x00000B6C, 0x00007F7D, | ||
1622 | 0x00000BD0, 0x00007F74, 0x00000C34, 0x00007F6A, | ||
1623 | 0x00000C98, 0x00007F60, 0x00000CFC, 0x00007F56, | ||
1624 | 0x00000D60, 0x00007F4C, 0x00000DC4, 0x00007F41, | ||
1625 | 0x00000E28, 0x00007F36, 0x00000E8C, 0x00007F2B, | ||
1626 | 0x00000EF0, 0x00007F20, 0x00000F53, 0x00007F14, | ||
1627 | 0x00000FB7, 0x00007F08, 0x0000101B, 0x00007EFB, | ||
1628 | 0x0000107F, 0x00007EEE, 0x000010E2, 0x00007EE1, | ||
1629 | 0x00001146, 0x00007ED4, 0x000011A9, 0x00007EC6, | ||
1630 | 0x0000120D, 0x00007EB8, 0x00001271, 0x00007EAA, | ||
1631 | 0x000012D4, 0x00007E9B, 0x00001337, 0x00007E8C, | ||
1632 | 0x0000139B, 0x00007E7D, 0x000013FE, 0x00007E6D, | ||
1633 | 0x00001461, 0x00007E5D, 0x000014C5, 0x00007E4D, | ||
1634 | 0x00001528, 0x00007E3D, 0x0000158B, 0x00007E2C, | ||
1635 | 0x000015EE, 0x00007E1B, 0x00001651, 0x00007E0A, | ||
1636 | 0x000016B4, 0x00007DF8, 0x00001717, 0x00007DE6, | ||
1637 | 0x0000177A, 0x00007DD4, 0x000017DD, 0x00007DC1, | ||
1638 | 0x0000183F, 0x00007DAE, 0x000018A2, 0x00007D9B, | ||
1639 | 0x00001905, 0x00007D87, 0x00001967, 0x00007D74, | ||
1640 | 0x000019CA, 0x00007D60, 0x00001A2C, 0x00007D4B, | ||
1641 | 0x00001A8E, 0x00007D36, 0x00001AF1, 0x00007D21, | ||
1642 | 0x00001B53, 0x00007D0C, 0x00001BB5, 0x00007CF6, | ||
1643 | 0x00001C17, 0x00007CE1, 0x00001C79, 0x00007CCA, | ||
1644 | 0x00001CDB, 0x00007CB4, 0x00001D3D, 0x00007C9D, | ||
1645 | 0x00001D9F, 0x00007C86, 0x00001E01, 0x00007C6E, | ||
1646 | 0x00001E62, 0x00007C57, 0x00001EC4, 0x00007C3F, | ||
1647 | 0x00001F26, 0x00007C26, 0x00001F87, 0x00007C0E, | ||
1648 | 0x00001FE9, 0x00007BF5, 0x0000204A, 0x00007BDC, | ||
1649 | 0x000020AB, 0x00007BC2, 0x0000210C, 0x00007BA8, | ||
1650 | 0x0000216D, 0x00007B8E, 0x000021CE, 0x00007B74, | ||
1651 | 0x0000222F, 0x00007B59, 0x00002290, 0x00007B3E, | ||
1652 | 0x000022F1, 0x00007B23, 0x00002352, 0x00007B07, | ||
1653 | 0x000023B2, 0x00007AEB, 0x00002413, 0x00007ACF, | ||
1654 | 0x00002473, 0x00007AB3, 0x000024D3, 0x00007A96, | ||
1655 | 0x00002534, 0x00007A79, 0x00002594, 0x00007A5C, | ||
1656 | 0x000025F4, 0x00007A3E, 0x00002654, 0x00007A20, | ||
1657 | 0x000026B4, 0x00007A02, 0x00002713, 0x000079E3, | ||
1658 | 0x00002773, 0x000079C4, 0x000027D3, 0x000079A5, | ||
1659 | 0x00002832, 0x00007986, 0x00002892, 0x00007966, | ||
1660 | 0x000028F1, 0x00007946, 0x00002950, 0x00007926, | ||
1661 | 0x000029AF, 0x00007905, 0x00002A0E, 0x000078E4, | ||
1662 | 0x00002A6D, 0x000078C3, 0x00002ACC, 0x000078A2, | ||
1663 | 0x00002B2B, 0x00007880, 0x00002B89, 0x0000785E, | ||
1664 | 0x00002BE8, 0x0000783B, 0x00002C46, 0x00007819, | ||
1665 | 0x00002CA4, 0x000077F6, 0x00002D02, 0x000077D3, | ||
1666 | 0x00002D60, 0x000077AF, 0x00002DBE, 0x0000778B, | ||
1667 | 0x00002E1C, 0x00007767, 0x00002E7A, 0x00007743, | ||
1668 | 0x00002ED8, 0x0000771E, 0x00002F35, 0x000076F9, | ||
1669 | 0x00002F92, 0x000076D4, 0x00002FF0, 0x000076AF, | ||
1670 | 0x0000304D, 0x00007689, 0x000030AA, 0x00007663, | ||
1671 | 0x00003107, 0x0000763C, 0x00003164, 0x00007616, | ||
1672 | 0x000031C0, 0x000075EF, 0x0000321D, 0x000075C8, | ||
1673 | 0x00003279, 0x000075A0, 0x000032D6, 0x00007578, | ||
1674 | 0x00003332, 0x00007550, 0x0000338E, 0x00007528, | ||
1675 | 0x000033EA, 0x000074FF, 0x00003446, 0x000074D6, | ||
1676 | 0x000034A1, 0x000074AD, 0x000034FD, 0x00007484, | ||
1677 | 0x00003558, 0x0000745A, 0x000035B4, 0x00007430, | ||
1678 | 0x0000360F, 0x00007406, 0x0000366A, 0x000073DB, | ||
1679 | 0x000036C5, 0x000073B0, 0x00003720, 0x00007385, | ||
1680 | 0x0000377A, 0x00007359, 0x000037D5, 0x0000732E, | ||
1681 | 0x0000382F, 0x00007302, 0x0000388A, 0x000072D5, | ||
1682 | 0x000038E4, 0x000072A9, 0x0000393E, 0x0000727C, | ||
1683 | 0x00003998, 0x0000724F, 0x000039F1, 0x00007222, | ||
1684 | 0x00003A4B, 0x000071F4, 0x00003AA4, 0x000071C6, | ||
1685 | 0x00003AFE, 0x00007198, 0x00003B57, 0x00007169, | ||
1686 | 0x00003BB0, 0x0000713B, 0x00003C09, 0x0000710C, | ||
1687 | 0x00003C61, 0x000070DC, 0x00003CBA, 0x000070AD, | ||
1688 | 0x00003D12, 0x0000707D, 0x00003D6B, 0x0000704D, | ||
1689 | 0x00003DC3, 0x0000701D, 0x00003E1B, 0x00006FEC, | ||
1690 | 0x00003E73, 0x00006FBB, 0x00003ECA, 0x00006F8A, | ||
1691 | 0x00003F22, 0x00006F58, 0x00003F79, 0x00006F27, | ||
1692 | 0x00003FD0, 0x00006EF5, 0x00004027, 0x00006EC2, | ||
1693 | 0x0000407E, 0x00006E90, 0x000040D5, 0x00006E5D, | ||
1694 | 0x0000412C, 0x00006E2A, 0x00004182, 0x00006DF7, | ||
1695 | 0x000041D8, 0x00006DC3, 0x0000422F, 0x00006D8F, | ||
1696 | 0x00004284, 0x00006D5B, 0x000042DA, 0x00006D27, | ||
1697 | 0x00004330, 0x00006CF2, 0x00004385, 0x00006CBD, | ||
1698 | 0x000043DB, 0x00006C88, 0x00004430, 0x00006C53, | ||
1699 | 0x00004485, 0x00006C1D, 0x000044DA, 0x00006BE7, | ||
1700 | 0x0000452E, 0x00006BB1, 0x00004583, 0x00006B7A, | ||
1701 | 0x000045D7, 0x00006B44, 0x0000462B, 0x00006B0D, | ||
1702 | 0x0000467F, 0x00006AD5, 0x000046D3, 0x00006A9E, | ||
1703 | 0x00004727, 0x00006A66, 0x0000477A, 0x00006A2E, | ||
1704 | 0x000047CE, 0x000069F6, 0x00004821, 0x000069BD, | ||
1705 | 0x00004874, 0x00006985, 0x000048C7, 0x0000694B, | ||
1706 | 0x00004919, 0x00006912, 0x0000496C, 0x000068D9, | ||
1707 | 0x000049BE, 0x0000689F, 0x00004A10, 0x00006865, | ||
1708 | 0x00004A62, 0x0000682B, 0x00004AB4, 0x000067F0, | ||
1709 | 0x00004B05, 0x000067B5, 0x00004B56, 0x0000677A, | ||
1710 | 0x00004BA8, 0x0000673F, 0x00004BF9, 0x00006703, | ||
1711 | 0x00004C49, 0x000066C8, 0x00004C9A, 0x0000668B, | ||
1712 | 0x00004CEB, 0x0000664F, 0x00004D3B, 0x00006613, | ||
1713 | 0x00004D8B, 0x000065D6, 0x00004DDB, 0x00006599, | ||
1714 | 0x00004E2A, 0x0000655C, 0x00004E7A, 0x0000651E, | ||
1715 | 0x00004EC9, 0x000064E0, 0x00004F18, 0x000064A2, | ||
1716 | 0x00004F67, 0x00006464, 0x00004FB6, 0x00006426, | ||
1717 | 0x00005005, 0x000063E7, 0x00005053, 0x000063A8, | ||
1718 | 0x000050A1, 0x00006369, 0x000050EF, 0x00006329, | ||
1719 | 0x0000513D, 0x000062EA, 0x0000518B, 0x000062AA, | ||
1720 | 0x000051D8, 0x00006269, 0x00005225, 0x00006229, | ||
1721 | 0x00005272, 0x000061E8, 0x000052BF, 0x000061A8, | ||
1722 | 0x0000530C, 0x00006166, 0x00005358, 0x00006125, | ||
1723 | 0x000053A4, 0x000060E4, 0x000053F0, 0x000060A2, | ||
1724 | 0x0000543C, 0x00006060, 0x00005488, 0x0000601D, | ||
1725 | 0x000054D3, 0x00005FDB, 0x0000551E, 0x00005F98, | ||
1726 | 0x00005569, 0x00005F55, 0x000055B4, 0x00005F12, | ||
1727 | 0x000055FE, 0x00005ECF, 0x00005649, 0x00005E8B, | ||
1728 | 0x00005693, 0x00005E47, 0x000056DD, 0x00005E03, | ||
1729 | 0x00005727, 0x00005DBF, 0x00005770, 0x00005D7A, | ||
1730 | 0x000057B9, 0x00005D35, 0x00005803, 0x00005CF0, | ||
1731 | 0x0000584B, 0x00005CAB, 0x00005894, 0x00005C66, | ||
1732 | 0x000058DD, 0x00005C20, 0x00005925, 0x00005BDA, | ||
1733 | 0x0000596D, 0x00005B94, 0x000059B5, 0x00005B4D, | ||
1734 | 0x000059FC, 0x00005B07, 0x00005A44, 0x00005AC0, | ||
1735 | 0x00005A8B, 0x00005A79, 0x00005AD2, 0x00005A32, | ||
1736 | 0x00005B19, 0x000059EA, 0x00005B5F, 0x000059A3, | ||
1737 | 0x00005BA5, 0x0000595B, 0x00005BEB, 0x00005913, | ||
1738 | 0x00005C31, 0x000058CB, 0x00005C77, 0x00005882, | ||
1739 | 0x00005CBC, 0x00005839, 0x00005D01, 0x000057F0, | ||
1740 | 0x00005D46, 0x000057A7, 0x00005D8B, 0x0000575E, | ||
1741 | 0x00005DD0, 0x00005714, 0x00005E14, 0x000056CA, | ||
1742 | 0x00005E58, 0x00005680, 0x00005E9C, 0x00005636, | ||
1743 | 0x00005EDF, 0x000055EC, 0x00005F23, 0x000055A1, | ||
1744 | 0x00005F66, 0x00005556, 0x00005FA9, 0x0000550B, | ||
1745 | 0x00005FEC, 0x000054C0, 0x0000602E, 0x00005475, | ||
1746 | 0x00006070, 0x00005429, 0x000060B2, 0x000053DD, | ||
1747 | 0x000060F4, 0x00005391, 0x00006135, 0x00005345, | ||
1748 | 0x00006177, 0x000052F8, 0x000061B8, 0x000052AC, | ||
1749 | 0x000061F9, 0x0000525F, 0x00006239, 0x00005212, | ||
1750 | 0x0000627A, 0x000051C5, 0x000062BA, 0x00005177, | ||
1751 | 0x000062F9, 0x0000512A, 0x00006339, 0x000050DC, | ||
1752 | 0x00006378, 0x0000508E, 0x000063B8, 0x00005040, | ||
1753 | 0x000063F7, 0x00004FF1, 0x00006435, 0x00004FA2, | ||
1754 | 0x00006474, 0x00004F54, 0x000064B2, 0x00004F05, | ||
1755 | 0x000064F0, 0x00004EB6, 0x0000652D, 0x00004E66, | ||
1756 | 0x0000656B, 0x00004E17, 0x000065A8, 0x00004DC7, | ||
1757 | 0x000065E5, 0x00004D77, 0x00006622, 0x00004D27, | ||
1758 | 0x0000665E, 0x00004CD6, 0x0000669B, 0x00004C86, | ||
1759 | 0x000066D6, 0x00004C35, 0x00006712, 0x00004BE4, | ||
1760 | 0x0000674E, 0x00004B93, 0x00006789, 0x00004B42, | ||
1761 | 0x000067C4, 0x00004AF1, 0x000067FF, 0x00004A9F, | ||
1762 | 0x00006839, 0x00004A4D, 0x00006873, 0x000049FB, | ||
1763 | 0x000068AD, 0x000049A9, 0x000068E7, 0x00004957, | ||
1764 | 0x00006921, 0x00004905, 0x0000695A, 0x000048B2, | ||
1765 | 0x00006993, 0x0000485F, 0x000069CB, 0x0000480C, | ||
1766 | 0x00006A04, 0x000047B9, 0x00006A3C, 0x00004766, | ||
1767 | 0x00006A74, 0x00004712, 0x00006AAC, 0x000046BE, | ||
1768 | 0x00006AE3, 0x0000466A, 0x00006B1A, 0x00004616, | ||
1769 | 0x00006B51, 0x000045C2, 0x00006B88, 0x0000456E, | ||
1770 | 0x00006BBE, 0x00004519, 0x00006BF5, 0x000044C5, | ||
1771 | 0x00006C2A, 0x00004470, 0x00006C60, 0x0000441B, | ||
1772 | 0x00006C95, 0x000043C5, 0x00006CCA, 0x00004370, | ||
1773 | 0x00006CFF, 0x0000431B, 0x00006D34, 0x000042C5, | ||
1774 | 0x00006D68, 0x0000426F, 0x00006D9C, 0x00004219, | ||
1775 | 0x00006DD0, 0x000041C3, 0x00006E04, 0x0000416D, | ||
1776 | 0x00006E37, 0x00004116, 0x00006E6A, 0x000040BF, | ||
1777 | 0x00006E9C, 0x00004069, 0x00006ECF, 0x00004012, | ||
1778 | 0x00006F01, 0x00003FBB, 0x00006F33, 0x00003F63, | ||
1779 | 0x00006F65, 0x00003F0C, 0x00006F96, 0x00003EB4, | ||
1780 | 0x00006FC7, 0x00003E5D, 0x00006FF8, 0x00003E05, | ||
1781 | 0x00007029, 0x00003DAD, 0x00007059, 0x00003D55, | ||
1782 | 0x00007089, 0x00003CFC, 0x000070B9, 0x00003CA4, | ||
1783 | 0x000070E8, 0x00003C4B, 0x00007117, 0x00003BF2, | ||
1784 | 0x00007146, 0x00003B99, 0x00007175, 0x00003B40, | ||
1785 | 0x000071A3, 0x00003AE7, 0x000071D2, 0x00003A8E, | ||
1786 | 0x000071FF, 0x00003A34, 0x0000722D, 0x000039DB, | ||
1787 | 0x0000725A, 0x00003981, 0x00007287, 0x00003927, | ||
1788 | 0x000072B4, 0x000038CD, 0x000072E1, 0x00003873, | ||
1789 | 0x0000730D, 0x00003819, 0x00007339, 0x000037BE, | ||
1790 | 0x00007364, 0x00003764, 0x00007390, 0x00003709, | ||
1791 | 0x000073BB, 0x000036AE, 0x000073E6, 0x00003653, | ||
1792 | 0x00007410, 0x000035F8, 0x0000743A, 0x0000359D, | ||
1793 | 0x00007464, 0x00003542, 0x0000748E, 0x000034E6, | ||
1794 | 0x000074B7, 0x0000348B, 0x000074E1, 0x0000342F, | ||
1795 | 0x00007509, 0x000033D3, 0x00007532, 0x00003377, | ||
1796 | 0x0000755A, 0x0000331B, 0x00007582, 0x000032BF, | ||
1797 | 0x000075AA, 0x00003262, 0x000075D1, 0x00003206, | ||
1798 | 0x000075F9, 0x000031A9, 0x0000761F, 0x0000314C, | ||
1799 | 0x00007646, 0x000030F0, 0x0000766C, 0x00003093, | ||
1800 | 0x00007692, 0x00003036, 0x000076B8, 0x00002FD8, | ||
1801 | 0x000076DD, 0x00002F7B, 0x00007703, 0x00002F1E, | ||
1802 | 0x00007727, 0x00002EC0, 0x0000774C, 0x00002E63, | ||
1803 | 0x00007770, 0x00002E05, 0x00007794, 0x00002DA7, | ||
1804 | 0x000077B8, 0x00002D49, 0x000077DB, 0x00002CEB, | ||
1805 | 0x000077FF, 0x00002C8D, 0x00007821, 0x00002C2E, | ||
1806 | 0x00007844, 0x00002BD0, 0x00007866, 0x00002B71, | ||
1807 | 0x00007888, 0x00002B13, 0x000078AA, 0x00002AB4, | ||
1808 | 0x000078CB, 0x00002A55, 0x000078EC, 0x000029F6, | ||
1809 | 0x0000790D, 0x00002997, 0x0000792E, 0x00002938, | ||
1810 | 0x0000794E, 0x000028D9, 0x0000796E, 0x0000287A, | ||
1811 | 0x0000798E, 0x0000281A, 0x000079AD, 0x000027BB, | ||
1812 | 0x000079CC, 0x0000275B, 0x000079EB, 0x000026FB, | ||
1813 | 0x00007A09, 0x0000269C, 0x00007A27, 0x0000263C, | ||
1814 | 0x00007A45, 0x000025DC, 0x00007A63, 0x0000257C, | ||
1815 | 0x00007A80, 0x0000251C, 0x00007A9D, 0x000024BB, | ||
1816 | 0x00007ABA, 0x0000245B, 0x00007AD6, 0x000023FA, | ||
1817 | 0x00007AF2, 0x0000239A, 0x00007B0E, 0x00002339, | ||
1818 | 0x00007B2A, 0x000022D9, 0x00007B45, 0x00002278, | ||
1819 | 0x00007B60, 0x00002217, 0x00007B7A, 0x000021B6, | ||
1820 | 0x00007B95, 0x00002155, 0x00007BAF, 0x000020F4, | ||
1821 | 0x00007BC9, 0x00002093, 0x00007BE2, 0x00002032, | ||
1822 | 0x00007BFB, 0x00001FD0, 0x00007C14, 0x00001F6F, | ||
1823 | 0x00007C2D, 0x00001F0D, 0x00007C45, 0x00001EAC, | ||
1824 | 0x00007C5D, 0x00001E4A, 0x00007C74, 0x00001DE8, | ||
1825 | 0x00007C8C, 0x00001D87, 0x00007CA3, 0x00001D25, | ||
1826 | 0x00007CB9, 0x00001CC3, 0x00007CD0, 0x00001C61, | ||
1827 | 0x00007CE6, 0x00001BFF, 0x00007CFC, 0x00001B9D, | ||
1828 | 0x00007D11, 0x00001B3A, 0x00007D27, 0x00001AD8, | ||
1829 | 0x00007D3C, 0x00001A76, 0x00007D50, 0x00001A13, | ||
1830 | 0x00007D65, 0x000019B1, 0x00007D79, 0x0000194E, | ||
1831 | 0x00007D8C, 0x000018EC, 0x00007DA0, 0x00001889, | ||
1832 | 0x00007DB3, 0x00001827, 0x00007DC6, 0x000017C4, | ||
1833 | 0x00007DD8, 0x00001761, 0x00007DEA, 0x000016FE, | ||
1834 | 0x00007DFC, 0x0000169B, 0x00007E0E, 0x00001638, | ||
1835 | 0x00007E1F, 0x000015D5, 0x00007E30, 0x00001572, | ||
1836 | 0x00007E41, 0x0000150F, 0x00007E51, 0x000014AC, | ||
1837 | 0x00007E61, 0x00001449, 0x00007E71, 0x000013E5, | ||
1838 | 0x00007E81, 0x00001382, 0x00007E90, 0x0000131F, | ||
1839 | 0x00007E9F, 0x000012BB, 0x00007EAD, 0x00001258, | ||
1840 | 0x00007EBB, 0x000011F4, 0x00007EC9, 0x00001191, | ||
1841 | 0x00007ED7, 0x0000112D, 0x00007EE4, 0x000010C9, | ||
1842 | 0x00007EF1, 0x00001066, 0x00007EFE, 0x00001002, | ||
1843 | 0x00007F0B, 0x00000F9E, 0x00007F17, 0x00000F3A, | ||
1844 | 0x00007F23, 0x00000ED7, 0x00007F2E, 0x00000E73, | ||
1845 | 0x00007F39, 0x00000E0F, 0x00007F44, 0x00000DAB, | ||
1846 | 0x00007F4F, 0x00000D47, 0x00007F59, 0x00000CE3, | ||
1847 | 0x00007F63, 0x00000C7F, 0x00007F6D, 0x00000C1B, | ||
1848 | 0x00007F76, 0x00000BB7, 0x00007F7F, 0x00000B53, | ||
1849 | 0x00007F88, 0x00000AEE, 0x00007F90, 0x00000A8A, | ||
1850 | 0x00007F98, 0x00000A26, 0x00007FA0, 0x000009C2, | ||
1851 | 0x00007FA8, 0x0000095E, 0x00007FAF, 0x000008F9, | ||
1852 | 0x00007FB6, 0x00000895, 0x00007FBC, 0x00000831, | ||
1853 | 0x00007FC3, 0x000007CC, 0x00007FC9, 0x00000768, | ||
1854 | 0x00007FCE, 0x00000704, 0x00007FD4, 0x0000069F, | ||
1855 | 0x00007FD9, 0x0000063B, 0x00007FDD, 0x000005D6, | ||
1856 | 0x00007FE2, 0x00000572, 0x00007FE6, 0x0000050D, | ||
1857 | 0x00007FEA, 0x000004A9, 0x00007FED, 0x00000445, | ||
1858 | 0x00007FF0, 0x000003E0, 0x00007FF3, 0x0000037C, | ||
1859 | 0x00007FF6, 0x00000317, 0x00007FF8, 0x000002B3, | ||
1860 | 0x00007FFA, 0x0000024E, 0x00007FFC, 0x000001EA, | ||
1861 | 0x00007FFD, 0x00000185, 0x00007FFE, 0x00000121, | ||
1862 | 0x00007FFF, 0x000000BC, 0x00007FFF, 0x00000057, | ||
1863 | 0x00000004, 0x00005A82, 0x00000027, 0x00005A82, | ||
1864 | 0x0000004B, 0x00005A82, 0x0000006F, 0x00005A82, | ||
1865 | 0x00000092, 0x00005A82, 0x000000B6, 0x00005A81, | ||
1866 | 0x000000D9, 0x00005A81, 0x000000FD, 0x00005A81, | ||
1867 | 0x00000120, 0x00005A80, 0x00000144, 0x00005A80, | ||
1868 | 0x00000167, 0x00005A7F, 0x0000018B, 0x00005A7F, | ||
1869 | 0x000001AE, 0x00005A7E, 0x000001D2, 0x00005A7D, | ||
1870 | 0x000001F6, 0x00005A7D, 0x00000219, 0x00005A7C, | ||
1871 | 0x0000023D, 0x00005A7B, 0x00000260, 0x00005A7A, | ||
1872 | 0x00000284, 0x00005A79, 0x000002A7, 0x00005A78, | ||
1873 | 0x000002CB, 0x00005A77, 0x000002EE, 0x00005A76, | ||
1874 | 0x00000312, 0x00005A75, 0x00000335, 0x00005A73, | ||
1875 | 0x00000359, 0x00005A72, 0x0000037C, 0x00005A71, | ||
1876 | 0x000003A0, 0x00005A6F, 0x000003C3, 0x00005A6E, | ||
1877 | 0x000003E7, 0x00005A6C, 0x0000040A, 0x00005A6B, | ||
1878 | 0x0000042E, 0x00005A69, 0x00000451, 0x00005A68, | ||
1879 | 0x00000475, 0x00005A66, 0x00000498, 0x00005A64, | ||
1880 | 0x000004BC, 0x00005A62, 0x000004DF, 0x00005A60, | ||
1881 | 0x00000503, 0x00005A5E, 0x00000526, 0x00005A5C, | ||
1882 | 0x0000054A, 0x00005A5A, 0x0000056D, 0x00005A58, | ||
1883 | 0x00000591, 0x00005A56, 0x000005B4, 0x00005A54, | ||
1884 | 0x000005D8, 0x00005A52, 0x000005FB, 0x00005A4F, | ||
1885 | 0x0000061F, 0x00005A4D, 0x00000642, 0x00005A4A, | ||
1886 | 0x00000666, 0x00005A48, 0x00000689, 0x00005A45, | ||
1887 | 0x000006AC, 0x00005A43, 0x000006D0, 0x00005A40, | ||
1888 | 0x000006F3, 0x00005A3E, 0x00000717, 0x00005A3B, | ||
1889 | 0x0000073A, 0x00005A38, 0x0000075E, 0x00005A35, | ||
1890 | 0x00000781, 0x00005A32, 0x000007A4, 0x00005A2F, | ||
1891 | 0x000007C8, 0x00005A2C, 0x000007EB, 0x00005A29, | ||
1892 | 0x0000080F, 0x00005A26, 0x00000832, 0x00005A23, | ||
1893 | 0x00000855, 0x00005A1F, 0x00000879, 0x00005A1C, | ||
1894 | 0x0000089C, 0x00005A19, 0x000008C0, 0x00005A15, | ||
1895 | 0x000008E3, 0x00005A12, 0x00000906, 0x00005A0E, | ||
1896 | 0x0000092A, 0x00005A0B, 0x0000094D, 0x00005A07, | ||
1897 | 0x00000970, 0x00005A04, 0x00000994, 0x00005A00, | ||
1898 | 0x000009B7, 0x000059FC, 0x000009DA, 0x000059F8, | ||
1899 | 0x000009FE, 0x000059F4, 0x00000A21, 0x000059F0, | ||
1900 | 0x00000A44, 0x000059EC, 0x00000A68, 0x000059E8, | ||
1901 | 0x00000A8B, 0x000059E4, 0x00000AAE, 0x000059E0, | ||
1902 | 0x00000AD2, 0x000059DC, 0x00000AF5, 0x000059D8, | ||
1903 | 0x00000B18, 0x000059D3, 0x00000B3B, 0x000059CF, | ||
1904 | 0x00000B5F, 0x000059CA, 0x00000B82, 0x000059C6, | ||
1905 | 0x00000BA5, 0x000059C1, 0x00000BC9, 0x000059BD, | ||
1906 | 0x00000BEC, 0x000059B8, 0x00000C0F, 0x000059B3, | ||
1907 | 0x00000C32, 0x000059AF, 0x00000C55, 0x000059AA, | ||
1908 | 0x00000C79, 0x000059A5, 0x00000C9C, 0x000059A0, | ||
1909 | 0x00000CBF, 0x0000599B, 0x00000CE2, 0x00005996, | ||
1910 | 0x00000D05, 0x00005991, 0x00000D29, 0x0000598C, | ||
1911 | 0x00000D4C, 0x00005987, 0x00000D6F, 0x00005981, | ||
1912 | 0x00000D92, 0x0000597C, 0x00000DB5, 0x00005977, | ||
1913 | 0x00000DD8, 0x00005971, 0x00000DFB, 0x0000596C, | ||
1914 | 0x00000E1F, 0x00005966, 0x00000E42, 0x00005961, | ||
1915 | 0x00000E65, 0x0000595B, 0x00000E88, 0x00005955, | ||
1916 | 0x00000EAB, 0x00005950, 0x00000ECE, 0x0000594A, | ||
1917 | 0x00000EF1, 0x00005944, 0x00000F14, 0x0000593E, | ||
1918 | 0x00000F37, 0x00005938, 0x00000F5A, 0x00005932, | ||
1919 | 0x00000F7D, 0x0000592C, 0x00000FA0, 0x00005926, | ||
1920 | 0x00000FC3, 0x00005920, 0x00000FE6, 0x0000591A, | ||
1921 | 0x00001009, 0x00005913, 0x0000102C, 0x0000590D, | ||
1922 | 0x0000104F, 0x00005907, 0x00001072, 0x00005900, | ||
1923 | 0x00001095, 0x000058FA, 0x000010B8, 0x000058F3, | ||
1924 | 0x000010DB, 0x000058ED, 0x000010FE, 0x000058E6, | ||
1925 | 0x00001121, 0x000058DF, 0x00001144, 0x000058D8, | ||
1926 | 0x00001166, 0x000058D2, 0x00001189, 0x000058CB, | ||
1927 | 0x000011AC, 0x000058C4, 0x000011CF, 0x000058BD, | ||
1928 | 0x000011F2, 0x000058B6, 0x00001215, 0x000058AF, | ||
1929 | 0x00001238, 0x000058A8, 0x0000125A, 0x000058A1, | ||
1930 | 0x0000127D, 0x00005899, 0x000012A0, 0x00005892, | ||
1931 | 0x000012C3, 0x0000588B, 0x000012E5, 0x00005883, | ||
1932 | 0x00001308, 0x0000587C, 0x0000132B, 0x00005874, | ||
1933 | 0x0000134E, 0x0000586D, 0x00001370, 0x00005865, | ||
1934 | 0x00001393, 0x0000585D, 0x000013B6, 0x00005856, | ||
1935 | 0x000013D9, 0x0000584E, 0x000013FB, 0x00005846, | ||
1936 | 0x0000141E, 0x0000583E, 0x00001440, 0x00005836, | ||
1937 | 0x00001463, 0x0000582E, 0x00001486, 0x00005826, | ||
1938 | 0x000014A8, 0x0000581E, 0x000014CB, 0x00005816, | ||
1939 | 0x000014EE, 0x0000580E, 0x00001510, 0x00005806, | ||
1940 | 0x00001533, 0x000057FD, 0x00001555, 0x000057F5, | ||
1941 | 0x00001578, 0x000057ED, 0x0000159A, 0x000057E4, | ||
1942 | 0x000015BD, 0x000057DC, 0x000015DF, 0x000057D3, | ||
1943 | 0x00001602, 0x000057CB, 0x00001624, 0x000057C2, | ||
1944 | 0x00001647, 0x000057B9, 0x00001669, 0x000057B0, | ||
1945 | 0x0000168C, 0x000057A8, 0x000016AE, 0x0000579F, | ||
1946 | 0x000016D0, 0x00005796, 0x000016F3, 0x0000578D, | ||
1947 | 0x00001715, 0x00005784, 0x00001738, 0x0000577B, | ||
1948 | 0x0000175A, 0x00005771, 0x0000177C, 0x00005768, | ||
1949 | 0x0000179F, 0x0000575F, 0x000017C1, 0x00005756, | ||
1950 | 0x000017E3, 0x0000574C, 0x00001805, 0x00005743, | ||
1951 | 0x00001828, 0x00005739, 0x0000184A, 0x00005730, | ||
1952 | 0x0000186C, 0x00005726, 0x0000188E, 0x0000571D, | ||
1953 | 0x000018B1, 0x00005713, 0x000018D3, 0x00005709, | ||
1954 | 0x000018F5, 0x00005700, 0x00001917, 0x000056F6, | ||
1955 | 0x00001939, 0x000056EC, 0x0000195B, 0x000056E2, | ||
1956 | 0x0000197D, 0x000056D8, 0x000019A0, 0x000056CE, | ||
1957 | 0x000019C2, 0x000056C4, 0x000019E4, 0x000056BA, | ||
1958 | 0x00001A06, 0x000056B0, 0x00001A28, 0x000056A5, | ||
1959 | 0x00001A4A, 0x0000569B, 0x00001A6C, 0x00005691, | ||
1960 | 0x00001A8E, 0x00005686, 0x00001AB0, 0x0000567C, | ||
1961 | 0x00001AD2, 0x00005671, 0x00001AF4, 0x00005667, | ||
1962 | 0x00001B16, 0x0000565C, 0x00001B37, 0x00005651, | ||
1963 | 0x00001B59, 0x00005647, 0x00001B7B, 0x0000563C, | ||
1964 | 0x00001B9D, 0x00005631, 0x00001BBF, 0x00005626, | ||
1965 | 0x00001BE1, 0x0000561B, 0x00001C03, 0x00005610, | ||
1966 | 0x00001C24, 0x00005605, 0x00001C46, 0x000055FA, | ||
1967 | 0x00001C68, 0x000055EF, 0x00001C8A, 0x000055E4, | ||
1968 | 0x00001CAB, 0x000055D9, 0x00001CCD, 0x000055CD, | ||
1969 | 0x00001CEF, 0x000055C2, 0x00001D10, 0x000055B7, | ||
1970 | 0x00001D32, 0x000055AB, 0x00001D54, 0x000055A0, | ||
1971 | 0x00001D75, 0x00005594, 0x00001D97, 0x00005589, | ||
1972 | 0x00001DB8, 0x0000557D, 0x00001DDA, 0x00005571, | ||
1973 | 0x00001DFC, 0x00005566, 0x00001E1D, 0x0000555A, | ||
1974 | 0x00001E3F, 0x0000554E, 0x00001E60, 0x00005542, | ||
1975 | 0x00001E82, 0x00005536, 0x00001EA3, 0x0000552A, | ||
1976 | 0x00001EC4, 0x0000551E, 0x00001EE6, 0x00005512, | ||
1977 | 0x00001F07, 0x00005506, 0x00001F29, 0x000054F9, | ||
1978 | 0x00001F4A, 0x000054ED, 0x00001F6B, 0x000054E1, | ||
1979 | 0x00001F8D, 0x000054D5, 0x00001FAE, 0x000054C8, | ||
1980 | 0x00001FCF, 0x000054BC, 0x00001FF1, 0x000054AF, | ||
1981 | 0x00002012, 0x000054A3, 0x00002033, 0x00005496, | ||
1982 | 0x00002054, 0x00005489, 0x00002075, 0x0000547D, | ||
1983 | 0x00002097, 0x00005470, 0x000020B8, 0x00005463, | ||
1984 | 0x000020D9, 0x00005456, 0x000020FA, 0x00005449, | ||
1985 | 0x0000211B, 0x0000543C, 0x0000213C, 0x0000542F, | ||
1986 | 0x0000215D, 0x00005422, 0x0000217E, 0x00005415, | ||
1987 | 0x0000219F, 0x00005408, 0x000021C0, 0x000053FB, | ||
1988 | 0x000021E1, 0x000053ED, 0x00002202, 0x000053E0, | ||
1989 | 0x00002223, 0x000053D3, 0x00002244, 0x000053C5, | ||
1990 | 0x00002265, 0x000053B8, 0x00002286, 0x000053AA, | ||
1991 | 0x000022A7, 0x0000539D, 0x000022C7, 0x0000538F, | ||
1992 | 0x000022E8, 0x00005381, 0x00002309, 0x00005373, | ||
1993 | 0x0000232A, 0x00005366, 0x0000234A, 0x00005358, | ||
1994 | 0x0000236B, 0x0000534A, 0x0000238C, 0x0000533C, | ||
1995 | 0x000023AD, 0x0000532E, 0x000023CD, 0x00005320, | ||
1996 | 0x000023EE, 0x00005312, 0x0000240E, 0x00005304, | ||
1997 | 0x0000242F, 0x000052F6, 0x00002450, 0x000052E7, | ||
1998 | 0x00002470, 0x000052D9, 0x00002491, 0x000052CB, | ||
1999 | 0x000024B1, 0x000052BC, 0x000024D2, 0x000052AE, | ||
2000 | 0x000024F2, 0x0000529F, 0x00002513, 0x00005291, | ||
2001 | 0x00002533, 0x00005282, 0x00002553, 0x00005274, | ||
2002 | 0x00002574, 0x00005265, 0x00002594, 0x00005256, | ||
2003 | 0x000025B4, 0x00005248, 0x000025D5, 0x00005239, | ||
2004 | 0x000025F5, 0x0000522A, 0x00002615, 0x0000521B, | ||
2005 | 0x00002635, 0x0000520C, 0x00002656, 0x000051FD, | ||
2006 | 0x00002676, 0x000051EE, 0x00002696, 0x000051DF, | ||
2007 | 0x000026B6, 0x000051CF, 0x000026D6, 0x000051C0, | ||
2008 | 0x000026F6, 0x000051B1, 0x00002716, 0x000051A2, | ||
2009 | 0x00002736, 0x00005192, 0x00002757, 0x00005183, | ||
2010 | 0x00002777, 0x00005173, 0x00002796, 0x00005164, | ||
2011 | 0x000027B6, 0x00005154, 0x000027D6, 0x00005145, | ||
2012 | 0x000027F6, 0x00005135, 0x00002816, 0x00005125, | ||
2013 | 0x00002836, 0x00005115, 0x00002856, 0x00005106, | ||
2014 | 0x00002876, 0x000050F6, 0x00002895, 0x000050E6, | ||
2015 | 0x000028B5, 0x000050D6, 0x000028D5, 0x000050C6, | ||
2016 | 0x000028F5, 0x000050B6, 0x00002914, 0x000050A6, | ||
2017 | 0x00002934, 0x00005096, 0x00002954, 0x00005085, | ||
2018 | 0x00002973, 0x00005075, 0x00002993, 0x00005065, | ||
2019 | 0x000029B2, 0x00005054, 0x000029D2, 0x00005044, | ||
2020 | 0x000029F1, 0x00005034, 0x00002A11, 0x00005023, | ||
2021 | 0x00002A30, 0x00005013, 0x00002A50, 0x00005002, | ||
2022 | 0x00002A6F, 0x00004FF1, 0x00002A8F, 0x00004FE1, | ||
2023 | 0x00002AAE, 0x00004FD0, 0x00002ACD, 0x00004FBF, | ||
2024 | 0x00002AED, 0x00004FAE, 0x00002B0C, 0x00004F9D, | ||
2025 | 0x00002B2B, 0x00004F8D, 0x00002B4A, 0x00004F7C, | ||
2026 | 0x00002B69, 0x00004F6B, 0x00002B89, 0x00004F59, | ||
2027 | 0x00002BA8, 0x00004F48, 0x00002BC7, 0x00004F37, | ||
2028 | 0x00002BE6, 0x00004F26, 0x00002C05, 0x00004F15, | ||
2029 | 0x00002C24, 0x00004F03, 0x00002C43, 0x00004EF2, | ||
2030 | 0x00002C62, 0x00004EE1, 0x00002C81, 0x00004ECF, | ||
2031 | 0x00002CA0, 0x00004EBE, 0x00002CBF, 0x00004EAC, | ||
2032 | 0x00002CDE, 0x00004E9A, 0x00002CFD, 0x00004E89, | ||
2033 | 0x00002D1C, 0x00004E77, 0x00002D3A, 0x00004E65, | ||
2034 | 0x00002D59, 0x00004E54, 0x00002D78, 0x00004E42, | ||
2035 | 0x00002D97, 0x00004E30, 0x00002DB5, 0x00004E1E, | ||
2036 | 0x00002DD4, 0x00004E0C, 0x00002DF3, 0x00004DFA, | ||
2037 | 0x00002E11, 0x00004DE8, 0x00002E30, 0x00004DD6, | ||
2038 | 0x00002E4E, 0x00004DC4, 0x00002E6D, 0x00004DB1, | ||
2039 | 0x00002E8B, 0x00004D9F, 0x00002EAA, 0x00004D8D, | ||
2040 | 0x00002EC8, 0x00004D7B, 0x00002EE7, 0x00004D68, | ||
2041 | 0x00002F05, 0x00004D56, 0x00002F23, 0x00004D43, | ||
2042 | 0x00002F42, 0x00004D31, 0x00002F60, 0x00004D1E, | ||
2043 | 0x00002F7E, 0x00004D0B, 0x00002F9D, 0x00004CF9, | ||
2044 | 0x00002FBB, 0x00004CE6, 0x00002FD9, 0x00004CD3, | ||
2045 | 0x00002FF7, 0x00004CC0, 0x00003015, 0x00004CAE, | ||
2046 | 0x00003033, 0x00004C9B, 0x00003051, 0x00004C88, | ||
2047 | 0x0000306F, 0x00004C75, 0x0000308D, 0x00004C62, | ||
2048 | 0x000030AB, 0x00004C4F, 0x000030C9, 0x00004C3C, | ||
2049 | 0x000030E7, 0x00004C28, 0x00003105, 0x00004C15, | ||
2050 | 0x00003123, 0x00004C02, 0x00003141, 0x00004BEF, | ||
2051 | 0x0000315F, 0x00004BDB, 0x0000317C, 0x00004BC8, | ||
2052 | 0x0000319A, 0x00004BB4, 0x000031B8, 0x00004BA1, | ||
2053 | 0x000031D6, 0x00004B8D, 0x000031F3, 0x00004B7A, | ||
2054 | 0x00003211, 0x00004B66, 0x0000322E, 0x00004B52, | ||
2055 | 0x0000324C, 0x00004B3F, 0x0000326A, 0x00004B2B, | ||
2056 | 0x00003287, 0x00004B17, 0x000032A5, 0x00004B03, | ||
2057 | 0x000032C2, 0x00004AEF, 0x000032DF, 0x00004ADB, | ||
2058 | 0x000032FD, 0x00004AC7, 0x0000331A, 0x00004AB3, | ||
2059 | 0x00003337, 0x00004A9F, 0x00003355, 0x00004A8B, | ||
2060 | 0x00003372, 0x00004A77, 0x0000338F, 0x00004A63, | ||
2061 | 0x000033AC, 0x00004A4E, 0x000033CA, 0x00004A3A, | ||
2062 | 0x000033E7, 0x00004A26, 0x00003404, 0x00004A11, | ||
2063 | 0x00003421, 0x000049FD, 0x0000343E, 0x000049E8, | ||
2064 | 0x0000345B, 0x000049D4, 0x00003478, 0x000049BF, | ||
2065 | 0x00003495, 0x000049AB, 0x000034B2, 0x00004996, | ||
2066 | 0x000034CF, 0x00004981, 0x000034EB, 0x0000496C, | ||
2067 | 0x00003508, 0x00004958, 0x00003525, 0x00004943, | ||
2068 | 0x00003542, 0x0000492E, 0x0000355F, 0x00004919, | ||
2069 | 0x0000357B, 0x00004904, 0x00003598, 0x000048EF, | ||
2070 | 0x000035B5, 0x000048DA, 0x000035D1, 0x000048C5, | ||
2071 | 0x000035EE, 0x000048B0, 0x0000360A, 0x0000489A, | ||
2072 | 0x00003627, 0x00004885, 0x00003643, 0x00004870, | ||
2073 | 0x00003660, 0x0000485A, 0x0000367C, 0x00004845, | ||
2074 | 0x00003698, 0x00004830, 0x000036B5, 0x0000481A, | ||
2075 | 0x000036D1, 0x00004805, 0x000036ED, 0x000047EF, | ||
2076 | 0x0000370A, 0x000047DA, 0x00003726, 0x000047C4, | ||
2077 | 0x00003742, 0x000047AE, 0x0000375E, 0x00004799, | ||
2078 | 0x0000377A, 0x00004783, 0x00003796, 0x0000476D, | ||
2079 | 0x000037B2, 0x00004757, 0x000037CE, 0x00004741, | ||
2080 | 0x000037EA, 0x0000472B, 0x00003806, 0x00004715, | ||
2081 | 0x00003822, 0x000046FF, 0x0000383E, 0x000046E9, | ||
2082 | 0x0000385A, 0x000046D3, 0x00003875, 0x000046BD, | ||
2083 | 0x00003891, 0x000046A7, 0x000038AD, 0x00004691, | ||
2084 | 0x000038C9, 0x0000467A, 0x000038E4, 0x00004664, | ||
2085 | 0x00003900, 0x0000464E, 0x0000391C, 0x00004637, | ||
2086 | 0x00003937, 0x00004621, 0x00003953, 0x0000460A, | ||
2087 | 0x0000396E, 0x000045F4, 0x0000398A, 0x000045DD, | ||
2088 | 0x000039A5, 0x000045C7, 0x000039C0, 0x000045B0, | ||
2089 | 0x000039DC, 0x00004599, 0x000039F7, 0x00004582, | ||
2090 | 0x00003A12, 0x0000456C, 0x00003A2E, 0x00004555, | ||
2091 | 0x00003A49, 0x0000453E, 0x00003A64, 0x00004527, | ||
2092 | 0x00003A7F, 0x00004510, 0x00003A9A, 0x000044F9, | ||
2093 | 0x00003AB5, 0x000044E2, 0x00003AD0, 0x000044CB, | ||
2094 | 0x00003AEB, 0x000044B4, 0x00003B06, 0x0000449D, | ||
2095 | 0x00003B21, 0x00004485, 0x00003B3C, 0x0000446E, | ||
2096 | 0x00003B57, 0x00004457, 0x00003B72, 0x00004440, | ||
2097 | 0x00003B8D, 0x00004428, 0x00003BA7, 0x00004411, | ||
2098 | 0x00003BC2, 0x000043F9, 0x00003BDD, 0x000043E2, | ||
2099 | 0x00003BF7, 0x000043CA, 0x00003C12, 0x000043B3, | ||
2100 | 0x00003C2C, 0x0000439B, 0x00003C47, 0x00004384, | ||
2101 | 0x00003C62, 0x0000436C, 0x00003C7C, 0x00004354, | ||
2102 | 0x00003C96, 0x0000433C, 0x00003CB1, 0x00004325, | ||
2103 | 0x00003CCB, 0x0000430D, 0x00003CE5, 0x000042F5, | ||
2104 | 0x00003D00, 0x000042DD, 0x00003D1A, 0x000042C5, | ||
2105 | 0x00003D34, 0x000042AD, 0x00003D4E, 0x00004295, | ||
2106 | 0x00003D68, 0x0000427D, 0x00003D83, 0x00004265, | ||
2107 | 0x00003D9D, 0x0000424C, 0x00003DB7, 0x00004234, | ||
2108 | 0x00003DD1, 0x0000421C, 0x00003DEB, 0x00004204, | ||
2109 | 0x00003E04, 0x000041EB, 0x00003E1E, 0x000041D3, | ||
2110 | 0x00003E38, 0x000041BB, 0x00003E52, 0x000041A2, | ||
2111 | 0x00003E6C, 0x0000418A, 0x00003E85, 0x00004171, | ||
2112 | 0x00003E9F, 0x00004158, 0x00003EB9, 0x00004140, | ||
2113 | 0x00003ED2, 0x00004127, 0x00003EEC, 0x0000410F, | ||
2114 | 0x00003F05, 0x000040F6, 0x00003F1F, 0x000040DD, | ||
2115 | 0x00003F38, 0x000040C4, 0x00003F52, 0x000040AB, | ||
2116 | 0x00003F6B, 0x00004092, 0x00003F85, 0x0000407A, | ||
2117 | 0x00003F9E, 0x00004061, 0x00003FB7, 0x00004048, | ||
2118 | 0x00003FD0, 0x0000402F, 0x00003FE9, 0x00004015, | ||
2119 | 0x00004003, 0x00003FFC, 0x0000401C, 0x00003FE3, | ||
2120 | 0x00004035, 0x00003FCA, 0x0000404E, 0x00003FB1, | ||
2121 | 0x00004067, 0x00003F98, 0x00004080, 0x00003F7E, | ||
2122 | 0x00004099, 0x00003F65, 0x000040B2, 0x00003F4B, | ||
2123 | 0x000040CA, 0x00003F32, 0x000040E3, 0x00003F19, | ||
2124 | 0x000040FC, 0x00003EFF, 0x00004115, 0x00003EE6, | ||
2125 | 0x0000412D, 0x00003ECC, 0x00004146, 0x00003EB2, | ||
2126 | 0x0000415F, 0x00003E99, 0x00004177, 0x00003E7F, | ||
2127 | 0x00004190, 0x00003E65, 0x000041A8, 0x00003E4B, | ||
2128 | 0x000041C1, 0x00003E32, 0x000041D9, 0x00003E18, | ||
2129 | 0x000041F1, 0x00003DFE, 0x0000420A, 0x00003DE4, | ||
2130 | 0x00004222, 0x00003DCA, 0x0000423A, 0x00003DB0, | ||
2131 | 0x00004252, 0x00003D96, 0x0000426B, 0x00003D7C, | ||
2132 | 0x00004283, 0x00003D62, 0x0000429B, 0x00003D48, | ||
2133 | 0x000042B3, 0x00003D2E, 0x000042CB, 0x00003D13, | ||
2134 | 0x000042E3, 0x00003CF9, 0x000042FB, 0x00003CDF, | ||
2135 | 0x00004313, 0x00003CC5, 0x0000432B, 0x00003CAA, | ||
2136 | 0x00004342, 0x00003C90, 0x0000435A, 0x00003C75, | ||
2137 | 0x00004372, 0x00003C5B, 0x00004389, 0x00003C40, | ||
2138 | 0x000043A1, 0x00003C26, 0x000043B9, 0x00003C0B, | ||
2139 | 0x000043D0, 0x00003BF1, 0x000043E8, 0x00003BD6, | ||
2140 | 0x000043FF, 0x00003BBB, 0x00004417, 0x00003BA1, | ||
2141 | 0x0000442E, 0x00003B86, 0x00004445, 0x00003B6B, | ||
2142 | 0x0000445D, 0x00003B50, 0x00004474, 0x00003B35, | ||
2143 | 0x0000448B, 0x00003B1A, 0x000044A2, 0x00003B00, | ||
2144 | 0x000044BA, 0x00003AE5, 0x000044D1, 0x00003ACA, | ||
2145 | 0x000044E8, 0x00003AAF, 0x000044FF, 0x00003A93, | ||
2146 | 0x00004516, 0x00003A78, 0x0000452D, 0x00003A5D, | ||
2147 | 0x00004544, 0x00003A42, 0x0000455B, 0x00003A27, | ||
2148 | 0x00004571, 0x00003A0C, 0x00004588, 0x000039F0, | ||
2149 | 0x0000459F, 0x000039D5, 0x000045B6, 0x000039BA, | ||
2150 | 0x000045CC, 0x0000399E, 0x000045E3, 0x00003983, | ||
2151 | 0x000045F9, 0x00003967, 0x00004610, 0x0000394C, | ||
2152 | 0x00004626, 0x00003930, 0x0000463D, 0x00003915, | ||
2153 | 0x00004653, 0x000038F9, 0x0000466A, 0x000038DD, | ||
2154 | 0x00004680, 0x000038C2, 0x00004696, 0x000038A6, | ||
2155 | 0x000046AC, 0x0000388A, 0x000046C3, 0x0000386F, | ||
2156 | 0x000046D9, 0x00003853, 0x000046EF, 0x00003837, | ||
2157 | 0x00004705, 0x0000381B, 0x0000471B, 0x000037FF, | ||
2158 | 0x00004731, 0x000037E3, 0x00004747, 0x000037C7, | ||
2159 | 0x0000475D, 0x000037AB, 0x00004772, 0x0000378F, | ||
2160 | 0x00004788, 0x00003773, 0x0000479E, 0x00003757, | ||
2161 | 0x000047B4, 0x0000373B, 0x000047C9, 0x0000371F, | ||
2162 | 0x000047DF, 0x00003702, 0x000047F5, 0x000036E6, | ||
2163 | 0x0000480A, 0x000036CA, 0x00004820, 0x000036AE, | ||
2164 | 0x00004835, 0x00003691, 0x0000484A, 0x00003675, | ||
2165 | 0x00004860, 0x00003659, 0x00004875, 0x0000363C, | ||
2166 | 0x0000488A, 0x00003620, 0x000048A0, 0x00003603, | ||
2167 | 0x000048B5, 0x000035E7, 0x000048CA, 0x000035CA, | ||
2168 | 0x000048DF, 0x000035AD, 0x000048F4, 0x00003591, | ||
2169 | 0x00004909, 0x00003574, 0x0000491E, 0x00003557, | ||
2170 | 0x00004933, 0x0000353B, 0x00004948, 0x0000351E, | ||
2171 | 0x0000495D, 0x00003501, 0x00004972, 0x000034E4, | ||
2172 | 0x00004986, 0x000034C7, 0x0000499B, 0x000034AB, | ||
2173 | 0x000049B0, 0x0000348E, 0x000049C4, 0x00003471, | ||
2174 | 0x000049D9, 0x00003454, 0x000049ED, 0x00003437, | ||
2175 | 0x00004A02, 0x0000341A, 0x00004A16, 0x000033FD, | ||
2176 | 0x00004A2B, 0x000033DF, 0x00004A3F, 0x000033C2, | ||
2177 | 0x00004A53, 0x000033A5, 0x00004A68, 0x00003388, | ||
2178 | 0x00004A7C, 0x0000336B, 0x00004A90, 0x0000334D, | ||
2179 | 0x00004AA4, 0x00003330, 0x00004AB8, 0x00003313, | ||
2180 | 0x00004ACC, 0x000032F5, 0x00004AE0, 0x000032D8, | ||
2181 | 0x00004AF4, 0x000032BB, 0x00004B08, 0x0000329D, | ||
2182 | 0x00004B1C, 0x00003280, 0x00004B30, 0x00003262, | ||
2183 | 0x00004B44, 0x00003245, 0x00004B57, 0x00003227, | ||
2184 | 0x00004B6B, 0x00003209, 0x00004B7F, 0x000031EC, | ||
2185 | 0x00004B92, 0x000031CE, 0x00004BA6, 0x000031B0, | ||
2186 | 0x00004BB9, 0x00003193, 0x00004BCD, 0x00003175, | ||
2187 | 0x00004BE0, 0x00003157, 0x00004BF3, 0x00003139, | ||
2188 | 0x00004C07, 0x0000311C, 0x00004C1A, 0x000030FE, | ||
2189 | 0x00004C2D, 0x000030E0, 0x00004C40, 0x000030C2, | ||
2190 | 0x00004C53, 0x000030A4, 0x00004C67, 0x00003086, | ||
2191 | 0x00004C7A, 0x00003068, 0x00004C8D, 0x0000304A, | ||
2192 | 0x00004C9F, 0x0000302C, 0x00004CB2, 0x0000300E, | ||
2193 | 0x00004CC5, 0x00002FF0, 0x00004CD8, 0x00002FD1, | ||
2194 | 0x00004CEB, 0x00002FB3, 0x00004CFD, 0x00002F95, | ||
2195 | 0x00004D10, 0x00002F77, 0x00004D23, 0x00002F58, | ||
2196 | 0x00004D35, 0x00002F3A, 0x00004D48, 0x00002F1C, | ||
2197 | 0x00004D5A, 0x00002EFD, 0x00004D6D, 0x00002EDF, | ||
2198 | 0x00004D7F, 0x00002EC1, 0x00004D91, 0x00002EA2, | ||
2199 | 0x00004DA4, 0x00002E84, 0x00004DB6, 0x00002E65, | ||
2200 | 0x00004DC8, 0x00002E47, 0x00004DDA, 0x00002E28, | ||
2201 | 0x00004DEC, 0x00002E0A, 0x00004DFF, 0x00002DEB, | ||
2202 | 0x00004E11, 0x00002DCC, 0x00004E22, 0x00002DAE, | ||
2203 | 0x00004E34, 0x00002D8F, 0x00004E46, 0x00002D70, | ||
2204 | 0x00004E58, 0x00002D51, 0x00004E6A, 0x00002D33, | ||
2205 | 0x00004E7C, 0x00002D14, 0x00004E8D, 0x00002CF5, | ||
2206 | 0x00004E9F, 0x00002CD6, 0x00004EB0, 0x00002CB7, | ||
2207 | 0x00004EC2, 0x00002C98, 0x00004ED4, 0x00002C79, | ||
2208 | 0x00004EE5, 0x00002C5A, 0x00004EF6, 0x00002C3B, | ||
2209 | 0x00004F08, 0x00002C1C, 0x00004F19, 0x00002BFD, | ||
2210 | 0x00004F2A, 0x00002BDE, 0x00004F3B, 0x00002BBF, | ||
2211 | 0x00004F4D, 0x00002BA0, 0x00004F5E, 0x00002B81, | ||
2212 | 0x00004F6F, 0x00002B62, 0x00004F80, 0x00002B42, | ||
2213 | 0x00004F91, 0x00002B23, 0x00004FA2, 0x00002B04, | ||
2214 | 0x00004FB3, 0x00002AE5, 0x00004FC3, 0x00002AC5, | ||
2215 | 0x00004FD4, 0x00002AA6, 0x00004FE5, 0x00002A87, | ||
2216 | 0x00004FF6, 0x00002A67, 0x00005006, 0x00002A48, | ||
2217 | 0x00005017, 0x00002A28, 0x00005027, 0x00002A09, | ||
2218 | 0x00005038, 0x000029EA, 0x00005048, 0x000029CA, | ||
2219 | 0x00005059, 0x000029AA, 0x00005069, 0x0000298B, | ||
2220 | 0x00005079, 0x0000296B, 0x00005089, 0x0000294C, | ||
2221 | 0x0000509A, 0x0000292C, 0x000050AA, 0x0000290C, | ||
2222 | 0x000050BA, 0x000028ED, 0x000050CA, 0x000028CD, | ||
2223 | 0x000050DA, 0x000028AD, 0x000050EA, 0x0000288D, | ||
2224 | 0x000050FA, 0x0000286E, 0x0000510A, 0x0000284E, | ||
2225 | 0x00005119, 0x0000282E, 0x00005129, 0x0000280E, | ||
2226 | 0x00005139, 0x000027EE, 0x00005149, 0x000027CE, | ||
2227 | 0x00005158, 0x000027AE, 0x00005168, 0x0000278E, | ||
2228 | 0x00005177, 0x0000276F, 0x00005187, 0x0000274F, | ||
2229 | 0x00005196, 0x0000272E, 0x000051A5, 0x0000270E, | ||
2230 | 0x000051B5, 0x000026EE, 0x000051C4, 0x000026CE, | ||
2231 | 0x000051D3, 0x000026AE, 0x000051E2, 0x0000268E, | ||
2232 | 0x000051F2, 0x0000266E, 0x00005201, 0x0000264E, | ||
2233 | 0x00005210, 0x0000262D, 0x0000521F, 0x0000260D, | ||
2234 | 0x0000522E, 0x000025ED, 0x0000523C, 0x000025CD, | ||
2235 | 0x0000524B, 0x000025AC, 0x0000525A, 0x0000258C, | ||
2236 | 0x00005269, 0x0000256C, 0x00005277, 0x0000254B, | ||
2237 | 0x00005286, 0x0000252B, 0x00005295, 0x0000250A, | ||
2238 | 0x000052A3, 0x000024EA, 0x000052B2, 0x000024CA, | ||
2239 | 0x000052C0, 0x000024A9, 0x000052CE, 0x00002489, | ||
2240 | 0x000052DD, 0x00002468, 0x000052EB, 0x00002447, | ||
2241 | 0x000052F9, 0x00002427, 0x00005307, 0x00002406, | ||
2242 | 0x00005315, 0x000023E6, 0x00005324, 0x000023C5, | ||
2243 | 0x00005332, 0x000023A4, 0x00005340, 0x00002384, | ||
2244 | 0x0000534D, 0x00002363, 0x0000535B, 0x00002342, | ||
2245 | 0x00005369, 0x00002322, 0x00005377, 0x00002301, | ||
2246 | 0x00005385, 0x000022E0, 0x00005392, 0x000022BF, | ||
2247 | 0x000053A0, 0x0000229E, 0x000053AD, 0x0000227E, | ||
2248 | 0x000053BB, 0x0000225D, 0x000053C8, 0x0000223C, | ||
2249 | 0x000053D6, 0x0000221B, 0x000053E3, 0x000021FA, | ||
2250 | 0x000053F1, 0x000021D9, 0x000053FE, 0x000021B8, | ||
2251 | 0x0000540B, 0x00002197, 0x00005418, 0x00002176, | ||
2252 | 0x00005425, 0x00002155, 0x00005432, 0x00002134, | ||
2253 | 0x0000543F, 0x00002113, 0x0000544C, 0x000020F2, | ||
2254 | 0x00005459, 0x000020D1, 0x00005466, 0x000020AF, | ||
2255 | 0x00005473, 0x0000208E, 0x00005480, 0x0000206D, | ||
2256 | 0x0000548C, 0x0000204C, 0x00005499, 0x0000202B, | ||
2257 | 0x000054A6, 0x00002009, 0x000054B2, 0x00001FE8, | ||
2258 | 0x000054BF, 0x00001FC7, 0x000054CB, 0x00001FA6, | ||
2259 | 0x000054D8, 0x00001F84, 0x000054E4, 0x00001F63, | ||
2260 | 0x000054F0, 0x00001F42, 0x000054FD, 0x00001F20, | ||
2261 | 0x00005509, 0x00001EFF, 0x00005515, 0x00001EDE, | ||
2262 | 0x00005521, 0x00001EBC, 0x0000552D, 0x00001E9B, | ||
2263 | 0x00005539, 0x00001E79, 0x00005545, 0x00001E58, | ||
2264 | 0x00005551, 0x00001E36, 0x0000555D, 0x00001E15, | ||
2265 | 0x00005568, 0x00001DF3, 0x00005574, 0x00001DD2, | ||
2266 | 0x00005580, 0x00001DB0, 0x0000558C, 0x00001D8E, | ||
2267 | 0x00005597, 0x00001D6D, 0x000055A3, 0x00001D4B, | ||
2268 | 0x000055AE, 0x00001D2A, 0x000055BA, 0x00001D08, | ||
2269 | 0x000055C5, 0x00001CE6, 0x000055D0, 0x00001CC5, | ||
2270 | 0x000055DC, 0x00001CA3, 0x000055E7, 0x00001C81, | ||
2271 | 0x000055F2, 0x00001C5F, 0x000055FD, 0x00001C3E, | ||
2272 | 0x00005608, 0x00001C1C, 0x00005613, 0x00001BFA, | ||
2273 | 0x0000561E, 0x00001BD8, 0x00005629, 0x00001BB6, | ||
2274 | 0x00005634, 0x00001B95, 0x0000563F, 0x00001B73, | ||
2275 | 0x00005649, 0x00001B51, 0x00005654, 0x00001B2F, | ||
2276 | 0x0000565F, 0x00001B0D, 0x00005669, 0x00001AEB, | ||
2277 | 0x00005674, 0x00001AC9, 0x0000567E, 0x00001AA7, | ||
2278 | 0x00005689, 0x00001A85, 0x00005693, 0x00001A63, | ||
2279 | 0x0000569E, 0x00001A41, 0x000056A8, 0x00001A1F, | ||
2280 | 0x000056B2, 0x000019FD, 0x000056BC, 0x000019DB, | ||
2281 | 0x000056C6, 0x000019B9, 0x000056D0, 0x00001997, | ||
2282 | 0x000056DA, 0x00001975, 0x000056E4, 0x00001953, | ||
2283 | 0x000056EE, 0x00001931, 0x000056F8, 0x0000190F, | ||
2284 | 0x00005702, 0x000018EC, 0x0000570C, 0x000018CA, | ||
2285 | 0x00005716, 0x000018A8, 0x0000571F, 0x00001886, | ||
2286 | 0x00005729, 0x00001864, 0x00005732, 0x00001841, | ||
2287 | 0x0000573C, 0x0000181F, 0x00005745, 0x000017FD, | ||
2288 | 0x0000574F, 0x000017DB, 0x00005758, 0x000017B8, | ||
2289 | 0x00005761, 0x00001796, 0x0000576B, 0x00001774, | ||
2290 | 0x00005774, 0x00001751, 0x0000577D, 0x0000172F, | ||
2291 | 0x00005786, 0x0000170D, 0x0000578F, 0x000016EA, | ||
2292 | 0x00005798, 0x000016C8, 0x000057A1, 0x000016A5, | ||
2293 | 0x000057AA, 0x00001683, 0x000057B3, 0x00001661, | ||
2294 | 0x000057BB, 0x0000163E, 0x000057C4, 0x0000161C, | ||
2295 | 0x000057CD, 0x000015F9, 0x000057D5, 0x000015D7, | ||
2296 | 0x000057DE, 0x000015B4, 0x000057E6, 0x00001592, | ||
2297 | 0x000057EF, 0x0000156F, 0x000057F7, 0x0000154D, | ||
2298 | 0x000057FF, 0x0000152A, 0x00005808, 0x00001507, | ||
2299 | 0x00005810, 0x000014E5, 0x00005818, 0x000014C2, | ||
2300 | 0x00005820, 0x000014A0, 0x00005828, 0x0000147D, | ||
2301 | 0x00005830, 0x0000145A, 0x00005838, 0x00001438, | ||
2302 | 0x00005840, 0x00001415, 0x00005848, 0x000013F3, | ||
2303 | 0x00005850, 0x000013D0, 0x00005858, 0x000013AD, | ||
2304 | 0x0000585F, 0x0000138A, 0x00005867, 0x00001368, | ||
2305 | 0x0000586F, 0x00001345, 0x00005876, 0x00001322, | ||
2306 | 0x0000587E, 0x00001300, 0x00005885, 0x000012DD, | ||
2307 | 0x0000588C, 0x000012BA, 0x00005894, 0x00001297, | ||
2308 | 0x0000589B, 0x00001274, 0x000058A2, 0x00001252, | ||
2309 | 0x000058A9, 0x0000122F, 0x000058B1, 0x0000120C, | ||
2310 | 0x000058B8, 0x000011E9, 0x000058BF, 0x000011C6, | ||
2311 | 0x000058C6, 0x000011A3, 0x000058CD, 0x00001181, | ||
2312 | 0x000058D3, 0x0000115E, 0x000058DA, 0x0000113B, | ||
2313 | 0x000058E1, 0x00001118, 0x000058E8, 0x000010F5, | ||
2314 | 0x000058EE, 0x000010D2, 0x000058F5, 0x000010AF, | ||
2315 | 0x000058FB, 0x0000108C, 0x00005902, 0x00001069, | ||
2316 | 0x00005908, 0x00001046, 0x0000590F, 0x00001023, | ||
2317 | 0x00005915, 0x00001000, 0x0000591B, 0x00000FDD, | ||
2318 | 0x00005921, 0x00000FBA, 0x00005928, 0x00000F97, | ||
2319 | 0x0000592E, 0x00000F74, 0x00005934, 0x00000F51, | ||
2320 | 0x0000593A, 0x00000F2E, 0x00005940, 0x00000F0B, | ||
2321 | 0x00005945, 0x00000EE8, 0x0000594B, 0x00000EC5, | ||
2322 | 0x00005951, 0x00000EA2, 0x00005957, 0x00000E7F, | ||
2323 | 0x0000595C, 0x00000E5C, 0x00005962, 0x00000E39, | ||
2324 | 0x00005968, 0x00000E16, 0x0000596D, 0x00000DF3, | ||
2325 | 0x00005973, 0x00000DCF, 0x00005978, 0x00000DAC, | ||
2326 | 0x0000597D, 0x00000D89, 0x00005983, 0x00000D66, | ||
2327 | 0x00005988, 0x00000D43, 0x0000598D, 0x00000D20, | ||
2328 | 0x00005992, 0x00000CFD, 0x00005997, 0x00000CD9, | ||
2329 | 0x0000599C, 0x00000CB6, 0x000059A1, 0x00000C93, | ||
2330 | 0x000059A6, 0x00000C70, 0x000059AB, 0x00000C4D, | ||
2331 | 0x000059B0, 0x00000C29, 0x000059B5, 0x00000C06, | ||
2332 | 0x000059B9, 0x00000BE3, 0x000059BE, 0x00000BC0, | ||
2333 | 0x000059C2, 0x00000B9C, 0x000059C7, 0x00000B79, | ||
2334 | 0x000059CB, 0x00000B56, 0x000059D0, 0x00000B33, | ||
2335 | 0x000059D4, 0x00000B0F, 0x000059D9, 0x00000AEC, | ||
2336 | 0x000059DD, 0x00000AC9, 0x000059E1, 0x00000AA6, | ||
2337 | 0x000059E5, 0x00000A82, 0x000059E9, 0x00000A5F, | ||
2338 | 0x000059ED, 0x00000A3C, 0x000059F1, 0x00000A18, | ||
2339 | 0x000059F5, 0x000009F5, 0x000059F9, 0x000009D2, | ||
2340 | 0x000059FD, 0x000009AE, 0x00005A01, 0x0000098B, | ||
2341 | 0x00005A04, 0x00000968, 0x00005A08, 0x00000944, | ||
2342 | 0x00005A0C, 0x00000921, 0x00005A0F, 0x000008FE, | ||
2343 | 0x00005A13, 0x000008DA, 0x00005A16, 0x000008B7, | ||
2344 | 0x00005A1A, 0x00000893, 0x00005A1D, 0x00000870, | ||
2345 | 0x00005A20, 0x0000084D, 0x00005A24, 0x00000829, | ||
2346 | 0x00005A27, 0x00000806, 0x00005A2A, 0x000007E2, | ||
2347 | 0x00005A2D, 0x000007BF, 0x00005A30, 0x0000079C, | ||
2348 | 0x00005A33, 0x00000778, 0x00005A36, 0x00000755, | ||
2349 | 0x00005A39, 0x00000731, 0x00005A3B, 0x0000070E, | ||
2350 | 0x00005A3E, 0x000006EA, 0x00005A41, 0x000006C7, | ||
2351 | 0x00005A44, 0x000006A4, 0x00005A46, 0x00000680, | ||
2352 | 0x00005A49, 0x0000065D, 0x00005A4B, 0x00000639, | ||
2353 | 0x00005A4E, 0x00000616, 0x00005A50, 0x000005F2, | ||
2354 | 0x00005A52, 0x000005CF, 0x00005A54, 0x000005AB, | ||
2355 | 0x00005A57, 0x00000588, 0x00005A59, 0x00000564, | ||
2356 | 0x00005A5B, 0x00000541, 0x00005A5D, 0x0000051D, | ||
2357 | 0x00005A5F, 0x000004FA, 0x00005A61, 0x000004D6, | ||
2358 | 0x00005A63, 0x000004B3, 0x00005A65, 0x0000048F, | ||
2359 | 0x00005A66, 0x0000046C, 0x00005A68, 0x00000448, | ||
2360 | 0x00005A6A, 0x00000425, 0x00005A6B, 0x00000401, | ||
2361 | 0x00005A6D, 0x000003DE, 0x00005A6E, 0x000003BA, | ||
2362 | 0x00005A70, 0x00000397, 0x00005A71, 0x00000373, | ||
2363 | 0x00005A72, 0x00000350, 0x00005A74, 0x0000032C, | ||
2364 | 0x00005A75, 0x00000309, 0x00005A76, 0x000002E5, | ||
2365 | 0x00005A77, 0x000002C2, 0x00005A78, 0x0000029E, | ||
2366 | 0x00005A79, 0x0000027B, 0x00005A7A, 0x00000257, | ||
2367 | 0x00005A7B, 0x00000234, 0x00005A7C, 0x00000210, | ||
2368 | 0x00005A7D, 0x000001ED, 0x00005A7D, 0x000001C9, | ||
2369 | 0x00005A7E, 0x000001A6, 0x00005A7F, 0x00000182, | ||
2370 | 0x00005A7F, 0x0000015E, 0x00005A80, 0x0000013B, | ||
2371 | 0x00005A80, 0x00000117, 0x00005A81, 0x000000F4, | ||
2372 | 0x00005A81, 0x000000D0, 0x00005A81, 0x000000AD, | ||
2373 | 0x00005A82, 0x00000089, 0x00005A82, 0x00000066, | ||
2374 | 0x00005A82, 0x00000042, 0x00005A82, 0x0000001F, | ||
2375 | 0x00000001, 0x00004000, 0x0000000E, 0x00003FFF, | ||
2376 | 0x0000001A, 0x00003FFF, 0x00000027, 0x00003FFF, | ||
2377 | 0x00000033, 0x00003FFF, 0x00000040, 0x00003FFF, | ||
2378 | 0x0000004C, 0x00003FFF, 0x00000059, 0x00003FFF, | ||
2379 | 0x00000066, 0x00003FFF, 0x00000072, 0x00003FFF, | ||
2380 | 0x0000007F, 0x00003FFF, 0x0000008B, 0x00003FFF, | ||
2381 | 0x00000098, 0x00003FFF, 0x000000A4, 0x00003FFF, | ||
2382 | 0x000000B1, 0x00003FFF, 0x000000BE, 0x00003FFE, | ||
2383 | 0x000000CA, 0x00003FFE, 0x000000D7, 0x00003FFE, | ||
2384 | 0x000000E3, 0x00003FFE, 0x000000F0, 0x00003FFE, | ||
2385 | 0x000000FC, 0x00003FFE, 0x00000109, 0x00003FFD, | ||
2386 | 0x00000116, 0x00003FFD, 0x00000122, 0x00003FFD, | ||
2387 | 0x0000012F, 0x00003FFD, 0x0000013B, 0x00003FFC, | ||
2388 | 0x00000148, 0x00003FFC, 0x00000154, 0x00003FFC, | ||
2389 | 0x00000161, 0x00003FFC, 0x0000016D, 0x00003FFB, | ||
2390 | 0x0000017A, 0x00003FFB, 0x00000187, 0x00003FFB, | ||
2391 | 0x00000193, 0x00003FFB, 0x000001A0, 0x00003FFA, | ||
2392 | 0x000001AC, 0x00003FFA, 0x000001B9, 0x00003FFA, | ||
2393 | 0x000001C5, 0x00003FF9, 0x000001D2, 0x00003FF9, | ||
2394 | 0x000001DF, 0x00003FF8, 0x000001EB, 0x00003FF8, | ||
2395 | 0x000001F8, 0x00003FF8, 0x00000204, 0x00003FF7, | ||
2396 | 0x00000211, 0x00003FF7, 0x0000021D, 0x00003FF7, | ||
2397 | 0x0000022A, 0x00003FF6, 0x00000236, 0x00003FF6, | ||
2398 | 0x00000243, 0x00003FF5, 0x00000250, 0x00003FF5, | ||
2399 | 0x0000025C, 0x00003FF4, 0x00000269, 0x00003FF4, | ||
2400 | 0x00000275, 0x00003FF3, 0x00000282, 0x00003FF3, | ||
2401 | 0x0000028E, 0x00003FF2, 0x0000029B, 0x00003FF2, | ||
2402 | 0x000002A7, 0x00003FF1, 0x000002B4, 0x00003FF1, | ||
2403 | 0x000002C1, 0x00003FF0, 0x000002CD, 0x00003FF0, | ||
2404 | 0x000002DA, 0x00003FEF, 0x000002E6, 0x00003FEF, | ||
2405 | 0x000002F3, 0x00003FEE, 0x000002FF, 0x00003FED, | ||
2406 | 0x0000030C, 0x00003FED, 0x00000318, 0x00003FEC, | ||
2407 | 0x00000325, 0x00003FEC, 0x00000332, 0x00003FEB, | ||
2408 | 0x0000033E, 0x00003FEA, 0x0000034B, 0x00003FEA, | ||
2409 | 0x00000357, 0x00003FE9, 0x00000364, 0x00003FE8, | ||
2410 | 0x00000370, 0x00003FE8, 0x0000037D, 0x00003FE7, | ||
2411 | 0x00000389, 0x00003FE6, 0x00000396, 0x00003FE6, | ||
2412 | 0x000003A2, 0x00003FE5, 0x000003AF, 0x00003FE4, | ||
2413 | 0x000003BC, 0x00003FE4, 0x000003C8, 0x00003FE3, | ||
2414 | 0x000003D5, 0x00003FE2, 0x000003E1, 0x00003FE1, | ||
2415 | 0x000003EE, 0x00003FE1, 0x000003FA, 0x00003FE0, | ||
2416 | 0x00000407, 0x00003FDF, 0x00000413, 0x00003FDE, | ||
2417 | 0x00000420, 0x00003FDD, 0x0000042C, 0x00003FDD, | ||
2418 | 0x00000439, 0x00003FDC, 0x00000446, 0x00003FDB, | ||
2419 | 0x00000452, 0x00003FDA, 0x0000045F, 0x00003FD9, | ||
2420 | 0x0000046B, 0x00003FD8, 0x00000478, 0x00003FD7, | ||
2421 | 0x00000484, 0x00003FD7, 0x00000491, 0x00003FD6, | ||
2422 | 0x0000049D, 0x00003FD5, 0x000004AA, 0x00003FD4, | ||
2423 | 0x000004B6, 0x00003FD3, 0x000004C3, 0x00003FD2, | ||
2424 | 0x000004CF, 0x00003FD1, 0x000004DC, 0x00003FD0, | ||
2425 | 0x000004E8, 0x00003FCF, 0x000004F5, 0x00003FCE, | ||
2426 | 0x00000502, 0x00003FCD, 0x0000050E, 0x00003FCC, | ||
2427 | 0x0000051B, 0x00003FCB, 0x00000527, 0x00003FCA, | ||
2428 | 0x00000534, 0x00003FC9, 0x00000540, 0x00003FC8, | ||
2429 | 0x0000054D, 0x00003FC7, 0x00000559, 0x00003FC6, | ||
2430 | 0x00000566, 0x00003FC5, 0x00000572, 0x00003FC4, | ||
2431 | 0x0000057F, 0x00003FC3, 0x0000058B, 0x00003FC2, | ||
2432 | 0x00000598, 0x00003FC1, 0x000005A4, 0x00003FC0, | ||
2433 | 0x000005B1, 0x00003FBF, 0x000005BD, 0x00003FBD, | ||
2434 | 0x000005CA, 0x00003FBC, 0x000005D6, 0x00003FBB, | ||
2435 | 0x000005E3, 0x00003FBA, 0x000005EF, 0x00003FB9, | ||
2436 | 0x000005FC, 0x00003FB8, 0x00000608, 0x00003FB6, | ||
2437 | 0x00000615, 0x00003FB5, 0x00000621, 0x00003FB4, | ||
2438 | 0x0000062E, 0x00003FB3, 0x0000063A, 0x00003FB2, | ||
2439 | 0x00000647, 0x00003FB0, 0x00000653, 0x00003FAF, | ||
2440 | 0x00000660, 0x00003FAE, 0x0000066C, 0x00003FAD, | ||
2441 | 0x00000679, 0x00003FAB, 0x00000685, 0x00003FAA, | ||
2442 | 0x00000692, 0x00003FA9, 0x0000069E, 0x00003FA8, | ||
2443 | 0x000006AB, 0x00003FA6, 0x000006B7, 0x00003FA5, | ||
2444 | 0x000006C4, 0x00003FA4, 0x000006D0, 0x00003FA2, | ||
2445 | 0x000006DD, 0x00003FA1, 0x000006E9, 0x00003FA0, | ||
2446 | 0x000006F6, 0x00003F9E, 0x00000702, 0x00003F9D, | ||
2447 | 0x0000070F, 0x00003F9B, 0x0000071B, 0x00003F9A, | ||
2448 | 0x00000728, 0x00003F99, 0x00000734, 0x00003F97, | ||
2449 | 0x00000741, 0x00003F96, 0x0000074D, 0x00003F94, | ||
2450 | 0x0000075A, 0x00003F93, 0x00000766, 0x00003F92, | ||
2451 | 0x00000773, 0x00003F90, 0x0000077F, 0x00003F8F, | ||
2452 | 0x0000078C, 0x00003F8D, 0x00000798, 0x00003F8C, | ||
2453 | 0x000007A5, 0x00003F8A, 0x000007B1, 0x00003F89, | ||
2454 | 0x000007BE, 0x00003F87, 0x000007CA, 0x00003F86, | ||
2455 | 0x000007D7, 0x00003F84, 0x000007E3, 0x00003F83, | ||
2456 | 0x000007F0, 0x00003F81, 0x000007FC, 0x00003F7F, | ||
2457 | 0x00000809, 0x00003F7E, 0x00000815, 0x00003F7C, | ||
2458 | 0x00000821, 0x00003F7B, 0x0000082E, 0x00003F79, | ||
2459 | 0x0000083A, 0x00003F77, 0x00000847, 0x00003F76, | ||
2460 | 0x00000853, 0x00003F74, 0x00000860, 0x00003F73, | ||
2461 | 0x0000086C, 0x00003F71, 0x00000879, 0x00003F6F, | ||
2462 | 0x00000885, 0x00003F6E, 0x00000892, 0x00003F6C, | ||
2463 | 0x0000089E, 0x00003F6A, 0x000008AA, 0x00003F69, | ||
2464 | 0x000008B7, 0x00003F67, 0x000008C3, 0x00003F65, | ||
2465 | 0x000008D0, 0x00003F63, 0x000008DC, 0x00003F62, | ||
2466 | 0x000008E9, 0x00003F60, 0x000008F5, 0x00003F5E, | ||
2467 | 0x00000902, 0x00003F5C, 0x0000090E, 0x00003F5B, | ||
2468 | 0x0000091A, 0x00003F59, 0x00000927, 0x00003F57, | ||
2469 | 0x00000933, 0x00003F55, 0x00000940, 0x00003F53, | ||
2470 | 0x0000094C, 0x00003F52, 0x00000959, 0x00003F50, | ||
2471 | 0x00000965, 0x00003F4E, 0x00000972, 0x00003F4C, | ||
2472 | 0x0000097E, 0x00003F4A, 0x0000098A, 0x00003F48, | ||
2473 | 0x00000997, 0x00003F46, 0x000009A3, 0x00003F45, | ||
2474 | 0x000009B0, 0x00003F43, 0x000009BC, 0x00003F41, | ||
2475 | 0x000009C8, 0x00003F3F, 0x000009D5, 0x00003F3D, | ||
2476 | 0x000009E1, 0x00003F3B, 0x000009EE, 0x00003F39, | ||
2477 | 0x000009FA, 0x00003F37, 0x00000A07, 0x00003F35, | ||
2478 | 0x00000A13, 0x00003F33, 0x00000A1F, 0x00003F31, | ||
2479 | 0x00000A2C, 0x00003F2F, 0x00000A38, 0x00003F2D, | ||
2480 | 0x00000A45, 0x00003F2B, 0x00000A51, 0x00003F29, | ||
2481 | 0x00000A5D, 0x00003F27, 0x00000A6A, 0x00003F25, | ||
2482 | 0x00000A76, 0x00003F23, 0x00000A83, 0x00003F21, | ||
2483 | 0x00000A8F, 0x00003F1F, 0x00000A9B, 0x00003F1D, | ||
2484 | 0x00000AA8, 0x00003F1B, 0x00000AB4, 0x00003F19, | ||
2485 | 0x00000AC1, 0x00003F17, 0x00000ACD, 0x00003F14, | ||
2486 | 0x00000AD9, 0x00003F12, 0x00000AE6, 0x00003F10, | ||
2487 | 0x00000AF2, 0x00003F0E, 0x00000AFE, 0x00003F0C, | ||
2488 | 0x00000B0B, 0x00003F0A, 0x00000B17, 0x00003F08, | ||
2489 | 0x00000B24, 0x00003F05, 0x00000B30, 0x00003F03, | ||
2490 | 0x00000B3C, 0x00003F01, 0x00000B49, 0x00003EFF, | ||
2491 | 0x00000B55, 0x00003EFD, 0x00000B61, 0x00003EFA, | ||
2492 | 0x00000B6E, 0x00003EF8, 0x00000B7A, 0x00003EF6, | ||
2493 | 0x00000B87, 0x00003EF4, 0x00000B93, 0x00003EF1, | ||
2494 | 0x00000B9F, 0x00003EEF, 0x00000BAC, 0x00003EED, | ||
2495 | 0x00000BB8, 0x00003EEA, 0x00000BC4, 0x00003EE8, | ||
2496 | 0x00000BD1, 0x00003EE6, 0x00000BDD, 0x00003EE3, | ||
2497 | 0x00000BE9, 0x00003EE1, 0x00000BF6, 0x00003EDF, | ||
2498 | 0x00000C02, 0x00003EDC, 0x00000C0E, 0x00003EDA, | ||
2499 | 0x00000C1B, 0x00003ED8, 0x00000C27, 0x00003ED5, | ||
2500 | 0x00000C33, 0x00003ED3, 0x00000C40, 0x00003ED1, | ||
2501 | 0x00000C4C, 0x00003ECE, 0x00000C58, 0x00003ECC, | ||
2502 | 0x00000C65, 0x00003EC9, 0x00000C71, 0x00003EC7, | ||
2503 | 0x00000C7D, 0x00003EC4, 0x00000C8A, 0x00003EC2, | ||
2504 | 0x00000C96, 0x00003EBF, 0x00000CA2, 0x00003EBD, | ||
2505 | 0x00000CAF, 0x00003EBA, 0x00000CBB, 0x00003EB8, | ||
2506 | 0x00000CC7, 0x00003EB5, 0x00000CD4, 0x00003EB3, | ||
2507 | 0x00000CE0, 0x00003EB0, 0x00000CEC, 0x00003EAE, | ||
2508 | 0x00000CF9, 0x00003EAB, 0x00000D05, 0x00003EA9, | ||
2509 | 0x00000D11, 0x00003EA6, 0x00000D1D, 0x00003EA4, | ||
2510 | 0x00000D2A, 0x00003EA1, 0x00000D36, 0x00003E9F, | ||
2511 | 0x00000D42, 0x00003E9C, 0x00000D4F, 0x00003E99, | ||
2512 | 0x00000D5B, 0x00003E97, 0x00000D67, 0x00003E94, | ||
2513 | 0x00000D74, 0x00003E91, 0x00000D80, 0x00003E8F, | ||
2514 | 0x00000D8C, 0x00003E8C, 0x00000D98, 0x00003E89, | ||
2515 | 0x00000DA5, 0x00003E87, 0x00000DB1, 0x00003E84, | ||
2516 | 0x00000DBD, 0x00003E81, 0x00000DC9, 0x00003E7F, | ||
2517 | 0x00000DD6, 0x00003E7C, 0x00000DE2, 0x00003E79, | ||
2518 | 0x00000DEE, 0x00003E77, 0x00000DFB, 0x00003E74, | ||
2519 | 0x00000E07, 0x00003E71, 0x00000E13, 0x00003E6E, | ||
2520 | 0x00000E1F, 0x00003E6C, 0x00000E2C, 0x00003E69, | ||
2521 | 0x00000E38, 0x00003E66, 0x00000E44, 0x00003E63, | ||
2522 | 0x00000E50, 0x00003E60, 0x00000E5D, 0x00003E5E, | ||
2523 | 0x00000E69, 0x00003E5B, 0x00000E75, 0x00003E58, | ||
2524 | 0x00000E81, 0x00003E55, 0x00000E8E, 0x00003E52, | ||
2525 | 0x00000E9A, 0x00003E4F, 0x00000EA6, 0x00003E4C, | ||
2526 | 0x00000EB2, 0x00003E4A, 0x00000EBE, 0x00003E47, | ||
2527 | 0x00000ECB, 0x00003E44, 0x00000ED7, 0x00003E41, | ||
2528 | 0x00000EE3, 0x00003E3E, 0x00000EEF, 0x00003E3B, | ||
2529 | 0x00000EFC, 0x00003E38, 0x00000F08, 0x00003E35, | ||
2530 | 0x00000F14, 0x00003E32, 0x00000F20, 0x00003E2F, | ||
2531 | 0x00000F2C, 0x00003E2C, 0x00000F39, 0x00003E29, | ||
2532 | 0x00000F45, 0x00003E26, 0x00000F51, 0x00003E23, | ||
2533 | 0x00000F5D, 0x00003E20, 0x00000F69, 0x00003E1D, | ||
2534 | 0x00000F76, 0x00003E1A, 0x00000F82, 0x00003E17, | ||
2535 | 0x00000F8E, 0x00003E14, 0x00000F9A, 0x00003E11, | ||
2536 | 0x00000FA6, 0x00003E0E, 0x00000FB3, 0x00003E0B, | ||
2537 | 0x00000FBF, 0x00003E08, 0x00000FCB, 0x00003E05, | ||
2538 | 0x00000FD7, 0x00003E02, 0x00000FE3, 0x00003DFF, | ||
2539 | 0x00000FEF, 0x00003DFB, 0x00000FFC, 0x00003DF8, | ||
2540 | 0x00001008, 0x00003DF5, 0x00001014, 0x00003DF2, | ||
2541 | 0x00001020, 0x00003DEF, 0x0000102C, 0x00003DEC, | ||
2542 | 0x00001038, 0x00003DE8, 0x00001045, 0x00003DE5, | ||
2543 | 0x00001051, 0x00003DE2, 0x0000105D, 0x00003DDF, | ||
2544 | 0x00001069, 0x00003DDC, 0x00001075, 0x00003DD8, | ||
2545 | 0x00001081, 0x00003DD5, 0x0000108D, 0x00003DD2, | ||
2546 | 0x0000109A, 0x00003DCF, 0x000010A6, 0x00003DCB, | ||
2547 | 0x000010B2, 0x00003DC8, 0x000010BE, 0x00003DC5, | ||
2548 | 0x000010CA, 0x00003DC2, 0x000010D6, 0x00003DBE, | ||
2549 | 0x000010E2, 0x00003DBB, 0x000010EE, 0x00003DB8, | ||
2550 | 0x000010FB, 0x00003DB4, 0x00001107, 0x00003DB1, | ||
2551 | 0x00001113, 0x00003DAE, 0x0000111F, 0x00003DAA, | ||
2552 | 0x0000112B, 0x00003DA7, 0x00001137, 0x00003DA3, | ||
2553 | 0x00001143, 0x00003DA0, 0x0000114F, 0x00003D9D, | ||
2554 | 0x0000115B, 0x00003D99, 0x00001168, 0x00003D96, | ||
2555 | 0x00001174, 0x00003D92, 0x00001180, 0x00003D8F, | ||
2556 | 0x0000118C, 0x00003D8C, 0x00001198, 0x00003D88, | ||
2557 | 0x000011A4, 0x00003D85, 0x000011B0, 0x00003D81, | ||
2558 | 0x000011BC, 0x00003D7E, 0x000011C8, 0x00003D7A, | ||
2559 | 0x000011D4, 0x00003D77, 0x000011E0, 0x00003D73, | ||
2560 | 0x000011EC, 0x00003D70, 0x000011F8, 0x00003D6C, | ||
2561 | 0x00001205, 0x00003D69, 0x00001211, 0x00003D65, | ||
2562 | 0x0000121D, 0x00003D62, 0x00001229, 0x00003D5E, | ||
2563 | 0x00001235, 0x00003D5A, 0x00001241, 0x00003D57, | ||
2564 | 0x0000124D, 0x00003D53, 0x00001259, 0x00003D50, | ||
2565 | 0x00001265, 0x00003D4C, 0x00001271, 0x00003D48, | ||
2566 | 0x0000127D, 0x00003D45, 0x00001289, 0x00003D41, | ||
2567 | 0x00001295, 0x00003D3E, 0x000012A1, 0x00003D3A, | ||
2568 | 0x000012AD, 0x00003D36, 0x000012B9, 0x00003D33, | ||
2569 | 0x000012C5, 0x00003D2F, 0x000012D1, 0x00003D2B, | ||
2570 | 0x000012DD, 0x00003D27, 0x000012E9, 0x00003D24, | ||
2571 | 0x000012F5, 0x00003D20, 0x00001301, 0x00003D1C, | ||
2572 | 0x0000130D, 0x00003D19, 0x00001319, 0x00003D15, | ||
2573 | 0x00001325, 0x00003D11, 0x00001331, 0x00003D0D, | ||
2574 | 0x0000133D, 0x00003D0A, 0x00001349, 0x00003D06, | ||
2575 | 0x00001355, 0x00003D02, 0x00001361, 0x00003CFE, | ||
2576 | 0x0000136D, 0x00003CFA, 0x00001379, 0x00003CF7, | ||
2577 | 0x00001385, 0x00003CF3, 0x00001391, 0x00003CEF, | ||
2578 | 0x0000139D, 0x00003CEB, 0x000013A9, 0x00003CE7, | ||
2579 | 0x000013B5, 0x00003CE3, 0x000013C1, 0x00003CDF, | ||
2580 | 0x000013CD, 0x00003CDC, 0x000013D9, 0x00003CD8, | ||
2581 | 0x000013E5, 0x00003CD4, 0x000013F1, 0x00003CD0, | ||
2582 | 0x000013FC, 0x00003CCC, 0x00001408, 0x00003CC8, | ||
2583 | 0x00001414, 0x00003CC4, 0x00001420, 0x00003CC0, | ||
2584 | 0x0000142C, 0x00003CBC, 0x00001438, 0x00003CB8, | ||
2585 | 0x00001444, 0x00003CB4, 0x00001450, 0x00003CB0, | ||
2586 | 0x0000145C, 0x00003CAC, 0x00001468, 0x00003CA8, | ||
2587 | 0x00001474, 0x00003CA4, 0x00001480, 0x00003CA0, | ||
2588 | 0x0000148C, 0x00003C9C, 0x00001497, 0x00003C98, | ||
2589 | 0x000014A3, 0x00003C94, 0x000014AF, 0x00003C90, | ||
2590 | 0x000014BB, 0x00003C8C, 0x000014C7, 0x00003C88, | ||
2591 | 0x000014D3, 0x00003C84, 0x000014DF, 0x00003C80, | ||
2592 | 0x000014EB, 0x00003C7C, 0x000014F7, 0x00003C78, | ||
2593 | 0x00001502, 0x00003C73, 0x0000150E, 0x00003C6F, | ||
2594 | 0x0000151A, 0x00003C6B, 0x00001526, 0x00003C67, | ||
2595 | 0x00001532, 0x00003C63, 0x0000153E, 0x00003C5F, | ||
2596 | 0x0000154A, 0x00003C5A, 0x00001555, 0x00003C56, | ||
2597 | 0x00001561, 0x00003C52, 0x0000156D, 0x00003C4E, | ||
2598 | 0x00001579, 0x00003C4A, 0x00001585, 0x00003C45, | ||
2599 | 0x00001591, 0x00003C41, 0x0000159C, 0x00003C3D, | ||
2600 | 0x000015A8, 0x00003C39, 0x000015B4, 0x00003C34, | ||
2601 | 0x000015C0, 0x00003C30, 0x000015CC, 0x00003C2C, | ||
2602 | 0x000015D8, 0x00003C28, 0x000015E3, 0x00003C23, | ||
2603 | 0x000015EF, 0x00003C1F, 0x000015FB, 0x00003C1B, | ||
2604 | 0x00001607, 0x00003C16, 0x00001613, 0x00003C12, | ||
2605 | 0x0000161E, 0x00003C0E, 0x0000162A, 0x00003C09, | ||
2606 | 0x00001636, 0x00003C05, 0x00001642, 0x00003C01, | ||
2607 | 0x0000164D, 0x00003BFC, 0x00001659, 0x00003BF8, | ||
2608 | 0x00001665, 0x00003BF4, 0x00001671, 0x00003BEF, | ||
2609 | 0x0000167D, 0x00003BEB, 0x00001688, 0x00003BE6, | ||
2610 | 0x00001694, 0x00003BE2, 0x000016A0, 0x00003BDD, | ||
2611 | 0x000016AC, 0x00003BD9, 0x000016B7, 0x00003BD5, | ||
2612 | 0x000016C3, 0x00003BD0, 0x000016CF, 0x00003BCC, | ||
2613 | 0x000016DB, 0x00003BC7, 0x000016E6, 0x00003BC3, | ||
2614 | 0x000016F2, 0x00003BBE, 0x000016FE, 0x00003BBA, | ||
2615 | 0x00001709, 0x00003BB5, 0x00001715, 0x00003BB1, | ||
2616 | 0x00001721, 0x00003BAC, 0x0000172D, 0x00003BA7, | ||
2617 | 0x00001738, 0x00003BA3, 0x00001744, 0x00003B9E, | ||
2618 | 0x00001750, 0x00003B9A, 0x0000175B, 0x00003B95, | ||
2619 | 0x00001767, 0x00003B91, 0x00001773, 0x00003B8C, | ||
2620 | 0x0000177F, 0x00003B87, 0x0000178A, 0x00003B83, | ||
2621 | 0x00001796, 0x00003B7E, 0x000017A2, 0x00003B7A, | ||
2622 | 0x000017AD, 0x00003B75, 0x000017B9, 0x00003B70, | ||
2623 | 0x000017C5, 0x00003B6C, 0x000017D0, 0x00003B67, | ||
2624 | 0x000017DC, 0x00003B62, 0x000017E8, 0x00003B5E, | ||
2625 | 0x000017F3, 0x00003B59, 0x000017FF, 0x00003B54, | ||
2626 | 0x0000180B, 0x00003B4F, 0x00001816, 0x00003B4B, | ||
2627 | 0x00001822, 0x00003B46, 0x0000182D, 0x00003B41, | ||
2628 | 0x00001839, 0x00003B3C, 0x00001845, 0x00003B38, | ||
2629 | 0x00001850, 0x00003B33, 0x0000185C, 0x00003B2E, | ||
2630 | 0x00001868, 0x00003B29, 0x00001873, 0x00003B25, | ||
2631 | 0x0000187F, 0x00003B20, 0x0000188A, 0x00003B1B, | ||
2632 | 0x00001896, 0x00003B16, 0x000018A2, 0x00003B11, | ||
2633 | 0x000018AD, 0x00003B0C, 0x000018B9, 0x00003B08, | ||
2634 | 0x000018C4, 0x00003B03, 0x000018D0, 0x00003AFE, | ||
2635 | 0x000018DC, 0x00003AF9, 0x000018E7, 0x00003AF4, | ||
2636 | 0x000018F3, 0x00003AEF, 0x000018FE, 0x00003AEA, | ||
2637 | 0x0000190A, 0x00003AE5, 0x00001915, 0x00003AE0, | ||
2638 | 0x00001921, 0x00003ADC, 0x0000192D, 0x00003AD7, | ||
2639 | 0x00001938, 0x00003AD2, 0x00001944, 0x00003ACD, | ||
2640 | 0x0000194F, 0x00003AC8, 0x0000195B, 0x00003AC3, | ||
2641 | 0x00001966, 0x00003ABE, 0x00001972, 0x00003AB9, | ||
2642 | 0x0000197D, 0x00003AB4, 0x00001989, 0x00003AAF, | ||
2643 | 0x00001994, 0x00003AAA, 0x000019A0, 0x00003AA5, | ||
2644 | 0x000019AB, 0x00003AA0, 0x000019B7, 0x00003A9B, | ||
2645 | 0x000019C2, 0x00003A96, 0x000019CE, 0x00003A91, | ||
2646 | 0x000019D9, 0x00003A8B, 0x000019E5, 0x00003A86, | ||
2647 | 0x000019F0, 0x00003A81, 0x000019FC, 0x00003A7C, | ||
2648 | 0x00001A07, 0x00003A77, 0x00001A13, 0x00003A72, | ||
2649 | 0x00001A1E, 0x00003A6D, 0x00001A2A, 0x00003A68, | ||
2650 | 0x00001A35, 0x00003A63, 0x00001A41, 0x00003A5D, | ||
2651 | 0x00001A4C, 0x00003A58, 0x00001A58, 0x00003A53, | ||
2652 | 0x00001A63, 0x00003A4E, 0x00001A6F, 0x00003A49, | ||
2653 | 0x00001A7A, 0x00003A44, 0x00001A85, 0x00003A3E, | ||
2654 | 0x00001A91, 0x00003A39, 0x00001A9C, 0x00003A34, | ||
2655 | 0x00001AA8, 0x00003A2F, 0x00001AB3, 0x00003A29, | ||
2656 | 0x00001ABF, 0x00003A24, 0x00001ACA, 0x00003A1F, | ||
2657 | 0x00001AD5, 0x00003A1A, 0x00001AE1, 0x00003A14, | ||
2658 | 0x00001AEC, 0x00003A0F, 0x00001AF8, 0x00003A0A, | ||
2659 | 0x00001B03, 0x00003A05, 0x00001B0E, 0x000039FF, | ||
2660 | 0x00001B1A, 0x000039FA, 0x00001B25, 0x000039F5, | ||
2661 | 0x00001B31, 0x000039EF, 0x00001B3C, 0x000039EA, | ||
2662 | 0x00001B47, 0x000039E5, 0x00001B53, 0x000039DF, | ||
2663 | 0x00001B5E, 0x000039DA, 0x00001B69, 0x000039D4, | ||
2664 | 0x00001B75, 0x000039CF, 0x00001B80, 0x000039CA, | ||
2665 | 0x00001B8B, 0x000039C4, 0x00001B97, 0x000039BF, | ||
2666 | 0x00001BA2, 0x000039B9, 0x00001BAD, 0x000039B4, | ||
2667 | 0x00001BB9, 0x000039AF, 0x00001BC4, 0x000039A9, | ||
2668 | 0x00001BCF, 0x000039A4, 0x00001BDB, 0x0000399E, | ||
2669 | 0x00001BE6, 0x00003999, 0x00001BF1, 0x00003993, | ||
2670 | 0x00001BFD, 0x0000398E, 0x00001C08, 0x00003988, | ||
2671 | 0x00001C13, 0x00003983, 0x00001C1E, 0x0000397D, | ||
2672 | 0x00001C2A, 0x00003978, 0x00001C35, 0x00003972, | ||
2673 | 0x00001C40, 0x0000396D, 0x00001C4C, 0x00003967, | ||
2674 | 0x00001C57, 0x00003961, 0x00001C62, 0x0000395C, | ||
2675 | 0x00001C6D, 0x00003956, 0x00001C79, 0x00003951, | ||
2676 | 0x00001C84, 0x0000394B, 0x00001C8F, 0x00003946, | ||
2677 | 0x00001C9A, 0x00003940, 0x00001CA6, 0x0000393A, | ||
2678 | 0x00001CB1, 0x00003935, 0x00001CBC, 0x0000392F, | ||
2679 | 0x00001CC7, 0x00003929, 0x00001CD3, 0x00003924, | ||
2680 | 0x00001CDE, 0x0000391E, 0x00001CE9, 0x00003918, | ||
2681 | 0x00001CF4, 0x00003913, 0x00001CFF, 0x0000390D, | ||
2682 | 0x00001D0B, 0x00003907, 0x00001D16, 0x00003902, | ||
2683 | 0x00001D21, 0x000038FC, 0x00001D2C, 0x000038F6, | ||
2684 | 0x00001D37, 0x000038F0, 0x00001D43, 0x000038EB, | ||
2685 | 0x00001D4E, 0x000038E5, 0x00001D59, 0x000038DF, | ||
2686 | 0x00001D64, 0x000038D9, 0x00001D6F, 0x000038D4, | ||
2687 | 0x00001D7A, 0x000038CE, 0x00001D86, 0x000038C8, | ||
2688 | 0x00001D91, 0x000038C2, 0x00001D9C, 0x000038BC, | ||
2689 | 0x00001DA7, 0x000038B7, 0x00001DB2, 0x000038B1, | ||
2690 | 0x00001DBD, 0x000038AB, 0x00001DC8, 0x000038A5, | ||
2691 | 0x00001DD3, 0x0000389F, 0x00001DDF, 0x00003899, | ||
2692 | 0x00001DEA, 0x00003894, 0x00001DF5, 0x0000388E, | ||
2693 | 0x00001E00, 0x00003888, 0x00001E0B, 0x00003882, | ||
2694 | 0x00001E16, 0x0000387C, 0x00001E21, 0x00003876, | ||
2695 | 0x00001E2C, 0x00003870, 0x00001E37, 0x0000386A, | ||
2696 | 0x00001E42, 0x00003864, 0x00001E4D, 0x0000385E, | ||
2697 | 0x00001E59, 0x00003858, 0x00001E64, 0x00003852, | ||
2698 | 0x00001E6F, 0x0000384C, 0x00001E7A, 0x00003846, | ||
2699 | 0x00001E85, 0x00003840, 0x00001E90, 0x0000383A, | ||
2700 | 0x00001E9B, 0x00003834, 0x00001EA6, 0x0000382E, | ||
2701 | 0x00001EB1, 0x00003828, 0x00001EBC, 0x00003822, | ||
2702 | 0x00001EC7, 0x0000381C, 0x00001ED2, 0x00003816, | ||
2703 | 0x00001EDD, 0x00003810, 0x00001EE8, 0x0000380A, | ||
2704 | 0x00001EF3, 0x00003804, 0x00001EFE, 0x000037FE, | ||
2705 | 0x00001F09, 0x000037F8, 0x00001F14, 0x000037F2, | ||
2706 | 0x00001F1F, 0x000037EC, 0x00001F2A, 0x000037E6, | ||
2707 | 0x00001F35, 0x000037E0, 0x00001F40, 0x000037D9, | ||
2708 | 0x00001F4B, 0x000037D3, 0x00001F56, 0x000037CD, | ||
2709 | 0x00001F61, 0x000037C7, 0x00001F6C, 0x000037C1, | ||
2710 | 0x00001F77, 0x000037BB, 0x00001F82, 0x000037B4, | ||
2711 | 0x00001F8D, 0x000037AE, 0x00001F97, 0x000037A8, | ||
2712 | 0x00001FA2, 0x000037A2, 0x00001FAD, 0x0000379C, | ||
2713 | 0x00001FB8, 0x00003795, 0x00001FC3, 0x0000378F, | ||
2714 | 0x00001FCE, 0x00003789, 0x00001FD9, 0x00003783, | ||
2715 | 0x00001FE4, 0x0000377C, 0x00001FEF, 0x00003776, | ||
2716 | 0x00001FFA, 0x00003770, 0x00002004, 0x0000376A, | ||
2717 | 0x0000200F, 0x00003763, 0x0000201A, 0x0000375D, | ||
2718 | 0x00002025, 0x00003757, 0x00002030, 0x00003750, | ||
2719 | 0x0000203B, 0x0000374A, 0x00002046, 0x00003744, | ||
2720 | 0x00002051, 0x0000373D, 0x0000205B, 0x00003737, | ||
2721 | 0x00002066, 0x00003731, 0x00002071, 0x0000372A, | ||
2722 | 0x0000207C, 0x00003724, 0x00002087, 0x0000371E, | ||
2723 | 0x00002092, 0x00003717, 0x0000209C, 0x00003711, | ||
2724 | 0x000020A7, 0x0000370A, 0x000020B2, 0x00003704, | ||
2725 | 0x000020BD, 0x000036FD, 0x000020C8, 0x000036F7, | ||
2726 | 0x000020D2, 0x000036F1, 0x000020DD, 0x000036EA, | ||
2727 | 0x000020E8, 0x000036E4, 0x000020F3, 0x000036DD, | ||
2728 | 0x000020FD, 0x000036D7, 0x00002108, 0x000036D0, | ||
2729 | 0x00002113, 0x000036CA, 0x0000211E, 0x000036C3, | ||
2730 | 0x00002128, 0x000036BD, 0x00002133, 0x000036B6, | ||
2731 | 0x0000213E, 0x000036B0, 0x00002149, 0x000036A9, | ||
2732 | 0x00002153, 0x000036A3, 0x0000215E, 0x0000369C, | ||
2733 | 0x00002169, 0x00003696, 0x00002174, 0x0000368F, | ||
2734 | 0x0000217E, 0x00003688, 0x00002189, 0x00003682, | ||
2735 | 0x00002194, 0x0000367B, 0x0000219E, 0x00003675, | ||
2736 | 0x000021A9, 0x0000366E, 0x000021B4, 0x00003667, | ||
2737 | 0x000021BE, 0x00003661, 0x000021C9, 0x0000365A, | ||
2738 | 0x000021D4, 0x00003654, 0x000021DE, 0x0000364D, | ||
2739 | 0x000021E9, 0x00003646, 0x000021F4, 0x00003640, | ||
2740 | 0x000021FE, 0x00003639, 0x00002209, 0x00003632, | ||
2741 | 0x00002214, 0x0000362C, 0x0000221E, 0x00003625, | ||
2742 | 0x00002229, 0x0000361E, 0x00002234, 0x00003617, | ||
2743 | 0x0000223E, 0x00003611, 0x00002249, 0x0000360A, | ||
2744 | 0x00002253, 0x00003603, 0x0000225E, 0x000035FD, | ||
2745 | 0x00002269, 0x000035F6, 0x00002273, 0x000035EF, | ||
2746 | 0x0000227E, 0x000035E8, 0x00002288, 0x000035E1, | ||
2747 | 0x00002293, 0x000035DB, 0x0000229E, 0x000035D4, | ||
2748 | 0x000022A8, 0x000035CD, 0x000022B3, 0x000035C6, | ||
2749 | 0x000022BD, 0x000035BF, 0x000022C8, 0x000035B9, | ||
2750 | 0x000022D2, 0x000035B2, 0x000022DD, 0x000035AB, | ||
2751 | 0x000022E7, 0x000035A4, 0x000022F2, 0x0000359D, | ||
2752 | 0x000022FC, 0x00003596, 0x00002307, 0x00003590, | ||
2753 | 0x00002312, 0x00003589, 0x0000231C, 0x00003582, | ||
2754 | 0x00002327, 0x0000357B, 0x00002331, 0x00003574, | ||
2755 | 0x0000233C, 0x0000356D, 0x00002346, 0x00003566, | ||
2756 | 0x00002350, 0x0000355F, 0x0000235B, 0x00003558, | ||
2757 | 0x00002365, 0x00003551, 0x00002370, 0x0000354A, | ||
2758 | 0x0000237A, 0x00003543, 0x00002385, 0x0000353C, | ||
2759 | 0x0000238F, 0x00003535, 0x0000239A, 0x0000352E, | ||
2760 | 0x000023A4, 0x00003527, 0x000023AF, 0x00003520, | ||
2761 | 0x000023B9, 0x00003519, 0x000023C3, 0x00003512, | ||
2762 | 0x000023CE, 0x0000350B, 0x000023D8, 0x00003504, | ||
2763 | 0x000023E3, 0x000034FD, 0x000023ED, 0x000034F6, | ||
2764 | 0x000023F7, 0x000034EF, 0x00002402, 0x000034E8, | ||
2765 | 0x0000240C, 0x000034E1, 0x00002417, 0x000034DA, | ||
2766 | 0x00002421, 0x000034D3, 0x0000242B, 0x000034CC, | ||
2767 | 0x00002436, 0x000034C5, 0x00002440, 0x000034BE, | ||
2768 | 0x0000244A, 0x000034B6, 0x00002455, 0x000034AF, | ||
2769 | 0x0000245F, 0x000034A8, 0x00002469, 0x000034A1, | ||
2770 | 0x00002474, 0x0000349A, 0x0000247E, 0x00003493, | ||
2771 | 0x00002488, 0x0000348C, 0x00002493, 0x00003484, | ||
2772 | 0x0000249D, 0x0000347D, 0x000024A7, 0x00003476, | ||
2773 | 0x000024B2, 0x0000346F, 0x000024BC, 0x00003468, | ||
2774 | 0x000024C6, 0x00003460, 0x000024D1, 0x00003459, | ||
2775 | 0x000024DB, 0x00003452, 0x000024E5, 0x0000344B, | ||
2776 | 0x000024EF, 0x00003443, 0x000024FA, 0x0000343C, | ||
2777 | 0x00002504, 0x00003435, 0x0000250E, 0x0000342E, | ||
2778 | 0x00002518, 0x00003426, 0x00002523, 0x0000341F, | ||
2779 | 0x0000252D, 0x00003418, 0x00002537, 0x00003410, | ||
2780 | 0x00002541, 0x00003409, 0x0000254B, 0x00003402, | ||
2781 | 0x00002556, 0x000033FA, 0x00002560, 0x000033F3, | ||
2782 | 0x0000256A, 0x000033EC, 0x00002574, 0x000033E4, | ||
2783 | 0x0000257E, 0x000033DD, 0x00002589, 0x000033D6, | ||
2784 | 0x00002593, 0x000033CE, 0x0000259D, 0x000033C7, | ||
2785 | 0x000025A7, 0x000033C0, 0x000025B1, 0x000033B8, | ||
2786 | 0x000025BB, 0x000033B1, 0x000025C6, 0x000033A9, | ||
2787 | 0x000025D0, 0x000033A2, 0x000025DA, 0x0000339B, | ||
2788 | 0x000025E4, 0x00003393, 0x000025EE, 0x0000338C, | ||
2789 | 0x000025F8, 0x00003384, 0x00002602, 0x0000337D, | ||
2790 | 0x0000260D, 0x00003375, 0x00002617, 0x0000336E, | ||
2791 | 0x00002621, 0x00003366, 0x0000262B, 0x0000335F, | ||
2792 | 0x00002635, 0x00003357, 0x0000263F, 0x00003350, | ||
2793 | 0x00002649, 0x00003348, 0x00002653, 0x00003341, | ||
2794 | 0x0000265D, 0x00003339, 0x00002667, 0x00003332, | ||
2795 | 0x00002671, 0x0000332A, 0x0000267B, 0x00003323, | ||
2796 | 0x00002685, 0x0000331B, 0x0000268F, 0x00003313, | ||
2797 | 0x00002699, 0x0000330C, 0x000026A3, 0x00003304, | ||
2798 | 0x000026AD, 0x000032FD, 0x000026B7, 0x000032F5, | ||
2799 | 0x000026C1, 0x000032EE, 0x000026CB, 0x000032E6, | ||
2800 | 0x000026D5, 0x000032DE, 0x000026DF, 0x000032D7, | ||
2801 | 0x000026E9, 0x000032CF, 0x000026F3, 0x000032C7, | ||
2802 | 0x000026FD, 0x000032C0, 0x00002707, 0x000032B8, | ||
2803 | 0x00002711, 0x000032B0, 0x0000271B, 0x000032A9, | ||
2804 | 0x00002725, 0x000032A1, 0x0000272F, 0x00003299, | ||
2805 | 0x00002739, 0x00003292, 0x00002743, 0x0000328A, | ||
2806 | 0x0000274D, 0x00003282, 0x00002757, 0x0000327B, | ||
2807 | 0x00002761, 0x00003273, 0x0000276B, 0x0000326B, | ||
2808 | 0x00002774, 0x00003263, 0x0000277E, 0x0000325C, | ||
2809 | 0x00002788, 0x00003254, 0x00002792, 0x0000324C, | ||
2810 | 0x0000279C, 0x00003244, 0x000027A6, 0x0000323C, | ||
2811 | 0x000027B0, 0x00003235, 0x000027BA, 0x0000322D, | ||
2812 | 0x000027C3, 0x00003225, 0x000027CD, 0x0000321D, | ||
2813 | 0x000027D7, 0x00003215, 0x000027E1, 0x0000320E, | ||
2814 | 0x000027EB, 0x00003206, 0x000027F5, 0x000031FE, | ||
2815 | 0x000027FE, 0x000031F6, 0x00002808, 0x000031EE, | ||
2816 | 0x00002812, 0x000031E6, 0x0000281C, 0x000031DF, | ||
2817 | 0x00002826, 0x000031D7, 0x0000282F, 0x000031CF, | ||
2818 | 0x00002839, 0x000031C7, 0x00002843, 0x000031BF, | ||
2819 | 0x0000284D, 0x000031B7, 0x00002856, 0x000031AF, | ||
2820 | 0x00002860, 0x000031A7, 0x0000286A, 0x0000319F, | ||
2821 | 0x00002874, 0x00003197, 0x0000287D, 0x0000318F, | ||
2822 | 0x00002887, 0x00003187, 0x00002891, 0x0000317F, | ||
2823 | 0x0000289B, 0x00003178, 0x000028A4, 0x00003170, | ||
2824 | 0x000028AE, 0x00003168, 0x000028B8, 0x00003160, | ||
2825 | 0x000028C1, 0x00003158, 0x000028CB, 0x00003150, | ||
2826 | 0x000028D5, 0x00003148, 0x000028DE, 0x00003140, | ||
2827 | 0x000028E8, 0x00003137, 0x000028F2, 0x0000312F, | ||
2828 | 0x000028FB, 0x00003127, 0x00002905, 0x0000311F, | ||
2829 | 0x0000290F, 0x00003117, 0x00002918, 0x0000310F, | ||
2830 | 0x00002922, 0x00003107, 0x0000292C, 0x000030FF, | ||
2831 | 0x00002935, 0x000030F7, 0x0000293F, 0x000030EF, | ||
2832 | 0x00002948, 0x000030E7, 0x00002952, 0x000030DF, | ||
2833 | 0x0000295C, 0x000030D7, 0x00002965, 0x000030CE, | ||
2834 | 0x0000296F, 0x000030C6, 0x00002978, 0x000030BE, | ||
2835 | 0x00002982, 0x000030B6, 0x0000298C, 0x000030AE, | ||
2836 | 0x00002995, 0x000030A6, 0x0000299F, 0x0000309E, | ||
2837 | 0x000029A8, 0x00003095, 0x000029B2, 0x0000308D, | ||
2838 | 0x000029BB, 0x00003085, 0x000029C5, 0x0000307D, | ||
2839 | 0x000029CE, 0x00003075, 0x000029D8, 0x0000306C, | ||
2840 | 0x000029E1, 0x00003064, 0x000029EB, 0x0000305C, | ||
2841 | 0x000029F4, 0x00003054, 0x000029FE, 0x0000304B, | ||
2842 | 0x00002A07, 0x00003043, 0x00002A11, 0x0000303B, | ||
2843 | 0x00002A1A, 0x00003033, 0x00002A24, 0x0000302A, | ||
2844 | 0x00002A2D, 0x00003022, 0x00002A37, 0x0000301A, | ||
2845 | 0x00002A40, 0x00003012, 0x00002A49, 0x00003009, | ||
2846 | 0x00002A53, 0x00003001, 0x00002A5C, 0x00002FF9, | ||
2847 | 0x00002A66, 0x00002FF0, 0x00002A6F, 0x00002FE8, | ||
2848 | 0x00002A79, 0x00002FE0, 0x00002A82, 0x00002FD7, | ||
2849 | 0x00002A8B, 0x00002FCF, 0x00002A95, 0x00002FC7, | ||
2850 | 0x00002A9E, 0x00002FBE, 0x00002AA7, 0x00002FB6, | ||
2851 | 0x00002AB1, 0x00002FAD, 0x00002ABA, 0x00002FA5, | ||
2852 | 0x00002AC4, 0x00002F9D, 0x00002ACD, 0x00002F94, | ||
2853 | 0x00002AD6, 0x00002F8C, 0x00002AE0, 0x00002F83, | ||
2854 | 0x00002AE9, 0x00002F7B, 0x00002AF2, 0x00002F73, | ||
2855 | 0x00002AFB, 0x00002F6A, 0x00002B05, 0x00002F62, | ||
2856 | 0x00002B0E, 0x00002F59, 0x00002B17, 0x00002F51, | ||
2857 | 0x00002B21, 0x00002F48, 0x00002B2A, 0x00002F40, | ||
2858 | 0x00002B33, 0x00002F37, 0x00002B3C, 0x00002F2F, | ||
2859 | 0x00002B46, 0x00002F26, 0x00002B4F, 0x00002F1E, | ||
2860 | 0x00002B58, 0x00002F15, 0x00002B62, 0x00002F0D, | ||
2861 | 0x00002B6B, 0x00002F04, 0x00002B74, 0x00002EFC, | ||
2862 | 0x00002B7D, 0x00002EF3, 0x00002B86, 0x00002EEB, | ||
2863 | 0x00002B90, 0x00002EE2, 0x00002B99, 0x00002EDA, | ||
2864 | 0x00002BA2, 0x00002ED1, 0x00002BAB, 0x00002EC9, | ||
2865 | 0x00002BB4, 0x00002EC0, 0x00002BBE, 0x00002EB7, | ||
2866 | 0x00002BC7, 0x00002EAF, 0x00002BD0, 0x00002EA6, | ||
2867 | 0x00002BD9, 0x00002E9E, 0x00002BE2, 0x00002E95, | ||
2868 | 0x00002BEB, 0x00002E8C, 0x00002BF4, 0x00002E84, | ||
2869 | 0x00002BFE, 0x00002E7B, 0x00002C07, 0x00002E72, | ||
2870 | 0x00002C10, 0x00002E6A, 0x00002C19, 0x00002E61, | ||
2871 | 0x00002C22, 0x00002E58, 0x00002C2B, 0x00002E50, | ||
2872 | 0x00002C34, 0x00002E47, 0x00002C3D, 0x00002E3E, | ||
2873 | 0x00002C46, 0x00002E36, 0x00002C4F, 0x00002E2D, | ||
2874 | 0x00002C59, 0x00002E24, 0x00002C62, 0x00002E1C, | ||
2875 | 0x00002C6B, 0x00002E13, 0x00002C74, 0x00002E0A, | ||
2876 | 0x00002C7D, 0x00002E01, 0x00002C86, 0x00002DF9, | ||
2877 | 0x00002C8F, 0x00002DF0, 0x00002C98, 0x00002DE7, | ||
2878 | 0x00002CA1, 0x00002DDE, 0x00002CAA, 0x00002DD6, | ||
2879 | 0x00002CB3, 0x00002DCD, 0x00002CBC, 0x00002DC4, | ||
2880 | 0x00002CC5, 0x00002DBB, 0x00002CCE, 0x00002DB3, | ||
2881 | 0x00002CD7, 0x00002DAA, 0x00002CE0, 0x00002DA1, | ||
2882 | 0x00002CE9, 0x00002D98, 0x00002CF2, 0x00002D8F, | ||
2883 | 0x00002CFB, 0x00002D87, 0x00002D03, 0x00002D7E, | ||
2884 | 0x00002D0C, 0x00002D75, 0x00002D15, 0x00002D6C, | ||
2885 | 0x00002D1E, 0x00002D63, 0x00002D27, 0x00002D5A, | ||
2886 | 0x00002D30, 0x00002D51, 0x00002D39, 0x00002D49, | ||
2887 | 0x00002D42, 0x00002D40, 0x00002D4B, 0x00002D37, | ||
2888 | 0x00002D54, 0x00002D2E, 0x00002D5C, 0x00002D25, | ||
2889 | 0x00002D65, 0x00002D1C, 0x00002D6E, 0x00002D13, | ||
2890 | 0x00002D77, 0x00002D0A, 0x00002D80, 0x00002D01, | ||
2891 | 0x00002D89, 0x00002CF8, 0x00002D92, 0x00002CEF, | ||
2892 | 0x00002D9A, 0x00002CE6, 0x00002DA3, 0x00002CDD, | ||
2893 | 0x00002DAC, 0x00002CD4, 0x00002DB5, 0x00002CCC, | ||
2894 | 0x00002DBE, 0x00002CC3, 0x00002DC6, 0x00002CBA, | ||
2895 | 0x00002DCF, 0x00002CB1, 0x00002DD8, 0x00002CA8, | ||
2896 | 0x00002DE1, 0x00002C9F, 0x00002DE9, 0x00002C96, | ||
2897 | 0x00002DF2, 0x00002C8D, 0x00002DFB, 0x00002C84, | ||
2898 | 0x00002E04, 0x00002C7A, 0x00002E0C, 0x00002C71, | ||
2899 | 0x00002E15, 0x00002C68, 0x00002E1E, 0x00002C5F, | ||
2900 | 0x00002E27, 0x00002C56, 0x00002E2F, 0x00002C4D, | ||
2901 | 0x00002E38, 0x00002C44, 0x00002E41, 0x00002C3B, | ||
2902 | 0x00002E49, 0x00002C32, 0x00002E52, 0x00002C29, | ||
2903 | 0x00002E5B, 0x00002C20, 0x00002E63, 0x00002C17, | ||
2904 | 0x00002E6C, 0x00002C0E, 0x00002E75, 0x00002C04, | ||
2905 | 0x00002E7D, 0x00002BFB, 0x00002E86, 0x00002BF2, | ||
2906 | 0x00002E8F, 0x00002BE9, 0x00002E97, 0x00002BE0, | ||
2907 | 0x00002EA0, 0x00002BD7, 0x00002EA8, 0x00002BCE, | ||
2908 | 0x00002EB1, 0x00002BC4, 0x00002EBA, 0x00002BBB, | ||
2909 | 0x00002EC2, 0x00002BB2, 0x00002ECB, 0x00002BA9, | ||
2910 | 0x00002ED3, 0x00002BA0, 0x00002EDC, 0x00002B97, | ||
2911 | 0x00002EE4, 0x00002B8D, 0x00002EED, 0x00002B84, | ||
2912 | 0x00002EF5, 0x00002B7B, 0x00002EFE, 0x00002B72, | ||
2913 | 0x00002F07, 0x00002B68, 0x00002F0F, 0x00002B5F, | ||
2914 | 0x00002F18, 0x00002B56, 0x00002F20, 0x00002B4D, | ||
2915 | 0x00002F29, 0x00002B43, 0x00002F31, 0x00002B3A, | ||
2916 | 0x00002F3A, 0x00002B31, 0x00002F42, 0x00002B28, | ||
2917 | 0x00002F4A, 0x00002B1E, 0x00002F53, 0x00002B15, | ||
2918 | 0x00002F5B, 0x00002B0C, 0x00002F64, 0x00002B02, | ||
2919 | 0x00002F6C, 0x00002AF9, 0x00002F75, 0x00002AF0, | ||
2920 | 0x00002F7D, 0x00002AE7, 0x00002F86, 0x00002ADD, | ||
2921 | 0x00002F8E, 0x00002AD4, 0x00002F96, 0x00002ACB, | ||
2922 | 0x00002F9F, 0x00002AC1, 0x00002FA7, 0x00002AB8, | ||
2923 | 0x00002FB0, 0x00002AAE, 0x00002FB8, 0x00002AA5, | ||
2924 | 0x00002FC0, 0x00002A9C, 0x00002FC9, 0x00002A92, | ||
2925 | 0x00002FD1, 0x00002A89, 0x00002FD9, 0x00002A80, | ||
2926 | 0x00002FE2, 0x00002A76, 0x00002FEA, 0x00002A6D, | ||
2927 | 0x00002FF2, 0x00002A63, 0x00002FFB, 0x00002A5A, | ||
2928 | 0x00003003, 0x00002A51, 0x0000300B, 0x00002A47, | ||
2929 | 0x00003014, 0x00002A3E, 0x0000301C, 0x00002A34, | ||
2930 | 0x00003024, 0x00002A2B, 0x0000302C, 0x00002A21, | ||
2931 | 0x00003035, 0x00002A18, 0x0000303D, 0x00002A0E, | ||
2932 | 0x00003045, 0x00002A05, 0x0000304E, 0x000029FB, | ||
2933 | 0x00003056, 0x000029F2, 0x0000305E, 0x000029E8, | ||
2934 | 0x00003066, 0x000029DF, 0x0000306E, 0x000029D5, | ||
2935 | 0x00003077, 0x000029CC, 0x0000307F, 0x000029C2, | ||
2936 | 0x00003087, 0x000029B9, 0x0000308F, 0x000029AF, | ||
2937 | 0x00003097, 0x000029A6, 0x000030A0, 0x0000299C, | ||
2938 | 0x000030A8, 0x00002993, 0x000030B0, 0x00002989, | ||
2939 | 0x000030B8, 0x00002980, 0x000030C0, 0x00002976, | ||
2940 | 0x000030C8, 0x0000296C, 0x000030D0, 0x00002963, | ||
2941 | 0x000030D9, 0x00002959, 0x000030E1, 0x00002950, | ||
2942 | 0x000030E9, 0x00002946, 0x000030F1, 0x0000293C, | ||
2943 | 0x000030F9, 0x00002933, 0x00003101, 0x00002929, | ||
2944 | 0x00003109, 0x00002920, 0x00003111, 0x00002916, | ||
2945 | 0x00003119, 0x0000290C, 0x00003121, 0x00002903, | ||
2946 | 0x00003129, 0x000028F9, 0x00003131, 0x000028EF, | ||
2947 | 0x00003139, 0x000028E6, 0x00003142, 0x000028DC, | ||
2948 | 0x0000314A, 0x000028D2, 0x00003152, 0x000028C9, | ||
2949 | 0x0000315A, 0x000028BF, 0x00003162, 0x000028B5, | ||
2950 | 0x0000316A, 0x000028AC, 0x00003172, 0x000028A2, | ||
2951 | 0x0000317A, 0x00002898, 0x00003181, 0x0000288E, | ||
2952 | 0x00003189, 0x00002885, 0x00003191, 0x0000287B, | ||
2953 | 0x00003199, 0x00002871, 0x000031A1, 0x00002868, | ||
2954 | 0x000031A9, 0x0000285E, 0x000031B1, 0x00002854, | ||
2955 | 0x000031B9, 0x0000284A, 0x000031C1, 0x00002841, | ||
2956 | 0x000031C9, 0x00002837, 0x000031D1, 0x0000282D, | ||
2957 | 0x000031D9, 0x00002823, 0x000031E0, 0x00002819, | ||
2958 | 0x000031E8, 0x00002810, 0x000031F0, 0x00002806, | ||
2959 | 0x000031F8, 0x000027FC, 0x00003200, 0x000027F2, | ||
2960 | 0x00003208, 0x000027E8, 0x00003210, 0x000027DF, | ||
2961 | 0x00003217, 0x000027D5, 0x0000321F, 0x000027CB, | ||
2962 | 0x00003227, 0x000027C1, 0x0000322F, 0x000027B7, | ||
2963 | 0x00003237, 0x000027AD, 0x0000323E, 0x000027A3, | ||
2964 | 0x00003246, 0x0000279A, 0x0000324E, 0x00002790, | ||
2965 | 0x00003256, 0x00002786, 0x0000325E, 0x0000277C, | ||
2966 | 0x00003265, 0x00002772, 0x0000326D, 0x00002768, | ||
2967 | 0x00003275, 0x0000275E, 0x0000327C, 0x00002754, | ||
2968 | 0x00003284, 0x0000274A, 0x0000328C, 0x00002740, | ||
2969 | 0x00003294, 0x00002737, 0x0000329B, 0x0000272D, | ||
2970 | 0x000032A3, 0x00002723, 0x000032AB, 0x00002719, | ||
2971 | 0x000032B2, 0x0000270F, 0x000032BA, 0x00002705, | ||
2972 | 0x000032C2, 0x000026FB, 0x000032C9, 0x000026F1, | ||
2973 | 0x000032D1, 0x000026E7, 0x000032D9, 0x000026DD, | ||
2974 | 0x000032E0, 0x000026D3, 0x000032E8, 0x000026C9, | ||
2975 | 0x000032EF, 0x000026BF, 0x000032F7, 0x000026B5, | ||
2976 | 0x000032FF, 0x000026AB, 0x00003306, 0x000026A1, | ||
2977 | 0x0000330E, 0x00002697, 0x00003315, 0x0000268D, | ||
2978 | 0x0000331D, 0x00002683, 0x00003325, 0x00002679, | ||
2979 | 0x0000332C, 0x0000266F, 0x00003334, 0x00002665, | ||
2980 | 0x0000333B, 0x0000265B, 0x00003343, 0x00002651, | ||
2981 | 0x0000334A, 0x00002647, 0x00003352, 0x0000263C, | ||
2982 | 0x00003359, 0x00002632, 0x00003361, 0x00002628, | ||
2983 | 0x00003368, 0x0000261E, 0x00003370, 0x00002614, | ||
2984 | 0x00003377, 0x0000260A, 0x0000337F, 0x00002600, | ||
2985 | 0x00003386, 0x000025F6, 0x0000338E, 0x000025EC, | ||
2986 | 0x00003395, 0x000025E2, 0x0000339C, 0x000025D7, | ||
2987 | 0x000033A4, 0x000025CD, 0x000033AB, 0x000025C3, | ||
2988 | 0x000033B3, 0x000025B9, 0x000033BA, 0x000025AF, | ||
2989 | 0x000033C1, 0x000025A5, 0x000033C9, 0x0000259A, | ||
2990 | 0x000033D0, 0x00002590, 0x000033D8, 0x00002586, | ||
2991 | 0x000033DF, 0x0000257C, 0x000033E6, 0x00002572, | ||
2992 | 0x000033EE, 0x00002568, 0x000033F5, 0x0000255D, | ||
2993 | 0x000033FC, 0x00002553, 0x00003404, 0x00002549, | ||
2994 | 0x0000340B, 0x0000253F, 0x00003412, 0x00002535, | ||
2995 | 0x0000341A, 0x0000252A, 0x00003421, 0x00002520, | ||
2996 | 0x00003428, 0x00002516, 0x0000342F, 0x0000250C, | ||
2997 | 0x00003437, 0x00002501, 0x0000343E, 0x000024F7, | ||
2998 | 0x00003445, 0x000024ED, 0x0000344C, 0x000024E3, | ||
2999 | 0x00003454, 0x000024D8, 0x0000345B, 0x000024CE, | ||
3000 | 0x00003462, 0x000024C4, 0x00003469, 0x000024B9, | ||
3001 | 0x00003471, 0x000024AF, 0x00003478, 0x000024A5, | ||
3002 | 0x0000347F, 0x0000249B, 0x00003486, 0x00002490, | ||
3003 | 0x0000348D, 0x00002486, 0x00003495, 0x0000247C, | ||
3004 | 0x0000349C, 0x00002471, 0x000034A3, 0x00002467, | ||
3005 | 0x000034AA, 0x0000245D, 0x000034B1, 0x00002452, | ||
3006 | 0x000034B8, 0x00002448, 0x000034BF, 0x0000243E, | ||
3007 | 0x000034C6, 0x00002433, 0x000034CE, 0x00002429, | ||
3008 | 0x000034D5, 0x0000241E, 0x000034DC, 0x00002414, | ||
3009 | 0x000034E3, 0x0000240A, 0x000034EA, 0x000023FF, | ||
3010 | 0x000034F1, 0x000023F5, 0x000034F8, 0x000023EA, | ||
3011 | 0x000034FF, 0x000023E0, 0x00003506, 0x000023D6, | ||
3012 | 0x0000350D, 0x000023CB, 0x00003514, 0x000023C1, | ||
3013 | 0x0000351B, 0x000023B6, 0x00003522, 0x000023AC, | ||
3014 | 0x00003529, 0x000023A2, 0x00003530, 0x00002397, | ||
3015 | 0x00003537, 0x0000238D, 0x0000353E, 0x00002382, | ||
3016 | 0x00003545, 0x00002378, 0x0000354C, 0x0000236D, | ||
3017 | 0x00003553, 0x00002363, 0x0000355A, 0x00002358, | ||
3018 | 0x00003561, 0x0000234E, 0x00003568, 0x00002343, | ||
3019 | 0x0000356F, 0x00002339, 0x00003576, 0x0000232E, | ||
3020 | 0x0000357D, 0x00002324, 0x00003583, 0x00002319, | ||
3021 | 0x0000358A, 0x0000230F, 0x00003591, 0x00002304, | ||
3022 | 0x00003598, 0x000022FA, 0x0000359F, 0x000022EF, | ||
3023 | 0x000035A6, 0x000022E5, 0x000035AD, 0x000022DA, | ||
3024 | 0x000035B4, 0x000022D0, 0x000035BA, 0x000022C5, | ||
3025 | 0x000035C1, 0x000022BB, 0x000035C8, 0x000022B0, | ||
3026 | 0x000035CF, 0x000022A5, 0x000035D6, 0x0000229B, | ||
3027 | 0x000035DC, 0x00002290, 0x000035E3, 0x00002286, | ||
3028 | 0x000035EA, 0x0000227B, 0x000035F1, 0x00002271, | ||
3029 | 0x000035F7, 0x00002266, 0x000035FE, 0x0000225B, | ||
3030 | 0x00003605, 0x00002251, 0x0000360C, 0x00002246, | ||
3031 | 0x00003612, 0x0000223C, 0x00003619, 0x00002231, | ||
3032 | 0x00003620, 0x00002226, 0x00003627, 0x0000221C, | ||
3033 | 0x0000362D, 0x00002211, 0x00003634, 0x00002206, | ||
3034 | 0x0000363B, 0x000021FC, 0x00003641, 0x000021F1, | ||
3035 | 0x00003648, 0x000021E6, 0x0000364F, 0x000021DC, | ||
3036 | 0x00003655, 0x000021D1, 0x0000365C, 0x000021C6, | ||
3037 | 0x00003662, 0x000021BC, 0x00003669, 0x000021B1, | ||
3038 | 0x00003670, 0x000021A6, 0x00003676, 0x0000219C, | ||
3039 | 0x0000367D, 0x00002191, 0x00003684, 0x00002186, | ||
3040 | 0x0000368A, 0x0000217C, 0x00003691, 0x00002171, | ||
3041 | 0x00003697, 0x00002166, 0x0000369E, 0x0000215B, | ||
3042 | 0x000036A4, 0x00002151, 0x000036AB, 0x00002146, | ||
3043 | 0x000036B1, 0x0000213B, 0x000036B8, 0x00002131, | ||
3044 | 0x000036BE, 0x00002126, 0x000036C5, 0x0000211B, | ||
3045 | 0x000036CB, 0x00002110, 0x000036D2, 0x00002106, | ||
3046 | 0x000036D8, 0x000020FB, 0x000036DF, 0x000020F0, | ||
3047 | 0x000036E5, 0x000020E5, 0x000036EC, 0x000020DA, | ||
3048 | 0x000036F2, 0x000020D0, 0x000036F9, 0x000020C5, | ||
3049 | 0x000036FF, 0x000020BA, 0x00003706, 0x000020AF, | ||
3050 | 0x0000370C, 0x000020A4, 0x00003712, 0x0000209A, | ||
3051 | 0x00003719, 0x0000208F, 0x0000371F, 0x00002084, | ||
3052 | 0x00003726, 0x00002079, 0x0000372C, 0x0000206E, | ||
3053 | 0x00003732, 0x00002064, 0x00003739, 0x00002059, | ||
3054 | 0x0000373F, 0x0000204E, 0x00003745, 0x00002043, | ||
3055 | 0x0000374C, 0x00002038, 0x00003752, 0x0000202D, | ||
3056 | 0x00003758, 0x00002022, 0x0000375F, 0x00002018, | ||
3057 | 0x00003765, 0x0000200D, 0x0000376B, 0x00002002, | ||
3058 | 0x00003771, 0x00001FF7, 0x00003778, 0x00001FEC, | ||
3059 | 0x0000377E, 0x00001FE1, 0x00003784, 0x00001FD6, | ||
3060 | 0x0000378A, 0x00001FCB, 0x00003791, 0x00001FC0, | ||
3061 | 0x00003797, 0x00001FB5, 0x0000379D, 0x00001FAB, | ||
3062 | 0x000037A3, 0x00001FA0, 0x000037AA, 0x00001F95, | ||
3063 | 0x000037B0, 0x00001F8A, 0x000037B6, 0x00001F7F, | ||
3064 | 0x000037BC, 0x00001F74, 0x000037C2, 0x00001F69, | ||
3065 | 0x000037C8, 0x00001F5E, 0x000037CF, 0x00001F53, | ||
3066 | 0x000037D5, 0x00001F48, 0x000037DB, 0x00001F3D, | ||
3067 | 0x000037E1, 0x00001F32, 0x000037E7, 0x00001F27, | ||
3068 | 0x000037ED, 0x00001F1C, 0x000037F3, 0x00001F11, | ||
3069 | 0x000037F9, 0x00001F06, 0x00003800, 0x00001EFB, | ||
3070 | 0x00003806, 0x00001EF0, 0x0000380C, 0x00001EE5, | ||
3071 | 0x00003812, 0x00001EDA, 0x00003818, 0x00001ECF, | ||
3072 | 0x0000381E, 0x00001EC4, 0x00003824, 0x00001EB9, | ||
3073 | 0x0000382A, 0x00001EAE, 0x00003830, 0x00001EA3, | ||
3074 | 0x00003836, 0x00001E98, 0x0000383C, 0x00001E8D, | ||
3075 | 0x00003842, 0x00001E82, 0x00003848, 0x00001E77, | ||
3076 | 0x0000384E, 0x00001E6C, 0x00003854, 0x00001E61, | ||
3077 | 0x0000385A, 0x00001E56, 0x00003860, 0x00001E4B, | ||
3078 | 0x00003866, 0x00001E40, 0x0000386C, 0x00001E35, | ||
3079 | 0x00003872, 0x00001E29, 0x00003878, 0x00001E1E, | ||
3080 | 0x0000387D, 0x00001E13, 0x00003883, 0x00001E08, | ||
3081 | 0x00003889, 0x00001DFD, 0x0000388F, 0x00001DF2, | ||
3082 | 0x00003895, 0x00001DE7, 0x0000389B, 0x00001DDC, | ||
3083 | 0x000038A1, 0x00001DD1, 0x000038A7, 0x00001DC6, | ||
3084 | 0x000038AC, 0x00001DBA, 0x000038B2, 0x00001DAF, | ||
3085 | 0x000038B8, 0x00001DA4, 0x000038BE, 0x00001D99, | ||
3086 | 0x000038C4, 0x00001D8E, 0x000038CA, 0x00001D83, | ||
3087 | 0x000038CF, 0x00001D78, 0x000038D5, 0x00001D6C, | ||
3088 | 0x000038DB, 0x00001D61, 0x000038E1, 0x00001D56, | ||
3089 | 0x000038E6, 0x00001D4B, 0x000038EC, 0x00001D40, | ||
3090 | 0x000038F2, 0x00001D35, 0x000038F8, 0x00001D29, | ||
3091 | 0x000038FD, 0x00001D1E, 0x00003903, 0x00001D13, | ||
3092 | 0x00003909, 0x00001D08, 0x0000390E, 0x00001CFD, | ||
3093 | 0x00003914, 0x00001CF1, 0x0000391A, 0x00001CE6, | ||
3094 | 0x0000391F, 0x00001CDB, 0x00003925, 0x00001CD0, | ||
3095 | 0x0000392B, 0x00001CC5, 0x00003930, 0x00001CB9, | ||
3096 | 0x00003936, 0x00001CAE, 0x0000393C, 0x00001CA3, | ||
3097 | 0x00003941, 0x00001C98, 0x00003947, 0x00001C8C, | ||
3098 | 0x0000394D, 0x00001C81, 0x00003952, 0x00001C76, | ||
3099 | 0x00003958, 0x00001C6B, 0x0000395D, 0x00001C5F, | ||
3100 | 0x00003963, 0x00001C54, 0x00003968, 0x00001C49, | ||
3101 | 0x0000396E, 0x00001C3E, 0x00003974, 0x00001C32, | ||
3102 | 0x00003979, 0x00001C27, 0x0000397F, 0x00001C1C, | ||
3103 | 0x00003984, 0x00001C10, 0x0000398A, 0x00001C05, | ||
3104 | 0x0000398F, 0x00001BFA, 0x00003995, 0x00001BEE, | ||
3105 | 0x0000399A, 0x00001BE3, 0x000039A0, 0x00001BD8, | ||
3106 | 0x000039A5, 0x00001BCD, 0x000039AA, 0x00001BC1, | ||
3107 | 0x000039B0, 0x00001BB6, 0x000039B5, 0x00001BAB, | ||
3108 | 0x000039BB, 0x00001B9F, 0x000039C0, 0x00001B94, | ||
3109 | 0x000039C6, 0x00001B89, 0x000039CB, 0x00001B7D, | ||
3110 | 0x000039D0, 0x00001B72, 0x000039D6, 0x00001B67, | ||
3111 | 0x000039DB, 0x00001B5B, 0x000039E0, 0x00001B50, | ||
3112 | 0x000039E6, 0x00001B44, 0x000039EB, 0x00001B39, | ||
3113 | 0x000039F1, 0x00001B2E, 0x000039F6, 0x00001B22, | ||
3114 | 0x000039FB, 0x00001B17, 0x00003A01, 0x00001B0C, | ||
3115 | 0x00003A06, 0x00001B00, 0x00003A0B, 0x00001AF5, | ||
3116 | 0x00003A10, 0x00001AE9, 0x00003A16, 0x00001ADE, | ||
3117 | 0x00003A1B, 0x00001AD3, 0x00003A20, 0x00001AC7, | ||
3118 | 0x00003A25, 0x00001ABC, 0x00003A2B, 0x00001AB0, | ||
3119 | 0x00003A30, 0x00001AA5, 0x00003A35, 0x00001A99, | ||
3120 | 0x00003A3A, 0x00001A8E, 0x00003A40, 0x00001A83, | ||
3121 | 0x00003A45, 0x00001A77, 0x00003A4A, 0x00001A6C, | ||
3122 | 0x00003A4F, 0x00001A60, 0x00003A54, 0x00001A55, | ||
3123 | 0x00003A5A, 0x00001A49, 0x00003A5F, 0x00001A3E, | ||
3124 | 0x00003A64, 0x00001A32, 0x00003A69, 0x00001A27, | ||
3125 | 0x00003A6E, 0x00001A1B, 0x00003A73, 0x00001A10, | ||
3126 | 0x00003A78, 0x00001A05, 0x00003A7D, 0x000019F9, | ||
3127 | 0x00003A83, 0x000019EE, 0x00003A88, 0x000019E2, | ||
3128 | 0x00003A8D, 0x000019D7, 0x00003A92, 0x000019CB, | ||
3129 | 0x00003A97, 0x000019C0, 0x00003A9C, 0x000019B4, | ||
3130 | 0x00003AA1, 0x000019A9, 0x00003AA6, 0x0000199D, | ||
3131 | 0x00003AAB, 0x00001992, 0x00003AB0, 0x00001986, | ||
3132 | 0x00003AB5, 0x0000197A, 0x00003ABA, 0x0000196F, | ||
3133 | 0x00003ABF, 0x00001963, 0x00003AC4, 0x00001958, | ||
3134 | 0x00003AC9, 0x0000194C, 0x00003ACE, 0x00001941, | ||
3135 | 0x00003AD3, 0x00001935, 0x00003AD8, 0x0000192A, | ||
3136 | 0x00003ADD, 0x0000191E, 0x00003AE2, 0x00001913, | ||
3137 | 0x00003AE7, 0x00001907, 0x00003AEC, 0x000018FB, | ||
3138 | 0x00003AF0, 0x000018F0, 0x00003AF5, 0x000018E4, | ||
3139 | 0x00003AFA, 0x000018D9, 0x00003AFF, 0x000018CD, | ||
3140 | 0x00003B04, 0x000018C2, 0x00003B09, 0x000018B6, | ||
3141 | 0x00003B0E, 0x000018AA, 0x00003B12, 0x0000189F, | ||
3142 | 0x00003B17, 0x00001893, 0x00003B1C, 0x00001888, | ||
3143 | 0x00003B21, 0x0000187C, 0x00003B26, 0x00001870, | ||
3144 | 0x00003B2B, 0x00001865, 0x00003B2F, 0x00001859, | ||
3145 | 0x00003B34, 0x0000184D, 0x00003B39, 0x00001842, | ||
3146 | 0x00003B3E, 0x00001836, 0x00003B42, 0x0000182B, | ||
3147 | 0x00003B47, 0x0000181F, 0x00003B4C, 0x00001813, | ||
3148 | 0x00003B51, 0x00001808, 0x00003B55, 0x000017FC, | ||
3149 | 0x00003B5A, 0x000017F0, 0x00003B5F, 0x000017E5, | ||
3150 | 0x00003B63, 0x000017D9, 0x00003B68, 0x000017CD, | ||
3151 | 0x00003B6D, 0x000017C2, 0x00003B71, 0x000017B6, | ||
3152 | 0x00003B76, 0x000017AA, 0x00003B7B, 0x0000179F, | ||
3153 | 0x00003B7F, 0x00001793, 0x00003B84, 0x00001787, | ||
3154 | 0x00003B89, 0x0000177C, 0x00003B8D, 0x00001770, | ||
3155 | 0x00003B92, 0x00001764, 0x00003B96, 0x00001759, | ||
3156 | 0x00003B9B, 0x0000174D, 0x00003BA0, 0x00001741, | ||
3157 | 0x00003BA4, 0x00001735, 0x00003BA9, 0x0000172A, | ||
3158 | 0x00003BAD, 0x0000171E, 0x00003BB2, 0x00001712, | ||
3159 | 0x00003BB6, 0x00001707, 0x00003BBB, 0x000016FB, | ||
3160 | 0x00003BBF, 0x000016EF, 0x00003BC4, 0x000016E3, | ||
3161 | 0x00003BC8, 0x000016D8, 0x00003BCD, 0x000016CC, | ||
3162 | 0x00003BD1, 0x000016C0, 0x00003BD6, 0x000016B4, | ||
3163 | 0x00003BDA, 0x000016A9, 0x00003BDF, 0x0000169D, | ||
3164 | 0x00003BE3, 0x00001691, 0x00003BE7, 0x00001685, | ||
3165 | 0x00003BEC, 0x0000167A, 0x00003BF0, 0x0000166E, | ||
3166 | 0x00003BF5, 0x00001662, 0x00003BF9, 0x00001656, | ||
3167 | 0x00003BFD, 0x0000164B, 0x00003C02, 0x0000163F, | ||
3168 | 0x00003C06, 0x00001633, 0x00003C0B, 0x00001627, | ||
3169 | 0x00003C0F, 0x0000161B, 0x00003C13, 0x00001610, | ||
3170 | 0x00003C18, 0x00001604, 0x00003C1C, 0x000015F8, | ||
3171 | 0x00003C20, 0x000015EC, 0x00003C24, 0x000015E0, | ||
3172 | 0x00003C29, 0x000015D5, 0x00003C2D, 0x000015C9, | ||
3173 | 0x00003C31, 0x000015BD, 0x00003C36, 0x000015B1, | ||
3174 | 0x00003C3A, 0x000015A5, 0x00003C3E, 0x00001599, | ||
3175 | 0x00003C42, 0x0000158E, 0x00003C47, 0x00001582, | ||
3176 | 0x00003C4B, 0x00001576, 0x00003C4F, 0x0000156A, | ||
3177 | 0x00003C53, 0x0000155E, 0x00003C57, 0x00001552, | ||
3178 | 0x00003C5C, 0x00001547, 0x00003C60, 0x0000153B, | ||
3179 | 0x00003C64, 0x0000152F, 0x00003C68, 0x00001523, | ||
3180 | 0x00003C6C, 0x00001517, 0x00003C70, 0x0000150B, | ||
3181 | 0x00003C74, 0x000014FF, 0x00003C79, 0x000014F4, | ||
3182 | 0x00003C7D, 0x000014E8, 0x00003C81, 0x000014DC, | ||
3183 | 0x00003C85, 0x000014D0, 0x00003C89, 0x000014C4, | ||
3184 | 0x00003C8D, 0x000014B8, 0x00003C91, 0x000014AC, | ||
3185 | 0x00003C95, 0x000014A0, 0x00003C99, 0x00001494, | ||
3186 | 0x00003C9D, 0x00001489, 0x00003CA1, 0x0000147D, | ||
3187 | 0x00003CA5, 0x00001471, 0x00003CA9, 0x00001465, | ||
3188 | 0x00003CAD, 0x00001459, 0x00003CB1, 0x0000144D, | ||
3189 | 0x00003CB5, 0x00001441, 0x00003CB9, 0x00001435, | ||
3190 | 0x00003CBD, 0x00001429, 0x00003CC1, 0x0000141D, | ||
3191 | 0x00003CC5, 0x00001411, 0x00003CC9, 0x00001405, | ||
3192 | 0x00003CCD, 0x000013F9, 0x00003CD1, 0x000013EE, | ||
3193 | 0x00003CD5, 0x000013E2, 0x00003CD9, 0x000013D6, | ||
3194 | 0x00003CDD, 0x000013CA, 0x00003CE0, 0x000013BE, | ||
3195 | 0x00003CE4, 0x000013B2, 0x00003CE8, 0x000013A6, | ||
3196 | 0x00003CEC, 0x0000139A, 0x00003CF0, 0x0000138E, | ||
3197 | 0x00003CF4, 0x00001382, 0x00003CF8, 0x00001376, | ||
3198 | 0x00003CFB, 0x0000136A, 0x00003CFF, 0x0000135E, | ||
3199 | 0x00003D03, 0x00001352, 0x00003D07, 0x00001346, | ||
3200 | 0x00003D0B, 0x0000133A, 0x00003D0E, 0x0000132E, | ||
3201 | 0x00003D12, 0x00001322, 0x00003D16, 0x00001316, | ||
3202 | 0x00003D1A, 0x0000130A, 0x00003D1D, 0x000012FE, | ||
3203 | 0x00003D21, 0x000012F2, 0x00003D25, 0x000012E6, | ||
3204 | 0x00003D28, 0x000012DA, 0x00003D2C, 0x000012CE, | ||
3205 | 0x00003D30, 0x000012C2, 0x00003D33, 0x000012B6, | ||
3206 | 0x00003D37, 0x000012AA, 0x00003D3B, 0x0000129E, | ||
3207 | 0x00003D3E, 0x00001292, 0x00003D42, 0x00001286, | ||
3208 | 0x00003D46, 0x0000127A, 0x00003D49, 0x0000126E, | ||
3209 | 0x00003D4D, 0x00001262, 0x00003D51, 0x00001256, | ||
3210 | 0x00003D54, 0x0000124A, 0x00003D58, 0x0000123E, | ||
3211 | 0x00003D5B, 0x00001232, 0x00003D5F, 0x00001226, | ||
3212 | 0x00003D62, 0x0000121A, 0x00003D66, 0x0000120E, | ||
3213 | 0x00003D6A, 0x00001202, 0x00003D6D, 0x000011F5, | ||
3214 | 0x00003D71, 0x000011E9, 0x00003D74, 0x000011DD, | ||
3215 | 0x00003D78, 0x000011D1, 0x00003D7B, 0x000011C5, | ||
3216 | 0x00003D7F, 0x000011B9, 0x00003D82, 0x000011AD, | ||
3217 | 0x00003D86, 0x000011A1, 0x00003D89, 0x00001195, | ||
3218 | 0x00003D8C, 0x00001189, 0x00003D90, 0x0000117D, | ||
3219 | 0x00003D93, 0x00001171, 0x00003D97, 0x00001165, | ||
3220 | 0x00003D9A, 0x00001158, 0x00003D9E, 0x0000114C, | ||
3221 | 0x00003DA1, 0x00001140, 0x00003DA4, 0x00001134, | ||
3222 | 0x00003DA8, 0x00001128, 0x00003DAB, 0x0000111C, | ||
3223 | 0x00003DAE, 0x00001110, 0x00003DB2, 0x00001104, | ||
3224 | 0x00003DB5, 0x000010F8, 0x00003DB8, 0x000010EB, | ||
3225 | 0x00003DBC, 0x000010DF, 0x00003DBF, 0x000010D3, | ||
3226 | 0x00003DC2, 0x000010C7, 0x00003DC6, 0x000010BB, | ||
3227 | 0x00003DC9, 0x000010AF, 0x00003DCC, 0x000010A3, | ||
3228 | 0x00003DCF, 0x00001097, 0x00003DD3, 0x0000108A, | ||
3229 | 0x00003DD6, 0x0000107E, 0x00003DD9, 0x00001072, | ||
3230 | 0x00003DDC, 0x00001066, 0x00003DE0, 0x0000105A, | ||
3231 | 0x00003DE3, 0x0000104E, 0x00003DE6, 0x00001042, | ||
3232 | 0x00003DE9, 0x00001035, 0x00003DEC, 0x00001029, | ||
3233 | 0x00003DF0, 0x0000101D, 0x00003DF3, 0x00001011, | ||
3234 | 0x00003DF6, 0x00001005, 0x00003DF9, 0x00000FF9, | ||
3235 | 0x00003DFC, 0x00000FEC, 0x00003DFF, 0x00000FE0, | ||
3236 | 0x00003E02, 0x00000FD4, 0x00003E05, 0x00000FC8, | ||
3237 | 0x00003E09, 0x00000FBC, 0x00003E0C, 0x00000FB0, | ||
3238 | 0x00003E0F, 0x00000FA3, 0x00003E12, 0x00000F97, | ||
3239 | 0x00003E15, 0x00000F8B, 0x00003E18, 0x00000F7F, | ||
3240 | 0x00003E1B, 0x00000F73, 0x00003E1E, 0x00000F66, | ||
3241 | 0x00003E21, 0x00000F5A, 0x00003E24, 0x00000F4E, | ||
3242 | 0x00003E27, 0x00000F42, 0x00003E2A, 0x00000F36, | ||
3243 | 0x00003E2D, 0x00000F29, 0x00003E30, 0x00000F1D, | ||
3244 | 0x00003E33, 0x00000F11, 0x00003E36, 0x00000F05, | ||
3245 | 0x00003E39, 0x00000EF9, 0x00003E3C, 0x00000EEC, | ||
3246 | 0x00003E3F, 0x00000EE0, 0x00003E42, 0x00000ED4, | ||
3247 | 0x00003E45, 0x00000EC8, 0x00003E47, 0x00000EBB, | ||
3248 | 0x00003E4A, 0x00000EAF, 0x00003E4D, 0x00000EA3, | ||
3249 | 0x00003E50, 0x00000E97, 0x00003E53, 0x00000E8A, | ||
3250 | 0x00003E56, 0x00000E7E, 0x00003E59, 0x00000E72, | ||
3251 | 0x00003E5B, 0x00000E66, 0x00003E5E, 0x00000E59, | ||
3252 | 0x00003E61, 0x00000E4D, 0x00003E64, 0x00000E41, | ||
3253 | 0x00003E67, 0x00000E35, 0x00003E69, 0x00000E28, | ||
3254 | 0x00003E6C, 0x00000E1C, 0x00003E6F, 0x00000E10, | ||
3255 | 0x00003E72, 0x00000E04, 0x00003E74, 0x00000DF7, | ||
3256 | 0x00003E77, 0x00000DEB, 0x00003E7A, 0x00000DDF, | ||
3257 | 0x00003E7D, 0x00000DD3, 0x00003E7F, 0x00000DC6, | ||
3258 | 0x00003E82, 0x00000DBA, 0x00003E85, 0x00000DAE, | ||
3259 | 0x00003E87, 0x00000DA2, 0x00003E8A, 0x00000D95, | ||
3260 | 0x00003E8D, 0x00000D89, 0x00003E8F, 0x00000D7D, | ||
3261 | 0x00003E92, 0x00000D70, 0x00003E95, 0x00000D64, | ||
3262 | 0x00003E97, 0x00000D58, 0x00003E9A, 0x00000D4C, | ||
3263 | 0x00003E9D, 0x00000D3F, 0x00003E9F, 0x00000D33, | ||
3264 | 0x00003EA2, 0x00000D27, 0x00003EA4, 0x00000D1A, | ||
3265 | 0x00003EA7, 0x00000D0E, 0x00003EA9, 0x00000D02, | ||
3266 | 0x00003EAC, 0x00000CF5, 0x00003EAF, 0x00000CE9, | ||
3267 | 0x00003EB1, 0x00000CDD, 0x00003EB4, 0x00000CD1, | ||
3268 | 0x00003EB6, 0x00000CC4, 0x00003EB9, 0x00000CB8, | ||
3269 | 0x00003EBB, 0x00000CAC, 0x00003EBE, 0x00000C9F, | ||
3270 | 0x00003EC0, 0x00000C93, 0x00003EC3, 0x00000C87, | ||
3271 | 0x00003EC5, 0x00000C7A, 0x00003EC7, 0x00000C6E, | ||
3272 | 0x00003ECA, 0x00000C62, 0x00003ECC, 0x00000C55, | ||
3273 | 0x00003ECF, 0x00000C49, 0x00003ED1, 0x00000C3D, | ||
3274 | 0x00003ED4, 0x00000C30, 0x00003ED6, 0x00000C24, | ||
3275 | 0x00003ED8, 0x00000C18, 0x00003EDB, 0x00000C0B, | ||
3276 | 0x00003EDD, 0x00000BFF, 0x00003EDF, 0x00000BF3, | ||
3277 | 0x00003EE2, 0x00000BE6, 0x00003EE4, 0x00000BDA, | ||
3278 | 0x00003EE6, 0x00000BCE, 0x00003EE9, 0x00000BC1, | ||
3279 | 0x00003EEB, 0x00000BB5, 0x00003EED, 0x00000BA9, | ||
3280 | 0x00003EF0, 0x00000B9C, 0x00003EF2, 0x00000B90, | ||
3281 | 0x00003EF4, 0x00000B83, 0x00003EF6, 0x00000B77, | ||
3282 | 0x00003EF9, 0x00000B6B, 0x00003EFB, 0x00000B5E, | ||
3283 | 0x00003EFD, 0x00000B52, 0x00003EFF, 0x00000B46, | ||
3284 | 0x00003F02, 0x00000B39, 0x00003F04, 0x00000B2D, | ||
3285 | 0x00003F06, 0x00000B21, 0x00003F08, 0x00000B14, | ||
3286 | 0x00003F0A, 0x00000B08, 0x00003F0C, 0x00000AFB, | ||
3287 | 0x00003F0F, 0x00000AEF, 0x00003F11, 0x00000AE3, | ||
3288 | 0x00003F13, 0x00000AD6, 0x00003F15, 0x00000ACA, | ||
3289 | 0x00003F17, 0x00000ABD, 0x00003F19, 0x00000AB1, | ||
3290 | 0x00003F1B, 0x00000AA5, 0x00003F1D, 0x00000A98, | ||
3291 | 0x00003F1F, 0x00000A8C, 0x00003F21, 0x00000A7F, | ||
3292 | 0x00003F24, 0x00000A73, 0x00003F26, 0x00000A67, | ||
3293 | 0x00003F28, 0x00000A5A, 0x00003F2A, 0x00000A4E, | ||
3294 | 0x00003F2C, 0x00000A41, 0x00003F2E, 0x00000A35, | ||
3295 | 0x00003F30, 0x00000A29, 0x00003F32, 0x00000A1C, | ||
3296 | 0x00003F34, 0x00000A10, 0x00003F36, 0x00000A03, | ||
3297 | 0x00003F38, 0x000009F7, 0x00003F3A, 0x000009EB, | ||
3298 | 0x00003F3B, 0x000009DE, 0x00003F3D, 0x000009D2, | ||
3299 | 0x00003F3F, 0x000009C5, 0x00003F41, 0x000009B9, | ||
3300 | 0x00003F43, 0x000009AD, 0x00003F45, 0x000009A0, | ||
3301 | 0x00003F47, 0x00000994, 0x00003F49, 0x00000987, | ||
3302 | 0x00003F4B, 0x0000097B, 0x00003F4D, 0x0000096E, | ||
3303 | 0x00003F4E, 0x00000962, 0x00003F50, 0x00000956, | ||
3304 | 0x00003F52, 0x00000949, 0x00003F54, 0x0000093D, | ||
3305 | 0x00003F56, 0x00000930, 0x00003F57, 0x00000924, | ||
3306 | 0x00003F59, 0x00000917, 0x00003F5B, 0x0000090B, | ||
3307 | 0x00003F5D, 0x000008FE, 0x00003F5F, 0x000008F2, | ||
3308 | 0x00003F60, 0x000008E6, 0x00003F62, 0x000008D9, | ||
3309 | 0x00003F64, 0x000008CD, 0x00003F66, 0x000008C0, | ||
3310 | 0x00003F67, 0x000008B4, 0x00003F69, 0x000008A7, | ||
3311 | 0x00003F6B, 0x0000089B, 0x00003F6C, 0x0000088E, | ||
3312 | 0x00003F6E, 0x00000882, 0x00003F70, 0x00000876, | ||
3313 | 0x00003F71, 0x00000869, 0x00003F73, 0x0000085D, | ||
3314 | 0x00003F75, 0x00000850, 0x00003F76, 0x00000844, | ||
3315 | 0x00003F78, 0x00000837, 0x00003F79, 0x0000082B, | ||
3316 | 0x00003F7B, 0x0000081E, 0x00003F7D, 0x00000812, | ||
3317 | 0x00003F7E, 0x00000805, 0x00003F80, 0x000007F9, | ||
3318 | 0x00003F81, 0x000007EC, 0x00003F83, 0x000007E0, | ||
3319 | 0x00003F84, 0x000007D4, 0x00003F86, 0x000007C7, | ||
3320 | 0x00003F88, 0x000007BB, 0x00003F89, 0x000007AE, | ||
3321 | 0x00003F8B, 0x000007A2, 0x00003F8C, 0x00000795, | ||
3322 | 0x00003F8E, 0x00000789, 0x00003F8F, 0x0000077C, | ||
3323 | 0x00003F90, 0x00000770, 0x00003F92, 0x00000763, | ||
3324 | 0x00003F93, 0x00000757, 0x00003F95, 0x0000074A, | ||
3325 | 0x00003F96, 0x0000073E, 0x00003F98, 0x00000731, | ||
3326 | 0x00003F99, 0x00000725, 0x00003F9A, 0x00000718, | ||
3327 | 0x00003F9C, 0x0000070C, 0x00003F9D, 0x000006FF, | ||
3328 | 0x00003F9F, 0x000006F3, 0x00003FA0, 0x000006E6, | ||
3329 | 0x00003FA1, 0x000006DA, 0x00003FA3, 0x000006CD, | ||
3330 | 0x00003FA4, 0x000006C1, 0x00003FA5, 0x000006B4, | ||
3331 | 0x00003FA7, 0x000006A8, 0x00003FA8, 0x0000069B, | ||
3332 | 0x00003FA9, 0x0000068F, 0x00003FAA, 0x00000682, | ||
3333 | 0x00003FAC, 0x00000676, 0x00003FAD, 0x00000669, | ||
3334 | 0x00003FAE, 0x0000065D, 0x00003FB0, 0x00000650, | ||
3335 | 0x00003FB1, 0x00000644, 0x00003FB2, 0x00000637, | ||
3336 | 0x00003FB3, 0x0000062B, 0x00003FB4, 0x0000061E, | ||
3337 | 0x00003FB6, 0x00000612, 0x00003FB7, 0x00000605, | ||
3338 | 0x00003FB8, 0x000005F9, 0x00003FB9, 0x000005EC, | ||
3339 | 0x00003FBA, 0x000005E0, 0x00003FBB, 0x000005D3, | ||
3340 | 0x00003FBD, 0x000005C7, 0x00003FBE, 0x000005BA, | ||
3341 | 0x00003FBF, 0x000005AE, 0x00003FC0, 0x000005A1, | ||
3342 | 0x00003FC1, 0x00000595, 0x00003FC2, 0x00000588, | ||
3343 | 0x00003FC3, 0x0000057C, 0x00003FC4, 0x0000056F, | ||
3344 | 0x00003FC5, 0x00000563, 0x00003FC6, 0x00000556, | ||
3345 | 0x00003FC7, 0x0000054A, 0x00003FC8, 0x0000053D, | ||
3346 | 0x00003FCA, 0x00000531, 0x00003FCB, 0x00000524, | ||
3347 | 0x00003FCC, 0x00000517, 0x00003FCD, 0x0000050B, | ||
3348 | 0x00003FCE, 0x000004FE, 0x00003FCE, 0x000004F2, | ||
3349 | 0x00003FCF, 0x000004E5, 0x00003FD0, 0x000004D9, | ||
3350 | 0x00003FD1, 0x000004CC, 0x00003FD2, 0x000004C0, | ||
3351 | 0x00003FD3, 0x000004B3, 0x00003FD4, 0x000004A7, | ||
3352 | 0x00003FD5, 0x0000049A, 0x00003FD6, 0x0000048E, | ||
3353 | 0x00003FD7, 0x00000481, 0x00003FD8, 0x00000475, | ||
3354 | 0x00003FD9, 0x00000468, 0x00003FD9, 0x0000045B, | ||
3355 | 0x00003FDA, 0x0000044F, 0x00003FDB, 0x00000442, | ||
3356 | 0x00003FDC, 0x00000436, 0x00003FDD, 0x00000429, | ||
3357 | 0x00003FDE, 0x0000041D, 0x00003FDE, 0x00000410, | ||
3358 | 0x00003FDF, 0x00000404, 0x00003FE0, 0x000003F7, | ||
3359 | 0x00003FE1, 0x000003EB, 0x00003FE2, 0x000003DE, | ||
3360 | 0x00003FE2, 0x000003D2, 0x00003FE3, 0x000003C5, | ||
3361 | 0x00003FE4, 0x000003B8, 0x00003FE4, 0x000003AC, | ||
3362 | 0x00003FE5, 0x0000039F, 0x00003FE6, 0x00000393, | ||
3363 | 0x00003FE7, 0x00000386, 0x00003FE7, 0x0000037A, | ||
3364 | 0x00003FE8, 0x0000036D, 0x00003FE9, 0x00000361, | ||
3365 | 0x00003FE9, 0x00000354, 0x00003FEA, 0x00000348, | ||
3366 | 0x00003FEB, 0x0000033B, 0x00003FEB, 0x0000032E, | ||
3367 | 0x00003FEC, 0x00000322, 0x00003FEC, 0x00000315, | ||
3368 | 0x00003FED, 0x00000309, 0x00003FEE, 0x000002FC, | ||
3369 | 0x00003FEE, 0x000002F0, 0x00003FEF, 0x000002E3, | ||
3370 | 0x00003FEF, 0x000002D7, 0x00003FF0, 0x000002CA, | ||
3371 | 0x00003FF0, 0x000002BD, 0x00003FF1, 0x000002B1, | ||
3372 | 0x00003FF2, 0x000002A4, 0x00003FF2, 0x00000298, | ||
3373 | 0x00003FF3, 0x0000028B, 0x00003FF3, 0x0000027F, | ||
3374 | 0x00003FF4, 0x00000272, 0x00003FF4, 0x00000266, | ||
3375 | 0x00003FF4, 0x00000259, 0x00003FF5, 0x0000024C, | ||
3376 | 0x00003FF5, 0x00000240, 0x00003FF6, 0x00000233, | ||
3377 | 0x00003FF6, 0x00000227, 0x00003FF7, 0x0000021A, | ||
3378 | 0x00003FF7, 0x0000020E, 0x00003FF7, 0x00000201, | ||
3379 | 0x00003FF8, 0x000001F5, 0x00003FF8, 0x000001E8, | ||
3380 | 0x00003FF9, 0x000001DB, 0x00003FF9, 0x000001CF, | ||
3381 | 0x00003FF9, 0x000001C2, 0x00003FFA, 0x000001B6, | ||
3382 | 0x00003FFA, 0x000001A9, 0x00003FFA, 0x0000019D, | ||
3383 | 0x00003FFB, 0x00000190, 0x00003FFB, 0x00000183, | ||
3384 | 0x00003FFB, 0x00000177, 0x00003FFB, 0x0000016A, | ||
3385 | 0x00003FFC, 0x0000015E, 0x00003FFC, 0x00000151, | ||
3386 | 0x00003FFC, 0x00000145, 0x00003FFD, 0x00000138, | ||
3387 | 0x00003FFD, 0x0000012C, 0x00003FFD, 0x0000011F, | ||
3388 | 0x00003FFD, 0x00000112, 0x00003FFD, 0x00000106, | ||
3389 | 0x00003FFE | ||
3390 | }; | ||
3391 | */ | ||
diff --git a/lib/rbcodec/codecs/libwmapro/mdct_tables.h b/lib/rbcodec/codecs/libwmapro/mdct_tables.h new file mode 100644 index 0000000000..5e54868b01 --- /dev/null +++ b/lib/rbcodec/codecs/libwmapro/mdct_tables.h | |||
@@ -0,0 +1,10 @@ | |||
1 | #ifndef _MDCT_TABLES_H_ | ||
2 | #define _MDCT_TABLES_H_ | ||
3 | #include <inttypes.h> | ||
4 | |||
5 | extern const int32_t *sine_windows[6]; | ||
6 | /* rockbox: not used | ||
7 | extern const int32_t sincos_lookup_wmap[8064]; | ||
8 | */ | ||
9 | #endif /* _MDCT_TABLES_H_ */ | ||
10 | |||
diff --git a/lib/rbcodec/codecs/libwmapro/quant.h b/lib/rbcodec/codecs/libwmapro/quant.h new file mode 100644 index 0000000000..3500615fde --- /dev/null +++ b/lib/rbcodec/codecs/libwmapro/quant.h | |||
@@ -0,0 +1,53 @@ | |||
1 | #ifndef _QUANT_H_ | ||
2 | #define _QUANT_H_ | ||
3 | |||
4 | #include <inttypes.h> | ||
5 | |||
6 | /* This table contains unscaled integer casts of the floating point inverse | ||
7 | * quantization factors used by wma pro. The formula for calculating the | ||
8 | * floating point value is : | ||
9 | * quant = pow(10.0, exp/20) | ||
10 | * 'exp' is an integer value which I have exmerimentally found to fall in the | ||
11 | * range (50,170). */ | ||
12 | const int32_t quant_tab[121] = { | ||
13 | 0x0000013C, 0x00000163, 0x0000018E, 0x000001BF, | ||
14 | 0x000001F5, 0x00000232, 0x00000277, 0x000002C4, | ||
15 | 0x0000031A, 0x0000037B, 0x000003E8, 0x00000462, | ||
16 | 0x000004EB, 0x00000585, 0x00000631, 0x000006F2, | ||
17 | 0x000007CB, 0x000008BF, 0x000009D0, 0x00000B02, | ||
18 | 0x00000C5A, 0x00000DDC, 0x00000F8D, 0x00001173, | ||
19 | 0x00001394, 0x000015F7, 0x000018A6, 0x00001BA7, | ||
20 | 0x00001F07, 0x000022D1, 0x00002710, 0x00002BD4, | ||
21 | 0x0000312D, 0x0000372D, 0x00003DE9, 0x00004577, | ||
22 | 0x00004DF1, 0x00005773, 0x0000621F, 0x00006E18, | ||
23 | 0x00007B87, 0x00008A99, 0x00009B83, 0x0000AE7C, | ||
24 | 0x0000C3C7, 0x0000DBAA, 0x0000F678, 0x0001148B, | ||
25 | 0x00013649, 0x00015C25, 0x000186A0, 0x0001B64A, | ||
26 | 0x0001EBC5, 0x000227C6, 0x00026B19, 0x0002B6A4, | ||
27 | 0x00030B66, 0x00036A80, 0x0003D535, 0x00044CEE, | ||
28 | 0x0004D344, 0x000569FD, 0x0006131B, 0x0006D0DC, | ||
29 | 0x0007A5C3, 0x000894A5, 0x0009A0AD, 0x000ACD6A, | ||
30 | 0x000C1ED8, 0x000D9973, 0x000F4240, 0x00111EE2, | ||
31 | 0x001335AD, 0x00158DBA, 0x00182EFD, 0x001B2267, | ||
32 | 0x001E71FE, 0x00222901, 0x0026540E, 0x002B014F, | ||
33 | 0x003040A6, 0x003623E6, 0x003CBF10, 0x00442894, | ||
34 | 0x004C79A0, 0x0055CE75, 0x006046C5, 0x006C0622, | ||
35 | 0x00793472, 0x0087FE7D, 0x00989680, 0x00AB34D9, | ||
36 | 0x00C018C6, 0x00D7893F, 0x00F1D5E4, 0x010F580A, | ||
37 | 0x013073EF, 0x01559A0B, 0x017F4890, 0x01AE0D15, | ||
38 | 0x01E28679, 0x021D66FB, 0x025F769D, 0x02A995C7, | ||
39 | 0x02FCC043, 0x035A1095, 0x03C2C3B6, 0x04383D52, | ||
40 | 0x04BC0C77, 0x054FF0E6, 0x05F5E100, 0x06B01075, | ||
41 | 0x0780F7BD, 0x086B5C7A, 0x09725AE7, 0x0A997065, | ||
42 | 0x0BE48757, 0x0D580472, 0x0EF8D5A3, 0x10CC82D5, | ||
43 | 0x12D940B6 | ||
44 | }; | ||
45 | |||
46 | #define EXP_MIN 50 | ||
47 | #define EXP_MAX 170 | ||
48 | |||
49 | /* return the correct value of quant based on exp */ | ||
50 | #define QUANT(exp) quant_tab[exp - EXP_MIN] | ||
51 | |||
52 | |||
53 | #endif /* _QUANT_H_ */ | ||
diff --git a/lib/rbcodec/codecs/libwmapro/wma.c b/lib/rbcodec/codecs/libwmapro/wma.c new file mode 100644 index 0000000000..83cec89a4c --- /dev/null +++ b/lib/rbcodec/codecs/libwmapro/wma.c | |||
@@ -0,0 +1,164 @@ | |||
1 | /* | ||
2 | * WMA compatible codec | ||
3 | * Copyright (c) 2002-2007 The FFmpeg Project | ||
4 | * | ||
5 | * This file is part of FFmpeg. | ||
6 | * | ||
7 | * FFmpeg is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU Lesser General Public | ||
9 | * License as published by the Free Software Foundation; either | ||
10 | * version 2.1 of the License, or (at your option) any later version. | ||
11 | * | ||
12 | * FFmpeg is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * Lesser General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU Lesser General Public | ||
18 | * License along with FFmpeg; if not, write to the Free Software | ||
19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
20 | */ | ||
21 | |||
22 | #include "wma.h" | ||
23 | #include "codeclib.h" /* needed for av_log2() */ | ||
24 | |||
25 | /** | ||
26 | *@brief Get the samples per frame for this stream. | ||
27 | *@param sample_rate output sample_rate | ||
28 | *@param version wma version | ||
29 | *@param decode_flags codec compression features | ||
30 | *@return log2 of the number of output samples per frame | ||
31 | */ | ||
32 | int ff_wma_get_frame_len_bits(int sample_rate, int version, | ||
33 | unsigned int decode_flags) | ||
34 | { | ||
35 | |||
36 | int frame_len_bits; | ||
37 | |||
38 | if (sample_rate <= 16000) { | ||
39 | frame_len_bits = 9; | ||
40 | } else if (sample_rate <= 22050 || | ||
41 | (sample_rate <= 32000 && version == 1)) { | ||
42 | frame_len_bits = 10; | ||
43 | } else if (sample_rate <= 48000) { | ||
44 | frame_len_bits = 11; | ||
45 | } else if (sample_rate <= 96000) { | ||
46 | frame_len_bits = 12; | ||
47 | } else { | ||
48 | frame_len_bits = 13; | ||
49 | } | ||
50 | |||
51 | if (version == 3) { | ||
52 | int tmp = decode_flags & 0x6; | ||
53 | if (tmp == 0x2) { | ||
54 | ++frame_len_bits; | ||
55 | } else if (tmp == 0x4) { | ||
56 | --frame_len_bits; | ||
57 | } else if (tmp == 0x6) { | ||
58 | frame_len_bits -= 2; | ||
59 | } | ||
60 | } | ||
61 | |||
62 | return frame_len_bits; | ||
63 | } | ||
64 | |||
65 | /** | ||
66 | * Decode an uncompressed coefficient. | ||
67 | * @param s codec context | ||
68 | * @return the decoded coefficient | ||
69 | */ | ||
70 | unsigned int ff_wma_get_large_val(GetBitContext* gb) | ||
71 | { | ||
72 | /** consumes up to 34 bits */ | ||
73 | int n_bits = 8; | ||
74 | /** decode length */ | ||
75 | if (get_bits1(gb)) { | ||
76 | n_bits += 8; | ||
77 | if (get_bits1(gb)) { | ||
78 | n_bits += 8; | ||
79 | if (get_bits1(gb)) { | ||
80 | n_bits += 7; | ||
81 | } | ||
82 | } | ||
83 | } | ||
84 | return get_bits_long(gb, n_bits); | ||
85 | } | ||
86 | |||
87 | /** | ||
88 | * Decode run level compressed coefficients. | ||
89 | * @param avctx codec context | ||
90 | * @param gb bitstream reader context | ||
91 | * @param vlc vlc table for get_vlc2 | ||
92 | * @param level_table level codes | ||
93 | * @param run_table run codes | ||
94 | * @param version 0 for wma1,2 1 for wmapro | ||
95 | * @param ptr output buffer | ||
96 | * @param offset offset in the output buffer | ||
97 | * @param num_coefs number of input coefficents | ||
98 | * @param block_len input buffer length (2^n) | ||
99 | * @param frame_len_bits number of bits for escaped run codes | ||
100 | * @param coef_nb_bits number of bits for escaped level codes | ||
101 | * @return 0 on success, -1 otherwise | ||
102 | */ | ||
103 | #define av_log(...) | ||
104 | int ff_wma_run_level_decode(GetBitContext* gb, | ||
105 | VLC *vlc, | ||
106 | const int32_t *level_table, const uint16_t *run_table, | ||
107 | int version, int32_t *ptr, int offset, | ||
108 | int num_coefs, int block_len, int frame_len_bits, | ||
109 | int coef_nb_bits) | ||
110 | { | ||
111 | int32_t code, level, sign; | ||
112 | const unsigned int coef_mask = block_len - 1; | ||
113 | /* Rockbox: To be able to use rockbox' optimized mdct we need to pre-shift | ||
114 | * the values by >>(nbits-3). */ | ||
115 | const int nbits = av_log2(block_len)+1; | ||
116 | const int shift = WMAPRO_FRACT-(nbits-3); | ||
117 | for (; offset < num_coefs; offset++) { | ||
118 | code = get_vlc2(gb, vlc->table, VLCBITS, VLCMAX); | ||
119 | if (code > 1) { | ||
120 | /** normal code */ | ||
121 | offset += run_table[code]; | ||
122 | sign = !get_bits1(gb); | ||
123 | /* Rockbox: To be able to use rockbox' optimized mdct we need | ||
124 | * invert the sign. */ | ||
125 | ptr[offset & coef_mask] = sign ? level_table[code] : -level_table[code]; | ||
126 | ptr[offset & coef_mask] <<= shift; | ||
127 | } else if (code == 1) { | ||
128 | /** EOB */ | ||
129 | break; | ||
130 | } else { | ||
131 | /** escape */ | ||
132 | if (!version) { | ||
133 | level = get_bits(gb, coef_nb_bits); | ||
134 | /** NOTE: this is rather suboptimal. reading | ||
135 | block_len_bits would be better */ | ||
136 | offset += get_bits(gb, frame_len_bits); | ||
137 | } else { | ||
138 | level = ff_wma_get_large_val(gb); | ||
139 | /** escape decode */ | ||
140 | if (get_bits1(gb)) { | ||
141 | if (get_bits1(gb)) { | ||
142 | if (get_bits1(gb)) { | ||
143 | av_log(avctx,AV_LOG_ERROR, | ||
144 | "broken escape sequence\n"); | ||
145 | return -1; | ||
146 | } else | ||
147 | offset += get_bits(gb, frame_len_bits) + 4; | ||
148 | } else | ||
149 | offset += get_bits(gb, 2) + 1; | ||
150 | } | ||
151 | } | ||
152 | sign = !get_bits1(gb); | ||
153 | ptr[offset & coef_mask] = sign ? level : -level; | ||
154 | ptr[offset & coef_mask] <<= shift; | ||
155 | } | ||
156 | } | ||
157 | /** NOTE: EOB can be omitted */ | ||
158 | if (offset > num_coefs) { | ||
159 | av_log(avctx, AV_LOG_ERROR, "overflow in spectral RLE, ignoring\n"); | ||
160 | return -1; | ||
161 | } | ||
162 | |||
163 | return 0; | ||
164 | } | ||
diff --git a/lib/rbcodec/codecs/libwmapro/wma.h b/lib/rbcodec/codecs/libwmapro/wma.h new file mode 100644 index 0000000000..6fa7b94724 --- /dev/null +++ b/lib/rbcodec/codecs/libwmapro/wma.h | |||
@@ -0,0 +1,75 @@ | |||
1 | /* | ||
2 | * WMA compatible codec | ||
3 | * Copyright (c) 2002-2007 The FFmpeg Project | ||
4 | * | ||
5 | * This file is part of FFmpeg. | ||
6 | * | ||
7 | * FFmpeg is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU Lesser General Public | ||
9 | * License as published by the Free Software Foundation; either | ||
10 | * version 2.1 of the License, or (at your option) any later version. | ||
11 | * | ||
12 | * FFmpeg is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * Lesser General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU Lesser General Public | ||
18 | * License along with FFmpeg; if not, write to the Free Software | ||
19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
20 | */ | ||
21 | |||
22 | #ifndef AVCODEC_WMA_H | ||
23 | #define AVCODEC_WMA_H | ||
24 | |||
25 | #include "ffmpeg_get_bits.h" | ||
26 | #include "ffmpeg_put_bits.h" | ||
27 | |||
28 | #define WMAPRO_FRACT (17) | ||
29 | #define WMAPRO_DSP_SAMPLE_DEPTH (WMAPRO_FRACT + 8) | ||
30 | |||
31 | /* size of blocks */ | ||
32 | #define BLOCK_MIN_BITS 7 | ||
33 | #define BLOCK_MAX_BITS 11 | ||
34 | #define BLOCK_MAX_SIZE (1 << BLOCK_MAX_BITS) | ||
35 | |||
36 | #define BLOCK_NB_SIZES (BLOCK_MAX_BITS - BLOCK_MIN_BITS + 1) | ||
37 | |||
38 | /* XXX: find exact max size */ | ||
39 | #define HIGH_BAND_MAX_SIZE 16 | ||
40 | |||
41 | #define NB_LSP_COEFS 10 | ||
42 | |||
43 | /* XXX: is it a suitable value ? */ | ||
44 | #define MAX_CODED_SUPERFRAME_SIZE 16384 | ||
45 | |||
46 | #define MAX_CHANNELS 2 | ||
47 | |||
48 | #define NOISE_TAB_SIZE 8192 | ||
49 | |||
50 | #define LSP_POW_BITS 7 | ||
51 | |||
52 | //FIXME should be in wmadec | ||
53 | #define VLCBITS 9 | ||
54 | #define VLCMAX ((22+VLCBITS-1)/VLCBITS) | ||
55 | |||
56 | typedef struct CoefVLCTable { | ||
57 | int n; ///< total number of codes | ||
58 | int max_level; | ||
59 | const uint32_t *huffcodes; ///< VLC bit values | ||
60 | const uint8_t *huffbits; ///< VLC bit size | ||
61 | const uint16_t *levels; ///< table to build run/level tables | ||
62 | } CoefVLCTable; | ||
63 | |||
64 | |||
65 | int ff_wma_get_frame_len_bits(int sample_rate, int version, | ||
66 | unsigned int decode_flags); | ||
67 | unsigned int ff_wma_get_large_val(GetBitContext* gb); | ||
68 | int ff_wma_run_level_decode(GetBitContext* gb, | ||
69 | VLC *vlc, | ||
70 | const int32_t *level_table, const uint16_t *run_table, | ||
71 | int version, int32_t *ptr, int offset, | ||
72 | int num_coefs, int block_len, int frame_len_bits, | ||
73 | int coef_nb_bits); | ||
74 | |||
75 | #endif /* AVCODEC_WMA_H */ | ||
diff --git a/lib/rbcodec/codecs/libwmapro/wmapro_math.h b/lib/rbcodec/codecs/libwmapro/wmapro_math.h new file mode 100644 index 0000000000..c78d6b627f --- /dev/null +++ b/lib/rbcodec/codecs/libwmapro/wmapro_math.h | |||
@@ -0,0 +1,250 @@ | |||
1 | #ifndef _WMAPRO_MATH_H_ | ||
2 | #define _WMAPRO_MATH_H_ | ||
3 | |||
4 | #include <inttypes.h> | ||
5 | |||
6 | /* rockbox: not used | ||
7 | #define fixtof16(x) (float)((float)(x) / (float)(1 << 16)) | ||
8 | #define fixtof31(x) (float)((float)(x) / (float)(1 << 31)) | ||
9 | #define ftofix16(x) ((int32_t)((x) * (float)(1 << 16) + ((x) < 0 ? -0.5:0.5))) | ||
10 | #define ftofix31(x) ((int32_t)((x) * (float)(1 << 31) + ((x) < 0 ? -0.5:0.5))) | ||
11 | */ | ||
12 | |||
13 | #if defined(CPU_ARM) | ||
14 | /* Calculates: result = (X*Y)>>Z */ | ||
15 | #define fixmulshift(X,Y,Z) \ | ||
16 | ({ \ | ||
17 | int32_t lo; \ | ||
18 | int32_t hi; \ | ||
19 | asm volatile ( \ | ||
20 | "smull %[lo], %[hi], %[x], %[y] \n\t" /* multiply */ \ | ||
21 | "mov %[lo], %[lo], lsr %[shr] \n\t" /* lo >>= Z */ \ | ||
22 | "orr %[lo], %[lo], %[hi], lsl %[shl]" /* lo |= (hi << (32-Z)) */ \ | ||
23 | : [lo]"=&r"(lo), [hi]"=&r"(hi) \ | ||
24 | : [x]"r"(X), [y]"r"(Y), [shr]"r"(Z), [shl]"r"(32-Z)); \ | ||
25 | lo; \ | ||
26 | }) | ||
27 | |||
28 | /* Calculates: result = (X*Y)>>16 */ | ||
29 | #define fixmul16(X,Y) \ | ||
30 | ({ \ | ||
31 | int32_t lo; \ | ||
32 | int32_t hi; \ | ||
33 | asm volatile ( \ | ||
34 | "smull %[lo], %[hi], %[x], %[y] \n\t" /* multiply */ \ | ||
35 | "mov %[lo], %[lo], lsr #16 \n\t" /* lo >>= 16 */ \ | ||
36 | "orr %[lo], %[lo], %[hi], lsl #16" /* lo |= (hi << 16) */ \ | ||
37 | : [lo]"=&r"(lo), [hi]"=&r"(hi) \ | ||
38 | : [x]"r"(X), [y]"r"(Y)); \ | ||
39 | lo; \ | ||
40 | }) | ||
41 | |||
42 | /* Calculates: result = (X*Y)>>24 */ | ||
43 | #define fixmul24(X,Y) \ | ||
44 | ({ \ | ||
45 | int32_t lo; \ | ||
46 | int32_t hi; \ | ||
47 | asm volatile ( \ | ||
48 | "smull %[lo], %[hi], %[x], %[y] \n\t" /* multiply */ \ | ||
49 | "mov %[lo], %[lo], lsr #24 \n\t" /* lo >>= 24 */ \ | ||
50 | "orr %[lo], %[lo], %[hi], lsl #8" /* lo |= (hi << 8) */ \ | ||
51 | : [lo]"=&r"(lo), [hi]"=&r"(hi) \ | ||
52 | : [x]"r"(X), [y]"r"(Y)); \ | ||
53 | lo; \ | ||
54 | }) | ||
55 | |||
56 | /* Calculates: result = (X*Y)>>31, loose 1 bit precision */ | ||
57 | #define fixmul31(X,Y) \ | ||
58 | ({ \ | ||
59 | int32_t lo; \ | ||
60 | int32_t hi; \ | ||
61 | asm volatile ( \ | ||
62 | "smull %[lo], %[hi], %[x], %[y] \n\t" /* multiply */ \ | ||
63 | "mov %[hi], %[hi], lsl #1" /* hi <<= 1 */ \ | ||
64 | : [lo]"=&r"(lo), [hi]"=&r"(hi) \ | ||
65 | : [x]"r"(X), [y]"r"(Y)); \ | ||
66 | hi; \ | ||
67 | }) | ||
68 | #elif defined(CPU_COLDFIRE) | ||
69 | /* Calculates: result = (X*Y)>>Z */ | ||
70 | #define fixmulshift(X,Y,Z) \ | ||
71 | ({ \ | ||
72 | int32_t t1; \ | ||
73 | int32_t t2; \ | ||
74 | asm volatile ( \ | ||
75 | "mac.l %[x],%[y],%%acc0\n\t" /* multiply */ \ | ||
76 | "mulu.l %[y],%[x] \n\t" /* get lower half, avoid emac stall */ \ | ||
77 | "movclr.l %%acc0,%[t1] \n\t" /* get higher half */ \ | ||
78 | "moveq.l #31,%[t2] \n\t" \ | ||
79 | "sub.l %[sh],%[t2] \n\t" /* t2 = 31 - shift */ \ | ||
80 | "ble.s 1f \n\t" \ | ||
81 | "asl.l %[t2],%[t1] \n\t" /* hi <<= 31 - shift */ \ | ||
82 | "lsr.l %[sh],%[x] \n\t" /* (unsigned)lo >>= shift */ \ | ||
83 | "or.l %[x],%[t1] \n\t" /* combine result */ \ | ||
84 | "bra.s 2f \n\t" \ | ||
85 | "1: \n\t" \ | ||
86 | "neg.l %[t2] \n\t" /* t2 = shift - 31 */ \ | ||
87 | "asr.l %[t2],%[t1] \n\t" /* hi >>= t2 */ \ | ||
88 | "2: \n" \ | ||
89 | : [t1]"=&d"(t1), [t2]"=&d"(t2) \ | ||
90 | : [x] "d"((X)), [y] "d"((Y)), [sh]"d"((Z))); \ | ||
91 | t1; \ | ||
92 | }) | ||
93 | |||
94 | /* Calculates: result = (X*Y)>>16 */ | ||
95 | #define fixmul16(X,Y) \ | ||
96 | ({ \ | ||
97 | int32_t t, x = (X); \ | ||
98 | asm volatile ( \ | ||
99 | "mac.l %[x],%[y],%%acc0\n\t" /* multiply */ \ | ||
100 | "mulu.l %[y],%[x] \n\t" /* get lower half, avoid emac stall */ \ | ||
101 | "movclr.l %%acc0,%[t] \n\t" /* get higher half */ \ | ||
102 | "lsr.l #1,%[t] \n\t" /* hi >>= 1 to compensate emac shift */ \ | ||
103 | "move.w %[t],%[x] \n\t" /* combine halfwords */\ | ||
104 | "swap %[x] \n\t" \ | ||
105 | : [t]"=&d"(t), [x] "+d" (x) \ | ||
106 | : [y] "d" ((Y))); \ | ||
107 | x; \ | ||
108 | }) | ||
109 | |||
110 | /* Calculates: result = (X*Y)>>31 (may lose msb to overflow) */ | ||
111 | #define fixmul31(X,Y) \ | ||
112 | ({ \ | ||
113 | int32_t t; \ | ||
114 | asm volatile ( \ | ||
115 | "mac.l %[x], %[y], %%acc0\n\t" /* multiply */ \ | ||
116 | "movclr.l %%acc0, %[t]\n\t" /* get higher half as result */ \ | ||
117 | : [t] "=d" (t) \ | ||
118 | : [x] "r" ((X)), [y] "r" ((Y))); \ | ||
119 | t; \ | ||
120 | }) | ||
121 | #else | ||
122 | static inline int32_t fixmulshift(int32_t x, int32_t y, int shamt) | ||
123 | { | ||
124 | int64_t temp; | ||
125 | temp = x; | ||
126 | temp *= y; | ||
127 | |||
128 | temp >>= shamt; | ||
129 | |||
130 | return (int32_t)temp; | ||
131 | } | ||
132 | |||
133 | static inline int32_t fixmul31(int32_t x, int32_t y) | ||
134 | { | ||
135 | int64_t temp; | ||
136 | temp = x; | ||
137 | temp *= y; | ||
138 | |||
139 | temp >>= 31; | ||
140 | |||
141 | return (int32_t)temp; | ||
142 | } | ||
143 | |||
144 | static inline int32_t fixmul24(int32_t x, int32_t y) | ||
145 | { | ||
146 | int64_t temp; | ||
147 | temp = x; | ||
148 | temp *= y; | ||
149 | |||
150 | temp >>= 24; | ||
151 | |||
152 | return (int32_t)temp; | ||
153 | } | ||
154 | |||
155 | static inline int32_t fixmul16(int32_t x, int32_t y) | ||
156 | { | ||
157 | int64_t temp; | ||
158 | temp = x; | ||
159 | temp *= y; | ||
160 | |||
161 | temp >>= 16; | ||
162 | |||
163 | return (int32_t)temp; | ||
164 | } | ||
165 | #endif /* CPU_COLDFIRE, CPU_ARM */ | ||
166 | |||
167 | #if defined(CPU_COLDFIRE) | ||
168 | #define VECT_MUL_WIN_KERNEL(i, j, s0, s1, wi, wj) \ | ||
169 | asm volatile ( \ | ||
170 | "mac.l %[s0], %[wj], %%acc0 \n\t" \ | ||
171 | "msac.l %[s1], %[wi], %%acc0 \n\t" \ | ||
172 | "mac.l %[s0], %[wi], %%acc1 \n\t" \ | ||
173 | "mac.l %[s1], %[wj], %%acc1 \n\t" \ | ||
174 | "movclr.l %%acc0, %[s0] \n\t" \ | ||
175 | "move.l %[s0], (%[dst_i]) \n\t" \ | ||
176 | "movclr.l %%acc1, %[s0] \n\t" \ | ||
177 | "move.l %[s0], (%[dst_j]) \n\t" \ | ||
178 | : [s0] "+r" (s0) /* register is clobbered so specify it as an input */ \ | ||
179 | : [dst_i] "a" (&dst[i]), [dst_j] "a" (&dst[j]), \ | ||
180 | [s1] "r" (s1), [wi] "r" (wi), [wj] "r" (wj) \ | ||
181 | : "cc", "memory"); | ||
182 | #else | ||
183 | #define VECT_MUL_WIN_KERNEL(i, j, s0, s1, wi, wj) \ | ||
184 | dst[i] = fixmul31(wj, s0) - fixmul31(wi, s1); \ | ||
185 | dst[j] = fixmul31(wi, s0) + fixmul31(wj, s1); | ||
186 | #endif /* CPU_COLDFIRE */ | ||
187 | |||
188 | static inline void vector_fixmul_window(int32_t *dst, const int32_t *src0, | ||
189 | const int32_t *src1, const int32_t *win, | ||
190 | int len) | ||
191 | { | ||
192 | int i, j; | ||
193 | dst += len; | ||
194 | win += len; | ||
195 | src0+= len; | ||
196 | for(i=-len, j=len-1; i<0; i++, j--) { | ||
197 | int32_t s0 = src0[i]; /* s0 = src0[ 0 ... len-1] */ | ||
198 | int32_t s1 = src1[j]; /* s1 = src1[2*len-1 ... len] */ | ||
199 | int32_t wi = -win[i]; /* wi = -win[ 0 ... len-1] */ | ||
200 | int32_t wj = -win[j]; /* wj = -win[2*len-1 ... len] */ | ||
201 | VECT_MUL_WIN_KERNEL(i, j, s0, s1, wi, wj); | ||
202 | } | ||
203 | } | ||
204 | |||
205 | #if defined(CPU_ARM) | ||
206 | #define VECT_MUL_SCALAR_KERNEL(dst, src, mul) \ | ||
207 | asm volatile ( \ | ||
208 | "ldmia %[src]!, {r1-r4} \n\t" \ | ||
209 | "smull r0, r5, r1, %[mul] \n\t" \ | ||
210 | "mov r0, r0, lsr #16 \n\t" \ | ||
211 | "orr r0, r0, r5, lsl #16\n\t" \ | ||
212 | "smull r1, r5, r2, %[mul] \n\t" \ | ||
213 | "mov r1, r1, lsr #16 \n\t" \ | ||
214 | "orr r1, r1, r5, lsl #16\n\t" \ | ||
215 | "smull r2, r5, r3, %[mul] \n\t" \ | ||
216 | "mov r2, r2, lsr #16 \n\t" \ | ||
217 | "orr r2, r2, r5, lsl #16\n\t" \ | ||
218 | "smull r3, r5, r4, %[mul] \n\t" \ | ||
219 | "mov r3, r3, lsr #16 \n\t" \ | ||
220 | "orr r3, r3, r5, lsl #16\n\t" \ | ||
221 | "stmia %[dst]!, {r0-r3} \n" \ | ||
222 | : [dst]"+r"(dst), [src]"+r"(src) \ | ||
223 | : [mul]"r"(mul) \ | ||
224 | : "r0", "r1", "r2", "r3", "r4", "r5", "memory"); | ||
225 | #else | ||
226 | #define VECT_MUL_SCALAR_KERNEL(dst, src, mul) \ | ||
227 | dst[i ] = fixmul16(src[i ], mul); \ | ||
228 | dst[i+1] = fixmul16(src[i+1], mul); \ | ||
229 | dst[i+2] = fixmul16(src[i+2], mul); \ | ||
230 | dst[i+3] = fixmul16(src[i+3], mul); | ||
231 | #endif /* CPU_ARM, CPU_COLDFIRE */ | ||
232 | |||
233 | static inline void vector_fixmul_scalar(int32_t *dst, const int32_t *src, | ||
234 | int32_t mul, int len) | ||
235 | { | ||
236 | /* len is _always_ a multiple of 4, because len is the difference of sfb's | ||
237 | * which themselves are always a multiple of 4. */ | ||
238 | int i; | ||
239 | for (i=0; i<len; i+=4) { | ||
240 | VECT_MUL_SCALAR_KERNEL(dst, src, mul); | ||
241 | } | ||
242 | } | ||
243 | |||
244 | static inline int av_clip(int a, int amin, int amax) | ||
245 | { | ||
246 | if (a < amin) return amin; | ||
247 | else if (a > amax) return amax; | ||
248 | else return a; | ||
249 | } | ||
250 | #endif /* _WMAPRO_MATH_H_ */ | ||
diff --git a/lib/rbcodec/codecs/libwmapro/wmaprodata.h b/lib/rbcodec/codecs/libwmapro/wmaprodata.h new file mode 100644 index 0000000000..94762f7dbf --- /dev/null +++ b/lib/rbcodec/codecs/libwmapro/wmaprodata.h | |||
@@ -0,0 +1,615 @@ | |||
1 | /* | ||
2 | * WMA 9/3/PRO compatible decoder | ||
3 | * Copyright (c) 2007 Baptiste Coudurier, Benjamin Larsson, Ulion | ||
4 | * Copyright (c) 2008 - 2009 Sascha Sommer | ||
5 | * | ||
6 | * This file is part of FFmpeg. | ||
7 | * | ||
8 | * FFmpeg is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU Lesser General Public | ||
10 | * License as published by the Free Software Foundation; either | ||
11 | * version 2.1 of the License, or (at your option) any later version. | ||
12 | * | ||
13 | * FFmpeg is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
16 | * Lesser General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU Lesser General Public | ||
19 | * License along with FFmpeg; if not, write to the Free Software | ||
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
21 | */ | ||
22 | |||
23 | /** | ||
24 | * @file libavcodec/wmaprodata.h | ||
25 | * @brief tables for wmapro decoding | ||
26 | */ | ||
27 | |||
28 | #ifndef AVCODEC_WMAPRODATA_H | ||
29 | #define AVCODEC_WMAPRODATA_H | ||
30 | |||
31 | #include <stddef.h> | ||
32 | #include <stdint.h> | ||
33 | |||
34 | /* rockbox: not used | ||
35 | const int32_t fixed_sin64[33] = { | ||
36 | 0x00000000, 0xF9B82685, 0xF3742CA3, 0xED37EF92, 0xE70747C5, 0xE0E60686, | ||
37 | 0xDAD7F3A3, 0xD4E0CB16, 0xCF043AB4, 0xC945DFED, 0xC3A94591, 0xBE31E19C, | ||
38 | 0xB8E3131A, 0xB3C0200D, 0xAECC336D, 0xAA0A5B2F, 0xA57D8667, 0xA1288377, | ||
39 | 0x9D0DFE55, 0x99307EE1, 0x9592675D, 0x9235F2ED, 0x8F1D343B, 0x8C4A1430, | ||
40 | 0x89BE50C4, 0x877B7BED, 0x8582FAA6, 0x83D60413, 0x8275A0C1, 0x8162AA05, | ||
41 | 0x809DC972, 0x80277873, 0x80000001, | ||
42 | }; | ||
43 | */ | ||
44 | /** | ||
45 | * @brief frequencies to divide the frequency spectrum into scale factor bands | ||
46 | */ | ||
47 | static const uint16_t critical_freq[] = { | ||
48 | 100, 200, 300, 400, 510, 630, 770, | ||
49 | 920, 1080, 1270, 1480, 1720, 2000, 2320, | ||
50 | 2700, 3150, 3700, 4400, 5300, 6400, 7700, | ||
51 | 9500, 12000, 15500, 20675, 28575, 41375, 63875, | ||
52 | }; | ||
53 | |||
54 | /** | ||
55 | * @name Huffman tables for DPCM-coded scale factors | ||
56 | * @{ | ||
57 | */ | ||
58 | #define HUFF_SCALE_SIZE 121 | ||
59 | #define HUFF_SCALE_MAXBITS 19 | ||
60 | static const uint16_t scale_huffcodes[HUFF_SCALE_SIZE] = { | ||
61 | 0xE639, 0xE6C2, 0xE6C1, 0xE6C0, 0xE63F, 0xE63E, 0xE63D, 0xE63C, | ||
62 | 0xE63B, 0xE63A, 0xE638, 0xE637, 0xE636, 0xE635, 0xE634, 0xE632, | ||
63 | 0xE633, 0xE620, 0x737B, 0xE610, 0xE611, 0xE612, 0xE613, 0xE614, | ||
64 | 0xE615, 0xE616, 0xE617, 0xE618, 0xE619, 0xE61A, 0xE61B, 0xE61C, | ||
65 | 0xE61D, 0xE61E, 0xE61F, 0xE6C3, 0xE621, 0xE622, 0xE623, 0xE624, | ||
66 | 0xE625, 0xE626, 0xE627, 0xE628, 0xE629, 0xE62A, 0xE62B, 0xE62C, | ||
67 | 0xE62D, 0xE62E, 0xE62F, 0xE630, 0xE631, 0x1CDF, 0x0E60, 0x0399, | ||
68 | 0x00E7, 0x001D, 0x0000, 0x0001, 0x0001, 0x0001, 0x0002, 0x0006, | ||
69 | 0x0002, 0x0007, 0x0006, 0x000F, 0x0038, 0x0072, 0x039A, 0xE6C4, | ||
70 | 0xE6C5, 0xE6C6, 0xE6C7, 0xE6C8, 0xE6C9, 0xE6CA, 0xE6CB, 0xE6CC, | ||
71 | 0xE6CD, 0xE6CE, 0xE6CF, 0xE6D0, 0xE6D1, 0xE6D2, 0xE6D3, 0xE6D4, | ||
72 | 0xE6D5, 0xE6D6, 0xE6D7, 0xE6D8, 0xE6D9, 0xE6DA, 0xE6DB, 0xE6DC, | ||
73 | 0xE6DD, 0xE6DE, 0xE6DF, 0xE6E0, 0xE6E1, 0xE6E2, 0xE6E3, 0xE6E4, | ||
74 | 0xE6E5, 0xE6E6, 0xE6E7, 0xE6E8, 0xE6E9, 0xE6EA, 0xE6EB, 0xE6EC, | ||
75 | 0xE6ED, 0xE6EE, 0xE6EF, 0xE6F0, 0xE6F1, 0xE6F2, 0xE6F3, 0xE6F4, | ||
76 | 0xE6F5, | ||
77 | }; | ||
78 | |||
79 | static const uint8_t scale_huffbits[HUFF_SCALE_SIZE] = { | ||
80 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
81 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
82 | 19, 19, 18, 19, 19, 19, 19, 19, | ||
83 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
84 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
85 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
86 | 19, 19, 19, 19, 19, 16, 15, 13, | ||
87 | 11, 8, 5, 2, 1, 3, 5, 6, | ||
88 | 6, 7, 7, 7, 9, 10, 13, 19, | ||
89 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
90 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
91 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
92 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
93 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
94 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
95 | 19, | ||
96 | }; | ||
97 | /** @} */ | ||
98 | |||
99 | |||
100 | /** | ||
101 | * @name Huffman, run and level tables for runlevel-coded scale factors | ||
102 | * @{ | ||
103 | */ | ||
104 | #define HUFF_SCALE_RL_SIZE 120 | ||
105 | #define HUFF_SCALE_RL_MAXBITS 21 | ||
106 | static const uint32_t scale_rl_huffcodes[HUFF_SCALE_RL_SIZE] = { | ||
107 | 0x00010C, 0x000001, 0x10FE2A, 0x000003, 0x000003, 0x000001, 0x000013, | ||
108 | 0x000020, 0x000029, 0x000014, 0x000016, 0x000045, 0x000049, 0x00002F, | ||
109 | 0x000042, 0x00008E, 0x00008F, 0x000129, 0x000009, 0x00000D, 0x0004AC, | ||
110 | 0x00002C, 0x000561, 0x0002E6, 0x00087C, 0x0002E2, 0x00095C, 0x000018, | ||
111 | 0x000001, 0x000016, 0x000044, 0x00002A, 0x000007, 0x000159, 0x000143, | ||
112 | 0x000128, 0x00015A, 0x00012D, 0x00002B, 0x0000A0, 0x000142, 0x00012A, | ||
113 | 0x0002EF, 0x0004AF, 0x00087D, 0x004AE9, 0x0043F9, 0x000067, 0x000199, | ||
114 | 0x002B05, 0x001583, 0x0021FE, 0x10FE2C, 0x000004, 0x00002E, 0x00010D, | ||
115 | 0x00000A, 0x000244, 0x000017, 0x000245, 0x000011, 0x00010E, 0x00012C, | ||
116 | 0x00002A, 0x00002F, 0x000121, 0x000046, 0x00087E, 0x0000BA, 0x000032, | ||
117 | 0x0087F0, 0x0056DC, 0x0002EC, 0x0043FA, 0x002B6F, 0x004AE8, 0x0002B7, | ||
118 | 0x10FE2B, 0x000001, 0x000051, 0x000010, 0x0002EE, 0x000B9C, 0x002576, | ||
119 | 0x000198, 0x0056DD, 0x0000CD, 0x000AC0, 0x000170, 0x004AEF, 0x00002D, | ||
120 | 0x0004AD, 0x0021FF, 0x0005CF, 0x002B04, 0x10FE29, 0x10FE28, 0x0002ED, | ||
121 | 0x002E74, 0x021FC4, 0x004AEE, 0x010FE3, 0x087F17, 0x000000, 0x000097, | ||
122 | 0x0002E3, 0x000ADA, 0x002575, 0x00173B, 0x0043FB, 0x002E75, 0x10FE2D, | ||
123 | 0x0015B6, 0x00056C, 0x000057, 0x000123, 0x000120, 0x00021E, 0x000172, | ||
124 | 0x0002B1, | ||
125 | }; | ||
126 | |||
127 | static const uint8_t scale_rl_huffbits[HUFF_SCALE_RL_SIZE] = { | ||
128 | 9, 2, 21, 2, 4, 5, 5, | ||
129 | 6, 6, 7, 7, 7, 7, 6, | ||
130 | 7, 8, 8, 9, 10, 10, 11, | ||
131 | 12, 11, 12, 12, 12, 12, 11, | ||
132 | 4, 5, 7, 8, 9, 9, 9, | ||
133 | 9, 9, 9, 8, 8, 9, 9, | ||
134 | 12, 11, 12, 15, 15, 13, 15, | ||
135 | 14, 13, 14, 21, 5, 6, 9, | ||
136 | 10, 10, 11, 10, 11, 9, 9, | ||
137 | 6, 8, 9, 7, 12, 10, 12, | ||
138 | 16, 15, 12, 15, 14, 15, 10, | ||
139 | 21, 6, 7, 11, 12, 14, 14, | ||
140 | 15, 15, 14, 12, 11, 15, 12, | ||
141 | 11, 14, 13, 14, 21, 21, 12, | ||
142 | 16, 18, 15, 17, 20, 7, 8, | ||
143 | 12, 12, 14, 15, 15, 16, 21, | ||
144 | 13, 11, 7, 9, 9, 10, 11, | ||
145 | 10, | ||
146 | }; | ||
147 | |||
148 | |||
149 | static const uint8_t scale_rl_run[HUFF_SCALE_RL_SIZE] = { | ||
150 | 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, | ||
151 | 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, | ||
152 | 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 1, 2, 3, | ||
153 | 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, | ||
154 | 23, 24, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, | ||
155 | 17, 18, 19, 20, 21, 22, 23, 24, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, | ||
156 | 0, 1, 0, 1, 0, 1, | ||
157 | }; | ||
158 | |||
159 | static const uint8_t scale_rl_level[HUFF_SCALE_RL_SIZE] = { | ||
160 | 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
161 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, | ||
162 | 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, | ||
163 | 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, | ||
164 | 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, | ||
165 | 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, | ||
166 | 7, 7, 8, 8, 9, 9, | ||
167 | }; | ||
168 | /** @} */ | ||
169 | |||
170 | |||
171 | /** | ||
172 | * @name Huffman, run and level codes for runlevel-coded coefficients | ||
173 | * @{ | ||
174 | */ | ||
175 | #define HUFF_COEF0_SIZE 272 | ||
176 | #define HUFF_COEF0_MAXBITS 21 | ||
177 | static const uint32_t coef0_huffcodes[HUFF_COEF0_SIZE] = { | ||
178 | 0x00004A, 0x00002B, 0x000000, 0x000003, 0x000006, 0x000009, 0x00000F, | ||
179 | 0x000010, 0x000016, 0x000011, 0x000016, 0x000028, 0x00002F, 0x000026, | ||
180 | 0x000029, 0x000045, 0x000055, 0x00005D, 0x000042, 0x00004E, 0x000051, | ||
181 | 0x00005E, 0x00008D, 0x0000A8, 0x0000AD, 0x000080, 0x000096, 0x00009F, | ||
182 | 0x0000AA, 0x0000BE, 0x00011C, 0x000153, 0x000158, 0x000170, 0x000104, | ||
183 | 0x00010D, 0x000105, 0x000103, 0x00012F, 0x000177, 0x000175, 0x000157, | ||
184 | 0x000174, 0x000225, 0x00023B, 0x00020D, 0x00021F, 0x000281, 0x00027B, | ||
185 | 0x000282, 0x0002AC, 0x0002FD, 0x00044F, 0x000478, 0x00044D, 0x0002EC, | ||
186 | 0x00044E, 0x000564, 0x000409, 0x00040B, 0x000501, 0x000545, 0x0004F3, | ||
187 | 0x000541, 0x00043B, 0x0004F1, 0x0004F4, 0x0008FD, 0x000A94, 0x000811, | ||
188 | 0x000B88, 0x000B91, 0x000B93, 0x0008EA, 0x000899, 0x000B8A, 0x000972, | ||
189 | 0x0009E5, 0x000A8F, 0x000A84, 0x000A8E, 0x000A00, 0x000830, 0x0008E8, | ||
190 | 0x000B95, 0x000871, 0x00083A, 0x000814, 0x000873, 0x000BFE, 0x001728, | ||
191 | 0x001595, 0x001712, 0x00102A, 0x001021, 0x001729, 0x00152E, 0x0013C3, | ||
192 | 0x001721, 0x001597, 0x00151B, 0x0010F2, 0x001403, 0x001703, 0x001503, | ||
193 | 0x001708, 0x0013C1, 0x00170E, 0x00170C, 0x0010E1, 0x0011EA, 0x001020, | ||
194 | 0x001500, 0x0017FA, 0x001704, 0x001705, 0x0017F0, 0x0017FB, 0x0021E6, | ||
195 | 0x002B2D, 0x0020C6, 0x002B29, 0x002E4A, 0x0023AC, 0x001519, 0x0023F3, | ||
196 | 0x002B2C, 0x0021C0, 0x0017FE, 0x0023D7, 0x0017F9, 0x0012E7, 0x0013C0, | ||
197 | 0x002261, 0x0023D3, 0x002057, 0x002056, 0x0021D2, 0x0020C7, 0x0023D2, | ||
198 | 0x0020EC, 0x0044C0, 0x002FE2, 0x00475B, 0x002A03, 0x002FE3, 0x0021E2, | ||
199 | 0x0021D0, 0x002A31, 0x002E13, 0x002E05, 0x0047E5, 0x00000E, 0x000024, | ||
200 | 0x000088, 0x0000B9, 0x00010C, 0x000224, 0x0002B3, 0x000283, 0x0002ED, | ||
201 | 0x00047B, 0x00041E, 0x00043D, 0x0004F5, 0x0005FD, 0x000A92, 0x000B96, | ||
202 | 0x000838, 0x000971, 0x000B83, 0x000B80, 0x000BF9, 0x0011D3, 0x0011E8, | ||
203 | 0x0011D7, 0x001527, 0x0011F8, 0x001073, 0x0010F0, 0x0010E4, 0x0017F8, | ||
204 | 0x001062, 0x001402, 0x0017E3, 0x00151A, 0x001077, 0x00152B, 0x00170D, | ||
205 | 0x0021D3, 0x002E41, 0x0013C2, 0x000029, 0x0000A9, 0x00025D, 0x000419, | ||
206 | 0x000544, 0x000B8B, 0x0009E4, 0x0011D2, 0x001526, 0x001724, 0x0012E6, | ||
207 | 0x00150B, 0x0017FF, 0x002E26, 0x002E4B, 0x002B28, 0x0021E3, 0x002A14, | ||
208 | 0x00475A, 0x002E12, 0x000057, 0x00023E, 0x000A90, 0x000BF0, 0x001072, | ||
209 | 0x001502, 0x0023D6, 0x0020ED, 0x002A30, 0x0044C7, 0x00008C, 0x00047F, | ||
210 | 0x00152A, 0x002262, 0x002E04, 0x0000A1, 0x0005F9, 0x000173, 0x000875, | ||
211 | 0x000171, 0x00152D, 0x0002E3, 0x0017E2, 0x0002AD, 0x0021C1, 0x000479, | ||
212 | 0x0021E7, 0x00041F, 0x005C4E, 0x000543, 0x005C4F, 0x000A91, 0x00898D, | ||
213 | 0x000B97, 0x008746, 0x000970, 0x008745, 0x000B85, 0x00A856, 0x00152F, | ||
214 | 0x010E8E, 0x0010E5, 0x00A857, 0x00170F, 0x021D11, 0x002A58, 0x010E8F, | ||
215 | 0x002E40, 0x021D13, 0x002A59, 0x043A25, 0x002A02, 0x043A21, 0x0044C1, | ||
216 | 0x087448, 0x0047E4, 0x043A20, 0x00542A, 0x087449, 0x00898C, | ||
217 | }; | ||
218 | |||
219 | static const uint8_t coef0_huffbits[HUFF_COEF0_SIZE] = { | ||
220 | 8, 7, 2, 3, 3, 4, 4, | ||
221 | 5, 5, 6, 6, 6, 6, 7, | ||
222 | 7, 7, 7, 7, 8, 8, 8, | ||
223 | 8, 8, 8, 8, 9, 9, 9, | ||
224 | 9, 9, 9, 9, 9, 9, 10, | ||
225 | 10, 10, 10, 10, 10, 10, 10, | ||
226 | 10, 10, 10, 11, 11, 11, 11, | ||
227 | 11, 11, 11, 11, 11, 11, 11, | ||
228 | 11, 11, 12, 12, 12, 12, 12, | ||
229 | 12, 12, 12, 12, 12, 12, 13, | ||
230 | 12, 12, 12, 12, 12, 12, 13, | ||
231 | 13, 13, 13, 13, 13, 13, 12, | ||
232 | 12, 13, 13, 13, 13, 13, 13, | ||
233 | 13, 13, 14, 14, 13, 13, 14, | ||
234 | 13, 13, 14, 14, 14, 14, 14, | ||
235 | 14, 14, 14, 14, 14, 13, 14, | ||
236 | 14, 14, 14, 14, 14, 14, 15, | ||
237 | 14, 15, 14, 14, 14, 14, 14, | ||
238 | 14, 15, 14, 14, 14, 14, 14, | ||
239 | 14, 14, 15, 15, 15, 15, 14, | ||
240 | 15, 15, 15, 15, 15, 15, 15, | ||
241 | 15, 15, 15, 15, 15, 4, 7, | ||
242 | 8, 9, 10, 10, 10, 11, 11, | ||
243 | 11, 12, 12, 12, 12, 12, 12, | ||
244 | 13, 13, 13, 13, 13, 13, 13, | ||
245 | 13, 13, 13, 14, 14, 14, 14, | ||
246 | 14, 14, 14, 14, 14, 13, 14, | ||
247 | 15, 14, 14, 6, 9, 11, 12, | ||
248 | 12, 12, 13, 13, 13, 13, 14, | ||
249 | 14, 14, 14, 14, 14, 15, 15, | ||
250 | 15, 15, 7, 10, 12, 13, 14, | ||
251 | 14, 14, 15, 15, 15, 8, 11, | ||
252 | 13, 14, 15, 9, 12, 9, 13, | ||
253 | 10, 13, 10, 14, 11, 15, 11, | ||
254 | 15, 12, 15, 12, 15, 12, 16, | ||
255 | 12, 17, 13, 17, 13, 17, 13, | ||
256 | 18, 14, 17, 14, 19, 14, 18, | ||
257 | 14, 19, 14, 20, 15, 20, 15, | ||
258 | 21, 15, 20, 16, 21, 16, | ||
259 | }; | ||
260 | |||
261 | |||
262 | #define HUFF_COEF1_SIZE 244 | ||
263 | #define HUFF_COEF1_MAXBITS 22 | ||
264 | static const uint32_t coef1_huffcodes[HUFF_COEF1_SIZE] = { | ||
265 | 0x0001E2, 0x00007F, 0x000000, 0x000002, 0x000008, 0x00000E, 0x000019, | ||
266 | 0x00002F, 0x000037, 0x000060, 0x00006C, 0x000095, 0x0000C6, 0x0000F0, | ||
267 | 0x00012E, 0x000189, 0x0001A5, 0x0001F8, 0x000253, 0x00030A, 0x000344, | ||
268 | 0x00034D, 0x0003F2, 0x0004BD, 0x0005D7, 0x00062A, 0x00068B, 0x000693, | ||
269 | 0x000797, 0x00097D, 0x000BAB, 0x000C52, 0x000C5E, 0x000D21, 0x000D20, | ||
270 | 0x000F1A, 0x000FCE, 0x000FD1, 0x0012F1, 0x001759, 0x0018AC, 0x0018A7, | ||
271 | 0x0018BF, 0x001A2B, 0x001E52, 0x001E50, 0x001E31, 0x001FB8, 0x0025E6, | ||
272 | 0x0025E7, 0x002EB4, 0x002EB7, 0x003169, 0x00315B, 0x00317C, 0x00316C, | ||
273 | 0x0034CA, 0x00348D, 0x003F40, 0x003CA2, 0x003F76, 0x004BC3, 0x004BE5, | ||
274 | 0x003F73, 0x004BF8, 0x004BF9, 0x006131, 0x00628B, 0x006289, 0x0062DA, | ||
275 | 0x00628A, 0x0062D4, 0x006997, 0x0062B4, 0x006918, 0x00794D, 0x007E7B, | ||
276 | 0x007E87, 0x007EEA, 0x00794E, 0x00699D, 0x007967, 0x00699F, 0x0062DB, | ||
277 | 0x007E7A, 0x007EEB, 0x00BAC0, 0x0097C9, 0x00C537, 0x00C5AB, 0x00D233, | ||
278 | 0x00D338, 0x00BAC1, 0x00D23D, 0x012F91, 0x00D339, 0x00FDC8, 0x00D23C, | ||
279 | 0x00FDDC, 0x00FDC9, 0x00FDDD, 0x00D33C, 0x000003, 0x000016, 0x00003E, | ||
280 | 0x0000C3, 0x0001A1, 0x000347, 0x00062E, 0x000BAA, 0x000F2D, 0x001A2A, | ||
281 | 0x001E58, 0x00309B, 0x003CA3, 0x005D6A, 0x00629A, 0x006996, 0x00794F, | ||
282 | 0x007EE5, 0x00BAD7, 0x00C5AA, 0x00C5F4, 0x00FDDF, 0x00FDDE, 0x018A20, | ||
283 | 0x018A6D, 0x01A67B, 0x01A464, 0x025F21, 0x01F9E2, 0x01F9E3, 0x00000A, | ||
284 | 0x00003D, 0x000128, 0x0003C7, 0x000C24, 0x0018A3, 0x002EB1, 0x003CB2, | ||
285 | 0x00691F, 0x007E79, 0x000013, 0x0000BB, 0x00034E, 0x000D14, 0x0025FD, | ||
286 | 0x004BE7, 0x000024, 0x000188, 0x0007EF, 0x000035, 0x000308, 0x0012F2, | ||
287 | 0x00005C, 0x0003F6, 0x0025E0, 0x00006D, 0x000698, 0x000096, 0x000C25, | ||
288 | 0x0000C7, 0x000F1B, 0x0000F3, 0x0012FF, 0x000174, 0x001A66, 0x0001A0, | ||
289 | 0x003099, 0x0001E4, 0x00316B, 0x000252, 0x003F31, 0x00030B, 0x004BE6, | ||
290 | 0x000346, 0x0062FB, 0x00034F, 0x007966, 0x0003F5, 0x007E86, 0x0005D4, | ||
291 | 0x00C511, 0x00062C, 0x00C5F5, 0x000692, 0x00F299, 0x000795, 0x00F298, | ||
292 | 0x0007E9, 0x018A21, 0x00097E, 0x0175AD, 0x000C27, 0x01A67A, 0x000C57, | ||
293 | 0x02EB59, 0x000D22, 0x0314D9, 0x000F19, 0x03F3C2, 0x000FCD, 0x0348CB, | ||
294 | 0x0012F8, 0x04BE41, 0x0018A0, 0x03F3C1, 0x0018A1, 0x04BE40, 0x0018B7, | ||
295 | 0x0629B0, 0x001A64, 0x0D2329, 0x001E30, 0x03F3C3, 0x001F9F, 0x0BAD62, | ||
296 | 0x001F99, 0x0FCF00, 0x00309A, 0x0629B1, 0x002EB6, 0x175AC3, 0x00314C, | ||
297 | 0x069195, 0x003168, 0x0BAD63, 0x00348E, 0x175AC1, 0x003F30, 0x07E781, | ||
298 | 0x003F41, 0x0D2328, 0x003F42, 0x1F9E03, 0x004BC2, 0x175AC2, 0x003F74, | ||
299 | 0x175AC0, 0x005D61, 0x3F3C05, 0x006130, 0x3F3C04, 0x0062B5, | ||
300 | }; | ||
301 | |||
302 | static const uint8_t coef1_huffbits[HUFF_COEF1_SIZE] = { | ||
303 | 9, 7, 2, 3, 4, 4, 5, | ||
304 | 6, 6, 7, 7, 8, 8, 8, | ||
305 | 9, 9, 9, 9, 10, 10, 10, | ||
306 | 10, 10, 11, 11, 11, 11, 11, | ||
307 | 11, 12, 12, 12, 12, 12, 12, | ||
308 | 12, 12, 12, 13, 13, 13, 13, | ||
309 | 13, 13, 13, 13, 13, 13, 14, | ||
310 | 14, 14, 14, 14, 14, 14, 14, | ||
311 | 14, 14, 14, 14, 14, 15, 15, | ||
312 | 14, 15, 15, 15, 15, 15, 15, | ||
313 | 15, 15, 15, 15, 15, 15, 15, | ||
314 | 15, 15, 15, 15, 15, 15, 15, | ||
315 | 15, 15, 16, 16, 16, 16, 16, | ||
316 | 16, 16, 16, 17, 16, 16, 16, | ||
317 | 16, 16, 16, 16, 3, 5, 6, | ||
318 | 8, 9, 10, 11, 12, 12, 13, | ||
319 | 13, 14, 14, 15, 15, 15, 15, | ||
320 | 15, 16, 16, 16, 16, 16, 17, | ||
321 | 17, 17, 17, 18, 17, 17, 4, | ||
322 | 6, 9, 10, 12, 13, 14, 14, | ||
323 | 15, 15, 5, 8, 10, 12, 14, | ||
324 | 15, 6, 9, 11, 6, 10, 13, | ||
325 | 7, 10, 14, 7, 11, 8, 12, | ||
326 | 8, 12, 8, 13, 9, 13, 9, | ||
327 | 14, 9, 14, 10, 14, 10, 15, | ||
328 | 10, 15, 10, 15, 10, 15, 11, | ||
329 | 16, 11, 16, 11, 16, 11, 16, | ||
330 | 11, 17, 12, 17, 12, 17, 12, | ||
331 | 18, 12, 18, 12, 18, 12, 18, | ||
332 | 13, 19, 13, 18, 13, 19, 13, | ||
333 | 19, 13, 20, 13, 18, 13, 20, | ||
334 | 13, 20, 14, 19, 14, 21, 14, | ||
335 | 19, 14, 20, 14, 21, 14, 19, | ||
336 | 14, 20, 14, 21, 15, 21, 14, | ||
337 | 21, 15, 22, 15, 22, 15, | ||
338 | }; | ||
339 | |||
340 | |||
341 | static const uint16_t coef0_run[HUFF_COEF0_SIZE] = { | ||
342 | 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, | ||
343 | 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, | ||
344 | 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, | ||
345 | 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, | ||
346 | 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, | ||
347 | 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, | ||
348 | 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, | ||
349 | 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, | ||
350 | 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, | ||
351 | 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, | ||
352 | 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 0, 1, | ||
353 | 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, | ||
354 | 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, | ||
355 | 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, 1, 2, 3, | ||
356 | 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, | ||
357 | 18, 19, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, | ||
358 | 2, 3, 4, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, | ||
359 | 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, | ||
360 | 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, | ||
361 | 1, 0, 1, 0, 1, 0, | ||
362 | }; | ||
363 | |||
364 | static const int32_t coef0_level[HUFF_COEF0_SIZE] = { | ||
365 | 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
366 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
367 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
368 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
369 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
370 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
371 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
372 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
373 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
374 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
375 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, | ||
376 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
377 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
378 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, | ||
379 | 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, | ||
380 | 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, | ||
381 | 5, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, | ||
382 | 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, | ||
383 | 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, | ||
384 | 25, 26, 26, 27, 27, 28, | ||
385 | }; | ||
386 | |||
387 | |||
388 | static const uint16_t coef1_run[HUFF_COEF1_SIZE] = { | ||
389 | 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, | ||
390 | 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, | ||
391 | 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, | ||
392 | 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, | ||
393 | 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, | ||
394 | 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 0, 1, 2, 3, 4, 5, | ||
395 | 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, | ||
396 | 24, 25, 26, 27, 28, 29, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, | ||
397 | 2, 3, 4, 5, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 0, 1, 0, | ||
398 | 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, | ||
399 | 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, | ||
400 | 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, | ||
401 | 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, | ||
402 | 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, | ||
403 | }; | ||
404 | |||
405 | static const int32_t coef1_level[HUFF_COEF1_SIZE] = { | ||
406 | 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
407 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
408 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
409 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
410 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
411 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, | ||
412 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
413 | 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, | ||
414 | 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9, 10, | ||
415 | 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, | ||
416 | 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, | ||
417 | 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, | ||
418 | 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45, 46, | ||
419 | 46, 47, 47, 48, 48, 49, 49, 50, 51, 52, | ||
420 | }; | ||
421 | /** @} */ | ||
422 | |||
423 | |||
424 | /** | ||
425 | * @name Huffman and vector lookup tables for vector-coded coefficients | ||
426 | * @{ | ||
427 | */ | ||
428 | #define HUFF_VEC4_SIZE 127 | ||
429 | #define HUFF_VEC4_MAXBITS 14 | ||
430 | static const uint16_t vec4_huffcodes[HUFF_VEC4_SIZE] = { | ||
431 | 0x0019, 0x0027, 0x00F2, 0x03BA, 0x0930, 0x1267, 0x0031, 0x0030, | ||
432 | 0x0097, 0x0221, 0x058B, 0x0124, 0x00EB, 0x01D4, 0x03D8, 0x0584, | ||
433 | 0x0364, 0x045F, 0x0F66, 0x0931, 0x24CD, 0x002F, 0x0039, 0x00E8, | ||
434 | 0x02C3, 0x078A, 0x0037, 0x0029, 0x0084, 0x01B1, 0x00ED, 0x0086, | ||
435 | 0x00F9, 0x03AB, 0x01EB, 0x08BC, 0x011E, 0x00F3, 0x0220, 0x058A, | ||
436 | 0x00EC, 0x008E, 0x012B, 0x01EA, 0x0119, 0x04B0, 0x04B1, 0x03B8, | ||
437 | 0x0691, 0x0365, 0x01ED, 0x049A, 0x0EA9, 0x0EA8, 0x08BD, 0x24CC, | ||
438 | 0x0026, 0x0035, 0x00DB, 0x02C4, 0x07B2, 0x0038, 0x002B, 0x007F, | ||
439 | 0x01B3, 0x00F4, 0x0091, 0x0116, 0x03BB, 0x0215, 0x0932, 0x002D, | ||
440 | 0x002A, 0x008A, 0x01DE, 0x0028, 0x0020, 0x005C, 0x0090, 0x0068, | ||
441 | 0x01EE, 0x00E9, 0x008D, 0x012A, 0x0087, 0x005D, 0x0118, 0x0349, | ||
442 | 0x01EF, 0x01E3, 0x08B9, 0x00F0, 0x00D3, 0x0214, 0x049B, 0x00DA, | ||
443 | 0x0089, 0x0125, 0x0217, 0x012D, 0x0690, 0x0094, 0x007D, 0x011F, | ||
444 | 0x007E, 0x0059, 0x0127, 0x01A5, 0x0111, 0x00F8, 0x045D, 0x03B9, | ||
445 | 0x0259, 0x0580, 0x02C1, 0x01DF, 0x0585, 0x0216, 0x0163, 0x01B0, | ||
446 | 0x03C4, 0x08B8, 0x078B, 0x0755, 0x0581, 0x0F67, 0x0000, | ||
447 | }; | ||
448 | |||
449 | static const uint8_t vec4_huffbits[HUFF_VEC4_SIZE] = { | ||
450 | 5, 6, 8, 10, 12, 13, 6, 6, | ||
451 | 8, 10, 11, 9, 8, 9, 10, 11, | ||
452 | 10, 11, 12, 12, 14, 6, 6, 8, | ||
453 | 10, 11, 6, 6, 8, 9, 8, 8, | ||
454 | 8, 10, 9, 12, 9, 8, 10, 11, | ||
455 | 8, 8, 9, 9, 9, 11, 11, 10, | ||
456 | 11, 10, 9, 11, 12, 12, 12, 14, | ||
457 | 6, 6, 8, 10, 11, 6, 6, 7, | ||
458 | 9, 8, 8, 9, 10, 10, 12, 6, | ||
459 | 6, 8, 9, 6, 6, 7, 8, 7, | ||
460 | 9, 8, 8, 9, 8, 7, 9, 10, | ||
461 | 9, 9, 12, 8, 8, 10, 11, 8, | ||
462 | 8, 9, 10, 9, 11, 8, 7, 9, | ||
463 | 7, 7, 9, 9, 9, 8, 11, 10, | ||
464 | 10, 11, 10, 9, 11, 10, 9, 9, | ||
465 | 10, 12, 11, 11, 11, 12, 1, | ||
466 | }; | ||
467 | |||
468 | |||
469 | #define HUFF_VEC2_SIZE 137 | ||
470 | #define HUFF_VEC2_MAXBITS 12 | ||
471 | static const uint16_t vec2_huffcodes[HUFF_VEC2_SIZE] = { | ||
472 | 0x055, 0x01C, 0x01A, 0x02B, 0x028, 0x067, 0x08B, 0x039, | ||
473 | 0x170, 0x10D, 0x2A5, 0x047, 0x464, 0x697, 0x523, 0x8CB, | ||
474 | 0x01B, 0x00E, 0x000, 0x010, 0x012, 0x036, 0x048, 0x04C, | ||
475 | 0x0C2, 0x09B, 0x171, 0x03B, 0x224, 0x34A, 0x2D6, 0x019, | ||
476 | 0x00F, 0x002, 0x014, 0x017, 0x006, 0x05D, 0x054, 0x0C7, | ||
477 | 0x0B4, 0x192, 0x10E, 0x233, 0x043, 0x02C, 0x00F, 0x013, | ||
478 | 0x006, 0x02F, 0x02C, 0x068, 0x077, 0x0DF, 0x111, 0x1A4, | ||
479 | 0x16A, 0x2A4, 0x027, 0x011, 0x018, 0x02D, 0x00F, 0x04A, | ||
480 | 0x040, 0x097, 0x01F, 0x11B, 0x022, 0x16D, 0x066, 0x035, | ||
481 | 0x005, 0x02B, 0x049, 0x009, 0x075, 0x0CB, 0x0AA, 0x187, | ||
482 | 0x106, 0x08A, 0x047, 0x060, 0x06E, 0x01D, 0x074, 0x0C4, | ||
483 | 0x01E, 0x118, 0x1A7, 0x038, 0x042, 0x053, 0x076, 0x0A8, | ||
484 | 0x0CA, 0x082, 0x110, 0x18D, 0x12D, 0x0B9, 0x0C8, 0x0DE, | ||
485 | 0x01C, 0x0AB, 0x113, 0x18C, 0x10F, 0x09A, 0x0A5, 0x0B7, | ||
486 | 0x11A, 0x186, 0x1A6, 0x259, 0x153, 0x18A, 0x193, 0x020, | ||
487 | 0x10C, 0x046, 0x03A, 0x107, 0x149, 0x16C, 0x2D7, 0x225, | ||
488 | 0x258, 0x316, 0x696, 0x317, 0x042, 0x522, 0x290, 0x8CA, | ||
489 | 0x001, | ||
490 | }; | ||
491 | |||
492 | static const uint8_t vec2_huffbits[HUFF_VEC2_SIZE] = { | ||
493 | 7, 6, 6, 6, 7, 7, 8, 9, | ||
494 | 9, 10, 10, 11, 11, 11, 12, 12, | ||
495 | 6, 4, 5, 5, 6, 6, 7, 8, | ||
496 | 8, 9, 9, 10, 10, 10, 11, 6, | ||
497 | 4, 5, 5, 6, 7, 7, 8, 8, | ||
498 | 9, 9, 10, 10, 11, 6, 5, 5, | ||
499 | 6, 6, 7, 7, 8, 8, 9, 9, | ||
500 | 10, 10, 7, 6, 6, 6, 7, 7, | ||
501 | 8, 8, 9, 9, 10, 10, 7, 6, | ||
502 | 7, 7, 7, 8, 8, 8, 9, 9, | ||
503 | 10, 8, 7, 7, 7, 8, 8, 8, | ||
504 | 9, 9, 9, 9, 8, 8, 8, 8, | ||
505 | 8, 9, 9, 9, 9, 8, 8, 8, | ||
506 | 9, 9, 9, 9, 10, 9, 9, 9, | ||
507 | 9, 9, 9, 10, 9, 9, 9, 10, | ||
508 | 10, 11, 10, 10, 10, 10, 11, 10, | ||
509 | 10, 10, 11, 10, 11, 12, 11, 12, | ||
510 | 3, | ||
511 | }; | ||
512 | |||
513 | |||
514 | #define HUFF_VEC1_SIZE 101 | ||
515 | #define HUFF_VEC1_MAXBITS 11 | ||
516 | static const uint16_t vec1_huffcodes[HUFF_VEC1_SIZE] = { | ||
517 | 0x01A, 0x003, 0x017, 0x010, 0x00C, 0x009, 0x005, 0x000, | ||
518 | 0x00D, 0x00A, 0x009, 0x00C, 0x00F, 0x002, 0x004, 0x007, | ||
519 | 0x00B, 0x00F, 0x01C, 0x006, 0x010, 0x015, 0x01C, 0x022, | ||
520 | 0x03B, 0x00E, 0x019, 0x023, 0x034, 0x036, 0x03A, 0x047, | ||
521 | 0x008, 0x00A, 0x01E, 0x031, 0x037, 0x050, 0x053, 0x06B, | ||
522 | 0x06F, 0x08C, 0x0E8, 0x0EA, 0x0EB, 0x016, 0x03E, 0x03F, | ||
523 | 0x06C, 0x089, 0x08A, 0x0A3, 0x0A4, 0x0D4, 0x0DD, 0x0EC, | ||
524 | 0x0EE, 0x11A, 0x1D2, 0x024, 0x025, 0x02E, 0x027, 0x0C2, | ||
525 | 0x0C0, 0x0DA, 0x0DB, 0x111, 0x144, 0x116, 0x14A, 0x145, | ||
526 | 0x1B8, 0x1AB, 0x1DA, 0x1DE, 0x1DB, 0x1DF, 0x236, 0x237, | ||
527 | 0x3A6, 0x3A7, 0x04D, 0x04C, 0x05E, 0x05F, 0x183, 0x182, | ||
528 | 0x186, 0x221, 0x187, 0x220, 0x22E, 0x22F, 0x296, 0x354, | ||
529 | 0x297, 0x355, 0x372, 0x373, 0x016, | ||
530 | }; | ||
531 | |||
532 | static const uint8_t vec1_huffbits[HUFF_VEC1_SIZE] = { | ||
533 | 7, 6, 5, 5, 5, 5, 5, 5, | ||
534 | 4, 4, 4, 4, 4, 5, 5, 5, | ||
535 | 5, 5, 5, 6, 6, 6, 6, 6, | ||
536 | 6, 7, 7, 7, 7, 7, 7, 7, | ||
537 | 8, 8, 8, 8, 8, 8, 8, 8, | ||
538 | 8, 8, 8, 8, 8, 9, 9, 9, | ||
539 | 9, 9, 9, 9, 9, 9, 9, 9, | ||
540 | 9, 9, 9, 10, 10, 10, 10, 10, | ||
541 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
542 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
543 | 10, 10, 11, 11, 11, 11, 11, 11, | ||
544 | 11, 11, 11, 11, 11, 11, 11, 11, | ||
545 | 11, 11, 11, 11, 5, | ||
546 | }; | ||
547 | |||
548 | |||
549 | static const uint16_t symbol_to_vec4[HUFF_VEC4_SIZE] = { | ||
550 | 0, 1, 2, 3, 4, 5, 16, 17, 18, 19, | ||
551 | 20, 32, 33, 34, 35, 48, 49, 50, 64, 65, | ||
552 | 80, 256, 257, 258, 259, 260, 272, 273, 274, 275, | ||
553 | 288, 289, 290, 304, 305, 320, 512, 513, 514, 515, | ||
554 | 528, 529, 530, 544, 545, 560, 768, 769, 770, 784, | ||
555 | 785, 800, 1024, 1025, 1040, 1280, 4096, 4097, 4098, 4099, | ||
556 | 4100, 4112, 4113, 4114, 4115, 4128, 4129, 4130, 4144, 4145, | ||
557 | 4160, 4352, 4353, 4354, 4355, 4368, 4369, 4370, 4384, 4385, | ||
558 | 4400, 4608, 4609, 4610, 4624, 4625, 4640, 4864, 4865, 4880, | ||
559 | 5120, 8192, 8193, 8194, 8195, 8208, 8209, 8210, 8224, 8225, | ||
560 | 8240, 8448, 8449, 8450, 8464, 8465, 8480, 8704, 8705, 8720, | ||
561 | 8960, 12288, 12289, 12290, 12304, 12305, 12320, 12544, 12545, 12560, | ||
562 | 12800, 16384, 16385, 16400, 16640, 20480, 0, | ||
563 | }; | ||
564 | |||
565 | |||
566 | static const uint8_t symbol_to_vec2[HUFF_VEC2_SIZE] = { | ||
567 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, | ||
568 | 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, | ||
569 | 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, | ||
570 | 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 64, 65, | ||
571 | 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 81, 82, 83, 84, | ||
572 | 85, 86, 87, 88, 89, 90, 96, 97, 98, 99, 100, 101, 102, 103, 104, | ||
573 | 105, 112, 113, 114, 115, 116, 117, 118, 119, 120, 128, 129, 130, 131, 132, | ||
574 | 133, 134, 135, 144, 145, 146, 147, 148, 149, 150, 160, 161, 162, 163, 164, | ||
575 | 165, 176, 177, 178, 179, 180, 192, 193, 194, 195, 208, 209, 210, 224, 225, | ||
576 | 240, 0, | ||
577 | }; | ||
578 | /** @} */ | ||
579 | |||
580 | |||
581 | /** | ||
582 | * @brief decorrelation matrix for multichannel streams | ||
583 | **/ | ||
584 | /* rockbox: not used | ||
585 | static const float default_decorrelation_matrices[] = { | ||
586 | 1.000000, 0.707031, -0.707031, 0.707031, 0.707031, 0.578125, 0.707031, | ||
587 | 0.410156, 0.578125, -0.707031, 0.410156, 0.578125, 0.000000, -0.816406, | ||
588 | 0.500000, 0.652344, 0.500000, 0.269531, 0.500000, 0.269531, -0.500000, | ||
589 | -0.652344, 0.500000, -0.269531, -0.500000, 0.652344, 0.500000, -0.652344, | ||
590 | 0.500000, -0.269531, 0.445312, 0.601562, 0.511719, 0.371094, 0.195312, | ||
591 | 0.445312, 0.371094, -0.195312, -0.601562, -0.511719, 0.445312, 0.000000, | ||
592 | -0.632812, 0.000000, 0.632812, 0.445312, -0.371094, -0.195312, 0.601562, | ||
593 | -0.511719, 0.445312, -0.601562, 0.511719, -0.371094, 0.195312, 0.410156, | ||
594 | 0.558594, 0.500000, 0.410156, 0.289062, 0.148438, 0.410156, 0.410156, | ||
595 | 0.000000, -0.410156, -0.578125, -0.410156, 0.410156, 0.148438, -0.500000, | ||
596 | -0.410156, 0.289062, 0.558594, 0.410156, -0.148438, -0.500000, 0.410156, | ||
597 | 0.289062, -0.558594, 0.410156, -0.410156, 0.000000, 0.410156, -0.578125, | ||
598 | 0.410156, 0.410156, -0.558594, 0.500000, -0.410156, 0.289062, -0.148438, | ||
599 | }; | ||
600 | */ | ||
601 | /** | ||
602 | * @brief default decorrelation matrix offsets | ||
603 | */ | ||
604 | /* rockbox: not used | ||
605 | static const float * const default_decorrelation[] = { | ||
606 | NULL, | ||
607 | &default_decorrelation_matrices[0], | ||
608 | &default_decorrelation_matrices[1], | ||
609 | &default_decorrelation_matrices[5], | ||
610 | &default_decorrelation_matrices[14], | ||
611 | &default_decorrelation_matrices[30], | ||
612 | &default_decorrelation_matrices[55] | ||
613 | }; | ||
614 | */ | ||
615 | #endif /* AVCODEC_WMAPRODATA_H */ | ||
diff --git a/lib/rbcodec/codecs/libwmapro/wmaprodec.c b/lib/rbcodec/codecs/libwmapro/wmaprodec.c new file mode 100644 index 0000000000..9d42c6de0f --- /dev/null +++ b/lib/rbcodec/codecs/libwmapro/wmaprodec.c | |||
@@ -0,0 +1,1626 @@ | |||
1 | /* | ||
2 | * Wmapro compatible decoder | ||
3 | * Copyright (c) 2007 Baptiste Coudurier, Benjamin Larsson, Ulion | ||
4 | * Copyright (c) 2008 - 2009 Sascha Sommer, Benjamin Larsson | ||
5 | * | ||
6 | * This file is part of FFmpeg. | ||
7 | * | ||
8 | * FFmpeg is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU Lesser General Public | ||
10 | * License as published by the Free Software Foundation; either | ||
11 | * version 2.1 of the License, or (at your option) any later version. | ||
12 | * | ||
13 | * FFmpeg is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
16 | * Lesser General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU Lesser General Public | ||
19 | * License along with FFmpeg; if not, write to the Free Software | ||
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
21 | */ | ||
22 | |||
23 | /** | ||
24 | * @file libavcodec/wmaprodec.c | ||
25 | * @brief wmapro decoder implementation | ||
26 | * Wmapro is an MDCT based codec comparable to wma standard or AAC. | ||
27 | * The decoding therefore consists of the following steps: | ||
28 | * - bitstream decoding | ||
29 | * - reconstruction of per-channel data | ||
30 | * - rescaling and inverse quantization | ||
31 | * - IMDCT | ||
32 | * - windowing and overlapp-add | ||
33 | * | ||
34 | * The compressed wmapro bitstream is split into individual packets. | ||
35 | * Every such packet contains one or more wma frames. | ||
36 | * The compressed frames may have a variable length and frames may | ||
37 | * cross packet boundaries. | ||
38 | * Common to all wmapro frames is the number of samples that are stored in | ||
39 | * a frame. | ||
40 | * The number of samples and a few other decode flags are stored | ||
41 | * as extradata that has to be passed to the decoder. | ||
42 | * | ||
43 | * The wmapro frames themselves are again split into a variable number of | ||
44 | * subframes. Every subframe contains the data for 2^N time domain samples | ||
45 | * where N varies between 7 and 12. | ||
46 | * | ||
47 | * Example wmapro bitstream (in samples): | ||
48 | * | ||
49 | * || packet 0 || packet 1 || packet 2 packets | ||
50 | * --------------------------------------------------- | ||
51 | * || frame 0 || frame 1 || frame 2 || frames | ||
52 | * --------------------------------------------------- | ||
53 | * || | | || | | | || || subframes of channel 0 | ||
54 | * --------------------------------------------------- | ||
55 | * || | | || | | | || || subframes of channel 1 | ||
56 | * --------------------------------------------------- | ||
57 | * | ||
58 | * The frame layouts for the individual channels of a wma frame does not need | ||
59 | * to be the same. | ||
60 | * | ||
61 | * However, if the offsets and lengths of several subframes of a frame are the | ||
62 | * same, the subframes of the channels can be grouped. | ||
63 | * Every group may then use special coding techniques like M/S stereo coding | ||
64 | * to improve the compression ratio. These channel transformations do not | ||
65 | * need to be applied to a whole subframe. Instead, they can also work on | ||
66 | * individual scale factor bands (see below). | ||
67 | * The coefficients that carry the audio signal in the frequency domain | ||
68 | * are transmitted as huffman-coded vectors with 4, 2 and 1 elements. | ||
69 | * In addition to that, the encoder can switch to a runlevel coding scheme | ||
70 | * by transmitting subframe_length / 128 zero coefficients. | ||
71 | * | ||
72 | * Before the audio signal can be converted to the time domain, the | ||
73 | * coefficients have to be rescaled and inverse quantized. | ||
74 | * A subframe is therefore split into several scale factor bands that get | ||
75 | * scaled individually. | ||
76 | * Scale factors are submitted for every frame but they might be shared | ||
77 | * between the subframes of a channel. Scale factors are initially DPCM-coded. | ||
78 | * Once scale factors are shared, the differences are transmitted as runlevel | ||
79 | * codes. | ||
80 | * Every subframe length and offset combination in the frame layout shares a | ||
81 | * common quantization factor that can be adjusted for every channel by a | ||
82 | * modifier. | ||
83 | * After the inverse quantization, the coefficients get processed by an IMDCT. | ||
84 | * The resulting values are then windowed with a sine window and the first half | ||
85 | * of the values are added to the second half of the output from the previous | ||
86 | * subframe in order to reconstruct the output samples. | ||
87 | */ | ||
88 | |||
89 | #include "ffmpeg_get_bits.h" | ||
90 | #include "ffmpeg_put_bits.h" | ||
91 | #include "wmaprodata.h" | ||
92 | #include "wma.h" | ||
93 | #include "wmaprodec.h" | ||
94 | //#include "wmapro_mdct.h" | ||
95 | #include "mdct_tables.h" | ||
96 | #include "quant.h" | ||
97 | #include "wmapro_math.h" | ||
98 | #include "codecs.h" | ||
99 | #include "codeclib.h" | ||
100 | #include "../libasf/asf.h" | ||
101 | |||
102 | /* Uncomment the following line to enable some debug output */ | ||
103 | //#define WMAPRO_DUMP_CTX_EN | ||
104 | |||
105 | #undef DEBUGF | ||
106 | #ifdef WMAPRO_DUMP_CTX_EN | ||
107 | # define DEBUGF printf | ||
108 | #else | ||
109 | # define DEBUGF(...) | ||
110 | #endif | ||
111 | |||
112 | /* Some defines to make it compile */ | ||
113 | #define AVERROR_INVALIDDATA -1 | ||
114 | #define AVERROR_PATCHWELCOME -2 | ||
115 | #define av_log_ask_for_sample(...) | ||
116 | |||
117 | /* Taken from avcodec.h */ | ||
118 | #define FF_INPUT_BUFFER_PADDING_SIZE 8 | ||
119 | |||
120 | /* Taken from libavutil/mem.h */ | ||
121 | #define DECLARE_ALIGNED(n,t,v) t __attribute__ ((aligned (n))) v | ||
122 | |||
123 | /* Taken from libavutil/common.h */ | ||
124 | #define FFMIN(a,b) ((a) > (b) ? (b) : (a)) | ||
125 | #define FFMAX(a,b) ((a) > (b) ? (a) : (b)) | ||
126 | |||
127 | /* Define some multiple used constants */ | ||
128 | #define SQRT2_FRACT16 0x00016A0A /* 0x00016A0A = (sqrt(2)*(1<<16)) */ | ||
129 | #define COS_PI4_FRACT16 0x0000B505 /* 0x0000B505 = (cos(pi/4)<<16) */ | ||
130 | #define ONE_FRACT16 0x00010000 /* 0x00010000 = (1<<16) */ | ||
131 | |||
132 | /* Enable multichannel for large-memory targets only */ | ||
133 | #if (MEMORYSIZE > 2) | ||
134 | #define WMAPRO_MAX_CHANNELS 8 ///< max number of handled channels | ||
135 | #else | ||
136 | #define WMAPRO_MAX_CHANNELS 2 ///< max number of handled channels | ||
137 | #endif | ||
138 | |||
139 | /* Current decoder limitations */ | ||
140 | #define MAX_SUBFRAMES 32 ///< max number of subframes per channel | ||
141 | #define MAX_BANDS 29 ///< max number of scale factor bands | ||
142 | #define MAX_FRAMESIZE 32768 ///< maximum compressed frame size | ||
143 | |||
144 | #define WMAPRO_BLOCK_MAX_BITS 12 ///< log2 of max block size | ||
145 | #define WMAPRO_BLOCK_MAX_SIZE (1 << WMAPRO_BLOCK_MAX_BITS) ///< maximum block size | ||
146 | #define WMAPRO_BLOCK_SIZES (WMAPRO_BLOCK_MAX_BITS - BLOCK_MIN_BITS + 1) ///< possible block sizes | ||
147 | #define WMAPRO_OUT_BUF_SIZE (WMAPRO_BLOCK_MAX_SIZE + WMAPRO_BLOCK_MAX_SIZE / 2) | ||
148 | |||
149 | |||
150 | #define VLCBITS 9 | ||
151 | #define SCALEVLCBITS 8 | ||
152 | #define VEC4MAXDEPTH ((HUFF_VEC4_MAXBITS+VLCBITS-1)/VLCBITS) | ||
153 | #define VEC2MAXDEPTH ((HUFF_VEC2_MAXBITS+VLCBITS-1)/VLCBITS) | ||
154 | #define VEC1MAXDEPTH ((HUFF_VEC1_MAXBITS+VLCBITS-1)/VLCBITS) | ||
155 | #define SCALEMAXDEPTH ((HUFF_SCALE_MAXBITS+SCALEVLCBITS-1)/SCALEVLCBITS) | ||
156 | #define SCALERLMAXDEPTH ((HUFF_SCALE_RL_MAXBITS+VLCBITS-1)/VLCBITS) | ||
157 | |||
158 | static VLC sf_vlc; ///< scale factor DPCM vlc | ||
159 | static VLC sf_rl_vlc; ///< scale factor run length vlc | ||
160 | static VLC vec4_vlc; ///< 4 coefficients per symbol | ||
161 | static VLC vec2_vlc; ///< 2 coefficients per symbol | ||
162 | static VLC vec1_vlc; ///< 1 coefficient per symbol | ||
163 | static VLC coef_vlc[2]; ///< coefficient run length vlc codes | ||
164 | //static float sin64[33]; ///< sinus table for decorrelation | ||
165 | |||
166 | /* Global defined arrays to allow IRAM usage for some models. */ | ||
167 | static int32_t g_tmp[WMAPRO_BLOCK_MAX_SIZE] IBSS_ATTR_WMAPRO_LARGE_IRAM; | ||
168 | static int32_t g_out_ch0[WMAPRO_OUT_BUF_SIZE] IBSS_ATTR; | ||
169 | static int32_t g_out_ch1[WMAPRO_OUT_BUF_SIZE] IBSS_ATTR_WMAPRO_LARGE_IRAM; | ||
170 | #if (WMAPRO_MAX_CHANNELS > 2) | ||
171 | static int32_t g_out_multichannel[WMAPRO_MAX_CHANNELS-2][WMAPRO_OUT_BUF_SIZE]; | ||
172 | #endif | ||
173 | |||
174 | /** | ||
175 | * @brief frame specific decoder context for a single channel | ||
176 | */ | ||
177 | typedef struct { | ||
178 | int16_t prev_block_len; ///< length of the previous block | ||
179 | uint8_t transmit_coefs; | ||
180 | uint8_t num_subframes; | ||
181 | uint16_t subframe_len[MAX_SUBFRAMES]; ///< subframe length in samples | ||
182 | uint16_t subframe_offset[MAX_SUBFRAMES]; ///< subframe positions in the current frame | ||
183 | uint8_t cur_subframe; ///< current subframe number | ||
184 | uint16_t decoded_samples; ///< number of already processed samples | ||
185 | uint8_t grouped; ///< channel is part of a group | ||
186 | int quant_step; ///< quantization step for the current subframe | ||
187 | int8_t reuse_sf; ///< share scale factors between subframes | ||
188 | int8_t scale_factor_step; ///< scaling step for the current subframe | ||
189 | int max_scale_factor; ///< maximum scale factor for the current subframe | ||
190 | int saved_scale_factors[2][MAX_BANDS]; ///< resampled and (previously) transmitted scale factor values | ||
191 | int8_t scale_factor_idx; ///< index for the transmitted scale factor values (used for resampling) | ||
192 | int* scale_factors; ///< pointer to the scale factor values used for decoding | ||
193 | uint8_t table_idx; ///< index in sf_offsets for the scale factor reference block | ||
194 | int32_t* coeffs; ///< pointer to the subframe decode buffer | ||
195 | int32_t* out; ///< output buffer | ||
196 | } WMAProChannelCtx; | ||
197 | |||
198 | /** | ||
199 | * @brief channel group for channel transformations | ||
200 | */ | ||
201 | typedef struct { | ||
202 | uint8_t num_channels; ///< number of channels in the group | ||
203 | int8_t transform; ///< transform on / off | ||
204 | int8_t transform_band[MAX_BANDS]; ///< controls if the transform is enabled for a certain band | ||
205 | //float decorrelation_matrix[WMAPRO_MAX_CHANNELS*WMAPRO_MAX_CHANNELS]; | ||
206 | int32_t* channel_data[WMAPRO_MAX_CHANNELS]; ///< transformation coefficients | ||
207 | int32_t fixdecorrelation_matrix[WMAPRO_MAX_CHANNELS*WMAPRO_MAX_CHANNELS]; | ||
208 | } WMAProChannelGrp; | ||
209 | |||
210 | /** | ||
211 | * @brief main decoder context | ||
212 | */ | ||
213 | typedef struct WMAProDecodeCtx { | ||
214 | /* generic decoder variables */ | ||
215 | uint8_t frame_data[MAX_FRAMESIZE + | ||
216 | FF_INPUT_BUFFER_PADDING_SIZE];///< compressed frame data | ||
217 | PutBitContext pb; ///< context for filling the frame_data buffer | ||
218 | int32_t* tmp; ///< IMDCT input buffer | ||
219 | |||
220 | /* frame size dependent frame information (set during initialization) */ | ||
221 | uint32_t decode_flags; ///< used compression features | ||
222 | uint8_t len_prefix; ///< frame is prefixed with its length | ||
223 | uint8_t dynamic_range_compression; ///< frame contains DRC data | ||
224 | uint8_t bits_per_sample; ///< integer audio sample size for the unscaled IMDCT output (used to scale to [-1.0, 1.0]) | ||
225 | uint16_t samples_per_frame; ///< number of samples to output | ||
226 | uint16_t log2_frame_size; | ||
227 | int8_t num_channels; ///< number of channels in the stream (same as AVCodecContext.num_channels) | ||
228 | int8_t lfe_channel; ///< lfe channel index | ||
229 | uint8_t max_num_subframes; | ||
230 | uint8_t subframe_len_bits; ///< number of bits used for the subframe length | ||
231 | uint8_t max_subframe_len_bit; ///< flag indicating that the subframe is of maximum size when the first subframe length bit is 1 | ||
232 | uint16_t min_samples_per_subframe; | ||
233 | int8_t num_sfb[WMAPRO_BLOCK_SIZES]; ///< scale factor bands per block size | ||
234 | int16_t sfb_offsets[WMAPRO_BLOCK_SIZES][MAX_BANDS]; ///< scale factor band offsets (multiples of 4) | ||
235 | int8_t sf_offsets[WMAPRO_BLOCK_SIZES][WMAPRO_BLOCK_SIZES][MAX_BANDS]; ///< scale factor resample matrix | ||
236 | int16_t subwoofer_cutoffs[WMAPRO_BLOCK_SIZES]; ///< subwoofer cutoff values | ||
237 | |||
238 | /* packet decode state */ | ||
239 | GetBitContext pgb; ///< bitstream reader context for the packet | ||
240 | uint8_t packet_offset; ///< frame offset in the packet | ||
241 | uint8_t packet_sequence_number; ///< current packet number | ||
242 | int num_saved_bits; ///< saved number of bits | ||
243 | int frame_offset; ///< frame offset in the bit reservoir | ||
244 | int subframe_offset; ///< subframe offset in the bit reservoir | ||
245 | uint8_t packet_loss; ///< set in case of bitstream error | ||
246 | uint8_t packet_done; ///< set when a packet is fully decoded | ||
247 | |||
248 | /* frame decode state */ | ||
249 | uint32_t frame_num; ///< current frame number | ||
250 | GetBitContext gb; ///< bitstream reader context | ||
251 | int buf_bit_size; ///< buffer size in bits | ||
252 | int32_t samples; | ||
253 | int32_t* samples_end; ///< maximum samplebuffer pointer | ||
254 | uint8_t drc_gain; ///< gain for the DRC tool | ||
255 | int8_t skip_frame; ///< skip output step | ||
256 | int8_t parsed_all_subframes; ///< all subframes decoded? | ||
257 | |||
258 | /* subframe/block decode state */ | ||
259 | int16_t subframe_len; ///< current subframe length | ||
260 | int8_t channels_for_cur_subframe; ///< number of channels that contain the subframe | ||
261 | int8_t channel_indexes_for_cur_subframe[WMAPRO_MAX_CHANNELS]; | ||
262 | int8_t num_bands; ///< number of scale factor bands | ||
263 | int16_t* cur_sfb_offsets; ///< sfb offsets for the current block | ||
264 | uint8_t table_idx; ///< index for the num_sfb, sfb_offsets, sf_offsets and subwoofer_cutoffs tables | ||
265 | int8_t esc_len; ///< length of escaped coefficients | ||
266 | |||
267 | uint8_t num_chgroups; ///< number of channel groups | ||
268 | WMAProChannelGrp chgroup[WMAPRO_MAX_CHANNELS]; ///< channel group information | ||
269 | |||
270 | WMAProChannelCtx channel[WMAPRO_MAX_CHANNELS]; ///< per channel data | ||
271 | } WMAProDecodeCtx; | ||
272 | |||
273 | /* static decode context, to avoid malloc */ | ||
274 | static WMAProDecodeCtx globWMAProDecCtx; | ||
275 | |||
276 | /** | ||
277 | *@brief helper function to print the most important members of the context | ||
278 | *@param s context | ||
279 | */ | ||
280 | #ifdef WMAPRO_DUMP_CTX_EN | ||
281 | static void dump_context(WMAProDecodeCtx *s) | ||
282 | { | ||
283 | #define PRINT(a, b) printf(" %s = %d\n", a, b); | ||
284 | #define PRINT_HEX(a, b) printf(" %s = %x\n", a, b); | ||
285 | |||
286 | PRINT("ed sample bit depth", s->bits_per_sample); | ||
287 | PRINT_HEX("ed decode flags", s->decode_flags); | ||
288 | PRINT("samples per frame", s->samples_per_frame); | ||
289 | PRINT("log2 frame size", s->log2_frame_size); | ||
290 | PRINT("max num subframes", s->max_num_subframes); | ||
291 | PRINT("len prefix", s->len_prefix); | ||
292 | PRINT("num channels", s->num_channels); | ||
293 | } | ||
294 | #endif | ||
295 | |||
296 | /** | ||
297 | *@brief Initialize the decoder. | ||
298 | *@param avctx codec context | ||
299 | *@return 0 on success, -1 otherwise | ||
300 | */ | ||
301 | int decode_init(asf_waveformatex_t *wfx) | ||
302 | { | ||
303 | memset(&globWMAProDecCtx, 0, sizeof(WMAProDecodeCtx)); | ||
304 | WMAProDecodeCtx *s = &globWMAProDecCtx; | ||
305 | uint8_t *edata_ptr = wfx->data; | ||
306 | unsigned int channel_mask; | ||
307 | int i; | ||
308 | int log2_max_num_subframes; | ||
309 | int num_possible_block_sizes; | ||
310 | |||
311 | /* Use globally defined array. Allows IRAM usage for models with large IRAM. */ | ||
312 | s->tmp = g_tmp; | ||
313 | |||
314 | /* Use globally defined arrays. Allows IRAM usage for up to 2 channels. */ | ||
315 | s->channel[0].out = g_out_ch0; | ||
316 | s->channel[1].out = g_out_ch1; | ||
317 | #if (WMAPRO_MAX_CHANNELS > 2) | ||
318 | for (i=2; i<WMAPRO_MAX_CHANNELS; ++i) | ||
319 | s->channel[i].out = g_out_multichannel[i-2]; | ||
320 | #endif | ||
321 | |||
322 | #if defined(CPU_COLDFIRE) | ||
323 | coldfire_set_macsr(EMAC_FRACTIONAL | EMAC_SATURATE); | ||
324 | #endif | ||
325 | |||
326 | init_put_bits(&s->pb, s->frame_data, MAX_FRAMESIZE); | ||
327 | |||
328 | if (wfx->datalen >= 18) { | ||
329 | s->decode_flags = AV_RL16(edata_ptr+14); | ||
330 | channel_mask = AV_RL32(edata_ptr+2); | ||
331 | s->bits_per_sample = AV_RL16(edata_ptr); | ||
332 | /** dump the extradata */ | ||
333 | for (i = 0; i < wfx->datalen; i++) | ||
334 | DEBUGF("[%x] ", wfx->data[i]); | ||
335 | DEBUGF("\n"); | ||
336 | |||
337 | } else { | ||
338 | DEBUGF("Unknown extradata size\n"); | ||
339 | return AVERROR_INVALIDDATA; | ||
340 | } | ||
341 | |||
342 | /** generic init */ | ||
343 | s->log2_frame_size = av_log2(wfx->blockalign) + 4; | ||
344 | |||
345 | /** frame info */ | ||
346 | s->skip_frame = 1; /** skip first frame */ | ||
347 | s->packet_loss = 1; | ||
348 | s->len_prefix = (s->decode_flags & 0x40); | ||
349 | |||
350 | if (!s->len_prefix) { | ||
351 | DEBUGF("no length prefix\n"); | ||
352 | return AVERROR_INVALIDDATA; | ||
353 | } | ||
354 | |||
355 | /** get frame len */ | ||
356 | s->samples_per_frame = 1 << ff_wma_get_frame_len_bits(wfx->rate, | ||
357 | 3, s->decode_flags); | ||
358 | |||
359 | /** init previous block len */ | ||
360 | for (i = 0; i < wfx->channels; i++) | ||
361 | s->channel[i].prev_block_len = s->samples_per_frame; | ||
362 | |||
363 | /** subframe info */ | ||
364 | log2_max_num_subframes = ((s->decode_flags & 0x38) >> 3); | ||
365 | s->max_num_subframes = 1 << log2_max_num_subframes; | ||
366 | if (s->max_num_subframes == 16) | ||
367 | s->max_subframe_len_bit = 1; | ||
368 | s->subframe_len_bits = av_log2(log2_max_num_subframes) + 1; | ||
369 | |||
370 | num_possible_block_sizes = log2_max_num_subframes + 1; | ||
371 | s->min_samples_per_subframe = s->samples_per_frame / s->max_num_subframes; | ||
372 | s->dynamic_range_compression = (s->decode_flags & 0x80); | ||
373 | |||
374 | if (s->max_num_subframes > MAX_SUBFRAMES) { | ||
375 | DEBUGF("invalid number of subframes %i\n", | ||
376 | s->max_num_subframes); | ||
377 | return AVERROR_INVALIDDATA; | ||
378 | } | ||
379 | |||
380 | s->num_channels = wfx->channels; | ||
381 | |||
382 | /** extract lfe channel position */ | ||
383 | s->lfe_channel = -1; | ||
384 | |||
385 | if (channel_mask & 8) { | ||
386 | unsigned int mask; | ||
387 | for (mask = 1; mask < 16; mask <<= 1) { | ||
388 | if (channel_mask & mask) | ||
389 | ++s->lfe_channel; | ||
390 | } | ||
391 | } | ||
392 | |||
393 | if (s->num_channels < 0) { | ||
394 | DEBUGF("invalid number of channels %d\n", s->num_channels); | ||
395 | return AVERROR_INVALIDDATA; | ||
396 | } else if (s->num_channels > WMAPRO_MAX_CHANNELS) { | ||
397 | DEBUGF("unsupported number of channels\n"); | ||
398 | return AVERROR_PATCHWELCOME; | ||
399 | } | ||
400 | |||
401 | INIT_VLC_STATIC(&sf_vlc, SCALEVLCBITS, HUFF_SCALE_SIZE, | ||
402 | scale_huffbits, 1, 1, | ||
403 | scale_huffcodes, 2, 2, 616, IBSS_ATTR_WMAPRO_VLC_TABLES); | ||
404 | |||
405 | INIT_VLC_STATIC(&sf_rl_vlc, VLCBITS, HUFF_SCALE_RL_SIZE, | ||
406 | scale_rl_huffbits, 1, 1, | ||
407 | scale_rl_huffcodes, 4, 4, 1406, IBSS_ATTR_WMAPRO_VLC_TABLES); | ||
408 | |||
409 | INIT_VLC_STATIC(&coef_vlc[0], VLCBITS, HUFF_COEF0_SIZE, | ||
410 | coef0_huffbits, 1, 1, | ||
411 | coef0_huffcodes, 4, 4, 2108, IBSS_ATTR_WMAPRO_VLC_TABLES); | ||
412 | |||
413 | INIT_VLC_STATIC(&coef_vlc[1], VLCBITS, HUFF_COEF1_SIZE, | ||
414 | coef1_huffbits, 1, 1, | ||
415 | coef1_huffcodes, 4, 4, 3912, IBSS_ATTR_WMAPRO_VLC_TABLES); | ||
416 | |||
417 | INIT_VLC_STATIC(&vec4_vlc, VLCBITS, HUFF_VEC4_SIZE, | ||
418 | vec4_huffbits, 1, 1, | ||
419 | vec4_huffcodes, 2, 2, 604, IBSS_ATTR_WMAPRO_VLC_TABLES); | ||
420 | |||
421 | INIT_VLC_STATIC(&vec2_vlc, VLCBITS, HUFF_VEC2_SIZE, | ||
422 | vec2_huffbits, 1, 1, | ||
423 | vec2_huffcodes, 2, 2, 562, IBSS_ATTR_WMAPRO_VLC_TABLES); | ||
424 | |||
425 | INIT_VLC_STATIC(&vec1_vlc, VLCBITS, HUFF_VEC1_SIZE, | ||
426 | vec1_huffbits, 1, 1, | ||
427 | vec1_huffcodes, 2, 2, 562, IBSS_ATTR_WMAPRO_VLC_TABLES); | ||
428 | |||
429 | /** calculate number of scale factor bands and their offsets | ||
430 | for every possible block size */ | ||
431 | for (i = 0; i < num_possible_block_sizes; i++) { | ||
432 | int subframe_len = s->samples_per_frame >> i; | ||
433 | int x; | ||
434 | int band = 1; | ||
435 | |||
436 | s->sfb_offsets[i][0] = 0; | ||
437 | |||
438 | for (x = 0; x < MAX_BANDS-1 && s->sfb_offsets[i][band - 1] < subframe_len; x++) { | ||
439 | int offset = (subframe_len * 2 * critical_freq[x]) | ||
440 | / wfx->rate + 2; | ||
441 | offset &= ~3; | ||
442 | if (offset > s->sfb_offsets[i][band - 1]) | ||
443 | s->sfb_offsets[i][band++] = offset; | ||
444 | } | ||
445 | s->sfb_offsets[i][band - 1] = subframe_len; | ||
446 | s->num_sfb[i] = band - 1; | ||
447 | } | ||
448 | |||
449 | |||
450 | /** Scale factors can be shared between blocks of different size | ||
451 | as every block has a different scale factor band layout. | ||
452 | The matrix sf_offsets is needed to find the correct scale factor. | ||
453 | */ | ||
454 | |||
455 | for (i = 0; i < num_possible_block_sizes; i++) { | ||
456 | int b; | ||
457 | for (b = 0; b < s->num_sfb[i]; b++) { | ||
458 | int x; | ||
459 | int offset = ((s->sfb_offsets[i][b] | ||
460 | + s->sfb_offsets[i][b + 1] - 1) << i) >> 1; | ||
461 | for (x = 0; x < num_possible_block_sizes; x++) { | ||
462 | int v = 0; | ||
463 | while (s->sfb_offsets[x][v + 1] << x < offset) | ||
464 | ++v; | ||
465 | s->sf_offsets[i][x][b] = v; | ||
466 | } | ||
467 | } | ||
468 | } | ||
469 | |||
470 | /** calculate subwoofer cutoff values */ | ||
471 | for (i = 0; i < num_possible_block_sizes; i++) { | ||
472 | int block_size = s->samples_per_frame >> i; | ||
473 | int cutoff = (440*block_size + 3 * (wfx->rate >> 1) - 1) | ||
474 | / wfx->rate; | ||
475 | s->subwoofer_cutoffs[i] = av_clip(cutoff, 4, block_size); | ||
476 | } | ||
477 | |||
478 | #if 0 | ||
479 | /** calculate sine values for the decorrelation matrix */ | ||
480 | for (i = 0; i < 33; i++) | ||
481 | sin64[i] = sin(i*M_PI / 64.0); | ||
482 | #endif | ||
483 | |||
484 | #ifdef WMAPRO_DUMP_CTX_EN | ||
485 | dump_context(s); | ||
486 | #endif | ||
487 | return 0; | ||
488 | } | ||
489 | |||
490 | /** | ||
491 | *@brief Decode the subframe length. | ||
492 | *@param s context | ||
493 | *@param offset sample offset in the frame | ||
494 | *@return decoded subframe length on success, < 0 in case of an error | ||
495 | */ | ||
496 | static int decode_subframe_length(WMAProDecodeCtx *s, int offset) | ||
497 | { | ||
498 | int frame_len_shift = 0; | ||
499 | int subframe_len; | ||
500 | |||
501 | /** no need to read from the bitstream when only one length is possible */ | ||
502 | if (offset == s->samples_per_frame - s->min_samples_per_subframe) | ||
503 | return s->min_samples_per_subframe; | ||
504 | |||
505 | /** 1 bit indicates if the subframe is of maximum length */ | ||
506 | if (s->max_subframe_len_bit) { | ||
507 | if (get_bits1(&s->gb)) | ||
508 | frame_len_shift = 1 + get_bits(&s->gb, s->subframe_len_bits-1); | ||
509 | } else | ||
510 | frame_len_shift = get_bits(&s->gb, s->subframe_len_bits); | ||
511 | |||
512 | subframe_len = s->samples_per_frame >> frame_len_shift; | ||
513 | |||
514 | /** sanity check the length */ | ||
515 | if (subframe_len < s->min_samples_per_subframe || | ||
516 | subframe_len > s->samples_per_frame) { | ||
517 | DEBUGF("broken frame: subframe_len %i\n", | ||
518 | subframe_len); | ||
519 | return AVERROR_INVALIDDATA; | ||
520 | } | ||
521 | return subframe_len; | ||
522 | } | ||
523 | |||
524 | /** | ||
525 | *@brief Decode how the data in the frame is split into subframes. | ||
526 | * Every WMA frame contains the encoded data for a fixed number of | ||
527 | * samples per channel. The data for every channel might be split | ||
528 | * into several subframes. This function will reconstruct the list of | ||
529 | * subframes for every channel. | ||
530 | * | ||
531 | * If the subframes are not evenly split, the algorithm estimates the | ||
532 | * channels with the lowest number of total samples. | ||
533 | * Afterwards, for each of these channels a bit is read from the | ||
534 | * bitstream that indicates if the channel contains a subframe with the | ||
535 | * next subframe size that is going to be read from the bitstream or not. | ||
536 | * If a channel contains such a subframe, the subframe size gets added to | ||
537 | * the channel's subframe list. | ||
538 | * The algorithm repeats these steps until the frame is properly divided | ||
539 | * between the individual channels. | ||
540 | * | ||
541 | *@param s context | ||
542 | *@return 0 on success, < 0 in case of an error | ||
543 | */ | ||
544 | static int decode_tilehdr(WMAProDecodeCtx *s) | ||
545 | { | ||
546 | uint16_t num_samples[WMAPRO_MAX_CHANNELS]; /** sum of samples for all currently known subframes of a channel */ | ||
547 | uint8_t contains_subframe[WMAPRO_MAX_CHANNELS]; /** flag indicating if a channel contains the current subframe */ | ||
548 | int channels_for_cur_subframe = s->num_channels; /** number of channels that contain the current subframe */ | ||
549 | int fixed_channel_layout = 0; /** flag indicating that all channels use the same subframe offsets and sizes */ | ||
550 | int min_channel_len = 0; /** smallest sum of samples (channels with this length will be processed first) */ | ||
551 | int c; | ||
552 | |||
553 | /* Should never consume more than 3073 bits (256 iterations for the | ||
554 | * while loop when always the minimum amount of 128 samples is substracted | ||
555 | * from missing samples in the 8 channel case). | ||
556 | * 1 + BLOCK_MAX_SIZE * MAX_CHANNELS / BLOCK_MIN_SIZE * (MAX_CHANNELS + 4) | ||
557 | */ | ||
558 | |||
559 | /** reset tiling information */ | ||
560 | for (c = 0; c < s->num_channels; c++) | ||
561 | s->channel[c].num_subframes = 0; | ||
562 | |||
563 | memset(num_samples, 0, sizeof(num_samples)); | ||
564 | |||
565 | if (s->max_num_subframes == 1 || get_bits1(&s->gb)) | ||
566 | fixed_channel_layout = 1; | ||
567 | |||
568 | /** loop until the frame data is split between the subframes */ | ||
569 | do { | ||
570 | int subframe_len; | ||
571 | |||
572 | /** check which channels contain the subframe */ | ||
573 | for (c = 0; c < s->num_channels; c++) { | ||
574 | if (num_samples[c] == min_channel_len) { | ||
575 | if (fixed_channel_layout || channels_for_cur_subframe == 1 || | ||
576 | (min_channel_len == s->samples_per_frame - s->min_samples_per_subframe)) | ||
577 | contains_subframe[c] = 1; | ||
578 | else | ||
579 | contains_subframe[c] = get_bits1(&s->gb); | ||
580 | } else | ||
581 | contains_subframe[c] = 0; | ||
582 | } | ||
583 | |||
584 | /** get subframe length, subframe_len == 0 is not allowed */ | ||
585 | if ((subframe_len = decode_subframe_length(s, min_channel_len)) <= 0) | ||
586 | return AVERROR_INVALIDDATA; | ||
587 | |||
588 | /** add subframes to the individual channels and find new min_channel_len */ | ||
589 | min_channel_len += subframe_len; | ||
590 | for (c = 0; c < s->num_channels; c++) { | ||
591 | WMAProChannelCtx* chan = &s->channel[c]; | ||
592 | |||
593 | if (contains_subframe[c]) { | ||
594 | if (chan->num_subframes >= MAX_SUBFRAMES) { | ||
595 | DEBUGF("broken frame: num subframes > 31\n"); | ||
596 | return AVERROR_INVALIDDATA; | ||
597 | } | ||
598 | chan->subframe_len[chan->num_subframes] = subframe_len; | ||
599 | num_samples[c] += subframe_len; | ||
600 | ++chan->num_subframes; | ||
601 | if (num_samples[c] > s->samples_per_frame) { | ||
602 | DEBUGF("broken frame: " | ||
603 | "channel len > samples_per_frame\n"); | ||
604 | return AVERROR_INVALIDDATA; | ||
605 | } | ||
606 | } else if (num_samples[c] <= min_channel_len) { | ||
607 | if (num_samples[c] < min_channel_len) { | ||
608 | channels_for_cur_subframe = 0; | ||
609 | min_channel_len = num_samples[c]; | ||
610 | } | ||
611 | ++channels_for_cur_subframe; | ||
612 | } | ||
613 | } | ||
614 | } while (min_channel_len < s->samples_per_frame); | ||
615 | |||
616 | for (c = 0; c < s->num_channels; c++) { | ||
617 | int i; | ||
618 | int offset = 0; | ||
619 | for (i = 0; i < s->channel[c].num_subframes; i++) { | ||
620 | DEBUGF("frame[%i] channel[%i] subframe[%i]" | ||
621 | " len %i\n", s->frame_num, c, i, | ||
622 | s->channel[c].subframe_len[i]); | ||
623 | s->channel[c].subframe_offset[i] = offset; | ||
624 | offset += s->channel[c].subframe_len[i]; | ||
625 | } | ||
626 | } | ||
627 | |||
628 | return 0; | ||
629 | } | ||
630 | |||
631 | #if 0 | ||
632 | /** | ||
633 | *@brief Calculate a decorrelation matrix from the bitstream parameters. | ||
634 | *@param s codec context | ||
635 | *@param chgroup channel group for which the matrix needs to be calculated | ||
636 | */ | ||
637 | static void decode_decorrelation_matrix(WMAProDecodeCtx *s, | ||
638 | WMAProChannelGrp *chgroup) | ||
639 | { | ||
640 | int i; | ||
641 | int offset = 0; | ||
642 | int8_t rotation_offset[WMAPRO_MAX_CHANNELS * WMAPRO_MAX_CHANNELS]; | ||
643 | memset(chgroup->decorrelation_matrix, 0, s->num_channels * | ||
644 | s->num_channels * sizeof(*chgroup->decorrelation_matrix)); | ||
645 | |||
646 | for (i = 0; i < chgroup->num_channels * (chgroup->num_channels - 1) >> 1; i++) | ||
647 | rotation_offset[i] = get_bits(&s->gb, 6); | ||
648 | |||
649 | for (i = 0; i < chgroup->num_channels; i++) { | ||
650 | chgroup->decorrelation_matrix[chgroup->num_channels * i + i] = | ||
651 | get_bits1(&s->gb) ? 1.0 : -1.0; | ||
652 | |||
653 | if(chgroup->decorrelation_matrix[chgroup->num_channels * i + i] > 0) | ||
654 | chgroup->fixdecorrelation_matrix[chgroup->num_channels * i + i] = ONE_FRACT16; | ||
655 | else | ||
656 | chgroup->fixdecorrelation_matrix[chgroup->num_channels * i + i] = -ONE_FRACT16; | ||
657 | } | ||
658 | |||
659 | for (i = 1; i < chgroup->num_channels; i++) { | ||
660 | int x; | ||
661 | for (x = 0; x < i; x++) { | ||
662 | int y; | ||
663 | for (y = 0; y < i + 1; y++) { | ||
664 | float v1 = chgroup->decorrelation_matrix[x * chgroup->num_channels + y]; | ||
665 | float v2 = chgroup->decorrelation_matrix[i * chgroup->num_channels + y]; | ||
666 | int32_t f1 = chgroup->fixdecorrelation_matrix[x * chgroup->num_channels + y]; | ||
667 | int32_t f2 = chgroup->fixdecorrelation_matrix[i * chgroup->num_channels + y]; | ||
668 | int n = rotation_offset[offset + x]; | ||
669 | float sinv; | ||
670 | float cosv; | ||
671 | int32_t fixsinv; | ||
672 | int32_t fixcosv; | ||
673 | |||
674 | if (n < 32) { | ||
675 | sinv = sin64[n]; | ||
676 | cosv = sin64[32 - n]; | ||
677 | fixsinv = fixed_sin64[n]; | ||
678 | fixcosv = fixed_sin64[32-n]; | ||
679 | } else { | ||
680 | sinv = sin64[64 - n]; | ||
681 | cosv = -sin64[n - 32]; | ||
682 | fixsinv = fixed_sin64[64-n]; | ||
683 | fixcosv = -fixed_sin64[n-32]; | ||
684 | } | ||
685 | |||
686 | chgroup->decorrelation_matrix[y + x * chgroup->num_channels] = | ||
687 | (v1 * sinv) - (v2 * cosv); | ||
688 | chgroup->decorrelation_matrix[y + i * chgroup->num_channels] = | ||
689 | (v1 * cosv) + (v2 * sinv); | ||
690 | chgroup->fixdecorrelation_matrix[y + x * chgroup->num_channels] = | ||
691 | fixmul31(f1, fixsinv) - fixmul31(f2, fixcosv); | ||
692 | chgroup->fixdecorrelation_matrix[y + i * chgroup->num_channels] = | ||
693 | fixmul31(f1, fixcosv) + fixmul31(f2, fixsinv); | ||
694 | |||
695 | } | ||
696 | } | ||
697 | offset += i; | ||
698 | } | ||
699 | } | ||
700 | #endif | ||
701 | |||
702 | /** | ||
703 | *@brief Decode channel transformation parameters | ||
704 | *@param s codec context | ||
705 | *@return 0 in case of success, < 0 in case of bitstream errors | ||
706 | */ | ||
707 | static int decode_channel_transform(WMAProDecodeCtx* s) | ||
708 | { | ||
709 | int i; | ||
710 | /* should never consume more than 1921 bits for the 8 channel case | ||
711 | * 1 + MAX_CHANNELS * (MAX_CHANNELS + 2 + 3 * MAX_CHANNELS * MAX_CHANNELS | ||
712 | * + MAX_CHANNELS + MAX_BANDS + 1) | ||
713 | */ | ||
714 | |||
715 | /** in the one channel case channel transforms are pointless */ | ||
716 | s->num_chgroups = 0; | ||
717 | if (s->num_channels > 1) { | ||
718 | int remaining_channels = s->channels_for_cur_subframe; | ||
719 | |||
720 | if (get_bits1(&s->gb)) { | ||
721 | DEBUGF("unsupported channel transform bit\n"); | ||
722 | return AVERROR_INVALIDDATA; | ||
723 | } | ||
724 | |||
725 | for (s->num_chgroups = 0; remaining_channels && | ||
726 | s->num_chgroups < s->channels_for_cur_subframe; s->num_chgroups++) { | ||
727 | WMAProChannelGrp* chgroup = &s->chgroup[s->num_chgroups]; | ||
728 | int32_t** channel_data = chgroup->channel_data; | ||
729 | chgroup->num_channels = 0; | ||
730 | chgroup->transform = 0; | ||
731 | |||
732 | /** decode channel mask */ | ||
733 | if (remaining_channels > 2) { | ||
734 | for (i = 0; i < s->channels_for_cur_subframe; i++) { | ||
735 | int channel_idx = s->channel_indexes_for_cur_subframe[i]; | ||
736 | if (!s->channel[channel_idx].grouped | ||
737 | && get_bits1(&s->gb)) { | ||
738 | ++chgroup->num_channels; | ||
739 | s->channel[channel_idx].grouped = 1; | ||
740 | *channel_data++ = s->channel[channel_idx].coeffs; | ||
741 | } | ||
742 | } | ||
743 | } else { | ||
744 | chgroup->num_channels = remaining_channels; | ||
745 | for (i = 0; i < s->channels_for_cur_subframe; i++) { | ||
746 | int channel_idx = s->channel_indexes_for_cur_subframe[i]; | ||
747 | if (!s->channel[channel_idx].grouped) | ||
748 | *channel_data++ = s->channel[channel_idx].coeffs; | ||
749 | s->channel[channel_idx].grouped = 1; | ||
750 | } | ||
751 | } | ||
752 | |||
753 | /** decode transform type */ | ||
754 | if (chgroup->num_channels == 2) { | ||
755 | if (get_bits1(&s->gb)) { | ||
756 | if (get_bits1(&s->gb)) { | ||
757 | DEBUGF("unsupported channel transform type\n"); | ||
758 | } | ||
759 | } else { | ||
760 | chgroup->transform = 1; | ||
761 | if (s->num_channels == 2) { | ||
762 | chgroup->fixdecorrelation_matrix[0] = ONE_FRACT16; | ||
763 | chgroup->fixdecorrelation_matrix[1] = -ONE_FRACT16; | ||
764 | chgroup->fixdecorrelation_matrix[2] = ONE_FRACT16; | ||
765 | chgroup->fixdecorrelation_matrix[3] = ONE_FRACT16; | ||
766 | } else { | ||
767 | /** cos(pi/4) */ | ||
768 | chgroup->fixdecorrelation_matrix[0] = COS_PI4_FRACT16; | ||
769 | chgroup->fixdecorrelation_matrix[1] = -COS_PI4_FRACT16; | ||
770 | chgroup->fixdecorrelation_matrix[2] = COS_PI4_FRACT16; | ||
771 | chgroup->fixdecorrelation_matrix[3] = COS_PI4_FRACT16; | ||
772 | } | ||
773 | } | ||
774 | } else if (chgroup->num_channels > 2) { | ||
775 | DEBUGF("in wmaprodec.c: Multichannel streams still not supported\n"); | ||
776 | return -1; | ||
777 | #if 0 | ||
778 | if (get_bits1(&s->gb)) { | ||
779 | chgroup->transform = 1; | ||
780 | if (get_bits1(&s->gb)) { | ||
781 | decode_decorrelation_matrix(s, chgroup); | ||
782 | } else { | ||
783 | /** FIXME: more than 6 coupled channels not supported */ | ||
784 | if (chgroup->num_channels > 6) { | ||
785 | av_log_ask_for_sample(s->avctx, | ||
786 | "coupled channels > 6\n"); | ||
787 | } else { | ||
788 | memcpy(chgroup->decorrelation_matrix, | ||
789 | default_decorrelation[chgroup->num_channels], | ||
790 | chgroup->num_channels * chgroup->num_channels * | ||
791 | sizeof(*chgroup->decorrelation_matrix)); | ||
792 | } | ||
793 | } | ||
794 | } | ||
795 | #endif | ||
796 | } | ||
797 | |||
798 | /** decode transform on / off */ | ||
799 | if (chgroup->transform) { | ||
800 | if (!get_bits1(&s->gb)) { | ||
801 | int i; | ||
802 | /** transform can be enabled for individual bands */ | ||
803 | for (i = 0; i < s->num_bands; i++) { | ||
804 | chgroup->transform_band[i] = get_bits1(&s->gb); | ||
805 | } | ||
806 | } else { | ||
807 | memset(chgroup->transform_band, 1, s->num_bands); | ||
808 | } | ||
809 | } | ||
810 | remaining_channels -= chgroup->num_channels; | ||
811 | } | ||
812 | } | ||
813 | return 0; | ||
814 | } | ||
815 | |||
816 | /** | ||
817 | *@brief Extract the coefficients from the bitstream. | ||
818 | *@param s codec context | ||
819 | *@param c current channel number | ||
820 | *@return 0 on success, < 0 in case of bitstream errors | ||
821 | */ | ||
822 | static int decode_coeffs(WMAProDecodeCtx *s, int c) | ||
823 | { | ||
824 | int vlctable; | ||
825 | VLC* vlc; | ||
826 | WMAProChannelCtx* ci = &s->channel[c]; | ||
827 | int rl_mode = 0; | ||
828 | int cur_coeff = 0; | ||
829 | int num_zeros = 0; | ||
830 | const uint16_t* run; | ||
831 | const int32_t* level; | ||
832 | |||
833 | DEBUGF("decode coefficients for channel %i\n", c); | ||
834 | |||
835 | vlctable = get_bits1(&s->gb); | ||
836 | vlc = &coef_vlc[vlctable]; | ||
837 | |||
838 | if (vlctable) { | ||
839 | run = coef1_run; | ||
840 | level = coef1_level; | ||
841 | } else { | ||
842 | run = coef0_run; | ||
843 | level = coef0_level; | ||
844 | } | ||
845 | |||
846 | /** decode vector coefficients (consumes up to 167 bits per iteration for | ||
847 | 4 vector coded large values) */ | ||
848 | while (!rl_mode && cur_coeff + 3 < s->subframe_len) { | ||
849 | int32_t vals[4]; | ||
850 | int i; | ||
851 | unsigned int idx; | ||
852 | |||
853 | idx = get_vlc2(&s->gb, vec4_vlc.table, VLCBITS, VEC4MAXDEPTH); | ||
854 | |||
855 | if (idx == HUFF_VEC4_SIZE - 1) { | ||
856 | for (i = 0; i < 4; i += 2) { | ||
857 | idx = get_vlc2(&s->gb, vec2_vlc.table, VLCBITS, VEC2MAXDEPTH); | ||
858 | if (idx == HUFF_VEC2_SIZE - 1) { | ||
859 | int v0, v1; | ||
860 | v0 = get_vlc2(&s->gb, vec1_vlc.table, VLCBITS, VEC1MAXDEPTH); | ||
861 | if (v0 == HUFF_VEC1_SIZE - 1) | ||
862 | v0 += ff_wma_get_large_val(&s->gb); | ||
863 | v1 = get_vlc2(&s->gb, vec1_vlc.table, VLCBITS, VEC1MAXDEPTH); | ||
864 | if (v1 == HUFF_VEC1_SIZE - 1) | ||
865 | v1 += ff_wma_get_large_val(&s->gb); | ||
866 | |||
867 | vals[i ] = v0; | ||
868 | vals[i+1] = v1; | ||
869 | } else { | ||
870 | vals[i ] = symbol_to_vec2[idx] >> 4; | ||
871 | vals[i+1] = symbol_to_vec2[idx] & 0xF; | ||
872 | } | ||
873 | } | ||
874 | } else { | ||
875 | vals[0] = (symbol_to_vec4[idx] >> 12); | ||
876 | vals[1] = (symbol_to_vec4[idx] >> 8) & 0xF; | ||
877 | vals[2] = (symbol_to_vec4[idx] >> 4) & 0xF; | ||
878 | vals[3] = (symbol_to_vec4[idx] ) & 0xF; | ||
879 | } | ||
880 | |||
881 | /* Rockbox: To be able to use rockbox' optimized mdct we need to | ||
882 | * pre-shift the values by >>(nbits-3). */ | ||
883 | const int nbits = av_log2(s->subframe_len)+1; | ||
884 | const int shift = WMAPRO_FRACT-(nbits-3); | ||
885 | |||
886 | /** decode sign */ | ||
887 | for (i = 0; i < 4; i++) { | ||
888 | if (vals[i]) { | ||
889 | int sign = get_bits1(&s->gb) - 1; | ||
890 | /* Rockbox: To be able to use rockbox' optimized mdct we need | ||
891 | * invert the sign. */ | ||
892 | ci->coeffs[cur_coeff] = (sign == -1)? vals[i]<<shift : -vals[i]<<shift; | ||
893 | num_zeros = 0; | ||
894 | } else { | ||
895 | ci->coeffs[cur_coeff] = 0; | ||
896 | /** switch to run level mode when subframe_len / 128 zeros | ||
897 | were found in a row */ | ||
898 | rl_mode |= (++num_zeros > s->subframe_len >> 8); | ||
899 | } | ||
900 | ++cur_coeff; | ||
901 | } | ||
902 | } | ||
903 | |||
904 | /** decode run level coded coefficients */ | ||
905 | if (rl_mode) { | ||
906 | memset(&ci->coeffs[cur_coeff], 0, | ||
907 | sizeof(*ci->coeffs) * (s->subframe_len - cur_coeff)); | ||
908 | |||
909 | if (ff_wma_run_level_decode(&s->gb, vlc, | ||
910 | level, run, 1, ci->coeffs, | ||
911 | cur_coeff, s->subframe_len, | ||
912 | s->subframe_len, s->esc_len, 0)) | ||
913 | return AVERROR_INVALIDDATA; | ||
914 | |||
915 | } | ||
916 | return 0; | ||
917 | } | ||
918 | |||
919 | /** | ||
920 | *@brief Extract scale factors from the bitstream. | ||
921 | *@param s codec context | ||
922 | *@return 0 on success, < 0 in case of bitstream errors | ||
923 | */ | ||
924 | static int decode_scale_factors(WMAProDecodeCtx* s) | ||
925 | { | ||
926 | int i; | ||
927 | |||
928 | /** should never consume more than 5344 bits | ||
929 | * MAX_CHANNELS * (1 + MAX_BANDS * 23) | ||
930 | */ | ||
931 | |||
932 | for (i = 0; i < s->channels_for_cur_subframe; i++) { | ||
933 | int c = s->channel_indexes_for_cur_subframe[i]; | ||
934 | int* sf; | ||
935 | int* sf_end; | ||
936 | s->channel[c].scale_factors = s->channel[c].saved_scale_factors[!s->channel[c].scale_factor_idx]; | ||
937 | sf_end = s->channel[c].scale_factors + s->num_bands; | ||
938 | |||
939 | /** resample scale factors for the new block size | ||
940 | * as the scale factors might need to be resampled several times | ||
941 | * before some new values are transmitted, a backup of the last | ||
942 | * transmitted scale factors is kept in saved_scale_factors | ||
943 | */ | ||
944 | if (s->channel[c].reuse_sf) { | ||
945 | const int8_t* sf_offsets = s->sf_offsets[s->table_idx][s->channel[c].table_idx]; | ||
946 | int b; | ||
947 | for (b = 0; b < s->num_bands; b++) | ||
948 | s->channel[c].scale_factors[b] = | ||
949 | s->channel[c].saved_scale_factors[s->channel[c].scale_factor_idx][*sf_offsets++]; | ||
950 | } | ||
951 | |||
952 | if (!s->channel[c].cur_subframe || get_bits1(&s->gb)) { | ||
953 | |||
954 | if (!s->channel[c].reuse_sf) { | ||
955 | int val; | ||
956 | /** decode DPCM coded scale factors */ | ||
957 | s->channel[c].scale_factor_step = get_bits(&s->gb, 2) + 1; | ||
958 | val = 45 / s->channel[c].scale_factor_step; | ||
959 | for (sf = s->channel[c].scale_factors; sf < sf_end; sf++) { | ||
960 | val += get_vlc2(&s->gb, sf_vlc.table, SCALEVLCBITS, SCALEMAXDEPTH) - 60; | ||
961 | *sf = val; | ||
962 | } | ||
963 | } else { | ||
964 | int i; | ||
965 | /** run level decode differences to the resampled factors */ | ||
966 | for (i = 0; i < s->num_bands; i++) { | ||
967 | int idx; | ||
968 | int skip; | ||
969 | int val; | ||
970 | int sign; | ||
971 | |||
972 | idx = get_vlc2(&s->gb, sf_rl_vlc.table, VLCBITS, SCALERLMAXDEPTH); | ||
973 | |||
974 | if (!idx) { | ||
975 | uint32_t code = get_bits(&s->gb, 14); | ||
976 | val = code >> 6; | ||
977 | sign = (code & 1) - 1; | ||
978 | skip = (code & 0x3f) >> 1; | ||
979 | } else if (idx == 1) { | ||
980 | break; | ||
981 | } else { | ||
982 | skip = scale_rl_run[idx]; | ||
983 | val = scale_rl_level[idx]; | ||
984 | sign = get_bits1(&s->gb)-1; | ||
985 | } | ||
986 | |||
987 | i += skip; | ||
988 | if (i >= s->num_bands) { | ||
989 | DEBUGF("invalid scale factor coding\n"); | ||
990 | return AVERROR_INVALIDDATA; | ||
991 | } | ||
992 | s->channel[c].scale_factors[i] += (val ^ sign) - sign; | ||
993 | } | ||
994 | } | ||
995 | |||
996 | /** swap buffers */ | ||
997 | s->channel[c].scale_factor_idx = !s->channel[c].scale_factor_idx; | ||
998 | s->channel[c].table_idx = s->table_idx; | ||
999 | s->channel[c].reuse_sf = 1; | ||
1000 | } | ||
1001 | |||
1002 | /** calculate new scale factor maximum */ | ||
1003 | s->channel[c].max_scale_factor = s->channel[c].scale_factors[0]; | ||
1004 | for (sf = s->channel[c].scale_factors + 1; sf < sf_end; sf++) { | ||
1005 | s->channel[c].max_scale_factor = | ||
1006 | FFMAX(s->channel[c].max_scale_factor, *sf); | ||
1007 | } | ||
1008 | |||
1009 | } | ||
1010 | return 0; | ||
1011 | } | ||
1012 | |||
1013 | /** | ||
1014 | *@brief Reconstruct the individual channel data. | ||
1015 | *@param s codec context | ||
1016 | */ | ||
1017 | static void inverse_channel_transform(WMAProDecodeCtx *s) | ||
1018 | { | ||
1019 | int i; | ||
1020 | |||
1021 | for (i = 0; i < s->num_chgroups; i++) { | ||
1022 | if (s->chgroup[i].transform) { | ||
1023 | const int num_channels = s->chgroup[i].num_channels; | ||
1024 | int32_t data[WMAPRO_MAX_CHANNELS]; | ||
1025 | int32_t** ch_data = s->chgroup[i].channel_data; | ||
1026 | int32_t** ch_end = ch_data + num_channels; | ||
1027 | const int8_t* tb = s->chgroup[i].transform_band; | ||
1028 | int16_t* sfb; | ||
1029 | |||
1030 | /** multichannel decorrelation */ | ||
1031 | for (sfb = s->cur_sfb_offsets; | ||
1032 | sfb < s->cur_sfb_offsets + s->num_bands; sfb++) { | ||
1033 | int y; | ||
1034 | if (*tb++ == 1) { | ||
1035 | /** multiply values with the decorrelation_matrix */ | ||
1036 | for (y = sfb[0]; y < FFMIN(sfb[1], s->subframe_len); y++) { | ||
1037 | const int32_t* mat = s->chgroup[i].fixdecorrelation_matrix; | ||
1038 | const int32_t* data_end = data + num_channels; | ||
1039 | int32_t* data_ptr = data; | ||
1040 | int32_t** ch; | ||
1041 | |||
1042 | for (ch = ch_data; ch < ch_end; ch++) | ||
1043 | *data_ptr++ = (*ch)[y]; | ||
1044 | |||
1045 | for (ch = ch_data; ch < ch_end; ch++) { | ||
1046 | int32_t sum = 0; | ||
1047 | data_ptr = data; | ||
1048 | |||
1049 | while (data_ptr < data_end) | ||
1050 | sum += fixmul16(*mat++, *data_ptr++); | ||
1051 | |||
1052 | (*ch)[y] = sum; | ||
1053 | } | ||
1054 | } | ||
1055 | } else if (s->num_channels == 2) { | ||
1056 | |||
1057 | /* Scale with sqrt(2) */ | ||
1058 | int len = FFMIN(sfb[1], s->subframe_len) - sfb[0]; | ||
1059 | vector_fixmul_scalar(ch_data[0] + sfb[0], | ||
1060 | ch_data[0] + sfb[0], | ||
1061 | SQRT2_FRACT16, len); | ||
1062 | vector_fixmul_scalar(ch_data[1] + sfb[0], | ||
1063 | ch_data[1] + sfb[0], | ||
1064 | SQRT2_FRACT16, len); | ||
1065 | |||
1066 | } | ||
1067 | } | ||
1068 | } | ||
1069 | } | ||
1070 | } | ||
1071 | |||
1072 | /** | ||
1073 | *@brief Apply sine window and reconstruct the output buffer. | ||
1074 | *@param s codec context | ||
1075 | */ | ||
1076 | static void wmapro_window(WMAProDecodeCtx *s) | ||
1077 | { | ||
1078 | int i; | ||
1079 | |||
1080 | for (i = 0; i < s->channels_for_cur_subframe; i++) { | ||
1081 | int c = s->channel_indexes_for_cur_subframe[i]; | ||
1082 | const int32_t* window; | ||
1083 | int winlen = s->channel[c].prev_block_len; | ||
1084 | int32_t *xstart= s->channel[c].coeffs - (winlen >> 1); | ||
1085 | |||
1086 | if (s->subframe_len < winlen) { | ||
1087 | xstart += (winlen - s->subframe_len) >> 1; | ||
1088 | winlen = s->subframe_len; | ||
1089 | } | ||
1090 | |||
1091 | window = sine_windows[av_log2(winlen) - BLOCK_MIN_BITS]; | ||
1092 | |||
1093 | winlen >>= 1; | ||
1094 | |||
1095 | vector_fixmul_window(xstart, xstart, xstart + winlen, | ||
1096 | window, winlen); | ||
1097 | |||
1098 | s->channel[c].prev_block_len = s->subframe_len; | ||
1099 | |||
1100 | } | ||
1101 | } | ||
1102 | |||
1103 | /** | ||
1104 | *@brief Decode a single subframe (block). | ||
1105 | *@param s codec context | ||
1106 | *@return 0 on success, < 0 when decoding failed | ||
1107 | */ | ||
1108 | static int decode_subframe(WMAProDecodeCtx *s) | ||
1109 | { | ||
1110 | int offset = s->samples_per_frame; | ||
1111 | int subframe_len = s->samples_per_frame; | ||
1112 | int i; | ||
1113 | int total_samples = s->samples_per_frame * s->num_channels; | ||
1114 | int transmit_coeffs = 0; | ||
1115 | int cur_subwoofer_cutoff; | ||
1116 | |||
1117 | s->subframe_offset = get_bits_count(&s->gb); | ||
1118 | |||
1119 | /** reset channel context and find the next block offset and size | ||
1120 | == the next block of the channel with the smallest number of | ||
1121 | decoded samples | ||
1122 | */ | ||
1123 | for (i = 0; i < s->num_channels; i++) { | ||
1124 | s->channel[i].grouped = 0; | ||
1125 | if (offset > s->channel[i].decoded_samples) { | ||
1126 | offset = s->channel[i].decoded_samples; | ||
1127 | subframe_len = | ||
1128 | s->channel[i].subframe_len[s->channel[i].cur_subframe]; | ||
1129 | } | ||
1130 | } | ||
1131 | |||
1132 | DEBUGF("processing subframe with offset %i len %i\n", offset, subframe_len); | ||
1133 | |||
1134 | /** get a list of all channels that contain the estimated block */ | ||
1135 | s->channels_for_cur_subframe = 0; | ||
1136 | for (i = 0; i < s->num_channels; i++) { | ||
1137 | const int cur_subframe = s->channel[i].cur_subframe; | ||
1138 | /** substract already processed samples */ | ||
1139 | total_samples -= s->channel[i].decoded_samples; | ||
1140 | |||
1141 | /** and count if there are multiple subframes that match our profile */ | ||
1142 | if (offset == s->channel[i].decoded_samples && | ||
1143 | subframe_len == s->channel[i].subframe_len[cur_subframe]) { | ||
1144 | total_samples -= s->channel[i].subframe_len[cur_subframe]; | ||
1145 | s->channel[i].decoded_samples += | ||
1146 | s->channel[i].subframe_len[cur_subframe]; | ||
1147 | s->channel_indexes_for_cur_subframe[s->channels_for_cur_subframe] = i; | ||
1148 | ++s->channels_for_cur_subframe; | ||
1149 | } | ||
1150 | } | ||
1151 | |||
1152 | /** check if the frame will be complete after processing the | ||
1153 | estimated block */ | ||
1154 | if (!total_samples) | ||
1155 | s->parsed_all_subframes = 1; | ||
1156 | |||
1157 | |||
1158 | DEBUGF("subframe is part of %i channels\n", s->channels_for_cur_subframe); | ||
1159 | |||
1160 | /** calculate number of scale factor bands and their offsets */ | ||
1161 | s->table_idx = av_log2(s->samples_per_frame/subframe_len); | ||
1162 | s->num_bands = s->num_sfb[s->table_idx]; | ||
1163 | s->cur_sfb_offsets = s->sfb_offsets[s->table_idx]; | ||
1164 | cur_subwoofer_cutoff = s->subwoofer_cutoffs[s->table_idx]; | ||
1165 | |||
1166 | /** configure the decoder for the current subframe */ | ||
1167 | for (i = 0; i < s->channels_for_cur_subframe; i++) { | ||
1168 | int c = s->channel_indexes_for_cur_subframe[i]; | ||
1169 | |||
1170 | s->channel[c].coeffs = &s->channel[c].out[(s->samples_per_frame >> 1) | ||
1171 | + offset]; | ||
1172 | } | ||
1173 | |||
1174 | s->subframe_len = subframe_len; | ||
1175 | s->esc_len = av_log2(s->subframe_len - 1) + 1; | ||
1176 | |||
1177 | /** skip extended header if any */ | ||
1178 | if (get_bits1(&s->gb)) { | ||
1179 | int num_fill_bits; | ||
1180 | if (!(num_fill_bits = get_bits(&s->gb, 2))) { | ||
1181 | int len = get_bits(&s->gb, 4); | ||
1182 | num_fill_bits = get_bits(&s->gb, len) + 1; | ||
1183 | } | ||
1184 | |||
1185 | if (num_fill_bits >= 0) { | ||
1186 | if (get_bits_count(&s->gb) + num_fill_bits > s->num_saved_bits) { | ||
1187 | DEBUGF("invalid number of fill bits\n"); | ||
1188 | return AVERROR_INVALIDDATA; | ||
1189 | } | ||
1190 | |||
1191 | skip_bits_long(&s->gb, num_fill_bits); | ||
1192 | } | ||
1193 | } | ||
1194 | |||
1195 | /** no idea for what the following bit is used */ | ||
1196 | if (get_bits1(&s->gb)) { | ||
1197 | DEBUGF("reserved bit set\n"); | ||
1198 | return AVERROR_INVALIDDATA; | ||
1199 | } | ||
1200 | |||
1201 | if (decode_channel_transform(s) < 0) | ||
1202 | return AVERROR_INVALIDDATA; | ||
1203 | |||
1204 | for (i = 0; i < s->channels_for_cur_subframe; i++) { | ||
1205 | int c = s->channel_indexes_for_cur_subframe[i]; | ||
1206 | if ((s->channel[c].transmit_coefs = get_bits1(&s->gb))) | ||
1207 | transmit_coeffs = 1; | ||
1208 | } | ||
1209 | |||
1210 | if (transmit_coeffs) { | ||
1211 | int step; | ||
1212 | int quant_step = 90 * s->bits_per_sample >> 4; | ||
1213 | if ((get_bits1(&s->gb))) { | ||
1214 | /** FIXME: might change run level mode decision */ | ||
1215 | DEBUGF("unsupported quant step coding\n"); | ||
1216 | return AVERROR_INVALIDDATA; | ||
1217 | } | ||
1218 | /** decode quantization step */ | ||
1219 | step = get_sbits(&s->gb, 6); | ||
1220 | quant_step += step; | ||
1221 | if (step == -32 || step == 31) { | ||
1222 | const int sign = (step == 31) - 1; | ||
1223 | int quant = 0; | ||
1224 | while (get_bits_count(&s->gb) + 5 < s->num_saved_bits && | ||
1225 | (step = get_bits(&s->gb, 5)) == 31) { | ||
1226 | quant += 31; | ||
1227 | } | ||
1228 | quant_step += ((quant + step) ^ sign) - sign; | ||
1229 | } | ||
1230 | if (quant_step < 0) { | ||
1231 | DEBUGF("negative quant step\n"); | ||
1232 | } | ||
1233 | |||
1234 | /** decode quantization step modifiers for every channel */ | ||
1235 | |||
1236 | if (s->channels_for_cur_subframe == 1) { | ||
1237 | s->channel[s->channel_indexes_for_cur_subframe[0]].quant_step = quant_step; | ||
1238 | } else { | ||
1239 | int modifier_len = get_bits(&s->gb, 3); | ||
1240 | for (i = 0; i < s->channels_for_cur_subframe; i++) { | ||
1241 | int c = s->channel_indexes_for_cur_subframe[i]; | ||
1242 | s->channel[c].quant_step = quant_step; | ||
1243 | if (get_bits1(&s->gb)) { | ||
1244 | if (modifier_len) { | ||
1245 | s->channel[c].quant_step += get_bits(&s->gb, modifier_len) + 1; | ||
1246 | } else | ||
1247 | ++s->channel[c].quant_step; | ||
1248 | } | ||
1249 | } | ||
1250 | } | ||
1251 | |||
1252 | /** decode scale factors */ | ||
1253 | if (decode_scale_factors(s) < 0) | ||
1254 | return AVERROR_INVALIDDATA; | ||
1255 | } | ||
1256 | |||
1257 | DEBUGF("BITSTREAM: subframe header length was %i\n", | ||
1258 | get_bits_count(&s->gb) - s->subframe_offset); | ||
1259 | |||
1260 | /** parse coefficients */ | ||
1261 | for (i = 0; i < s->channels_for_cur_subframe; i++) { | ||
1262 | int c = s->channel_indexes_for_cur_subframe[i]; | ||
1263 | if (s->channel[c].transmit_coefs && | ||
1264 | get_bits_count(&s->gb) < s->num_saved_bits) { | ||
1265 | decode_coeffs(s, c); | ||
1266 | } else { | ||
1267 | memset(s->channel[c].coeffs, 0, | ||
1268 | sizeof(*s->channel[c].coeffs) * subframe_len); | ||
1269 | } | ||
1270 | } | ||
1271 | |||
1272 | DEBUGF("BITSTREAM: subframe length was %i\n", | ||
1273 | get_bits_count(&s->gb) - s->subframe_offset); | ||
1274 | |||
1275 | if (transmit_coeffs) { | ||
1276 | int nbits = av_log2(subframe_len)+1; | ||
1277 | /** reconstruct the per channel data */ | ||
1278 | inverse_channel_transform(s); | ||
1279 | for (i = 0; i < s->channels_for_cur_subframe; i++) { | ||
1280 | int c = s->channel_indexes_for_cur_subframe[i]; | ||
1281 | const int* sf = s->channel[c].scale_factors; | ||
1282 | int b; | ||
1283 | |||
1284 | if (c == s->lfe_channel) | ||
1285 | memset(&s->tmp[cur_subwoofer_cutoff], 0, sizeof(*s->tmp) * | ||
1286 | (subframe_len - cur_subwoofer_cutoff)); | ||
1287 | |||
1288 | /** inverse quantization and rescaling */ | ||
1289 | for (b = 0; b < s->num_bands; b++) { | ||
1290 | const int end = FFMIN(s->cur_sfb_offsets[b+1], s->subframe_len); | ||
1291 | const int exp = s->channel[c].quant_step - | ||
1292 | (s->channel[c].max_scale_factor - *sf++) * | ||
1293 | s->channel[c].scale_factor_step; | ||
1294 | |||
1295 | if(exp < EXP_MIN || exp > EXP_MAX) { | ||
1296 | DEBUGF("in wmaprodec.c : unhandled value for exp (%d), please report sample.\n", exp); | ||
1297 | return -1; | ||
1298 | } | ||
1299 | const int32_t quant = QUANT(exp); | ||
1300 | int start = s->cur_sfb_offsets[b]; | ||
1301 | |||
1302 | vector_fixmul_scalar(s->tmp+start, | ||
1303 | s->channel[c].coeffs + start, | ||
1304 | quant, end-start); | ||
1305 | |||
1306 | |||
1307 | } | ||
1308 | |||
1309 | /** apply imdct (ff_imdct_half == DCTIV with reverse) */ | ||
1310 | ff_imdct_half(nbits,s->channel[c].coeffs, s->tmp); | ||
1311 | |||
1312 | } | ||
1313 | } | ||
1314 | |||
1315 | /** window and overlapp-add */ | ||
1316 | wmapro_window(s); | ||
1317 | |||
1318 | /** handled one subframe */ | ||
1319 | for (i = 0; i < s->channels_for_cur_subframe; i++) { | ||
1320 | int c = s->channel_indexes_for_cur_subframe[i]; | ||
1321 | if (s->channel[c].cur_subframe >= s->channel[c].num_subframes) { | ||
1322 | DEBUGF("broken subframe\n"); | ||
1323 | return AVERROR_INVALIDDATA; | ||
1324 | } | ||
1325 | ++s->channel[c].cur_subframe; | ||
1326 | } | ||
1327 | |||
1328 | return 0; | ||
1329 | } | ||
1330 | |||
1331 | /** | ||
1332 | *@brief Decode one WMA frame. | ||
1333 | *@param s codec context | ||
1334 | *@return 0 if the trailer bit indicates that this is the last frame, | ||
1335 | * 1 if there are additional frames | ||
1336 | */ | ||
1337 | static int decode_frame(WMAProDecodeCtx *s) | ||
1338 | { | ||
1339 | GetBitContext* gb = &s->gb; | ||
1340 | int more_frames = 0; | ||
1341 | int len = 0; | ||
1342 | int i; | ||
1343 | |||
1344 | |||
1345 | #if 0 | ||
1346 | /** check for potential output buffer overflow */ | ||
1347 | /* Rockbox : No need to check that anymore since we work directly on the | ||
1348 | buffers in the WMAProDecCtx */ | ||
1349 | if (s->num_channels * s->samples_per_frame > s->samples_end - s->samples) { | ||
1350 | /** return an error if no frame could be decoded at all */ | ||
1351 | DEBUGF("not enough space for the output samples\n"); | ||
1352 | s->packet_loss = 1; | ||
1353 | return 0; | ||
1354 | } | ||
1355 | #endif | ||
1356 | |||
1357 | /** get frame length */ | ||
1358 | if (s->len_prefix) | ||
1359 | len = get_bits(gb, s->log2_frame_size); | ||
1360 | |||
1361 | DEBUGF("decoding frame with length %x\n", len); | ||
1362 | |||
1363 | /** decode tile information */ | ||
1364 | if (decode_tilehdr(s)) { | ||
1365 | s->packet_loss = 1; | ||
1366 | return 0; | ||
1367 | } | ||
1368 | |||
1369 | /** read postproc transform */ | ||
1370 | if (s->num_channels > 1 && get_bits1(gb)) { | ||
1371 | DEBUGF("Unsupported postproc transform found\n"); | ||
1372 | s->packet_loss = 1; | ||
1373 | return 0; | ||
1374 | } | ||
1375 | |||
1376 | /** read drc info */ | ||
1377 | if (s->dynamic_range_compression) { | ||
1378 | s->drc_gain = get_bits(gb, 8); | ||
1379 | DEBUGF("drc_gain %i\n", s->drc_gain); | ||
1380 | } | ||
1381 | |||
1382 | /** no idea what these are for, might be the number of samples | ||
1383 | that need to be skipped at the beginning or end of a stream */ | ||
1384 | if (get_bits1(gb)) { | ||
1385 | /** usually true for the first frame */ | ||
1386 | if (get_bits1(gb)) { | ||
1387 | get_bits(gb, av_log2(s->samples_per_frame * 2)); | ||
1388 | DEBUGF("start skip\n"); | ||
1389 | } | ||
1390 | /** sometimes true for the last frame */ | ||
1391 | if (get_bits1(gb)) { | ||
1392 | get_bits(gb, av_log2(s->samples_per_frame * 2)); | ||
1393 | DEBUGF("end skip\n"); | ||
1394 | } | ||
1395 | } | ||
1396 | |||
1397 | DEBUGF("BITSTREAM: frame header length was %i\n", | ||
1398 | get_bits_count(gb) - s->frame_offset); | ||
1399 | |||
1400 | /** reset subframe states */ | ||
1401 | s->parsed_all_subframes = 0; | ||
1402 | for (i = 0; i < s->num_channels; i++) { | ||
1403 | s->channel[i].decoded_samples = 0; | ||
1404 | s->channel[i].cur_subframe = 0; | ||
1405 | s->channel[i].reuse_sf = 0; | ||
1406 | } | ||
1407 | |||
1408 | /** decode all subframes */ | ||
1409 | while (!s->parsed_all_subframes) { | ||
1410 | if (decode_subframe(s) < 0) { | ||
1411 | s->packet_loss = 1; | ||
1412 | return 0; | ||
1413 | } | ||
1414 | } | ||
1415 | |||
1416 | if (s->skip_frame) { | ||
1417 | s->skip_frame = 0; | ||
1418 | } else | ||
1419 | s->samples += s->num_channels * s->samples_per_frame; | ||
1420 | |||
1421 | if (len != (get_bits_count(gb) - s->frame_offset) + 2) { | ||
1422 | /** FIXME: not sure if this is always an error */ | ||
1423 | DEBUGF("frame[%i] would have to skip %i bits\n", | ||
1424 | (int)s->frame_num, len - (get_bits_count(gb) - s->frame_offset) - 1); | ||
1425 | s->packet_loss = 1; | ||
1426 | return 0; | ||
1427 | } | ||
1428 | |||
1429 | /** skip the rest of the frame data */ | ||
1430 | skip_bits_long(gb, len - (get_bits_count(gb) - s->frame_offset) - 1); | ||
1431 | |||
1432 | /** decode trailer bit */ | ||
1433 | more_frames = get_bits1(gb); | ||
1434 | |||
1435 | ++s->frame_num; | ||
1436 | return more_frames; | ||
1437 | } | ||
1438 | |||
1439 | /** | ||
1440 | *@brief Calculate remaining input buffer length. | ||
1441 | *@param s codec context | ||
1442 | *@param gb bitstream reader context | ||
1443 | *@return remaining size in bits | ||
1444 | */ | ||
1445 | static int remaining_bits(WMAProDecodeCtx *s, GetBitContext *gb) | ||
1446 | { | ||
1447 | return s->buf_bit_size - get_bits_count(gb); | ||
1448 | } | ||
1449 | |||
1450 | /** | ||
1451 | *@brief Fill the bit reservoir with a (partial) frame. | ||
1452 | *@param s codec context | ||
1453 | *@param gb bitstream reader context | ||
1454 | *@param len length of the partial frame | ||
1455 | *@param append decides wether to reset the buffer or not | ||
1456 | */ | ||
1457 | static void save_bits(WMAProDecodeCtx *s, GetBitContext* gb, int len, | ||
1458 | int append) | ||
1459 | { | ||
1460 | int buflen; | ||
1461 | |||
1462 | /** when the frame data does not need to be concatenated, the input buffer | ||
1463 | is resetted and additional bits from the previous frame are copyed | ||
1464 | and skipped later so that a fast byte copy is possible */ | ||
1465 | |||
1466 | if (!append) { | ||
1467 | s->frame_offset = get_bits_count(gb) & 7; | ||
1468 | s->num_saved_bits = s->frame_offset; | ||
1469 | init_put_bits(&s->pb, s->frame_data, MAX_FRAMESIZE); | ||
1470 | } | ||
1471 | |||
1472 | buflen = (s->num_saved_bits + len + 8) >> 3; | ||
1473 | |||
1474 | if (len <= 0 || buflen > MAX_FRAMESIZE) { | ||
1475 | DEBUGF("input buffer too small\n"); | ||
1476 | s->packet_loss = 1; | ||
1477 | return; | ||
1478 | } | ||
1479 | |||
1480 | s->num_saved_bits += len; | ||
1481 | if (!append) { | ||
1482 | ff_copy_bits(&s->pb, gb->buffer + (get_bits_count(gb) >> 3), | ||
1483 | s->num_saved_bits); | ||
1484 | } else { | ||
1485 | int align = 8 - (get_bits_count(gb) & 7); | ||
1486 | align = FFMIN(align, len); | ||
1487 | put_bits(&s->pb, align, get_bits(gb, align)); | ||
1488 | len -= align; | ||
1489 | ff_copy_bits(&s->pb, gb->buffer + (get_bits_count(gb) >> 3), len); | ||
1490 | } | ||
1491 | skip_bits_long(gb, len); | ||
1492 | |||
1493 | { | ||
1494 | PutBitContext tmp = s->pb; | ||
1495 | flush_put_bits(&tmp); | ||
1496 | } | ||
1497 | |||
1498 | init_get_bits(&s->gb, s->frame_data, s->num_saved_bits); | ||
1499 | skip_bits(&s->gb, s->frame_offset); | ||
1500 | } | ||
1501 | |||
1502 | /** | ||
1503 | *@brief Decode a single WMA packet. | ||
1504 | *@param avctx codec context | ||
1505 | *@param data the output buffer | ||
1506 | *@param data_size number of bytes that were written to the output buffer | ||
1507 | *@param avpkt input packet | ||
1508 | *@return number of bytes that were read from the input buffer | ||
1509 | */ | ||
1510 | int decode_packet(asf_waveformatex_t *wfx, int32_t *dec[2], int *data_size, | ||
1511 | void* pktdata, int size) | ||
1512 | { | ||
1513 | WMAProDecodeCtx *s = &globWMAProDecCtx; | ||
1514 | GetBitContext* gb = &s->pgb; | ||
1515 | const uint8_t* buf = pktdata; | ||
1516 | int buf_size = size; | ||
1517 | int num_bits_prev_frame; | ||
1518 | int packet_sequence_number;\ | ||
1519 | int i; | ||
1520 | |||
1521 | /** reuse second half of the IMDCT output for the next frame */ | ||
1522 | /* NOTE : Relies on the WMAProDecCtx being static */ | ||
1523 | for(i = 0; i < s->num_channels; i++) | ||
1524 | memcpy(&s->channel[i].out[0], | ||
1525 | &s->channel[i].out[s->samples_per_frame], | ||
1526 | s->samples_per_frame * sizeof(*s->channel[i].out) >> 1); | ||
1527 | |||
1528 | |||
1529 | s->samples = 0; | ||
1530 | *data_size = 0; | ||
1531 | |||
1532 | if (s->packet_done || s->packet_loss) { | ||
1533 | s->packet_done = 0; | ||
1534 | s->buf_bit_size = buf_size << 3; | ||
1535 | |||
1536 | /** sanity check for the buffer length */ | ||
1537 | if (buf_size < wfx->blockalign) | ||
1538 | return 0; | ||
1539 | |||
1540 | buf_size = wfx->blockalign; | ||
1541 | |||
1542 | /** parse packet header */ | ||
1543 | init_get_bits(gb, buf, s->buf_bit_size); | ||
1544 | packet_sequence_number = get_bits(gb, 4); | ||
1545 | skip_bits(gb, 2); | ||
1546 | |||
1547 | /** get number of bits that need to be added to the previous frame */ | ||
1548 | num_bits_prev_frame = get_bits(gb, s->log2_frame_size); | ||
1549 | DEBUGF("packet[%d]: nbpf %x\n", s->frame_num, | ||
1550 | num_bits_prev_frame); | ||
1551 | |||
1552 | /** check for packet loss */ | ||
1553 | if (!s->packet_loss && | ||
1554 | ((s->packet_sequence_number + 1) & 0xF) != packet_sequence_number) { | ||
1555 | s->packet_loss = 1; | ||
1556 | DEBUGF("Packet loss detected! seq %x vs %x\n", | ||
1557 | s->packet_sequence_number, packet_sequence_number); | ||
1558 | } | ||
1559 | s->packet_sequence_number = packet_sequence_number; | ||
1560 | |||
1561 | if (num_bits_prev_frame > 0) { | ||
1562 | /** append the previous frame data to the remaining data from the | ||
1563 | previous packet to create a full frame */ | ||
1564 | save_bits(s, gb, num_bits_prev_frame, 1); | ||
1565 | DEBUGF("accumulated %x bits of frame data\n", | ||
1566 | s->num_saved_bits - s->frame_offset); | ||
1567 | |||
1568 | /** decode the cross packet frame if it is valid */ | ||
1569 | if (!s->packet_loss) | ||
1570 | decode_frame(s); | ||
1571 | } else if (s->num_saved_bits - s->frame_offset) { | ||
1572 | DEBUGF("ignoring %x previously saved bits\n", | ||
1573 | s->num_saved_bits - s->frame_offset); | ||
1574 | } | ||
1575 | |||
1576 | s->packet_loss = 0; | ||
1577 | |||
1578 | } else { | ||
1579 | int frame_size; | ||
1580 | s->buf_bit_size = size << 3; | ||
1581 | init_get_bits(gb, pktdata, s->buf_bit_size); | ||
1582 | skip_bits(gb, s->packet_offset); | ||
1583 | if (remaining_bits(s, gb) > s->log2_frame_size && | ||
1584 | (frame_size = show_bits(gb, s->log2_frame_size)) && | ||
1585 | frame_size <= remaining_bits(s, gb)) { | ||
1586 | save_bits(s, gb, frame_size, 0); | ||
1587 | s->packet_done = !decode_frame(s); | ||
1588 | } else | ||
1589 | s->packet_done = 1; | ||
1590 | } | ||
1591 | |||
1592 | if (s->packet_done && !s->packet_loss && | ||
1593 | remaining_bits(s, gb) > 0) { | ||
1594 | /** save the rest of the data so that it can be decoded | ||
1595 | with the next packet */ | ||
1596 | save_bits(s, gb, remaining_bits(s, gb), 0); | ||
1597 | } | ||
1598 | |||
1599 | dec[0] = s->channel[0].out; | ||
1600 | dec[1] = s->channel[1].out; | ||
1601 | |||
1602 | *data_size = s->samples; | ||
1603 | s->packet_offset = get_bits_count(gb) & 7; | ||
1604 | |||
1605 | s->frame_num++; | ||
1606 | return (s->packet_loss) ? AVERROR_INVALIDDATA : get_bits_count(gb) >> 3; | ||
1607 | } | ||
1608 | |||
1609 | #if 0 | ||
1610 | /** | ||
1611 | *@brief wmapro decoder | ||
1612 | */ | ||
1613 | AVCodec wmapro_decoder = { | ||
1614 | "wmapro", | ||
1615 | AVMEDIA_TYPE_AUDIO, | ||
1616 | CODEC_ID_WMAPRO, | ||
1617 | sizeof(WMAProDecodeCtx), | ||
1618 | decode_init, | ||
1619 | NULL, | ||
1620 | decode_end, | ||
1621 | decode_packet, | ||
1622 | .capabilities = CODEC_CAP_SUBFRAMES, | ||
1623 | .flush= flush, | ||
1624 | .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 9 Professional"), | ||
1625 | }; | ||
1626 | #endif | ||
diff --git a/lib/rbcodec/codecs/libwmapro/wmaprodec.h b/lib/rbcodec/codecs/libwmapro/wmaprodec.h new file mode 100644 index 0000000000..d8398fc9f1 --- /dev/null +++ b/lib/rbcodec/codecs/libwmapro/wmaprodec.h | |||
@@ -0,0 +1,44 @@ | |||
1 | #include "codeclib.h" | ||
2 | #include "wma.h" | ||
3 | #include "../libasf/asf.h" | ||
4 | |||
5 | #if (CONFIG_CPU == MCF5250) | ||
6 | /* Enough IRAM but performance suffers with ICODE_ATTR. */ | ||
7 | #define IBSS_ATTR_WMAPRO_LARGE_IRAM IBSS_ATTR | ||
8 | #define ICODE_ATTR_WMAPRO_LARGE_IRAM | ||
9 | #define ICONST_ATTR_WMAPRO_LARGE_IRAM ICONST_ATTR | ||
10 | #define IBSS_ATTR_WMAPRO_VLC_TABLES | ||
11 | #define ICONST_ATTR_WMAPRO_WIN_VS_TMP | ||
12 | |||
13 | #elif (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) | ||
14 | /* Enough IRAM to move additional data and code to it. */ | ||
15 | #define IBSS_ATTR_WMAPRO_LARGE_IRAM IBSS_ATTR | ||
16 | #define ICODE_ATTR_WMAPRO_LARGE_IRAM ICODE_ATTR | ||
17 | #define ICONST_ATTR_WMAPRO_LARGE_IRAM ICONST_ATTR | ||
18 | #define IBSS_ATTR_WMAPRO_VLC_TABLES | ||
19 | #define ICONST_ATTR_WMAPRO_WIN_VS_TMP | ||
20 | |||
21 | #elif defined(CPU_S5L870X) | ||
22 | /* Enough IRAM to move additional data and code to it. */ | ||
23 | #define IBSS_ATTR_WMAPRO_LARGE_IRAM IBSS_ATTR | ||
24 | #define ICODE_ATTR_WMAPRO_LARGE_IRAM ICODE_ATTR | ||
25 | #define ICONST_ATTR_WMAPRO_LARGE_IRAM ICONST_ATTR | ||
26 | #define IBSS_ATTR_WMAPRO_VLC_TABLES IBSS_ATTR | ||
27 | #define ICONST_ATTR_WMAPRO_WIN_VS_TMP ICONST_ATTR | ||
28 | |||
29 | #else | ||
30 | /* Not enough IRAM available. */ | ||
31 | #define IBSS_ATTR_WMAPRO_LARGE_IRAM | ||
32 | #define ICODE_ATTR_WMAPRO_LARGE_IRAM | ||
33 | #define ICONST_ATTR_WMAPRO_LARGE_IRAM | ||
34 | #define IBSS_ATTR_WMAPRO_VLC_TABLES | ||
35 | /* Models with large IRAM put tmp to IRAM rather than window coefficients as | ||
36 | * this is the fastest option. On models with smaller IRAM the 2nd-best option | ||
37 | * is to move the window coefficients to IRAM. */ | ||
38 | #define ICONST_ATTR_WMAPRO_WIN_VS_TMP ICONST_ATTR | ||
39 | |||
40 | #endif | ||
41 | |||
42 | int decode_init(asf_waveformatex_t *wfx); | ||
43 | int decode_packet(asf_waveformatex_t *wfx, | ||
44 | int32_t *dec[2], int *data_size, void* pktdata, int size); | ||