os/kernelhwsrv/kerneltest/e32test/buffer/t_memcpy.cpp
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     2
// All rights reserved.
sl@0
     3
// This component and the accompanying materials are made available
sl@0
     4
// under the terms of the License "Eclipse Public License v1.0"
sl@0
     5
// which accompanies this distribution, and is available
sl@0
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     7
//
sl@0
     8
// Initial Contributors:
sl@0
     9
// Nokia Corporation - initial contribution.
sl@0
    10
//
sl@0
    11
// Contributors:
sl@0
    12
//
sl@0
    13
// Description:
sl@0
    14
// e32test\buffer\t_memcpy.cpp
sl@0
    15
// 
sl@0
    16
//
sl@0
    17
sl@0
    18
#include <e32test.h>
sl@0
    19
#include <e32svr.h>
sl@0
    20
#include "u32std.h"
sl@0
    21
sl@0
    22
RTest test(_L("T_MEMCPY"));
sl@0
    23
sl@0
    24
static const TUint32 RandomData[2048]=
sl@0
    25
	{
sl@0
    26
	0x15b138c1, 0x19548df5, 0xc4751abd, 0xb3915667,
sl@0
    27
	0xccaed7f9, 0x0b28fb4e, 0x0a209d05, 0x0cc01e4e,
sl@0
    28
	0x8784e75f, 0x0db78374, 0xfeec8e54, 0xb7930c53,
sl@0
    29
	0x6b0cb099, 0x7e8fcfa4, 0x43bda3e9, 0xfbe04e4a,
sl@0
    30
	0xf91488b4, 0x3401071a, 0x0a71232a, 0x170a30e5,
sl@0
    31
	0xa88b42fa, 0x606a077b, 0x9042bab9, 0xe38ac364,
sl@0
    32
	0x5df3246d, 0x1cbf43fd, 0x7a607658, 0xba55b089,
sl@0
    33
	0x06224826, 0xa7934e6a, 0x672f0147, 0xc383fc9b,
sl@0
    34
	0xde0843ad, 0x6b3ef765, 0x5ae92e1c, 0x3f9554f7,
sl@0
    35
	0x4a85ded3, 0xf8afd0e3, 0x0159d864, 0x1d2aade0,
sl@0
    36
	0xa44b5cb4, 0xe7eee024, 0x9df539cd, 0x1d664d30,
sl@0
    37
	0xea60283e, 0x77b3f364, 0x04efb9fc, 0xf9e81360,
sl@0
    38
	0xfdc2066c, 0x5e87c6de, 0x532e065d, 0xc9f2dfb1,
sl@0
    39
	0xc9027348, 0xc3b5b59f, 0x3a832967, 0xafd7ee4e,
sl@0
    40
	0xa90f1db7, 0xa55cf48e, 0x1de69b99, 0x674adbb8,
sl@0
    41
	0x1e1eec3d, 0xe1cca802, 0x3a6677a7, 0x7a494c77,
sl@0
    42
	0x29e3d4a5, 0xa9bbb0c9, 0x6fd14e99, 0xa3013d7c,
sl@0
    43
	0xc257529b, 0x1402180d, 0xab81d6be, 0xc8ab07d5,
sl@0
    44
	0xd428dea8, 0x67fee92b, 0xdd6dc943, 0x3222d783,
sl@0
    45
	0xb4695087, 0x4f3cdcb0, 0x6a5568fd, 0x63a56244,
sl@0
    46
	0xe7f6ff5d, 0x1c0eae6e, 0x64e1b179, 0x29674a2a,
sl@0
    47
	0xe0110b14, 0x60b9c381, 0xac64fb06, 0x9982141b,
sl@0
    48
	0x6d80bcd5, 0xbd0d05ba, 0x0edd2230, 0xd54d9c4c,
sl@0
    49
	0xb3620510, 0x79e00516, 0x3ca16141, 0x0844a024,
sl@0
    50
	0xce201cf0, 0x66df0815, 0xc3eed834, 0x0c742cdd,
sl@0
    51
	0x44f7c221, 0xde59fcf5, 0x70e3a974, 0x82e69c94,
sl@0
    52
	0x28ba0cc1, 0xb4911d29, 0xcb9a122d, 0x44efdd58,
sl@0
    53
	0x5fa26b56, 0x0964553d, 0x41e1fe80, 0xbf18f4b1,
sl@0
    54
	0xd0c76754, 0x9e16fa4b, 0x20afcf2f, 0x6ca5115d,
sl@0
    55
	0xe74756da, 0x86ce0301, 0xa3571bb5, 0xa010d7db,
sl@0
    56
	0xdd75d63a, 0xb3d94020, 0xcdeeacce, 0x8c3bbea4,
sl@0
    57
	0xfdf7908d, 0x07f31839, 0xb27a173b, 0x784ebc19,
sl@0
    58
	0x57e6cb72, 0xc74449cd, 0x273ef695, 0x7cf62c85,
sl@0
    59
	0xdcb34b89, 0xdae1386a, 0xfef633da, 0x1c46b829,
sl@0
    60
	0x65a1ca4e, 0xae740fc0, 0x17c6069c, 0x6b8ac5f6,
sl@0
    61
	0x999a0b62, 0xec7b2b76, 0xc48af9f3, 0xcdda4024,
sl@0
    62
	0x42ef643c, 0xd7347f6d, 0x2c6ced70, 0x58e17336,
sl@0
    63
	0x3b43da2f, 0x20031f17, 0xa1f0f594, 0xdfa13730,
sl@0
    64
	0x7ca39c52, 0x0794ee50, 0x4d2f73fa, 0xd1a814e7,
sl@0
    65
	0xe99a74ea, 0x53839f4d, 0x10351ea5, 0xd9f0d2cd,
sl@0
    66
	0xe1d4b77b, 0xbb9de004, 0x03ceb03e, 0xeae4b6b1,
sl@0
    67
	0x3e1948b9, 0x0b8734e4, 0xf68dd51a, 0xa61740ec,
sl@0
    68
	0x27056206, 0x45a2d559, 0x0f84fa54, 0xc86731ac,
sl@0
    69
	0x172959a4, 0x9e0ee532, 0xa154588c, 0x1522ed14,
sl@0
    70
	0x244034ce, 0x116cfb71, 0xc70161c8, 0xf59c3fbd,
sl@0
    71
	0xb935c44d, 0x80de3a2b, 0x23cdaf29, 0x4b144325,
sl@0
    72
	0xe1b87f89, 0x7724a8b6, 0xf1193b4a, 0xeb383316,
sl@0
    73
	0xf6ad76e1, 0xac38a1b3, 0x5c076519, 0xd8522f09,
sl@0
    74
	0xced98b69, 0x7fda5249, 0x1ac9b888, 0x16ec5d2a,
sl@0
    75
	0xcea4827f, 0x2f75b3c8, 0xcc86552c, 0x0311eaa7,
sl@0
    76
	0x1f2284a1, 0xa7db582d, 0x666f7a70, 0x4490b971,
sl@0
    77
	0x29df4e25, 0x600df112, 0x6f17de78, 0x4a6c6b9a,
sl@0
    78
	0xe38f9bf5, 0x8878957d, 0x4d6b9e68, 0x1f534ec1,
sl@0
    79
	0x3b45b4d4, 0xc6ef9604, 0x9a1782a3, 0x3521f203,
sl@0
    80
	0x85b0c15a, 0xcecdcc41, 0xbba2fd9a, 0xf208d1ed,
sl@0
    81
	0xf41ab7b7, 0x51762ecc, 0xca57dbc3, 0x1897dc68,
sl@0
    82
	0xf18d612c, 0xaed47a7b, 0x10cd8c31, 0x50a5d312,
sl@0
    83
	0xf563c6df, 0x46dc1702, 0x621e2da0, 0xd3d51bed,
sl@0
    84
	0x38545e73, 0xd9cd12a5, 0x3dccda8e, 0x534e8873,
sl@0
    85
	0xc120782b, 0xe7128264, 0xdbaf0c88, 0x9d1f0f95,
sl@0
    86
	0xbe76dc2d, 0xb2f9b539, 0x422f4ebe, 0x55fc4200,
sl@0
    87
	0xeede2fed, 0x9591ceaf, 0xd6221a35, 0xcab251b1,
sl@0
    88
	0xc04234dc, 0xc36cd658, 0xacd3e1e1, 0x6877e677,
sl@0
    89
	0xca5c8f9e, 0x2dd7a512, 0x6cbaf442, 0x991953b0,
sl@0
    90
	0xd9b7a443, 0x169fe348, 0x757b76f3, 0x8dd283a4,
sl@0
    91
	0xeed30f3f, 0x479a73e6, 0x04f359bc, 0x37e26fa0,
sl@0
    92
	0x3d0b3400, 0xadc590dc, 0x0fef0890, 0xf77e8b3f,
sl@0
    93
	0x930cbcaf, 0x024cae73, 0x4bc16385, 0xb3d8eaff,
sl@0
    94
	0x5743800b, 0x93a1793f, 0xde43417b, 0xdb361d0e,
sl@0
    95
	0x8c4be643, 0xf841cca5, 0xe0eab85c, 0x5bf09991,
sl@0
    96
	0x24615e8e, 0x87d8473a, 0xc79f8fe4, 0x9b318e41,
sl@0
    97
	0x557cd277, 0x67991f42, 0x2238ad82, 0x9bc47f7d,
sl@0
    98
	0x0a15ef1f, 0xdbfb0a30, 0x5d5e80cd, 0xc6a39c0c,
sl@0
    99
	0xda9103af, 0x7d727600, 0x99d9329d, 0xdfc544b2,
sl@0
   100
	0xbba989e3, 0xc54af8a5, 0x4d2f2880, 0x541f9101,
sl@0
   101
	0xd31fd5b1, 0x14d4fb95, 0xc5d32197, 0xd0f0edc4,
sl@0
   102
	0xe6a43888, 0x30da9f49, 0xb199d4bd, 0x45873e06,
sl@0
   103
	0xd123f211, 0x57b0ec73, 0xa51f4c68, 0x26492450,
sl@0
   104
	0x81619a3e, 0x5913288e, 0x1e0175a7, 0x185acb56,
sl@0
   105
	0x209807a2, 0x90362ad2, 0x2ab637c2, 0x76273c83,
sl@0
   106
	0x48dbaacc, 0x1ec1148a, 0x1e282ba7, 0x8dae6d09,
sl@0
   107
	0x2007a484, 0xea4b9ce6, 0xcceba2bd, 0xdc5e0c9b,
sl@0
   108
	0x0ee6b6a3, 0xec196590, 0x6055b4cd, 0x6b660cd0,
sl@0
   109
	0xd57e0b3f, 0x8a0cfd3f, 0x0ad58e32, 0xdd89eac1,
sl@0
   110
	0xf068ea66, 0x7692125a, 0x1a6ca88b, 0xc7bee83e,
sl@0
   111
	0x0d5c94ca, 0xcfe2e69b, 0x4998c7d4, 0x28b12161,
sl@0
   112
	0x064e80d4, 0x6b2a06d8, 0x95f88a33, 0xc25f793c,
sl@0
   113
	0x16bc7df5, 0xcc816232, 0xf0639e1f, 0x41d03b12,
sl@0
   114
	0xa35937bc, 0xc2d757f3, 0x14149ab8, 0xc3a1c166,
sl@0
   115
	0x7dc6876f, 0x5695b6de, 0xf027346d, 0x0b554a83,
sl@0
   116
	0xd1029851, 0xc1045038, 0xa581a244, 0x48e495ac,
sl@0
   117
	0x6d288c04, 0xbe540de7, 0x1ff4770c, 0xc88af70e,
sl@0
   118
	0xcb359734, 0x3ce98854, 0x86f18c45, 0x5bbc9399,
sl@0
   119
	0x64e7df82, 0xcf8bc339, 0xdbf67c23, 0x8a3906b2,
sl@0
   120
	0x5577a60e, 0x50db360a, 0x9b0d32b5, 0x9eadc0b0,
sl@0
   121
	0x135de16d, 0xd7b82dcd, 0x6900c076, 0xb8870bb3,
sl@0
   122
	0x2cf8b716, 0x1d0d3a5b, 0xdd2320ff, 0xdc9e6db6,
sl@0
   123
	0x08945652, 0x412f0f3b, 0xd0643a9b, 0xab9ba7f4,
sl@0
   124
	0x6fb29501, 0x1e895b68, 0x1af22c1b, 0x2fb8a4f6,
sl@0
   125
	0x1d9333a2, 0x3df3ba0e, 0x25593f52, 0x8159b7bc,
sl@0
   126
	0xdbd71663, 0x1c8dbaf9, 0x55e94822, 0x3e7687f6,
sl@0
   127
	0x7744248f, 0x79eae5d9, 0x12a8e3c6, 0x07681195,
sl@0
   128
	0x82ad50e0, 0x1458a935, 0x80bf0c91, 0x30969541,
sl@0
   129
	0xf11f55b1, 0x0dd4ba05, 0xcd4a01d6, 0x46b86480,
sl@0
   130
	0xa5143811, 0x110b0d18, 0x38540509, 0x5c7a9743,
sl@0
   131
	0x07497bd5, 0x1419ecab, 0x14c64719, 0xee12bd6d,
sl@0
   132
	0xdcdf837b, 0x165870d8, 0x0c21b8ae, 0x1d9a3d8e,
sl@0
   133
	0xad15f416, 0x09cb9a97, 0xbd4cb69f, 0x15cfaa13,
sl@0
   134
	0x7046e20d, 0xd603ac66, 0xd1c7bb2f, 0x13512ca2,
sl@0
   135
	0x9b62bfe7, 0x664f2997, 0x41bee0d0, 0x4ed27485,
sl@0
   136
	0x00216a40, 0x96b4bc4b, 0x009eee2c, 0x6eadb1fc,
sl@0
   137
	0xec49163a, 0xe7472569, 0x01f502ab, 0xd0d03c58,
sl@0
   138
	0xebad9096, 0xacdfa286, 0xac47bb87, 0x2d9baf1a,
sl@0
   139
	0x2c3c754e, 0xd14ad7b3, 0xc5de5784, 0x07976bbb,
sl@0
   140
	0x7570028a, 0xba90aaec, 0x57e69008, 0x42f3cc2b,
sl@0
   141
	0x1dbb57ce, 0x3ba1485d, 0x095574bb, 0xd3e10763,
sl@0
   142
	0xf986bc29, 0x9701c764, 0xd7f6aecd, 0x01178777,
sl@0
   143
	0xf8fcbc34, 0x37bd1d61, 0xca089210, 0x6c254fca,
sl@0
   144
	0x62ee01cb, 0xd16bbdf3, 0x536aebcf, 0x07098597,
sl@0
   145
	0x1bddb376, 0x56d9bcd6, 0xb0a1b561, 0x4306ce80,
sl@0
   146
	0xcd6b6b96, 0xd00cd8cb, 0xa58ad63d, 0x7fa6bce4,
sl@0
   147
	0xd41d1333, 0xbb3db22a, 0x06bc797e, 0xc4c9d0f3,
sl@0
   148
	0xff6bd78f, 0x42cd1feb, 0x709838fc, 0x3bc3dfc2,
sl@0
   149
	0x201dcde0, 0xccd0ea3d, 0x68cba392, 0x0e5cf12c,
sl@0
   150
	0xc83cb415, 0xaf5f00ff, 0x27a07205, 0x94f0604d,
sl@0
   151
	0xcc7cece1, 0x28f064ff, 0x9237cb5c, 0xb5ae2ef4,
sl@0
   152
	0xb8385cf9, 0xd9d3b3e1, 0xd7d7c48d, 0x97a33b3c,
sl@0
   153
	0xf8625218, 0x5910ac9d, 0x2641842a, 0x8b626aa3,
sl@0
   154
	0x631b0360, 0x01bb81ab, 0xb8c77b59, 0xabd62711,
sl@0
   155
	0xb79a08f1, 0x7b4213cc, 0x9c9dc02f, 0x924c1933,
sl@0
   156
	0x08b53c12, 0xd79bb370, 0xd0fad4b7, 0xc5361608,
sl@0
   157
	0x83fb833b, 0xf9ce7e01, 0x1b072eb0, 0xff6898ae,
sl@0
   158
	0xf63ea334, 0x912c1888, 0x891e84d5, 0xacc218a6,
sl@0
   159
	0xf7eb632d, 0xcdc76d4a, 0x90371fa6, 0x39e1ec4d,
sl@0
   160
	0x02342605, 0xc37a4f35, 0x454e73ce, 0x459bddbe,
sl@0
   161
	0x9f16072e, 0x2ff9e168, 0x89ea782a, 0xe3779222,
sl@0
   162
	0x0899e998, 0x9ad57d61, 0x1abcaf1b, 0x47afe3f7,
sl@0
   163
	0x5de88425, 0x26b61079, 0xf25c9719, 0x305fd889,
sl@0
   164
	0x65a77a1e, 0xc5725158, 0x47acacd6, 0xe91b38fa,
sl@0
   165
	0xc702300d, 0x4081cc0e, 0xbc800dcf, 0x5e9cf30e,
sl@0
   166
	0x607e9f80, 0xd9c7425c, 0x18c660a2, 0x6a6916f7,
sl@0
   167
	0xa45bf13e, 0x6d3e1e4c, 0xd77bc251, 0xd798fc51,
sl@0
   168
	0x64096868, 0x2482367c, 0x3126d82c, 0x7511ab47,
sl@0
   169
	0x203ca7a0, 0x5a645676, 0x68554dbe, 0x60f140d0,
sl@0
   170
	0x2475a22f, 0x48182596, 0x265570ae, 0x44205c15,
sl@0
   171
	0x27d17c77, 0x842fc679, 0x3e7070db, 0x983581ee,
sl@0
   172
	0x940429b7, 0x08996452, 0x12099309, 0x90345087,
sl@0
   173
	0x8d125092, 0xe3800671, 0x71a71422, 0xc991a688,
sl@0
   174
	0x7ea054ae, 0x3a1ac9f6, 0xb1920fe2, 0x78372072,
sl@0
   175
	0x4e1cb4d8, 0xec43d4a8, 0x4b6b6ee2, 0x935b9e44,
sl@0
   176
	0xf0498026, 0xe026ae11, 0x1af246a7, 0xa91359c2,
sl@0
   177
	0xe11582f0, 0x28a5c3f2, 0x486dc57f, 0xf8611d39,
sl@0
   178
	0xede31042, 0xc7f5a45e, 0x39bf31b4, 0xefc4d626,
sl@0
   179
	0x3a8008bb, 0x1dcbb581, 0x35bdc99b, 0x464750a9,
sl@0
   180
	0xd6293536, 0x7847fd1f, 0x43f20ab0, 0x81520d4d,
sl@0
   181
	0x607dd0a1, 0x6d34fe83, 0xf97240d6, 0xd8b44de0,
sl@0
   182
	0x28842478, 0x5605975c, 0x72770c89, 0x49f312db,
sl@0
   183
	0x95d43030, 0x89e91086, 0xd5fce51c, 0xa4afb8c4,
sl@0
   184
	0xa9db96ff, 0xed8235a7, 0xd59b678a, 0x5cb5160e,
sl@0
   185
	0x7f3a6cf4, 0x99527fef, 0x6b57c942, 0xc93fc832,
sl@0
   186
	0x981ccd98, 0x80d7eec1, 0x3e87e488, 0xe10b7c54,
sl@0
   187
	0xc740f25e, 0x6c859fe7, 0x6fbcb908, 0x7c4edb40,
sl@0
   188
	0xd3936099, 0x5fc025b0, 0xadbb1803, 0xe75db274,
sl@0
   189
	0x28899bb2, 0x8dffe506, 0xb8af9909, 0xa5c756d8,
sl@0
   190
	0xa78e2114, 0xb1d65b97, 0x3d525e1e, 0xbb48c4bb,
sl@0
   191
	0xd1efdf43, 0x1503def1, 0xb76ef40e, 0x34f79948,
sl@0
   192
	0x63ef4a9a, 0xc55e0918, 0x823e8caf, 0xa9d5bcca,
sl@0
   193
	0x8f267697, 0x20fa4944, 0x34e967ec, 0x8c0a7b36,
sl@0
   194
	0xe1b65380, 0x15e3289e, 0x387877c8, 0x9b40b250,
sl@0
   195
	0x46855d40, 0x7696a9c9, 0x51d7c1f9, 0xd4f47db3,
sl@0
   196
	0xada10403, 0xc690be68, 0xe8aed1be, 0x994c814b,
sl@0
   197
	0x84b2f8ee, 0xedd792aa, 0x0fc169a9, 0x117a25c3,
sl@0
   198
	0x2ae1204f, 0x87746850, 0x853f3c7b, 0xb1582528,
sl@0
   199
	0x5afe973b, 0xc40cf7dd, 0x2d7ba939, 0x2c2e465e,
sl@0
   200
	0x7272c408, 0x1579e353, 0x9489c8e1, 0x56caf11c,
sl@0
   201
	0x0474b8c9, 0x49b6c8ff, 0xc85498fa, 0xada5e6a7,
sl@0
   202
	0x08b883d8, 0x0c61c12a, 0x1a224137, 0x2902520b,
sl@0
   203
	0xb1a1921f, 0xc1f13510, 0xf3a995b2, 0xe08fe4d1,
sl@0
   204
	0x8e0aea88, 0x69adf3de, 0xebeb1751, 0xc48097e0,
sl@0
   205
	0xeb3e4543, 0x91cb1bbd, 0x795e5a4b, 0x590b98b5,
sl@0
   206
	0x150e9d0a, 0x6357e8b0, 0x4f20f0aa, 0x289adadc,
sl@0
   207
	0xb9e0a6f0, 0x569f5611, 0xde2eb6ea, 0x0479fb32,
sl@0
   208
	0x9d8fd441, 0xb383f118, 0xe6d076e1, 0x74062c30,
sl@0
   209
	0xd8c01b94, 0x6dd94b17, 0xa25ddfae, 0x0cd40f1a,
sl@0
   210
	0x469ba3e4, 0x99739865, 0x753f9b61, 0x4329d982,
sl@0
   211
	0x3c0ccf01, 0xd2f67aaf, 0x8ed1c5ba, 0xdb334f6e,
sl@0
   212
	0x596f4221, 0xd895bc99, 0xb7834534, 0xef92ec63,
sl@0
   213
	0x590f43a1, 0x58bdb45b, 0x771b6d5c, 0x0d58767b,
sl@0
   214
	0x81cb8321, 0x78d7d61d, 0xc10a371e, 0x43f4ffb0,
sl@0
   215
	0x6e017938, 0x20933e95, 0x23a0cd70, 0x9d076f68,
sl@0
   216
	0x38753433, 0x4f79aeee, 0x3d5234a2, 0x3de3398f,
sl@0
   217
	0x2d696e11, 0x0055a70d, 0xda5a0e23, 0x4dcf33cd,
sl@0
   218
	0x55db4cbb, 0x1e2617bf, 0xee68f539, 0x7867ed1a,
sl@0
   219
	0xc2e25aa3, 0x44db191c, 0x13fc4db1, 0xcd253a0a,
sl@0
   220
	0xb5323656, 0x79fc7cb4, 0xfb3571e9, 0x2a842a5c,
sl@0
   221
	0xd7e7d850, 0x1676ed4f, 0x65ef80f9, 0x4af854d3,
sl@0
   222
	0x2031186a, 0x819e242c, 0xa28dd83e, 0x8cc504d3,
sl@0
   223
	0x162fb30b, 0x70276e87, 0xcefbcbac, 0x5bc7206a,
sl@0
   224
	0x5fe535cb, 0x7cae2d2f, 0x5c85e35f, 0xf0770ea8,
sl@0
   225
	0x88d10fd9, 0x549512a5, 0xfb60d6e4, 0xf0de247f,
sl@0
   226
	0x9a28eb9d, 0x43ada1f4, 0x7bc99746, 0xa490a1ea,
sl@0
   227
	0x5856f570, 0x437c7e8f, 0xe656c122, 0x9f394962,
sl@0
   228
	0xdb0a8901, 0xc51558d1, 0xb707b718, 0xa0f25183,
sl@0
   229
	0x75611f97, 0xab49f57f, 0x4af30e10, 0x95988e51,
sl@0
   230
	0xc2295b0a, 0x74a40acf, 0x7afef2c8, 0x5253fc41,
sl@0
   231
	0x16edef4e, 0x558212ff, 0x0beef9c1, 0x6a6b6a46,
sl@0
   232
	0x0391d51a, 0x1c994b44, 0x9af8ec0d, 0xc3bcaa3d,
sl@0
   233
	0x2b7d87a9, 0x4dc45708, 0xe392a5bd, 0x5b928767,
sl@0
   234
	0x85bf3be8, 0x31611ee2, 0x095eafe4, 0xee511917,
sl@0
   235
	0x66b9fae0, 0x2cf2ffbf, 0x39828c47, 0xb4053d63,
sl@0
   236
	0x89d4a62c, 0x8e889bfe, 0xcefba110, 0xdd6cdd5e,
sl@0
   237
	0xa3638499, 0x69f854d3, 0x31b11972, 0x894fa42d,
sl@0
   238
	0xbee509f8, 0x8fed0c02, 0x9736af72, 0x216c75af,
sl@0
   239
	0xd7ecc7a9, 0x278cf1ac, 0x5cdcbd1b, 0xe5bfe0d6,
sl@0
   240
	0x0cd290a6, 0x2f632aa5, 0x251bc703, 0x2efdd16e,
sl@0
   241
	0x4a680c11, 0xa5f51c57, 0x833ff618, 0x3efe78e3,
sl@0
   242
	0xf8f103fe, 0xec476f3b, 0x00d00790, 0x80110bc9,
sl@0
   243
	0x50b410ef, 0xe954f6e2, 0xbbc450cd, 0x18eef9e8,
sl@0
   244
	0x63e9faca, 0xae585780, 0xd25426e5, 0x2b4441c6,
sl@0
   245
	0xd1be4df8, 0x8c00ae3c, 0x4ce393d0, 0x1f4cc81c,
sl@0
   246
	0xc327a83c, 0x1b1015af, 0x0cd2fa1a, 0xa9c8d791,
sl@0
   247
	0xd99d7651, 0x3baba892, 0x275cf63c, 0xdccdb6d2,
sl@0
   248
	0xb50bf039, 0xe5866644, 0x94a77a68, 0x3df53eeb,
sl@0
   249
	0x4d142ba4, 0xe4305b91, 0x77a13ab2, 0xa87bb7de,
sl@0
   250
	0xef40351b, 0x74f1adc2, 0xa0a4fceb, 0x1f9ccf8c,
sl@0
   251
	0x4336a3f5, 0x4ba40540, 0xe5860cf8, 0x120c875c,
sl@0
   252
	0xc1738fb9, 0x58425258, 0x8904a1bc, 0x0e999037,
sl@0
   253
	0x9e4fb1ff, 0x34382bbc, 0x18a7d454, 0x7116ad3b,
sl@0
   254
	0x5258e3b8, 0x2717f3ad, 0x6cb12f1d, 0xa4a94dc4,
sl@0
   255
	0x4688e28a, 0xad6cdb93, 0x9b0f5479, 0x38c039b0,
sl@0
   256
	0x9ffb1527, 0xfeaff579, 0x00006abc, 0x86abfd34,
sl@0
   257
	0xfc86b152, 0x155679fc, 0x6d34fa2d, 0x7938aa85,
sl@0
   258
	0x36340621, 0xdb781ea7, 0x6c567996, 0xd1b251d0,
sl@0
   259
	0x4dc42c34, 0x64215058, 0x27152a5d, 0x412f413c,
sl@0
   260
	0x548465d6, 0x6c1f542a, 0xc34d0621, 0xb1c4980c,
sl@0
   261
	0x91628510, 0x60e04486, 0x34384100, 0x9e0c2960,
sl@0
   262
	0x8d901c69, 0x470e9a44, 0x4a230980, 0x15898598,
sl@0
   263
	0x929d4be5, 0x9df0fc2d, 0xc13aa205, 0x4abd05a9,
sl@0
   264
	0x75041584, 0xfbda457f, 0xd9badf24, 0x412f2b80,
sl@0
   265
	0xd22f98e2, 0x9099e578, 0xd61b7fdd, 0xdcf06221,
sl@0
   266
	0xe85a2f95, 0x56d442a7, 0xef405fa7, 0xf25a50f6,
sl@0
   267
	0x5c224db9, 0x0acab670, 0x2e0259d8, 0x329cafc5,
sl@0
   268
	0xd3b20ad9, 0xc97499fb, 0xad25f62f, 0x89f00388,
sl@0
   269
	0xc4c08d88, 0x6ab8c06f, 0xb95a9ba2, 0x75176a80,
sl@0
   270
	0x4c23b182, 0x1d09f911, 0x9115e599, 0x96d36ba1,
sl@0
   271
	0xfdd3aa0d, 0xc4490942, 0x72b0a38a, 0x3360f2f3,
sl@0
   272
	0x169f4810, 0x7fcea3f4, 0xd5d81ca7, 0xeb2670e1,
sl@0
   273
	0x929d2159, 0x1b5b0119, 0x3dbc1357, 0x5feb7c55,
sl@0
   274
	0x1830efa9, 0x82e2effa, 0xef8ed905, 0x9a573527,
sl@0
   275
	0xbe79e174, 0x412bb4a8, 0x9bdf53e9, 0xb8d13279,
sl@0
   276
	0xcf4f05c8, 0x17fb039b, 0xbbc43a71, 0x9e4504dc,
sl@0
   277
	0x9f6f4b98, 0xbb0e2e7c, 0xbf60dcc8, 0x527ceb43,
sl@0
   278
	0xe78a4bd9, 0x5778b09b, 0x20b5ea46, 0xcefe99cc,
sl@0
   279
	0x8ee38408, 0x7f3145f7, 0x2bc7d047, 0xe8e796ad,
sl@0
   280
	0x8d191387, 0x57b4fcb8, 0xe411f01d, 0x6d092ede,
sl@0
   281
	0x24697529, 0x856622c2, 0xa09f3b68, 0xa3f9178b,
sl@0
   282
	0xc08437cd, 0xa33ec1d5, 0x3d823332, 0xbdf23246,
sl@0
   283
	0x7ddd7efe, 0xe90151ef, 0x619e5eee, 0x5521ca25,
sl@0
   284
	0x3632b671, 0xb07e403f, 0x3c3cd3dc, 0x5323acdc,
sl@0
   285
	0x135c175b, 0xc8dbb720, 0x5f1fde61, 0xd269f216,
sl@0
   286
	0x76159e6a, 0x62ec691b, 0xf7e78bf3, 0x834cfdcd,
sl@0
   287
	0x0e7aae01, 0x2ddd45dd, 0x42b376c5, 0x9635e201,
sl@0
   288
	0x953ae853, 0x64184268, 0x362aa256, 0xb1303a38,
sl@0
   289
	0x5b3b98af, 0x94173516, 0xb95af11e, 0xf3bc97b4,
sl@0
   290
	0xb0a500d0, 0x085f80ed, 0xfc211fb4, 0xefebc124,
sl@0
   291
	0xcbe7ac2c, 0x1f3117e5, 0x1ee6da1c, 0xe2d2a323,
sl@0
   292
	0x5b5b6424, 0x1beff3ac, 0xf2cd36fa, 0xaa0931dd,
sl@0
   293
	0xc619448f, 0x77445533, 0xfef11576, 0xee2fe459,
sl@0
   294
	0x89526ab9, 0xe202ab7c, 0xdbb69805, 0x045b1c47,
sl@0
   295
	0x33e9fd1d, 0x06252eec, 0xd1fc5a69, 0xad58b7e1,
sl@0
   296
	0x5dd24e2d, 0x8a0bffb6, 0x7afe9874, 0xd4f80175,
sl@0
   297
	0xea6b5e1c, 0x40d46b03, 0x66da03ec, 0x1353c0c3,
sl@0
   298
	0x35a5d33b, 0xc7e155e3, 0xf6ae959b, 0x120efbed,
sl@0
   299
	0x66b9ab9d, 0x29e50750, 0xc4878fe0, 0x1abdc65b,
sl@0
   300
	0xd13b5e3e, 0x5d7e4ac8, 0xca13a9c5, 0x5f95811b,
sl@0
   301
	0xf7db7ff0, 0x4c12bb39, 0x0dbacd47, 0x2a091403,
sl@0
   302
	0x0444ba45, 0xc98601ba, 0x84d8a890, 0xc8e558c6,
sl@0
   303
	0x31fecf7c, 0xf408a8fe, 0xf08bbb77, 0xc3f2a184,
sl@0
   304
	0xcbe11c7c, 0x7437497d, 0x4e8c7056, 0x60435e2f,
sl@0
   305
	0x05c35f4b, 0xb71514d4, 0x8ac7c2c6, 0x394f82f7,
sl@0
   306
	0xe488bf33, 0x79b76802, 0xca5b98a4, 0xdca78198,
sl@0
   307
	0x164a41a8, 0xaf3faa27, 0xad3dafc0, 0x0c62d726,
sl@0
   308
	0x2b430927, 0x2533f6c0, 0xadf5f1bf, 0x09e10841,
sl@0
   309
	0x94749d67, 0x83ec368d, 0x029ecb6f, 0x6df99368,
sl@0
   310
	0x2fca4b48, 0xb351ae91, 0x4341c37c, 0xbd972a67,
sl@0
   311
	0x2c6de7f5, 0x4849a77e, 0x3e53305a, 0x2c2c3aef,
sl@0
   312
	0xd5b8e02c, 0x64deb65b, 0xd90ae6bd, 0x42eea770,
sl@0
   313
	0x4b005708, 0x20f0a98b, 0x1ae0e56b, 0x8326ca87,
sl@0
   314
	0xad3b1f90, 0x676489be, 0x7b29a36d, 0xa7a20bcc,
sl@0
   315
	0xf36dcad0, 0xa51bef39, 0xec7e695b, 0x10aa85a7,
sl@0
   316
	0x200f30d3, 0x630aae59, 0x1b60c69a, 0x81d9cb50,
sl@0
   317
	0xdc59e86d, 0xf0aa2b3c, 0x5ae6d030, 0x40706c1f,
sl@0
   318
	0x26f9c460, 0x0f3ae2c3, 0xa9b14bfa, 0xc06709fb,
sl@0
   319
	0x10ac35f7, 0x4b096e4b, 0x33600413, 0x99f13b96,
sl@0
   320
	0xdf41f03f, 0x70a30f15, 0x88a0df00, 0xc9a0631a,
sl@0
   321
	0x62e197a3, 0x280af951, 0x3b906f11, 0x9b392e3b,
sl@0
   322
	0x5f7f22ea, 0x5d9134ac, 0x3d82598e, 0x3b59cf72,
sl@0
   323
	0x815bcfac, 0xfc572813, 0x0caaa4c3, 0x2c1960a0,
sl@0
   324
	0x0006b050, 0x6b065e98, 0x506aaa4a, 0x8291fd0c,
sl@0
   325
	0x5e983b6f, 0xacfae778, 0x780af43c, 0x9346b32a,
sl@0
   326
	0x2291fbbc, 0x0ef33d31, 0x34aa8dd2, 0x328865c1,
sl@0
   327
	0x9f182b11, 0x4d3d015b, 0x768b37c5, 0x0839cb61,
sl@0
   328
	0x18aaf43a, 0x2316d82c, 0x7c09abd6, 0xa4b9bfa0,
sl@0
   329
	0xc9a6d34a, 0x09e7c93b, 0x7860531b, 0xb901921d,
sl@0
   330
	0xc5a11554, 0xf385c592, 0x259bc090, 0xaec4eaa4,
sl@0
   331
	0x19c834ce, 0x8fa8f29d, 0xc8fda5c1, 0x3e22c102,
sl@0
   332
	0xb3014bb1, 0x4d3bb10b, 0x1d8d695d, 0x5853612b,
sl@0
   333
	0x9a3b0936, 0x7d8ee343, 0xd0f34cae, 0xdcb34b9c,
sl@0
   334
	0x5ae06060, 0x2b763287, 0x76936e2a, 0x8dab1fcf,
sl@0
   335
	0xf7297095, 0x6c9dee83, 0x68a6c1cb, 0xd84fdd61,
sl@0
   336
	0x11f1ffaf, 0x970206a7, 0xebeb7ded, 0x422b6ad4,
sl@0
   337
	0x17b8f411, 0x849d6241, 0x146aa066, 0x20333230,
sl@0
   338
	0x233a9b2b, 0xb82ff617, 0x2376893c, 0xf9288b0c,
sl@0
   339
	0xf4248ac4, 0x32be0649, 0xf93b9cb7, 0x4556ba0e,
sl@0
   340
	0xc90bb197, 0xdf9ca532, 0x259d70c0, 0xc5c2b43c,
sl@0
   341
	0x49a29e84, 0x0d390f91, 0x96659eae, 0x92d8267a,
sl@0
   342
	0xcb0bbf8d, 0xde7d0221, 0x3f1c92e1, 0x56a05c1a,
sl@0
   343
	0xae9184e4, 0x4f068682, 0x4feb67bf, 0x918e4ac7,
sl@0
   344
	0x2c6b57a5, 0x234ff9e6, 0x6e399a10, 0xaebdc7e3,
sl@0
   345
	0x8b20db43, 0xc8245123, 0xa1001281, 0xd1a8145a,
sl@0
   346
	0x6991acb4, 0x2e0394ba, 0x2e4a68b9, 0xb1aeaf46,
sl@0
   347
	0x32233481, 0x2a5988e5, 0x0da294a8, 0xaf9bc0ad,
sl@0
   348
	0xebc73eea, 0x860d3715, 0x9077c28d, 0xb4133a07,
sl@0
   349
	0xe9a9e399, 0x6aed6762, 0x63009581, 0x38d8594d,
sl@0
   350
	0x19f8fd39, 0x032feeae, 0x7f7d10a0, 0xeeb486bb,
sl@0
   351
	0x3f31f0ae, 0x8092105e, 0x614cee3b, 0xfe45c8f9,
sl@0
   352
	0xa3ad7e46, 0x0632df40, 0x2eed6d4e, 0xc1a25abd,
sl@0
   353
	0x457af909, 0x0d2dec56, 0x585393ae, 0x15132886,
sl@0
   354
	0x3801f7c3, 0x037ccbd6, 0x4d03013b, 0x169231f4,
sl@0
   355
	0xa856527f, 0x310cda2f, 0x55249845, 0xe3161213,
sl@0
   356
	0x90aa3003, 0x6b552eb4, 0xe741d92e, 0x6e320a74,
sl@0
   357
	0x17be4441, 0xef9b3cd9, 0x44000a2c, 0xa2a2cf3c,
sl@0
   358
	0x7da2a044, 0x14d5116f, 0x5b7c7d00, 0x6a6e3826,
sl@0
   359
	0xd6b57178, 0x3c4d3b78, 0xcd911165, 0x77dedfcf,
sl@0
   360
	0x56139a86, 0x92a1a469, 0x53164705, 0xcdfb7f5d,
sl@0
   361
	0x51086abe, 0x2e2fd7bd, 0xea6c3578, 0x366199da,
sl@0
   362
	0x02ad6cc7, 0xd79acb1a, 0x477cc1fa, 0xefa1ce07,
sl@0
   363
	0x6b3091b0, 0xbc834310, 0x6a70a72f, 0x3f4aa063,
sl@0
   364
	0x35a3636b, 0xace70b7b, 0xa6c43fd1, 0x909f06e1,
sl@0
   365
	0x382190f2, 0x851fe028, 0xbc8d7bdc, 0x89fb7571,
sl@0
   366
	0xf3aaa582, 0x538d77f9, 0xfeb92417, 0x6d1de4da,
sl@0
   367
	0x68c354e1, 0x012fba62, 0x7b31fa82, 0x2230df62,
sl@0
   368
	0x1cee4e7f, 0xea90d996, 0xf8d10346, 0x6c5ce766,
sl@0
   369
	0xf8581c36, 0xfdef61c5, 0x88ebe86c, 0x7af33399,
sl@0
   370
	0x0e400928, 0x87b28cef, 0x6b17b0c6, 0xce87b48b,
sl@0
   371
	0x1c0b6b85, 0x38bde649, 0x423a6707, 0x076d43f5,
sl@0
   372
	0x5789f482, 0x348cd909, 0xd7d6f1f9, 0x84f4e0b3,
sl@0
   373
	0x8c71489e, 0xd2b14964, 0x7dcee36e, 0xd0d19cba,
sl@0
   374
	0x71a36947, 0x0e45c447, 0xdb669f95, 0x844a178e,
sl@0
   375
	0x635dedf2, 0xef71d80e, 0x6a380aa4, 0xb5b64e09,
sl@0
   376
	0x3e3bb4e7, 0x2453a836, 0xa8aabe91, 0xffbc40b3,
sl@0
   377
	0x3bd513e4, 0xccd4c53f, 0x2a39903c, 0x0c1f08df,
sl@0
   378
	0xf6827b07, 0xdcf1404c, 0xfa7c6f81, 0xbbc62c7c,
sl@0
   379
	0xbf24ddcc, 0x124eafc2, 0xe3db79dc, 0xc6707089,
sl@0
   380
	0x6430ae07, 0xb8f82c8c, 0x5eb4d3ad, 0x6260bff0,
sl@0
   381
	0xbacf5454, 0xa822e0a8, 0x7a1bf7f5, 0x8272a3dd,
sl@0
   382
	0xeb048f5e, 0xbd77ac78, 0x247c547b, 0xd779974a,
sl@0
   383
	0x72c86c89, 0xbfacadbe, 0x150db78f, 0xd1fe26d8,
sl@0
   384
	0x0a9293c5, 0x2c751b25, 0xc788d1ea, 0x6edace18,
sl@0
   385
	0x9b8ceeb4, 0x832d3f68, 0x92601692, 0x48592fcc,
sl@0
   386
	0xb6d05c8b, 0x5ea09baf, 0xa6eab7b9, 0x780ecc5c,
sl@0
   387
	0x50c2a322, 0x025371b4, 0x3632fbb9, 0x34a2ee96,
sl@0
   388
	0xb4b81c00, 0xdb9c03b9, 0xadf59b03, 0x8f4af575,
sl@0
   389
	0x68f22c35, 0x96ba4f71, 0x6faa3142, 0x14c139ed,
sl@0
   390
	0x19fe4d69, 0x6829b036, 0x2f17baea, 0x6c257bb7,
sl@0
   391
	0x61a9cbc1, 0x2c68f726, 0x19461a07, 0x6d037bd3,
sl@0
   392
	0x813c85fa, 0x08c1e271, 0x1a47e09c, 0xf32a3f7c,
sl@0
   393
	0xda62d218, 0x4010ed0d, 0x2ed8a46b, 0x1d2ae3e7,
sl@0
   394
	0x20ab03f9, 0x206a13fa, 0x310aaaed, 0xb22b8e54,
sl@0
   395
	0x61f08135, 0x38eb1314, 0x2d44cb5e, 0x5a17800e,
sl@0
   396
	0x550b2557, 0x98d0eb26, 0xc2da19be, 0xc0f6e0d0,
sl@0
   397
	0x0e76708f, 0x6033ce44, 0x8cfdafed, 0x9c800e3e,
sl@0
   398
	0xcea3ebf5, 0x59eea064, 0x46f1145d, 0x323d590d,
sl@0
   399
	0x4c8e784e, 0x41c3d83b, 0x1d625dcb, 0xab6d9453,
sl@0
   400
	0x0cf3fae6, 0xb9d796ee, 0x2585292f, 0x40506092,
sl@0
   401
	0xa6211a2b, 0x42b2393e, 0x82caf4b3, 0xee2e44bb,
sl@0
   402
	0x135c9368, 0x4098cdbd, 0xac97bc17, 0xad8aa4d3,
sl@0
   403
	0x7c8865a1, 0x381e2151, 0x7e1a0749, 0x1f799253,
sl@0
   404
	0x1699f840, 0x14c8fd6c, 0x85b2b6ed, 0x69b78ded,
sl@0
   405
	0xcc051a36, 0xb7a1e661, 0x45b6e76b, 0xccadcf7f,
sl@0
   406
	0x3aa11415, 0x8c11d2cb, 0xdb2454d7, 0xa8df50e6,
sl@0
   407
	0x2161ca65, 0x0c16b5f3, 0xed54642c, 0xb0e8f918,
sl@0
   408
	0xd7e5f1f2, 0x34eddbb7, 0xc7cd91a7, 0x3afcbb7c,
sl@0
   409
	0x56c998d2, 0xb2e9e747, 0xc7008fd3, 0xeb7d795e,
sl@0
   410
	0x222b5e8d, 0xa4fd7509, 0x052e2ad6, 0x603a7368,
sl@0
   411
	0x972bb0c6, 0xf099b76a, 0xe33a7586, 0xd6c557af,
sl@0
   412
	0x3e185836, 0x1a8f4db3, 0xf99c9940, 0x355a4ff5,
sl@0
   413
	0xbe527c1f, 0xf8e8c181, 0x706c77c6, 0x7f4a5c17,
sl@0
   414
	0x9a6457ad, 0x8848f352, 0x4b115d18, 0x30592d89,
sl@0
   415
	0x8af40e6b, 0x859cbf6c, 0x09389f25, 0x8d6e1744,
sl@0
   416
	0x27c349de, 0x277c4698, 0xd7d7ae31, 0x1108c608,
sl@0
   417
	0x04e4e34a, 0x4c46d561, 0x4b757e07, 0xf25ac026,
sl@0
   418
	0x552f0541, 0xdac39f0c, 0xd49102cf, 0x7a6476c1,
sl@0
   419
	0xfa5e24c5, 0x1f634394, 0xbb88ea72, 0xd363580f,
sl@0
   420
	0x5c3159c4, 0xbb84e75a, 0x13b7d296, 0x74f28e04,
sl@0
   421
	0x1299062b, 0x992e3a87, 0x2f3f6fb0, 0x6164b1ce,
sl@0
   422
	0x7baebf5d, 0xd62282cc, 0xc33d8d55, 0xb94b9d3e,
sl@0
   423
	0x657628c8, 0x50379167, 0x510dbda3, 0x735ce9e4,
sl@0
   424
	0x77303381, 0x38a00a4a, 0x9cf4acea, 0x04b4f63e,
sl@0
   425
	0x4d399fcc, 0xbf600410, 0x5ff107f7, 0x3f87f003,
sl@0
   426
	0xe0c3c60d, 0xcc013fc6, 0xf5fcf0bc, 0xb5f5b301,
sl@0
   427
	0x01cac99c, 0x2c7ca609, 0xdc5ecec1, 0x02c3774c,
sl@0
   428
	0xb61570c7, 0x0c06c8a3, 0xea895af9, 0x60eb3b72,
sl@0
   429
	0x03c2bd85, 0x2a390c61, 0x05da966d, 0x2b8b998e,
sl@0
   430
	0x2c5d2e02, 0xc4cebb4d, 0x89d3853b, 0xfcba7d56,
sl@0
   431
	0x59885b33, 0xa977170e, 0xa5cb61db, 0xe4f80ea2,
sl@0
   432
	0x72962078, 0x5b4c9588, 0xe4fec48b, 0x9e37dba6,
sl@0
   433
	0xb2a186f9, 0x413f576f, 0x55e95ee9, 0x3f1a3c85,
sl@0
   434
	0x3c454d86, 0xcafaca6c, 0xc9dba9ab, 0xde776932,
sl@0
   435
	0x99a89d03, 0xc50472d1, 0xa5af2332, 0x20e4b397,
sl@0
   436
	0x5b4b2c7f, 0x1f6267c9, 0xa9cda978, 0x0e71545b,
sl@0
   437
	0x127d1b0a, 0x588e280d, 0xcec7c8ea, 0x9bed4dcb,
sl@0
   438
	0x992a1f77, 0x6d62796d, 0x9127e5a4, 0xb6c9b9be,
sl@0
   439
	0xc0ff30d0, 0x9372915f, 0x60acbea5, 0x7bbc08e9,
sl@0
   440
	0x7d5093a1, 0xb79252a9, 0xfee3b6ba, 0xc41a771c,
sl@0
   441
	0xc57cf7d9, 0xadc3e130, 0xe8f2fe17, 0x5b980ab2,
sl@0
   442
	0x2d67278f, 0x64cb658b, 0x043d0286, 0x5236e460,
sl@0
   443
	0x475d7645, 0xf4cae46e, 0x54239775, 0x13669a8c,
sl@0
   444
	0xe01b8347, 0xc839bd20, 0x7fced96c, 0xd271a191,
sl@0
   445
	0x7321c7fa, 0xa5ef49a3, 0xa66d9eb7, 0x0addbff6,
sl@0
   446
	0x5e91ba12, 0x34e9fe47, 0x8590877a, 0xcabfef16,
sl@0
   447
	0x9bae9e31, 0xa434555b, 0x974f93d9, 0x329a5ac5,
sl@0
   448
	0x3ce17eac, 0x899a77cf, 0xe3b1c5dc, 0xed852c36,
sl@0
   449
	0x2401f45b, 0x0d454af9, 0xd20d385c, 0x3a835f86,
sl@0
   450
	0x28b9cd48, 0x88886e2c, 0xc2a6fb3c, 0x0ee0bd70,
sl@0
   451
	0x0ca75e72, 0x73b48802, 0x715a6314, 0x9e9c7863,
sl@0
   452
	0x88c804bd, 0x442fd61c, 0x5f762ef9, 0x4d5483a9,
sl@0
   453
	0xee90df3d, 0xfabbb035, 0x465e8c7f, 0x4be8b281,
sl@0
   454
	0x2edc4bad, 0x53d4f0eb, 0xe6e4c61b, 0xbf13d8fc,
sl@0
   455
	0xe206225e, 0x1326f01d, 0x6692ae67, 0x99af2ea9,
sl@0
   456
	0x3e3d04b7, 0x4f55f6ae, 0xf8c014db, 0x7d2dbdbf,
sl@0
   457
	0x654d288b, 0x602e2247, 0x52336400, 0x9f59bbf5,
sl@0
   458
	0xd41380bb, 0xd2027d7d, 0xced6e253, 0x894e49bd,
sl@0
   459
	0x203cf6dd, 0x5f73ae99, 0x95504e19, 0xce49bbe8,
sl@0
   460
	0x7c9a5a3d, 0x9beef4a0, 0x22bd787b, 0xc6d90050,
sl@0
   461
	0x7369871e, 0xa1c52993, 0x027ba4ee, 0x3b7331c0,
sl@0
   462
	0x2ea59a0a, 0x4ef269ea, 0x01e794eb, 0x79bd7dee,
sl@0
   463
	0x6b005847, 0x30045f23, 0xddf0124e, 0xefdce7da,
sl@0
   464
	0xb993d874, 0x614eaa2e, 0xda05b8b7, 0x3689af33,
sl@0
   465
	0x01b7e782, 0xfea3dc2b, 0x42935a3c, 0x94ea6450,
sl@0
   466
	0xec303ceb, 0x75d6a928, 0xd079d993, 0xf5a5d393,
sl@0
   467
	0xa7ebd3b7, 0x6ece9f37, 0x5e943a72, 0xeced33f7,
sl@0
   468
	0xa549e3af, 0x4c9e051e, 0x461ee6ee, 0xcd619fa1,
sl@0
   469
	0x7f4ad824, 0x12272d30, 0x7bc09124, 0x34f20bdd,
sl@0
   470
	0x3ac4d642, 0xd0064621, 0x0c6133d6, 0x950df0bb,
sl@0
   471
	0x958d4105, 0x1ed6f16f, 0xe07d86b0, 0x2855c1dd,
sl@0
   472
	0x4837346d, 0xd75d4743, 0x3fda905c, 0x36e88b40,
sl@0
   473
	0x93c04c9c, 0x4d29e29c, 0xb8bd3ac5, 0x8ff2c59d,
sl@0
   474
	0xeba0bc74, 0xfe1711db, 0x0e16380c, 0xe48bd24e,
sl@0
   475
	0xcf6105d1, 0x77ed9596, 0x62aface1, 0xcb99cac9,
sl@0
   476
	0x796072f2, 0xbb9f12c0, 0xace383ae, 0x6e4b2733,
sl@0
   477
	0x8556abcc, 0xa8179f67, 0x2dfdbd6c, 0x4d281a64,
sl@0
   478
	0xa7324741, 0x77ed34de, 0x68bb7ce4, 0x8393f64b,
sl@0
   479
	0x7ead4ccf, 0x6b9a50de, 0x10c0c963, 0x04f654fe,
sl@0
   480
	0xe734c40c, 0x3fdaa1fb, 0xb5f2eba2, 0xf4435a95,
sl@0
   481
	0x4f88f9b2, 0x285f5e5c, 0xe1ca6132, 0xd6f61df6,
sl@0
   482
	0x0aa46e51, 0x43b72313, 0xd3eaacb7, 0x433e2268,
sl@0
   483
	0x43b9950f, 0xb88c310f, 0x1f56e972, 0xe13c5aaa,
sl@0
   484
	0xb5348606, 0x12fa222c, 0xab5fdba3, 0xa815d750,
sl@0
   485
	0x897fe33f, 0xba8c0a37, 0x1de574c5, 0xd9bee7f9,
sl@0
   486
	0x02a0e3d6, 0x8f6d191d, 0x962755ec, 0xbe4d6112,
sl@0
   487
	0x8937981a, 0x3d1a6fdc, 0xb870fc69, 0x53feeb0b,
sl@0
   488
	0x474fc1f1, 0x5fb8f503, 0x208c4889, 0x54ceb108,
sl@0
   489
	0x4177dc93, 0x5d72db9e, 0x830085ff, 0x49dfb662,
sl@0
   490
	0x5f89fec9, 0xb0286466, 0x5e5257d6, 0x0a544b4e,
sl@0
   491
	0x419ec1be, 0xccd48c12, 0x2eab64e3, 0xa11b8860,
sl@0
   492
	0x680bc2b0, 0x882ee9da, 0xaa8ade45, 0xf8a130a8,
sl@0
   493
	0xef5a16a1, 0xd6c7163c, 0x9a0042be, 0x492bc5cd,
sl@0
   494
	0x98c93b6a, 0x5fd23848, 0x0c6d9ce2, 0xdff8e38e,
sl@0
   495
	0xe1c49fdb, 0x391ffc7c, 0x6348380a, 0xb224b727,
sl@0
   496
	0x12602ab5, 0x8b9b4de3, 0x711391e0, 0x8197c0e9,
sl@0
   497
	0x3cc573b8, 0xc9593549, 0xf7f805db, 0x7ba1b557,
sl@0
   498
	0xa685a0c3, 0x894ee8f5, 0x2a2826d8, 0x1779921b,
sl@0
   499
	0x929d7024, 0x1e4cf9f6, 0xc0b910f0, 0xf153876d,
sl@0
   500
	0x40df17bb, 0x51143ecc, 0xeb66d1d0, 0x18ae6962,
sl@0
   501
	0xeac11a1d, 0x64c15b42, 0xa7d487dc, 0x1b978257,
sl@0
   502
	0x75eeb675, 0x51900e23, 0xa82a3d93, 0x77cc29b5,
sl@0
   503
	0x797d434d, 0x688a772e, 0x1337daa4, 0x7431aa11,
sl@0
   504
	0x20b9c703, 0x0c2cd343, 0x4b225d13, 0x8040168d,
sl@0
   505
	0xc148d752, 0x6dd14d74, 0x223fe499, 0xef566cb9,
sl@0
   506
	0x9160af4a, 0xc244fb81, 0x2e9a6f29, 0x31bfa48f,
sl@0
   507
	0x6297246e, 0xc30d7e07, 0xb666c465, 0xb7753945,
sl@0
   508
	0x882ec420, 0x28556095, 0x4223e468, 0x9f577bc1,
sl@0
   509
	0x3817ae61, 0xe6edc95e, 0x2fe30651, 0x27949151,
sl@0
   510
	0xdadf5505, 0x183ffb01, 0x73afeaba, 0x477c512a,
sl@0
   511
	0xe6ac86ff, 0xbb39b8cc, 0x46101807, 0x22887e2b,
sl@0
   512
	0x16a68e7f, 0xe3b4b904, 0xba4a1726, 0xfc576456,
sl@0
   513
	0x086ed2ad, 0xe91db7c7, 0x2ff2a91c, 0xbd689f58,
sl@0
   514
	0xd741c2d8, 0x778d6614, 0xeda7fdd0, 0x090efe78,
sl@0
   515
	0xeb60f18a, 0x7aa8df6f, 0xb0a294bd, 0xf11a954f,
sl@0
   516
	0x51d9bfba, 0x33177cec, 0x6e457892, 0x60ab9a43,
sl@0
   517
	0x89f1f5be, 0xdba31765, 0x5ca7de78, 0xd3b46207,
sl@0
   518
	0x2ffa43fc, 0x33c2e2c2, 0x37cd521d, 0xcec775e2,
sl@0
   519
	0x903d93f2, 0x9121e0eb, 0x569e451c, 0x4f1ee67f,
sl@0
   520
	0xc9e88fa1, 0x6c0e5110, 0x53162db9, 0x4b508269,
sl@0
   521
	0xad8edbec, 0x3b79ae41, 0x8758cf55, 0x4f59335f,
sl@0
   522
	0x34996ae6, 0x0ce2d5bd, 0x2b2ab86c, 0x3e139fd7,
sl@0
   523
	0x26f4bd84, 0xd8a21348, 0x4d658d72, 0x7e65e15f,
sl@0
   524
	0x612706bd, 0xc0f85f51, 0x658939f0, 0x215b9eed,
sl@0
   525
	0xa94315e2, 0xe5ffa4ae, 0x88b53adc, 0x17f75c11,
sl@0
   526
	0x7e3ab9eb, 0x1483edbd, 0xb49a2d97, 0x78946142,
sl@0
   527
	0xfa5e1f04, 0x9cdf464f, 0xba0b5887, 0x688ddacb,
sl@0
   528
	0x69ea5bfb, 0x114a9ce9, 0x216bdc62, 0x2d73cce6,
sl@0
   529
	0x2a7784d4, 0x6d7684bd, 0x5ef097b1, 0xa60351b8,
sl@0
   530
	0xe61a26bd, 0xd166ce48, 0x8457ef61, 0x3cdde47d,
sl@0
   531
	0x4029263c, 0x32775039, 0x6c383edf, 0x35f1ec30,
sl@0
   532
	0x843bfe5b, 0xfdf840f2, 0x7af307d6, 0x0d04e33b,
sl@0
   533
	0x48b1c516, 0xb809890b, 0xc49478cc, 0xa5c6f63a,
sl@0
   534
	0x3d80d8c5, 0x134c3d56, 0x4a737a0c, 0x12997c2f,
sl@0
   535
	0x9e8e47ff, 0x2b38d14c, 0x1888a92e, 0x86d6bcfa,
sl@0
   536
	0x28a4fcf7, 0x5b9d0bc2, 0x7d72a236, 0x149a3052,
sl@0
   537
	0xa94832bd, 0xd78fc426, 0x1785836b, 0x53f4748a
sl@0
   538
	};
