NFC calculating wrong ECC

We have a product with the BF547M connected to a NAND flash. The boot ROM loads U-Boot from NAND, which then loads a uClinux uImage. We recently inspected an RMA'd unit and found that a single bit had flipped in the uImage, thus the CRC check failed, and it wouldn't boot.

We have hardware ECC enabled in the NAND drivers for both U-Boot and Linux. I believe the ECC should be capable of correcting any single bit flip in a 256-byte block. I've experimented with intentionally flipping random bits in Flash and it does work as expected most of the time.

However, the correction is NOT working for the particular 256-byte block of data that was corrupted in the RMA'd unit. After this block of data is read or written, the value in the ECC registers is all zeros, which seems unlikely to be correct. When the block is written, the all-zero ECC is stored in the OOB region. If a bit is then flipped, and then block is read, the NAND driver does not correct or even detect the error.

The issue has been reproduced on multiple devices. The behavior is the same in Linux and U-Boot. We need assistance finding a solution to this problem.

I've attached dumps of the 2048 byte page in question including the 64 byte OOB. In the bad_page_oob.bin file, you can see that the byte at offset 0x165 has changed from 0x01 to 0x05. The ECC stored for this 256-byte chunk is at offset 0x82B - 0x82D.

  • For some reason the file attachments didn't work. I'll try posting the hexdumps instead.

    good_page_oob.bin:

    00000000: 4c cb 02 0a 02 1c 11 93 26 94 2d b4 03 21 a7 39  L.......&.-..!.9
    00000010: 1a 10 93 e4 69 2a c5 00 1c 44 04 03 88 09 02 14  ....i*...D......
    00000020: 11 93 2a 3c 01 6e d8 a0 8d 6c 05 75 bf 19 23 87  ..*<.n...l.u..#.
    00000030: 3f 61 4e f6 46 17 60 a7 04 80 0e 0d e1 78 c8 00  ?aN.F.`......x..
    00000040: e3 84 25 65 32 20 30 05 60 64 6f 2e 5c 1e 54 f1  ..%e2 0.`do.\.T.
    00000050: 01 0c 28 14 23 45 cf 2a 21 ad 30 5a 23 0d 4e 2f  ..(.#E.*!.0Z#.N/
    00000060: 21 a5 30 07 21 9c 30 5c e1 09 87 d8 56 b3 09 18  !.0.!.0\....V...
    00000070: 14 28 e4 fe ff 02 4d 03 29 21 b7 30 02 02 4f 21  .(....M.)!.0..O!
    00000080: 54 39 00 0b a1 4f 60 4e 01 56 30 0a 08 07 0e 06  T9...O`N.V0.....
    00000090: 19 0a 07 1c 59 52 82 c6 63 80 61 4f 00 e3 02 23  ....YR..c.aO...#
    000000a0: 0d 9c 1d 01 85 08 d1 1f e6 17 11 91 6c db 02 41  ............l..A
    000000b0: 50 61 50 02 0c 7d 21 ce 85 22 47 6c 33 07 e3 8c  PaP..}!.."Gl3...
    000000c0: 07 07 e1 f0 07 0f 30 20 ad c2 00 06 69 81 97 24  ......0 ....i..$
    000000d0: a7 70 f0 07 39 21 d4 38 22 fc 93 24 5c 70 04 00  .p..9!.8"..$\p..
    000000e0: 08 08 52 82 60 10 2b 4d 00 10 4f 02 03 61 18 2b  ..R.`.+M..O..a.+
    000000f0: 4d 00 20 7d 04 61 2c 9d 00 30 4c 02 22 54 24 2c  M. }.a,..0L."T$,
    00000100: a5 00 40 54 02 22 24 28 2c ad 00 50 8d 05 60 2d  ..@T."$(,..P..`-
    00000110: ad 00 60 8d 05 70 2d ad 00 70 8d 05 80 27 ac 00  ..`..p-..p...'..
    00000120: 0b 00 e3 62 58 ff e3 46 fa e6 6d c6 6c 77 90 24  ...bX..F..m.lw.$
    00000130: 05 4f 23 5e de a0 ff 6c d4 45 c5 07 55 f7 20 0d  .O#^...l.E..U. .
    00000140: 73 23 22 c6 34 e2 16 10 04 b4 d9 02 28 e1 ad 00  s#".4.......(...
    00000150: a0 18 03 9f 94 91 01 93 10 04 e8 8c 21 ff 5a 02  ............!.Z.
    00000160: 10 02 27 4d 00 01 0e 07 50 00 29 84 00 5d 01 52  ..'M....P.)..].R
    00000170: 2d 3d 00 56 2d 3d 00 54 2d 3f 00 58 00 93 10 09  -=.V-=.T-?.X....
    00000180: 71 8e a4 dc 00 22 3e 37 11 00 21 9f 94 e1 bc 86  q....">7..!.....
    00000190: 28 ef 75 21 e1 24 00 ea 0c 60 00 e1 e8 50 f6 e3  (.u!.$...`...P..
    000001a0: 66 43 08 02 a6 6c 00 02 26 8c 37 fe 05 60 87 28  fC...l..&.7..`.(
    000001b0: be 00 01 60 76 05 d8 a9 05 0b 4f 29 b6 00 c5 04  ...`v.....O)....
    000001c0: 2a 4f 36 2c 53 3a 21 4e 36 91 03 26 4f 36 c8 87  *O6,S:!N6..&O6..
    000001d0: aa 46 44 89 03 2c 4e 36 81 03 65 de 48 4d 00 49  .FD..,N6..e.HM.I
    000001e0: 4c 00 64 d7 09 0d e1 48 0f 08 e1 28 0f 09 e1 c8  L.d....H...(....
    000001f0: 0f 4f 4c 0f 28 95 21 54 7a 05 1c 00 95 00 48 fb  .OL.(.!Tz.....H.
    00000200: 1f 08 6e 01 18 10 4e 01 f5 1f 6c 05 22 e4 54 01  ..n...N...l.".T.
    00000210: 28 0f 10 97 a5 de a8 c4 01 22 fd 3d 48 27 55 00  (........".=H'U.
    00000220: c8 27 25 00 08 27 25 00 88 47 01 24 00 66 25 9c  .'%..'%..G.$.f%.
    00000230: 97 2a d5 02 54 95 16 36 27 d7 02 f4 87 ba 55 14  .*..T..6'.....U.
    00000240: 2e 2d d6 02 26 03 34 9c 01 64 0a 21 aa 57 05 21  .-..&.4..d.!.W.!
    00000250: 21 87 8a 28 30 32 29 ed 3b 7c 9d 0a 0a 27 5f 01  !..(02).;|...'_.
    00000260: e0 87 82 5d 08 02 2d 5f 01 fa 02 19 05 f3 54 22  ...]..-_......T"
    00000270: bc 42 7d 4e 0c 27 25 00 0e 47 01 13 10 4a d7 24  .B}N.'%..G...J.$
    00000280: 0a e1 00 54 23 04 40 0f 27 e1 1f 80 42 5c 01 08  ...T#.@.'...B\..
    00000290: 3f 4f 5a 30 02 e1 c0 0f 49 30 0c 23 64 a1 bc 11  ?OZ0....I0.#d...
    000002a0: 0d 40 0f 51 08 97 07 93 06 8a 07 89 06 41 32 40  .@.Q.........A2@
    000002b0: 6c 44 28 0a 0c 08 18 42 6d 10 95 c2 6e 00 48 ee  lD(....Bm...n.H.
    000002c0: 1f 5c 75 4c 20 0a 22 6c 15 93 82 c6 f6 85 62 6c  .\uL ."l......bl
    000002d0: 12 97 21 06 60 11 97 0c 54 08 a2 6c 10 97 21 6c  ..!.`...T..l..!l
    000002e0: 0c 93 61 6c 0a 5c 00 04 09 97 a1 6c 08 97 48 57  ..al.\.....l..HW
    000002f0: 05 20 e1 8b 01 7a 6f e6 27 20 05 fc 43 8f 1c e1  . ...zo.' ..C...
    00000300: f8 53 21 fe 7f b1 48 5c 1b 22 75 25 08 05 4e 89  .S!...H\."u%..N.
    00000310: 0e 28 34 6b 44 45 0c 69 40 34 b2 e0 05 20 00 9c  .(4kDE.i@4... ..
    00000320: 09 93 48 b0 c1 6c bf ae 14 54 c0 21 86 9c e4 25  ..H..l...T.!...%
    00000330: f5 01 c8 56 01 dd 25 a6 17 30 0a 22 c5 58 00 0b  ...V..%..0.".X..
    00000340: e1 56 10 93 26 b4 41 22 cf 3b f3 e3 86 05 06 30  .V..&.A".;.....0
    00000350: 24 d7 2a 3c 62 09 21 2e 6e c2 2d 28 96 46 20 55  $.*<b.!.n.-(.F U
    00000360: 0e 1f f4 b0 64 72 22 6e 73 00 30 7d 71 00 23 65  ....dr"ns.0}q.#e
    00000370: 29 e2 0d 2c 93 7e 00 23 00 24 f7 ab 10 62 30 4e  )..,.~.#.$...b0N
    00000380: 07 be 6a 74 18 03 f3 e2 2e 28 70 05 b5 18 06 54  ..jt.....(p....T
    00000390: 18 0f 64 55 01 60 f6 e3 aa 42 30 30 00 0c 31 18  ..dU.`...B00..1.
    000003a0: 7e 30 a7 64 a6 14 70 55 04 bc 22 3c 9e 06 4d 94  ~0.d..pU.."<..M.
    000003b0: 0e 30 07 30 f6 e3 99 86 04 20 18 65 62 47 4c 1e  .0.0..... .ebGL.
    000003c0: 01 07 e1 0c 88 e6 69 16 30 6c ca 07 78 55 f6 e3  ......i.0l..xU..
    000003d0: c0 41 f8 63 f8 4f ac 66 6e 02 80 55 bc 03 09 f6  .A.c.O.fn..U....
    000003e0: e3 b3 41 00 60 02 20 a0 63 06 6d 24 ec 74 6f 67  ..A.`. .c.m$.tog
    000003f0: a6 6f 24 4e a7 24 02 64 6e 21 ad 2a 84 21 5f 45  .o$N.$.dn!.*.!_E
    00000400: 85 10 30 e4 46 21 07 a1 e3 ea 01 ff 45 cc 57 5a  ..0.F!......E.WZ
    00000410: 5e 49 e2 01 f7 03 d0 88 e2 7d af 01 2a 3c 09 67  ^I.......}..*<.g
    00000420: 6b 00 e3 d0 21 de 89 14 00 2a cd 28 24 23 b4 98  k...!....*.($#..
    00000430: 5c 51 5e 04 f8 57 21 2e 9e 01 20 5d 02 81 5d 07  \Q^..W!... ]..].
    00000440: f8 27 fe 00 20 58 7e 53 b2 01 bc 06 6c 03 28 ef  .'.. X~S....l.(.
    00000450: 01 1c 68 0a 5f 01 a4 01 49 4c 2d 64 a6 21 55 6e  ..h._...IL-d.!Un
    00000460: 20 5e 15 16 72 21 dc b1 21 65 4e 93 0d 8c 23 25   ^..r!..!eN...#%
    00000470: d4 69 05 38 16 5a 3e 62 3e 6a 3e e4 6d 0b 00 00  .i.8.Z>b>j>.m...
    00000480: fd 05 28 32 67 01 86 6f 45 0c a0 1c 22 7d 8b 9d  ..(2g..oE..."}..
    00000490: 25 fe a9 30 6e 22 86 38 96 14 26 3f 8b 34 58 5a  %..0n".8..&?.4XZ
    000004a0: 21 46 8a 70 03 0e 04 73 14 0c 03 00 03 7e 30 58  !F.p...s.....~0X
    000004b0: 64 67 64 0f 30 52 60 f0 b0 f7 e3 0b 87 28 32 f0  dgd.0R`......(2.
    000004c0: a0 08 5c 01 09 f0 b0 52 60 f7 e3 03 87 21 e1 80  ..\....R`....!..
    000004d0: 25 5c 1a 0f 18 08 09 0e 14 22 e1 60 09 10 08 18  %\.......".`....
    000004e0: 18 21 e1 c0 12 08 5c 00 0e 22 e1 b0 04 10 08 1f  .!....\.."......
    000004f0: 14 11 20 81 e1 00 96 08 08 15 45 02 e1 0d 27 4f  .. .......E...'O
    00000500: 0d 04 12 4e 04 00 4b 21 44 44 00 06 14 09 20 5f  ...N..K!DD.... _
    00000510: 60 10 20 4f 60 0e 20 67 60 0c 20 6f 60 0a 20 77  `. O`. g`. o`. w
    00000520: 60 08 20 7f 0c 38 02 27 e1 02 10 03 54 00 00 01  `. ..8.'....T...
    00000530: 01 10 f2 ac 22 e1 65 00 4a 30 50 99 09 64 10 08  ....".e.J0P..d..
    00000540: 07 18 52 74 00 0e 30 48 4a 38 07 02 20 47 4a f1  ..Rt..0HJ8.. GJ.
    00000550: b0 01 30 4e 30 61 64 7f 11 bb 86 31 43 cb 08 18  ..0N0ad....1C...
    00000560: 3a 5f da 07 18 29 4d 01 06 21 1e 3b 27 4a 0c c0  :_...)M..!.;'J..
    00000570: 05 2f 4a 03 20 80 61 c7 57 22 3d 45 00 0d 80 34  ./J. .a.W"=E...4
    00000580: 27 ec 03 25 3e b2 30 6e 22 ff 66 13 18 50 22 de  '..%>.0n".f..P".
    00000590: 42 4a 50 21 44 40 05 42 30 f3 e3 b3 69 6a 91 ac  BJP!D@.B0...ij..
    000005a0: 5c 0a 40 58 52 e5 15 00 4a 30 fb e3 3b b0 86 23  \.@XR...J0..;..#
    000005b0: 4d 51 bd 23 dc 7d 7c 08 45 8e 32 bc 28 57 71 0c  MQ.#.}|.E.2.(Wq.
    000005c0: 12 10 32 ec 47 26 cd 31 64 5d d9 3c 4d 43 e4 21  ..2.G&.1d].<MC.!
    000005d0: 8e 3e ae 10 a7 5c 78 58 c2 56 3a b9 00 f7 3c 94  .>...\xX.V:...<.
    000005e0: 58 32 5c 01 01 b1 00 68 a0 75 3f eb 21 6f 2c ff  X2\....h.u?.!o,.
    000005f0: 61 38 5e 90 0e 1c e7 04 9c 58 4a 45 03 a0 47 03  a8^......XJE..G.
    00000600: 38 54 41 44 01 05 d9 00 f9 60 a8 a0 71 4f 22 35  8TAD.....`..qO"5
    00000610: 6d 10 27 96 00 a8 58 22 95 4f 8d 54 04 02 f9 60  m.'...X".O.T...`
    00000620: 70 4d 08 85 05 c4 27 95 01 b8 95 0c 7e 57 0c 18  pM....'.....~W..
    00000630: 48 03 06 84 a1 03 47 e5 a8 a1 01 4d 5b b2 27 8f  H.....G....M[.'.
    00000640: 00 c0 58 3a 4e 04 6c 00 25 74 a8 21 46 24 f9 60  ..X:N.l.%t.!F$.`
    00000650: 6c 0c 01 1b 14 24 20 ef 04 c8 58 2a 4d 04 5a 5c  l....$ ...X*M.Z\
    00000660: 5c 6d 07 94 27 ed 00 d0 9d 02 4e dd 02 88 0e e9  \m..'.....N.....
    00000670: 20 4d 57 08 62 32 ff 21 d6 24 00 61 21 a4 63 5e   MW.b2.!.$.a!.c^
    00000680: 08 de 17 f7 05 d8 58 a2 56 04 37 00 32 ee 04 0f  ......X.V.7.2...
    00000690: 14 f7 04 10 59 92 4e 0a 24 00 26 0c 9d 01 f3 e3  ....Y.N.$.&.....
    000006a0: e0 1a ef 03 24 59 4a 47 08 16 00 25 4a fe fe 2f  ....$YJG...%J../
    000006b0: a6 04 50 59 0e 6b 63 af 22 f5 95 1c 4e 00 98 32  ..PY.kc."...N..2
    000006c0: b5 02 60 56 02 9c ae be 64 b4 f0 04 1a 19 38 93  ..`V....d.....8.
    000006d0: 0e 32 28 e1 fe 0f 41 0a 13 14 01 32 10 32 01 60  .2(...A....2.2.`
    000006e0: 09 64 22 9c a0 01 11 0a fc 1f f4 04 09 51 93 00  .d"..........Q..
    000006f0: 60 08 9b 88 e6 01 00 04 20 22 a4 42 2a 4e a5 7c  `....... ".B*N.|
    00000700: f0 75 46 21 44 23 6c 02 09 40 e1 ad de 00 e1 ef  .uF!D#l..@......
    00000710: be 2a e1 f0 04 22 ee 82 00 05 22 d4 3d 45 03 60  .*..."....".=E.`
    00000720: a4 02 24 8d a9 30 23 27 a5 78 00 46 47 9f 20 30  ..$..0#'.x.FG. 0
    00000730: 39 5f 69 17 4e 46 21 0c 65 00 03 3a 60 80 64 2f  9_i.NF!.e..:`.d/
    00000740: 32 f7 e3 16 93 40 60 38 52 10 4f 16 30 4e 32 43  2....@`8R.O.0N2C
    00000750: 44 8d 00 0c 82 40 1d 6c 79 6c 19 60 03 e1 94 f8  D....@.lyl.`....
    00000760: 09 20 82 c6 22 81 03 50 10 32 22 4f 09 64 50 99  . .."..P.2"O.dP.
    00000770: 08 9a 5f 76 0a f6 1f 22 35 60 08 4f 15 42 91 2c  .._v..."5`.O.B.,
    00000780: 54 19 07 6a 5a 61 0a 14 14 46 32 60 6c fc 19 75  T..jZa...F2`l..u
    00000790: 04 fb 37 46 03 00 93 22 0e ac b4 05 fe 1a 67 01  ..7F..."......g.
    000007a0: e4 1b 21 4f 96 48 0f 14 7e 61 2b 68 34 74 03 b7  ..!O.H..~a+h4t..
    000007b0: ef 00 00 f5 5c b9 06 08 60 66 6f 90 4f f0 b0 07  ....\...`fo.O...
    000007c0: 23 ed 3f 81 21 bd 22 37 21 4e a3 24 66 21 9d ae  #.?.!."7!N.$f!..
    000007d0: f9 b6 6e 20 70 04 0c 24 26 70 d9 f5 0c 30 24 f4  ..n p..$&p...0$.
    000007e0: c4 05 e4 62 c8 b0 42 0c 19 10 a6 34 38 66 06 68  ...b..B....48f.h
    000007f0: 87 ae a7 73 20 70 28 25 15 73 c2 27 b6 00 04 63  ...s p(%.s.'...c
    00000800: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
    00000810: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
    00000820: ff ff ff ff ff ff ff ff 71 77 04 00 00 00 82 11  ........qw......
    00000830: 0c 6e 88 3c d0 80 06 df fb 1e 65 29 0b 01 0a 10  .n.<......e)....
    

    bad_page_oob.bin:

    00000000: 4c cb 02 0a 02 1c 11 93 26 94 2d b4 03 21 a7 39  L.......&.-..!.9
    00000010: 1a 10 93 e4 69 2a c5 00 1c 44 04 03 88 09 02 14  ....i*...D......
    00000020: 11 93 2a 3c 01 6e d8 a0 8d 6c 05 75 bf 19 23 87  ..*<.n...l.u..#.
    00000030: 3f 61 4e f6 46 17 60 a7 04 80 0e 0d e1 78 c8 00  ?aN.F.`......x..
    00000040: e3 84 25 65 32 20 30 05 60 64 6f 2e 5c 1e 54 f1  ..%e2 0.`do.\.T.
    00000050: 01 0c 28 14 23 45 cf 2a 21 ad 30 5a 23 0d 4e 2f  ..(.#E.*!.0Z#.N/
    00000060: 21 a5 30 07 21 9c 30 5c e1 09 87 d8 56 b3 09 18  !.0.!.0\....V...
    00000070: 14 28 e4 fe ff 02 4d 03 29 21 b7 30 02 02 4f 21  .(....M.)!.0..O!
    00000080: 54 39 00 0b a1 4f 60 4e 01 56 30 0a 08 07 0e 06  T9...O`N.V0.....
    00000090: 19 0a 07 1c 59 52 82 c6 63 80 61 4f 00 e3 02 23  ....YR..c.aO...#
    000000a0: 0d 9c 1d 01 85 08 d1 1f e6 17 11 91 6c db 02 41  ............l..A
    000000b0: 50 61 50 02 0c 7d 21 ce 85 22 47 6c 33 07 e3 8c  PaP..}!.."Gl3...
    000000c0: 07 07 e1 f0 07 0f 30 20 ad c2 00 06 69 81 97 24  ......0 ....i..$
    000000d0: a7 70 f0 07 39 21 d4 38 22 fc 93 24 5c 70 04 00  .p..9!.8"..$\p..
    000000e0: 08 08 52 82 60 10 2b 4d 00 10 4f 02 03 61 18 2b  ..R.`.+M..O..a.+
    000000f0: 4d 00 20 7d 04 61 2c 9d 00 30 4c 02 22 54 24 2c  M. }.a,..0L."T$,
    00000100: a5 00 40 54 02 22 24 28 2c ad 00 50 8d 05 60 2d  ..@T."$(,..P..`-
    00000110: ad 00 60 8d 05 70 2d ad 00 70 8d 05 80 27 ac 00  ..`..p-..p...'..
    00000120: 0b 00 e3 62 58 ff e3 46 fa e6 6d c6 6c 77 90 24  ...bX..F..m.lw.$
    00000130: 05 4f 23 5e de a0 ff 6c d4 45 c5 07 55 f7 20 0d  .O#^...l.E..U. .
    00000140: 73 23 22 c6 34 e2 16 10 04 b4 d9 02 28 e1 ad 00  s#".4.......(...
    00000150: a0 18 03 9f 94 91 01 93 10 04 e8 8c 21 ff 5a 02  ............!.Z.
    00000160: 10 02 27 4d 00 05 0e 07 50 00 29 84 00 5d 01 52  ..'M....P.)..].R
    00000170: 2d 3d 00 56 2d 3d 00 54 2d 3f 00 58 00 93 10 09  -=.V-=.T-?.X....
    00000180: 71 8e a4 dc 00 22 3e 37 11 00 21 9f 94 e1 bc 86  q....">7..!.....
    00000190: 28 ef 75 21 e1 24 00 ea 0c 60 00 e1 e8 50 f6 e3  (.u!.$...`...P..
    000001a0: 66 43 08 02 a6 6c 00 02 26 8c 37 fe 05 60 87 28  fC...l..&.7..`.(
    000001b0: be 00 01 60 76 05 d8 a9 05 0b 4f 29 b6 00 c5 04  ...`v.....O)....
    000001c0: 2a 4f 36 2c 53 3a 21 4e 36 91 03 26 4f 36 c8 87  *O6,S:!N6..&O6..
    000001d0: aa 46 44 89 03 2c 4e 36 81 03 65 de 48 4d 00 49  .FD..,N6..e.HM.I
    000001e0: 4c 00 64 d7 09 0d e1 48 0f 08 e1 28 0f 09 e1 c8  L.d....H...(....
    000001f0: 0f 4f 4c 0f 28 95 21 54 7a 05 1c 00 95 00 48 fb  .OL.(.!Tz.....H.
    00000200: 1f 08 6e 01 18 10 4e 01 f5 1f 6c 05 22 e4 54 01  ..n...N...l.".T.
    00000210: 28 0f 10 97 a5 de a8 c4 01 22 fd 3d 48 27 55 00  (........".=H'U.
    00000220: c8 27 25 00 08 27 25 00 88 47 01 24 00 66 25 9c  .'%..'%..G.$.f%.
    00000230: 97 2a d5 02 54 95 16 36 27 d7 02 f4 87 ba 55 14  .*..T..6'.....U.
    00000240: 2e 2d d6 02 26 03 34 9c 01 64 0a 21 aa 57 05 21  .-..&.4..d.!.W.!
    00000250: 21 87 8a 28 30 32 29 ed 3b 7c 9d 0a 0a 27 5f 01  !..(02).;|...'_.
    00000260: e0 87 82 5d 08 02 2d 5f 01 fa 02 19 05 f3 54 22  ...]..-_......T"
    00000270: bc 42 7d 4e 0c 27 25 00 0e 47 01 13 10 4a d7 24  .B}N.'%..G...J.$
    00000280: 0a e1 00 54 23 04 40 0f 27 e1 1f 80 42 5c 01 08  ...T#.@.'...B\..
    00000290: 3f 4f 5a 30 02 e1 c0 0f 49 30 0c 23 64 a1 bc 11  ?OZ0....I0.#d...
    000002a0: 0d 40 0f 51 08 97 07 93 06 8a 07 89 06 41 32 40  .@.Q.........A2@
    000002b0: 6c 44 28 0a 0c 08 18 42 6d 10 95 c2 6e 00 48 ee  lD(....Bm...n.H.
    000002c0: 1f 5c 75 4c 20 0a 22 6c 15 93 82 c6 f6 85 62 6c  .\uL ."l......bl
    000002d0: 12 97 21 06 60 11 97 0c 54 08 a2 6c 10 97 21 6c  ..!.`...T..l..!l
    000002e0: 0c 93 61 6c 0a 5c 00 04 09 97 a1 6c 08 97 48 57  ..al.\.....l..HW
    000002f0: 05 20 e1 8b 01 7a 6f e6 27 20 05 fc 43 8f 1c e1  . ...zo.' ..C...
    00000300: f8 53 21 fe 7f b1 48 5c 1b 22 75 25 08 05 4e 89  .S!...H\."u%..N.
    00000310: 0e 28 34 6b 44 45 0c 69 40 34 b2 e0 05 20 00 9c  .(4kDE.i@4... ..
    00000320: 09 93 48 b0 c1 6c bf ae 14 54 c0 21 86 9c e4 25  ..H..l...T.!...%
    00000330: f5 01 c8 56 01 dd 25 a6 17 30 0a 22 c5 58 00 0b  ...V..%..0.".X..
    00000340: e1 56 10 93 26 b4 41 22 cf 3b f3 e3 86 05 06 30  .V..&.A".;.....0
    00000350: 24 d7 2a 3c 62 09 21 2e 6e c2 2d 28 96 46 20 55  $.*<b.!.n.-(.F U
    00000360: 0e 1f f4 b0 64 72 22 6e 73 00 30 7d 71 00 23 65  ....dr"ns.0}q.#e
    00000370: 29 e2 0d 2c 93 7e 00 23 00 24 f7 ab 10 62 30 4e  )..,.~.#.$...b0N
    00000380: 07 be 6a 74 18 03 f3 e2 2e 28 70 05 b5 18 06 54  ..jt.....(p....T
    00000390: 18 0f 64 55 01 60 f6 e3 aa 42 30 30 00 0c 31 18  ..dU.`...B00..1.
    000003a0: 7e 30 a7 64 a6 14 70 55 04 bc 22 3c 9e 06 4d 94  ~0.d..pU.."<..M.
    000003b0: 0e 30 07 30 f6 e3 99 86 04 20 18 65 62 47 4c 1e  .0.0..... .ebGL.
    000003c0: 01 07 e1 0c 88 e6 69 16 30 6c ca 07 78 55 f6 e3  ......i.0l..xU..
    000003d0: c0 41 f8 63 f8 4f ac 66 6e 02 80 55 bc 03 09 f6  .A.c.O.fn..U....
    000003e0: e3 b3 41 00 60 02 20 a0 63 06 6d 24 ec 74 6f 67  ..A.`. .c.m$.tog
    000003f0: a6 6f 24 4e a7 24 02 64 6e 21 ad 2a 84 21 5f 45  .o$N.$.dn!.*.!_E
    00000400: 85 10 30 e4 46 21 07 a1 e3 ea 01 ff 45 cc 57 5a  ..0.F!......E.WZ
    00000410: 5e 49 e2 01 f7 03 d0 88 e2 7d af 01 2a 3c 09 67  ^I.......}..*<.g
    00000420: 6b 00 e3 d0 21 de 89 14 00 2a cd 28 24 23 b4 98  k...!....*.($#..
    00000430: 5c 51 5e 04 f8 57 21 2e 9e 01 20 5d 02 81 5d 07  \Q^..W!... ]..].
    00000440: f8 27 fe 00 20 58 7e 53 b2 01 bc 06 6c 03 28 ef  .'.. X~S....l.(.
    00000450: 01 1c 68 0a 5f 01 a4 01 49 4c 2d 64 a6 21 55 6e  ..h._...IL-d.!Un
    00000460: 20 5e 15 16 72 21 dc b1 21 65 4e 93 0d 8c 23 25   ^..r!..!eN...#%
    00000470: d4 69 05 38 16 5a 3e 62 3e 6a 3e e4 6d 0b 00 00  .i.8.Z>b>j>.m...
    00000480: fd 05 28 32 67 01 86 6f 45 0c a0 1c 22 7d 8b 9d  ..(2g..oE..."}..
    00000490: 25 fe a9 30 6e 22 86 38 96 14 26 3f 8b 34 58 5a  %..0n".8..&?.4XZ
    000004a0: 21 46 8a 70 03 0e 04 73 14 0c 03 00 03 7e 30 58  !F.p...s.....~0X
    000004b0: 64 67 64 0f 30 52 60 f0 b0 f7 e3 0b 87 28 32 f0  dgd.0R`......(2.
    000004c0: a0 08 5c 01 09 f0 b0 52 60 f7 e3 03 87 21 e1 80  ..\....R`....!..
    000004d0: 25 5c 1a 0f 18 08 09 0e 14 22 e1 60 09 10 08 18  %\.......".`....
    000004e0: 18 21 e1 c0 12 08 5c 00 0e 22 e1 b0 04 10 08 1f  .!....\.."......
    000004f0: 14 11 20 81 e1 00 96 08 08 15 45 02 e1 0d 27 4f  .. .......E...'O
    00000500: 0d 04 12 4e 04 00 4b 21 44 44 00 06 14 09 20 5f  ...N..K!DD.... _
    00000510: 60 10 20 4f 60 0e 20 67 60 0c 20 6f 60 0a 20 77  `. O`. g`. o`. w
    00000520: 60 08 20 7f 0c 38 02 27 e1 02 10 03 54 00 00 01  `. ..8.'....T...
    00000530: 01 10 f2 ac 22 e1 65 00 4a 30 50 99 09 64 10 08  ....".e.J0P..d..
    00000540: 07 18 52 74 00 0e 30 48 4a 38 07 02 20 47 4a f1  ..Rt..0HJ8.. GJ.
    00000550: b0 01 30 4e 30 61 64 7f 11 bb 86 31 43 cb 08 18  ..0N0ad....1C...
    00000560: 3a 5f da 07 18 29 4d 01 06 21 1e 3b 27 4a 0c c0  :_...)M..!.;'J..
    00000570: 05 2f 4a 03 20 80 61 c7 57 22 3d 45 00 0d 80 34  ./J. .a.W"=E...4
    00000580: 27 ec 03 25 3e b2 30 6e 22 ff 66 13 18 50 22 de  '..%>.0n".f..P".
    00000590: 42 4a 50 21 44 40 05 42 30 f3 e3 b3 69 6a 91 ac  BJP!D@.B0...ij..
    000005a0: 5c 0a 40 58 52 e5 15 00 4a 30 fb e3 3b b0 86 23  \.@XR...J0..;..#
    000005b0: 4d 51 bd 23 dc 7d 7c 08 45 8e 32 bc 28 57 71 0c  MQ.#.}|.E.2.(Wq.
    000005c0: 12 10 32 ec 47 26 cd 31 64 5d d9 3c 4d 43 e4 21  ..2.G&.1d].<MC.!
    000005d0: 8e 3e ae 10 a7 5c 78 58 c2 56 3a b9 00 f7 3c 94  .>...\xX.V:...<.
    000005e0: 58 32 5c 01 01 b1 00 68 a0 75 3f eb 21 6f 2c ff  X2\....h.u?.!o,.
    000005f0: 61 38 5e 90 0e 1c e7 04 9c 58 4a 45 03 a0 47 03  a8^......XJE..G.
    00000600: 38 54 41 44 01 05 d9 00 f9 60 a8 a0 71 4f 22 35  8TAD.....`..qO"5
    00000610: 6d 10 27 96 00 a8 58 22 95 4f 8d 54 04 02 f9 60  m.'...X".O.T...`
    00000620: 70 4d 08 85 05 c4 27 95 01 b8 95 0c 7e 57 0c 18  pM....'.....~W..
    00000630: 48 03 06 84 a1 03 47 e5 a8 a1 01 4d 5b b2 27 8f  H.....G....M[.'.
    00000640: 00 c0 58 3a 4e 04 6c 00 25 74 a8 21 46 24 f9 60  ..X:N.l.%t.!F$.`
    00000650: 6c 0c 01 1b 14 24 20 ef 04 c8 58 2a 4d 04 5a 5c  l....$ ...X*M.Z\
    00000660: 5c 6d 07 94 27 ed 00 d0 9d 02 4e dd 02 88 0e e9  \m..'.....N.....
    00000670: 20 4d 57 08 62 32 ff 21 d6 24 00 61 21 a4 63 5e   MW.b2.!.$.a!.c^
    00000680: 08 de 17 f7 05 d8 58 a2 56 04 37 00 32 ee 04 0f  ......X.V.7.2...
    00000690: 14 f7 04 10 59 92 4e 0a 24 00 26 0c 9d 01 f3 e3  ....Y.N.$.&.....
    000006a0: e0 1a ef 03 24 59 4a 47 08 16 00 25 4a fe fe 2f  ....$YJG...%J../
    000006b0: a6 04 50 59 0e 6b 63 af 22 f5 95 1c 4e 00 98 32  ..PY.kc."...N..2
    000006c0: b5 02 60 56 02 9c ae be 64 b4 f0 04 1a 19 38 93  ..`V....d.....8.
    000006d0: 0e 32 28 e1 fe 0f 41 0a 13 14 01 32 10 32 01 60  .2(...A....2.2.`
    000006e0: 09 64 22 9c a0 01 11 0a fc 1f f4 04 09 51 93 00  .d"..........Q..
    000006f0: 60 08 9b 88 e6 01 00 04 20 22 a4 42 2a 4e a5 7c  `....... ".B*N.|
    00000700: f0 75 46 21 44 23 6c 02 09 40 e1 ad de 00 e1 ef  .uF!D#l..@......
    00000710: be 2a e1 f0 04 22 ee 82 00 05 22 d4 3d 45 03 60  .*..."....".=E.`
    00000720: a4 02 24 8d a9 30 23 27 a5 78 00 46 47 9f 20 30  ..$..0#'.x.FG. 0
    00000730: 39 5f 69 17 4e 46 21 0c 65 00 03 3a 60 80 64 2f  9_i.NF!.e..:`.d/
    00000740: 32 f7 e3 16 93 40 60 38 52 10 4f 16 30 4e 32 43  2....@`8R.O.0N2C
    00000750: 44 8d 00 0c 82 40 1d 6c 79 6c 19 60 03 e1 94 f8  D....@.lyl.`....
    00000760: 09 20 82 c6 22 81 03 50 10 32 22 4f 09 64 50 99  . .."..P.2"O.dP.
    00000770: 08 9a 5f 76 0a f6 1f 22 35 60 08 4f 15 42 91 2c  .._v..."5`.O.B.,
    00000780: 54 19 07 6a 5a 61 0a 14 14 46 32 60 6c fc 19 75  T..jZa...F2`l..u
    00000790: 04 fb 37 46 03 00 93 22 0e ac b4 05 fe 1a 67 01  ..7F..."......g.
    000007a0: e4 1b 21 4f 96 48 0f 14 7e 61 2b 68 34 74 03 b7  ..!O.H..~a+h4t..
    000007b0: ef 00 00 f5 5c b9 06 08 60 66 6f 90 4f f0 b0 07  ....\...`fo.O...
    000007c0: 23 ed 3f 81 21 bd 22 37 21 4e a3 24 66 21 9d ae  #.?.!."7!N.$f!..
    000007d0: f9 b6 6e 20 70 04 0c 24 26 70 d9 f5 0c 30 24 f4  ..n p..$&p...0$.
    000007e0: c4 05 e4 62 c8 b0 42 0c 19 10 a6 34 38 66 06 68  ...b..B....48f.h
    000007f0: 87 ae a7 73 20 70 28 25 15 73 c2 27 b6 00 04 63  ...s p(%.s.'...c
    00000800: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
    00000810: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
    00000820: ff ff ff ff ff ff ff ff 71 77 04 00 00 00 82 11  ........qw......
    00000830: 0c 6e 88 3c d0 80 06 df fb 1e 65 29 0b 01 0a 10  .n.<......e)....