|
|
@@ -0,0 +1,625 @@
|
|
|
+#if 0
|
|
|
+#include <stdio.h>
|
|
|
+
|
|
|
+// =============================================================================
|
|
|
+// Command description
|
|
|
+// =============================================================================
|
|
|
+// Semantic: %command [%mode]
|
|
|
+// Syntax : *TEST? [NORMal|FULL]
|
|
|
+// Checks SCPI Input/Output interface. This command is designed to test the SCPI
|
|
|
+// command parser and device stability.
|
|
|
+// Arguments:
|
|
|
+// @mode - optional parameter, checking mode. Avaliable values:
|
|
|
+// * FULL - full test using huge-size data volume;
|
|
|
+// * NORMal - usual test using default-size data volume, default mode;
|
|
|
+// Returns:
|
|
|
+// Sample text string.
|
|
|
+// -----
|
|
|
+// @SCPI_ARGS_N = 1 (%mode)
|
|
|
+#define SCPI_ARGS_N 1
|
|
|
+// -----
|
|
|
+// Include handler header
|
|
|
+#include "app/scpi/scpi_handler.h"
|
|
|
+// -----
|
|
|
+// @argTokens, @argTypes
|
|
|
+// Declare argument parser entities
|
|
|
+// Supported arguments: 1=CHARACTER
|
|
|
+DECLARE_SCPI_ARGS( eScpiArg_Character );
|
|
|
+
|
|
|
+// Argument 1 Character Values allowed list
|
|
|
+DECLARE_ARGUMENT_CHARACTER_ALLOWED_LIST( AllowedValues_Argument1, "FULL", "NORMal" );
|
|
|
+
|
|
|
+#include "app/scpi/commandHandlers/test.h"
|
|
|
+// =================================================================================
|
|
|
+// @fsqvbl_CommandHandlerTEST
|
|
|
+// State's virtual table
|
|
|
+
|
|
|
+static void fsqe_CommandHandlerTEST( const struct fFSeqEntry_t * this, tFSeqCtx_t ctx );
|
|
|
+static void fsql_CommandHandlerTEST( const struct fFSeqEntry_t * this, tFSeqCtx_t ctx );
|
|
|
+static const struct fFSeqEntry_t * fsqf_CommandHandlerTEST( const struct fFSeqEntry_t * this, tFSeqCtx_t ctx, const struct fFSeqEntry_t * * pDeferredNext );
|
|
|
+
|
|
|
+const fFSeqVTable_t fsqvbl_CommandHandlerTEST =
|
|
|
+{
|
|
|
+ .f = fsqf_CommandHandlerTEST,
|
|
|
+ .enter = fsqe_CommandHandlerTEST,
|
|
|
+ .leave = fsql_CommandHandlerTEST
|
|
|
+};
|
|
|
+
|
|
|
+static void fsqe_CommandHandlerTEST( const struct fFSeqEntry_t * this, tFSeqCtx_t ctx )
|
|
|
+{
|
|
|
+ sProcessProgramDataCommonContext_t * common_ctx = ctx;
|
|
|
+
|
|
|
+ common_ctx->TEST.idx = 0; // reset position
|
|
|
+ common_ctx->TEST.N = 0; // reset position
|
|
|
+ common_ctx->TEST.MAX_N = 0; // reset position
|
|
|
+
|
|
|
+ SCPI_PARSE_ARGUMENTS( common_ctx ); (void)common_ctx->argsParserStatus; // status is modified
|
|
|
+}
|
|
|
+
|
|
|
+static void fsql_CommandHandlerTEST( const struct fFSeqEntry_t * this, tFSeqCtx_t ctx )
|
|
|
+{
|
|
|
+}
|
|
|
+
|
|
|
+static const char test[];
|
|
|
+
|
|
|
+#if DEBUG_USBTMC_TESTCMD > 0
|
|
|
+#define MAX_TESTBUF_LEN 128
|
|
|
+volatile size_t testBufferIdx = 0;
|
|
|
+volatile size_t testBufferCount = 0;
|
|
|
+size_t testBufferCapacity[ MAX_TESTBUF_LEN ] = { 0 };
|
|
|
+size_t testBufferLen[ MAX_TESTBUF_LEN ] = { 0 };
|
|
|
+#endif
|
|
|
+static const struct fFSeqEntry_t * fsqf_CommandHandlerTEST( const struct fFSeqEntry_t * this,
|
|
|
+ tFSeqCtx_t ctx,
|
|
|
+ const struct fFSeqEntry_t * * pDeferredNext )
|
|
|
+{
|
|
|
+ const fFSeqEntry_t * nextstate = NULL;
|
|
|
+
|
|
|
+ sProcessProgramDataCommonContext_t * common_ctx = ctx;
|
|
|
+
|
|
|
+ switch( common_ctx->event )
|
|
|
+ {
|
|
|
+ case eProgramData_Event_Write:
|
|
|
+ {
|
|
|
+ if( ! common_ctx->isQuery )
|
|
|
+ {
|
|
|
+ common_ctx->status = eProgramDataSyntaxError; // invalid command header type: COMMAND not supported
|
|
|
+ }
|
|
|
+ else if( eScpiStatus_success != common_ctx->argsParserStatus ) // check argument parser status
|
|
|
+ {
|
|
|
+ common_ctx->status = eProgramDataArgumentSyntax; // parameter syntax error, caller should generate error message
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ switch( SCPI_PROCESS_ARGUMENT_CHARACTER( common_ctx, AllowedValues_Argument1, 0 ) )
|
|
|
+ {
|
|
|
+ case 0: // FULL
|
|
|
+ common_ctx->TEST.MAX_N = 3;
|
|
|
+ common_ctx->status = eProgramDataNeedRead; // request processed, wait for reading...
|
|
|
+ break;
|
|
|
+ case 1: // NORMal
|
|
|
+ common_ctx->TEST.MAX_N = 0;
|
|
|
+ common_ctx->status = eProgramDataNeedRead; // request processed, wait for reading...
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ common_ctx->status = eProgramDataIllegalArgument; // illegal parameter value, caller should generate error message
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+
|
|
|
+ case eProgramData_Event_Read:
|
|
|
+ {
|
|
|
+ // @idx - current position of the source data to be outputed
|
|
|
+ size_t idx = common_ctx->TEST.idx;
|
|
|
+ size_t N = common_ctx->TEST.N;
|
|
|
+
|
|
|
+ #if DEBUG_USBTMC_TESTCMD > 0
|
|
|
+ if( testBufferIdx >= MAX_TESTBUF_LEN || testBufferIdx == 0 )
|
|
|
+ {
|
|
|
+ testBufferIdx = 0; testBufferCount = 0;
|
|
|
+ memset( testBufferCapacity, 0xff, sizeof(testBufferCapacity) );
|
|
|
+ memset( testBufferLen, 0xff, sizeof(testBufferLen) );
|
|
|
+ }
|
|
|
+ testBufferCapacity[testBufferIdx] = bsize;
|
|
|
+ #endif
|
|
|
+
|
|
|
+ size_t len = strlen(test + idx);
|
|
|
+ size_t written = scpi_WriteChunkOutput( test + idx, len);
|
|
|
+ idx += written;
|
|
|
+
|
|
|
+ #if DEBUG_USBTMC_TESTCMD > 0
|
|
|
+ testBufferLen[testBufferIdx] = testBufferCapacity[testBufferIdx] - bsize;
|
|
|
+ testBufferCount += testBufferLen[testBufferIdx];
|
|
|
+ testBufferIdx++;
|
|
|
+ #endif
|
|
|
+
|
|
|
+ // EXAMPLE:
|
|
|
+ // Check for end-condition:
|
|
|
+ if( written == len )
|
|
|
+ {
|
|
|
+ if( N < common_ctx->TEST.MAX_N )
|
|
|
+ { N++; idx = 0; common_ctx->status = eProgramDataNeedRead; } else
|
|
|
+ common_ctx->status = eProgramDataDone;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ common_ctx->status = eProgramDataNeedRead;
|
|
|
+ }
|
|
|
+
|
|
|
+ // Since @done flag is set, this dispatcher shall not be called anymore.
|
|
|
+ // Since this handler is implemented as a single-state automat, there no
|
|
|
+ // ... other states to go to:
|
|
|
+ (void)nextstate;
|
|
|
+
|
|
|
+ // modify current postion index:
|
|
|
+ common_ctx->TEST.idx = idx;
|
|
|
+ common_ctx->TEST.N = N;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ return nextstate;
|
|
|
+}
|
|
|
+
|
|
|
+static const char test[] =
|
|
|
+"00h1415926535897932384626433832795028841971693993751058209749445"
|
|
|
+"01h9230781640628620899862803482534211706798214808651328230664709"
|
|
|
+"02h3844609550582231725359408128481117450284102701938521105559644"
|
|
|
+"03h6229489549303819644288109756659334461284756482337867831652712"
|
|
|
+"04h0190914564856692346034861045432664821339360726024914127372458"
|
|
|
+"05h7006606315588174881520920962829254091715364367892590360011330"
|
|
|
+"06h5305488204665213841469519415116094330572703657595919530921861"
|
|
|
+"07h1738193261179310511854807446237996274956735188575272489122793"
|
|
|
+"08h8183011949129833673362440656643086021394946395224737190702179"
|
|
|
+"09h8609437027705392171762931767523846748184676694051320005681271"
|
|
|
+"0ah4526356082778577134275778960917363717872146844090122495343014"
|
|
|
+"0bh6549585371050792279689258923542019956112129021960864034418159"
|
|
|
+"0ch8136297747713099605187072113499999983729780499510597317328160"
|
|
|
+"0dh9631859502445945534690830264252230825334468503526193118817101"
|
|
|
+"0eh0003137838752886587533208381420617177669147303598253490428755"
|
|
|
+"0fh4687311595628638823537875937519577818577805321712268066130019"
|
|
|
+#if 0
|
|
|
+"10h2787661119590921642019891415926535897932384626433832795028841"
|
|
|
+"11h9716939937510582097494459230781640628620899862803482534211706"
|
|
|
+"12h7982148086513282306647093844609550582231725359408128481117450"
|
|
|
+"13h2841027019385211055596446229489549303819644288109756659334461"
|
|
|
+"14h2847564823378678316527120190914564856692346034861045432664821"
|
|
|
+"15h3393607260249141273724587006606315588174881520920962829254091"
|
|
|
+"16h7153643678925903600113305305488204665213841469519415116094330"
|
|
|
+"17h5727036575959195309218611738193261179310511854807446237996274"
|
|
|
+"18h9567351885752724891227938183011949129833673362440656643086021"
|
|
|
+"19h3949463952247371907021798609437027705392171762931767523846748"
|
|
|
+"1ah1846766940513200056812714526356082778577134275778960917363717"
|
|
|
+"1bh8721468440901224953430146549585371050792279689258923542019956"
|
|
|
+"1ch1121290219608640344181598136297747713099605187072113499999983"
|
|
|
+"1dh7297804995105973173281609631859502445945534690830264252230825"
|
|
|
+"1eh3344685035261931188171010003137838752886587533208381420617177"
|
|
|
+"1fh6691473035982534904287554687311595628638823537875937519577818"
|
|
|
+"20h5778053217122680661300192787661119590921642019891415926535897"
|
|
|
+"21h9323846264338327950288419716939937510582097494459230781640628"
|
|
|
+"22h6208998628034825342117067982148086513282306647093844609550582"
|
|
|
+"23h2317253594081284811174502841027019385211055596446229489549303"
|
|
|
+"24h8196442881097566593344612847564823378678316527120190914564856"
|
|
|
+"25h6923460348610454326648213393607260249141273724587006606315588"
|
|
|
+"26h1748815209209628292540917153643678925903600113305305488204665"
|
|
|
+"27h2138414695194151160943305727036575959195309218611738193261179"
|
|
|
+"28h3105118548074462379962749567351885752724891227938183011949129"
|
|
|
+"29h8336733624406566430860213949463952247371907021798609437027705"
|
|
|
+"2ah3921717629317675238467481846766940513200056812714526356082778"
|
|
|
+"2bh5771342757789609173637178721468440901224953430146549585371050"
|
|
|
+"2ch7922796892589235420199561121290219608640344181598136297747713"
|
|
|
+"2dh0996051870721134999999837297804995105973173281609631859502445"
|
|
|
+"2eh9455346908302642522308253344685035261931188171010003137838752"
|
|
|
+"2fh8865875332083814206171776691473035982534904287554687311595628"
|
|
|
+"30h6388235378759375195778185778053217122680661300192787661119590"
|
|
|
+"31h9216420198914159265358979323846264338327950288419716939937510"
|
|
|
+"32h5820974944592307816406286208998628034825342117067982148086513"
|
|
|
+"33h2823066470938446095505822317253594081284811174502841027019385"
|
|
|
+"34h2110555964462294895493038196442881097566593344612847564823378"
|
|
|
+"35h6783165271201909145648566923460348610454326648213393607260249"
|
|
|
+"36h1412737245870066063155881748815209209628292540917153643678925"
|
|
|
+"37h9036001133053054882046652138414695194151160943305727036575959"
|
|
|
+"38h1953092186117381932611793105118548074462379962749567351885752"
|
|
|
+"39h7248912279381830119491298336733624406566430860213949463952247"
|
|
|
+"3ah3719070217986094370277053921717629317675238467481846766940513"
|
|
|
+"3bh2000568127145263560827785771342757789609173637178721468440901"
|
|
|
+"3ch2249534301465495853710507922796892589235420199561121290219608"
|
|
|
+"3dh6403441815981362977477130996051870721134999999837297804995105"
|
|
|
+"3eh9731732816096318595024459455346908302642522308253344685035261"
|
|
|
+"3fhxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
|
+"40h1415926535897932384626433832795028841971693993751058209749445"
|
|
|
+"41h9230781640628620899862803482534211706798214808651328230664709"
|
|
|
+"42h3844609550582231725359408128481117450284102701938521105559644"
|
|
|
+"43h6229489549303819644288109756659334461284756482337867831652712"
|
|
|
+"44h0190914564856692346034861045432664821339360726024914127372458"
|
|
|
+"45h7006606315588174881520920962829254091715364367892590360011330"
|
|
|
+"46h5305488204665213841469519415116094330572703657595919530921861"
|
|
|
+"47h1738193261179310511854807446237996274956735188575272489122793"
|
|
|
+"48h8183011949129833673362440656643086021394946395224737190702179"
|
|
|
+"49h8609437027705392171762931767523846748184676694051320005681271"
|
|
|
+"4ah4526356082778577134275778960917363717872146844090122495343014"
|
|
|
+"4bh6549585371050792279689258923542019956112129021960864034418159"
|
|
|
+"4ch8136297747713099605187072113499999983729780499510597317328160"
|
|
|
+"4dh9631859502445945534690830264252230825334468503526193118817101"
|
|
|
+"4eh0003137838752886587533208381420617177669147303598253490428755"
|
|
|
+"4fh4687311595628638823537875937519577818577805321712268066130019"
|
|
|
+"50h1415926535897932384626433832795028841971693993751058209749445"
|
|
|
+"51h9230781640628620899862803482534211706798214808651328230664709"
|
|
|
+"52h3844609550582231725359408128481117450284102701938521105559644"
|
|
|
+"53h6229489549303819644288109756659334461284756482337867831652712"
|
|
|
+"54h0190914564856692346034861045432664821339360726024914127372458"
|
|
|
+"55h7006606315588174881520920962829254091715364367892590360011330"
|
|
|
+"56h5305488204665213841469519415116094330572703657595919530921861"
|
|
|
+"57h1738193261179310511854807446237996274956735188575272489122793"
|
|
|
+"58h8183011949129833673362440656643086021394946395224737190702179"
|
|
|
+"59h8609437027705392171762931767523846748184676694051320005681271"
|
|
|
+"5ah4526356082778577134275778960917363717872146844090122495343014"
|
|
|
+"5bh6549585371050792279689258923542019956112129021960864034418159"
|
|
|
+"5ch8136297747713099605187072113499999983729780499510597317328160"
|
|
|
+"5dh9631859502445945534690830264252230825334468503526193118817101"
|
|
|
+"5eh0003137838752886587533208381420617177669147303598253490428755"
|
|
|
+"5fh4687311595628638823537875937519577818577805321712268066130019"
|
|
|
+"60h2787661119590921642019891415926535897932384626433832795028841"
|
|
|
+"61h9716939937510582097494459230781640628620899862803482534211706"
|
|
|
+"62h7982148086513282306647093844609550582231725359408128481117450"
|
|
|
+"63h2841027019385211055596446229489549303819644288109756659334461"
|
|
|
+"64h2847564823378678316527120190914564856692346034861045432664821"
|
|
|
+"65h3393607260249141273724587006606315588174881520920962829254091"
|
|
|
+"66h7153643678925903600113305305488204665213841469519415116094330"
|
|
|
+"67h5727036575959195309218611738193261179310511854807446237996274"
|
|
|
+"68h9567351885752724891227938183011949129833673362440656643086021"
|
|
|
+"69h3949463952247371907021798609437027705392171762931767523846748"
|
|
|
+"6ah1846766940513200056812714526356082778577134275778960917363717"
|
|
|
+"6bh8721468440901224953430146549585371050792279689258923542019956"
|
|
|
+"6ch1121290219608640344181598136297747713099605187072113499999983"
|
|
|
+"6dh7297804995105973173281609631859502445945534690830264252230825"
|
|
|
+"6eh3344685035261931188171010003137838752886587533208381420617177"
|
|
|
+"6fh6691473035982534904287554687311595628638823537875937519577818"
|
|
|
+"70h5778053217122680661300192787661119590921642019891415926535897"
|
|
|
+"71h9323846264338327950288419716939937510582097494459230781640628"
|
|
|
+"72h6208998628034825342117067982148086513282306647093844609550582"
|
|
|
+"73h2317253594081284811174502841027019385211055596446229489549303"
|
|
|
+"74h8196442881097566593344612847564823378678316527120190914564856"
|
|
|
+"75h6923460348610454326648213393607260249141273724587006606315588"
|
|
|
+"76h1748815209209628292540917153643678925903600113305305488204665"
|
|
|
+"77h2138414695194151160943305727036575959195309218611738193261179"
|
|
|
+"78h3105118548074462379962749567351885752724891227938183011949129"
|
|
|
+"79h8336733624406566430860213949463952247371907021798609437027705"
|
|
|
+"7ah3921717629317675238467481846766940513200056812714526356082778"
|
|
|
+"7bh5771342757789609173637178721468440901224953430146549585371050"
|
|
|
+"7ch7922796892589235420199561121290219608640344181598136297747713"
|
|
|
+"7dh0996051870721134999999837297804995105973173281609631859502445"
|
|
|
+"7eh9455346908302642522308253344685035261931188171010003137838752"
|
|
|
+"7fh8865875332083814206171776691473035982534904287554687311595628"
|
|
|
+"80h6388235378759375195778185778053217122680661300192787661119590"
|
|
|
+"81h9216420198914159265358979323846264338327950288419716939937510"
|
|
|
+"82h5820974944592307816406286208998628034825342117067982148086513"
|
|
|
+"83h2823066470938446095505822317253594081284811174502841027019385"
|
|
|
+"84h2110555964462294895493038196442881097566593344612847564823378"
|
|
|
+"85h6783165271201909145648566923460348610454326648213393607260249"
|
|
|
+"86h1412737245870066063155881748815209209628292540917153643678925"
|
|
|
+"87h9036001133053054882046652138414695194151160943305727036575959"
|
|
|
+"88h1953092186117381932611793105118548074462379962749567351885752"
|
|
|
+"89h7248912279381830119491298336733624406566430860213949463952247"
|
|
|
+"8ah3719070217986094370277053921717629317675238467481846766940513"
|
|
|
+"8bh2000568127145263560827785771342757789609173637178721468440901"
|
|
|
+"8ch2249534301465495853710507922796892589235420199561121290219608"
|
|
|
+"8dh6403441815981362977477130996051870721134999999837297804995105"
|
|
|
+"8eh9731732816096318595024459455346908302642522308253344685035261"
|
|
|
+"8fhxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
|
+"90h1415926535897932384626433832795028841971693993751058209749445"
|
|
|
+"91h9230781640628620899862803482534211706798214808651328230664709"
|
|
|
+"92h3844609550582231725359408128481117450284102701938521105559644"
|
|
|
+"93h6229489549303819644288109756659334461284756482337867831652712"
|
|
|
+"94h0190914564856692346034861045432664821339360726024914127372458"
|
|
|
+"95h7006606315588174881520920962829254091715364367892590360011330"
|
|
|
+"96h5305488204665213841469519415116094330572703657595919530921861"
|
|
|
+"97h1738193261179310511854807446237996274956735188575272489122793"
|
|
|
+"98h8183011949129833673362440656643086021394946395224737190702179"
|
|
|
+"99h8609437027705392171762931767523846748184676694051320005681271"
|
|
|
+"9ah4526356082778577134275778960917363717872146844090122495343014"
|
|
|
+"9bh6549585371050792279689258923542019956112129021960864034418159"
|
|
|
+"9ch8136297747713099605187072113499999983729780499510597317328160"
|
|
|
+"9dh9631859502445945534690830264252230825334468503526193118817101"
|
|
|
+"9eh0003137838752886587533208381420617177669147303598253490428755"
|
|
|
+"9fh4687311595628638823537875937519577818577805321712268066130019"
|
|
|
+"a0h2787661119590921642019891415926535897932384626433832795028841"
|
|
|
+"a1h9716939937510582097494459230781640628620899862803482534211706"
|
|
|
+"a2h7982148086513282306647093844609550582231725359408128481117450"
|
|
|
+"a3h2841027019385211055596446229489549303819644288109756659334461"
|
|
|
+"a4h2847564823378678316527120190914564856692346034861045432664821"
|
|
|
+"a5h3393607260249141273724587006606315588174881520920962829254091"
|
|
|
+"a6h7153643678925903600113305305488204665213841469519415116094330"
|
|
|
+"a7h5727036575959195309218611738193261179310511854807446237996274"
|
|
|
+"a8h9567351885752724891227938183011949129833673362440656643086021"
|
|
|
+"a9h3949463952247371907021798609437027705392171762931767523846748"
|
|
|
+"aah1846766940513200056812714526356082778577134275778960917363717"
|
|
|
+"abh8721468440901224953430146549585371050792279689258923542019956"
|
|
|
+"ach1121290219608640344181598136297747713099605187072113499999983"
|
|
|
+"adh7297804995105973173281609631859502445945534690830264252230825"
|
|
|
+"aeh3344685035261931188171010003137838752886587533208381420617177"
|
|
|
+"afh6691473035982534904287554687311595628638823537875937519577818"
|
|
|
+"b0h5778053217122680661300192787661119590921642019891415926535897"
|
|
|
+"b1h9323846264338327950288419716939937510582097494459230781640628"
|
|
|
+"b2h6208998628034825342117067982148086513282306647093844609550582"
|
|
|
+"b3h2317253594081284811174502841027019385211055596446229489549303"
|
|
|
+"b4h8196442881097566593344612847564823378678316527120190914564856"
|
|
|
+"b5h6923460348610454326648213393607260249141273724587006606315588"
|
|
|
+"b6h1748815209209628292540917153643678925903600113305305488204665"
|
|
|
+"b7h2138414695194151160943305727036575959195309218611738193261179"
|
|
|
+"b8h3105118548074462379962749567351885752724891227938183011949129"
|
|
|
+"b9h8336733624406566430860213949463952247371907021798609437027705"
|
|
|
+"bah3921717629317675238467481846766940513200056812714526356082778"
|
|
|
+"bbh5771342757789609173637178721468440901224953430146549585371050"
|
|
|
+"bch7922796892589235420199561121290219608640344181598136297747713"
|
|
|
+"bdh0996051870721134999999837297804995105973173281609631859502445"
|
|
|
+"beh9455346908302642522308253344685035261931188171010003137838752"
|
|
|
+"bfh8865875332083814206171776691473035982534904287554687311595628"
|
|
|
+"c0h6388235378759375195778185778053217122680661300192787661119590"
|
|
|
+"c1h9216420198914159265358979323846264338327950288419716939937510"
|
|
|
+"c2h5820974944592307816406286208998628034825342117067982148086513"
|
|
|
+"c3h2823066470938446095505822317253594081284811174502841027019385"
|
|
|
+"c4h2110555964462294895493038196442881097566593344612847564823378"
|
|
|
+"c5h6783165271201909145648566923460348610454326648213393607260249"
|
|
|
+"c6h1412737245870066063155881748815209209628292540917153643678925"
|
|
|
+"c7h9036001133053054882046652138414695194151160943305727036575959"
|
|
|
+"c8h1953092186117381932611793105118548074462379962749567351885752"
|
|
|
+"c9h7248912279381830119491298336733624406566430860213949463952247"
|
|
|
+"cah3719070217986094370277053921717629317675238467481846766940513"
|
|
|
+"cbh2000568127145263560827785771342757789609173637178721468440901"
|
|
|
+"cch2249534301465495853710507922796892589235420199561121290219608"
|
|
|
+"cdh6403441815981362977477130996051870721134999999837297804995105"
|
|
|
+"ceh9731732816096318595024459455346908302642522308253344685035261"
|
|
|
+"cfhxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
|
+"d0h6388235378759375195778185778053217122680661300192787661119590"
|
|
|
+"d1h9216420198914159265358979323846264338327950288419716939937510"
|
|
|
+"d2h5820974944592307816406286208998628034825342117067982148086513"
|
|
|
+"d3h2823066470938446095505822317253594081284811174502841027019385"
|
|
|
+"d4h2110555964462294895493038196442881097566593344612847564823378"
|
|
|
+"d5h6783165271201909145648566923460348610454326648213393607260249"
|
|
|
+"d6h1412737245870066063155881748815209209628292540917153643678925"
|
|
|
+"d7h9036001133053054882046652138414695194151160943305727036575959"
|
|
|
+"d8h1953092186117381932611793105118548074462379962749567351885752"
|
|
|
+"d9h7248912279381830119491298336733624406566430860213949463952247"
|
|
|
+"dah3719070217986094370277053921717629317675238467481846766940513"
|
|
|
+"dbh2000568127145263560827785771342757789609173637178721468440901"
|
|
|
+"dch2249534301465495853710507922796892589235420199561121290219608"
|
|
|
+"ddh6403441815981362977477130996051870721134999999837297804995105"
|
|
|
+"deh9731732816096318595024459455346908302642522308253344685035261"
|
|
|
+"dfhxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
|
+"e0h6388235378759375195778185778053217122680661300192787661119590"
|
|
|
+"e1h9216420198914159265358979323846264338327950288419716939937510"
|
|
|
+"e2h5820974944592307816406286208998628034825342117067982148086513"
|
|
|
+"e3h2823066470938446095505822317253594081284811174502841027019385"
|
|
|
+"e4h2110555964462294895493038196442881097566593344612847564823378"
|
|
|
+"e5h6783165271201909145648566923460348610454326648213393607260249"
|
|
|
+"e6h1412737245870066063155881748815209209628292540917153643678925"
|
|
|
+"e7h9036001133053054882046652138414695194151160943305727036575959"
|
|
|
+"e8h1953092186117381932611793105118548074462379962749567351885752"
|
|
|
+"e9h7248912279381830119491298336733624406566430860213949463952247"
|
|
|
+"eah3719070217986094370277053921717629317675238467481846766940513"
|
|
|
+"ebh2000568127145263560827785771342757789609173637178721468440901"
|
|
|
+"ech2249534301465495853710507922796892589235420199561121290219608"
|
|
|
+"edh6403441815981362977477130996051870721134999999837297804995105"
|
|
|
+"eeh9731732816096318595024459455346908302642522308253344685035261"
|
|
|
+"ffhxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
|
+"f0h6388235378759375195778185778053217122680661300192787661119590"
|
|
|
+"f1h9216420198914159265358979323846264338327950288419716939937510"
|
|
|
+"f2h5820974944592307816406286208998628034825342117067982148086513"
|
|
|
+"f3h2823066470938446095505822317253594081284811174502841027019385"
|
|
|
+"f4h2110555964462294895493038196442881097566593344612847564823378"
|
|
|
+"f5h6783165271201909145648566923460348610454326648213393607260249"
|
|
|
+"f6h1412737245870066063155881748815209209628292540917153643678925"
|
|
|
+"f7h9036001133053054882046652138414695194151160943305727036575959"
|
|
|
+"f8h1953092186117381932611793105118548074462379962749567351885752"
|
|
|
+"f9h7248912279381830119491298336733624406566430860213949463952247"
|
|
|
+"fah3719070217986094370277053921717629317675238467481846766940513"
|
|
|
+"fbh2000568127145263560827785771342757789609173637178721468440901"
|
|
|
+"fch2249534301465495853710507922796892589235420199561121290219608"
|
|
|
+"fdh6403441815981362977477130996051870721134999999837297804995105"
|
|
|
+"feh9731732816096318595024459455346908302642522308253344685035261"
|
|
|
+"ffh000000000000000000000000000000000000000000000000000000000000z"
|
|
|
+#endif
|
|
|
+"\x00";
|
|
|
+//"000000000000000000000000000000000000000000000000000000000000000z" "\x00";
|
|
|
+//"99999999999999999999999999999999999999999999999999999999999999z" "\x00";
|
|
|
+//"6666666666666666666666666666666666666666666666666666z" "\x00";
|
|
|
+//"888888888888888888888888888888888888888888888888888z" "\x00";
|
|
|
+ /*
|
|
|
+"4000000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"4100000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"4200000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"4300000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"4400000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"4500000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"4600000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"4700000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"4800000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"4900000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"4a00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"4b00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"4c00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"4d00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"4e00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"4f00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"5000000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"5100000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"5200000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"5300000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"5400000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"5500000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"5600000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"5700000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"5800000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"5900000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"5a00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"5b00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"5c00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"5d00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"5e00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"5f00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"6000000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"6100000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"6200000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"6300000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"6400000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"6500000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"6600000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"6700000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"6800000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"6900000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"6a00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"6b00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"6c00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"6d00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"6e00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"6f00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"7000000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"7100000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"7200000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"7300000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"7400000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"7500000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"7600000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"7700000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"7800000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"7900000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"7a00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"7b00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"7c00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"7d00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"7e00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"7f00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"8000000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"8100000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"8200000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"8300000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"8400000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"8500000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"8600000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"8700000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"8800000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"8900000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"8a00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"8b00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"8c00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"8d00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"8e00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"8f00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"9000000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"9100000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"9200000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"9300000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"9400000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"9500000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"9600000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"9700000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"9800000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"9900000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"9a00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"9b00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"9c00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"9d00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"9e00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"9f00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"a000000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"a100000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"a200000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"a300000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"a400000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"a500000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"a600000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"a700000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"a800000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"a900000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"aa00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"ab00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"ac00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"ad00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"ae00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"af00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"b000000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"b100000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"b200000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"b300000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"b400000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"b500000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"b600000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"b700000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"b800000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"b900000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"ba00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"bb00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"bc00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"bd00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"be00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"bf00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"c000000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"c100000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"c200000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"c300000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"c400000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"c500000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"c600000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"c700000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"c800000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"c900000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"ca00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"cb00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"cc00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"cd00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"ce00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"cf00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"d000000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"d100000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"d200000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"d300000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"d400000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"d500000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"d600000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"d700000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"d800000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"d900000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"da00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"db00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"dc00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"dd00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"de00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"df00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"e000000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"e100000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"e200000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"e300000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"e400000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"e500000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"e600000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"e700000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"e800000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"e900000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"ea00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"eb00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"ec00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"ed00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"ee00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"ef00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"f000000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"f100000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"f200000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"f300000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"f400000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"f500000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"f600000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"f700000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"f800000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"f900000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"fa00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"fb00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"fc00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"fd00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"fe00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+"ff00000000000000000000000000000000000000000000000000000000000000"
|
|
|
+*/
|
|
|
+//"40h93118817101000313783875288658753320838142061---z" "\x00";
|
|
|
+#endif
|