sl@0
   539
sl@0
   540
TUint8* MemCopy(TAny* aTrg, const TAny* aSrc, TInt aLength)
sl@0
   541
    {
sl@0
   542
	return Mem::Copy(aTrg, aSrc, aLength);
sl@0
   543
    }
sl@0
   544
sl@0
   545
void DoOverlapTest(TUint8* aBigBuf, TUint8* aBigBuf2, TInt aBufLen, TInt aSrcOffset, TInt aDestOffset, TInt aTestLen)
sl@0
   546
	{	
sl@0
   547
	test.Printf(_L("."));
sl@0
   548
	
sl@0
   549
	TInt32 i;
sl@0
   550
sl@0
   551
	TUint32* x = (TUint32*)aBigBuf;
sl@0
   552
	TUint32* xdash = (TUint32*)aBigBuf2;
sl@0
   553
	const TUint32* s = (TUint32*)RandomData;
sl@0
   554
sl@0
   555
	for (i=0; i<aBufLen; i+=4)		// fill with noise (this fills the whole big buffer)
sl@0
   556
		*xdash++ = *x++ = *s++;
sl@0
   557
sl@0
   558
	TUint8* p = aBigBuf + aSrcOffset;
sl@0
   559
	TUint8* pdash = aBigBuf2 + aSrcOffset;
sl@0
   560
sl@0
   561
	TUint8* q = aBigBuf + aDestOffset;  // p..p+aTestLen and q..q+aTestLen overlap
sl@0
   562
	TUint8* qdash = aBigBuf2 + aDestOffset;
sl@0
   563
sl@0
   564
	//
sl@0
   565
	// Naive memcpy implementation:  do not imitate!
sl@0
   566
	//
sl@0
   567
sl@0
   568
	TUint8* r;
sl@0
   569
	TUint8* t;
sl@0
   570
	if (q > p)
sl@0
   571
		{
sl@0
   572
		r = q + aTestLen;  // point to end of buffer;
sl@0
   573
		t = p + aTestLen;
sl@0
   574
sl@0
   575
		while(r!=q)
sl@0
   576
			*--r=*--t;
sl@0
   577
		}
sl@0
   578
	else
sl@0
   579
		{
sl@0
   580
		r = q;
sl@0
   581
		t = p;
sl@0
   582
sl@0
   583
		while(r!=(q+aTestLen))
sl@0
   584
			*r++=*t++;
sl@0
   585
		}
sl@0
   586
sl@0
   587
	TUint8* result = MemCopy(qdash, pdash, aTestLen);
sl@0
   588
	test(result == qdash + aTestLen);
sl@0
   589
sl@0
   590
	for (i=0; i<aBufLen; i++)
sl@0
   591
		{
sl@0
   592
		if (aBigBuf[i]!=aBigBuf2[i])
sl@0
   593
			{
sl@0
   594
			test.Printf(_L("\nError! %4d != %4d at %4d!\n"), aBigBuf[i], aBigBuf2[i], i);
sl@0
   595
			test(0);
sl@0
   596
			}
sl@0
   597
		}
sl@0
   598
	}
sl@0
   599
sl@0
   600
void DoTest(TUint8* aBuf1, TUint8* aBuf2, TInt aBufLen, TInt aSrcOffset, TInt aDestOffset, TInt aLen, TBool aSrc2)
sl@0
   601
	{
sl@0
   602
	test.Printf(_L("."));
sl@0
   603
	TInt i;
sl@0
   604
	TUint32* p=(TUint32*)aBuf1;
sl@0
   605
	const TUint32* s=RandomData;
sl@0
   606
	for (i=0; i<aBufLen; i+=4)
sl@0
   607
		*p++=*s++;
sl@0
   608
	p=(TUint32*)aBuf2;
sl@0
   609
	for (i=0; i<aBufLen; i+=4)
sl@0
   610
		*p++=*s++;
sl@0
   611
	TUint8* pS;
sl@0
   612
	TUint8* pD;
sl@0
   613
	TUint8* pSB;
sl@0
   614
	const TUint8* pSB0;
sl@0
   615
	TUint8* pDB;
sl@0
   616
	const TUint8* pDB0;
sl@0
   617
	if (aSrc2)
sl@0
   618
		{
sl@0
   619
		pSB=aBuf2;
sl@0
   620
		pSB0=((const TUint8*)RandomData)+aBufLen;
sl@0
   621
		pDB=aBuf1;
sl@0
   622
		pDB0=((const TUint8*)RandomData);
sl@0
   623
		pS=aBuf2+aSrcOffset;
sl@0
   624
		pD=aBuf1+aDestOffset;
sl@0
   625
		}
sl@0
   626
	else
sl@0
   627
		{
sl@0
   628
		pSB=aBuf1;
sl@0
   629
		pDB0=((const TUint8*)RandomData)+aBufLen;
sl@0
   630
		pDB=aBuf2;
sl@0
   631
		pSB0=((const TUint8*)RandomData);
sl@0
   632
		pS=aBuf1+aSrcOffset;
sl@0
   633
		pD=aBuf2+aDestOffset;
sl@0
   634
		}
sl@0
   635
	TUint8* retptr = MemCopy(pD,pS,aLen);
sl@0
   636
	TInt err=0;
sl@0
   637
	if (retptr != pD + aLen)
sl@0
   638
		goto error;
sl@0
   639
	err++;
sl@0
   640
	for (i=0; i<aBufLen; i++)
sl@0
   641
		{
sl@0
   642
		if (pSB[i]!=pSB0[i])
sl@0
   643
			goto error;
sl@0
   644
		}
sl@0
   645
	err++;
sl@0
   646
	for (i=0; i<aDestOffset; i++)
sl@0
   647
		{
sl@0
   648
		if (pDB[i]!=pDB0[i])
sl@0
   649
			goto error;
sl@0
   650
		}
sl@0
   651
	err++;
sl@0
   652
	for (i=0; i<aLen; i++)
sl@0
   653
		{
sl@0
   654
		if (pDB[i+aDestOffset]!=pSB0[i+aSrcOffset])
sl@0
   655
			goto error;
sl@0
   656
		}
sl@0
   657
	err++;
sl@0
   658
	for (i=aDestOffset+aLen; i<aBufLen; i++)
sl@0
   659
		{
sl@0
   660
		if (pDB[i]!=pDB0[i])
sl@0
   661
			goto error;
sl@0
   662
		}
sl@0
   663
	return;
sl@0
   664
sl@0
   665
error:
sl@0
   666
	test.Printf(_L("\n\nERROR %d: aBufLen=%d, aSrcOffset=%d, aDestOffset=%d, aLen=%d, aSrc2=%d\n\n"),
sl@0
   667
				err, aBufLen, aSrcOffset, aDestOffset, aLen, aSrc2);
sl@0
   668
	test(0);
sl@0
   669
	}
sl@0
   670
sl@0
   671
GLDEF_C TInt E32Main()
sl@0
   672
	{
sl@0
   673
	test.Title();
sl@0
   674
	test.Start(_L("Create chunk"));
sl@0
   675
	RChunk c;
sl@0
   676
	TInt r=c.CreateDisconnectedLocal(0,0x1000,0x100000);
sl@0
   677
	test(r==KErrNone);
sl@0
   678
	r=c.Commit(0x10000,0x1000);
sl@0
   679
	test(r==KErrNone);
sl@0
   680
	TUint8* pBuf1=c.Base();
sl@0
   681
	TUint8* pBuf2=pBuf1+0x10000;
sl@0
   682
sl@0
   683
	TInt s;
sl@0
   684
	TInt d;
sl@0
   685
	TInt l;
sl@0
   686
sl@0
   687
	for (l=1; l<300; l+=3)
sl@0
   688
		{
sl@0
   689
		for (s=0; s<=4096-l; s+=227)
sl@0
   690
			{
sl@0
   691
			test.Printf(_L("\ns=%4d l=%4d: "),s,l);
sl@0
   692
			for (d=0; d<=4096-l; d+=229)
sl@0
   693
				{
sl@0
   694
				DoTest(pBuf1,pBuf2,4096,s,d,l,0);
sl@0
   695
				DoTest(pBuf1,pBuf2,4096,s,d,l,1);
sl@0
   696
				}
sl@0
   697
			}
sl@0
   698
		}
sl@0
   699
sl@0
   700
	for (l=1; l<300; l+=3)
sl@0
   701
		{
sl@0
   702
		for (s=4096-l; s>=0; s-=227)
sl@0
   703
			{
sl@0
   704
			test.Printf(_L("\ns=%4d l=%4d: "),s,l);
sl@0
   705
			for (d=4096-l; d>=0; d-=229)
sl@0
   706
				{
sl@0
   707
				DoTest(pBuf1,pBuf2,4096,s,d,l,0);
sl@0
   708
				DoTest(pBuf1,pBuf2,4096,s,d,l,1);
sl@0
   709
				}
sl@0
   710
			}
sl@0
   711
		}
sl@0
   712
	
sl@0
   713
	for (l=1; l<400; l+=((l<=64)?1:3) )
sl@0
   714
		{
sl@0
   715
		test.Printf(_L("\nOverlap test: l=%4d: "),l);
sl@0
   716
		for (s=32; s<=4096-32-l; s+=101)	// want s to take all values 0...31 modulo 32
sl@0
   717
			{
sl@0
   718
			for (d=s-32; d<=s+32; ++d)
sl@0
   719
				{
sl@0
   720
				DoOverlapTest(pBuf1,pBuf2,4096,s,d,l);
sl@0
   721
				}
sl@0
   722
			}
sl@0
   723
		}
sl@0
   724
	
sl@0
   725
	c.Close();
sl@0
   726
	test.End();
sl@0
   727
	return 0;
sl@0
   728
	}