Showing error 1711

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: product-lines/email_spec11_product26_unsafe.cil.c
Line in file: 4370
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

   1extern int __VERIFIER_nondet_int(void);
   2/* Generated by CIL v. 1.3.7 */
   3/* print_CIL_Input is true */
   4
   5#line 2 "libacc.c"
   6struct JoinPoint {
   7   void **(*fp)(struct JoinPoint * ) ;
   8   void **args ;
   9   int argsCount ;
  10   char const   **argsType ;
  11   void *(*arg)(int  , struct JoinPoint * ) ;
  12   char const   *(*argType)(int  , struct JoinPoint * ) ;
  13   void **retValue ;
  14   char const   *retType ;
  15   char const   *funcName ;
  16   char const   *targetName ;
  17   char const   *fileName ;
  18   char const   *kind ;
  19   void *excep_return ;
  20};
  21#line 18 "libacc.c"
  22struct __UTAC__CFLOW_FUNC {
  23   int (*func)(int  , int  ) ;
  24   int val ;
  25   struct __UTAC__CFLOW_FUNC *next ;
  26};
  27#line 18 "libacc.c"
  28struct __UTAC__EXCEPTION {
  29   void *jumpbuf ;
  30   unsigned long long prtValue ;
  31   int pops ;
  32   struct __UTAC__CFLOW_FUNC *cflowfuncs ;
  33};
  34#line 211 "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h"
  35typedef unsigned long size_t;
  36#line 76 "libacc.c"
  37struct __ACC__ERR {
  38   void *v ;
  39   struct __ACC__ERR *next ;
  40};
  41#line 1 "EmailLib.o"
  42#pragma merger(0,"EmailLib.i","")
  43#line 4 "EmailLib.h"
  44int initEmail(void) ;
  45#line 6
  46int getEmailId(int handle ) ;
  47#line 8
  48void setEmailId(int handle , int value ) ;
  49#line 10
  50int getEmailFrom(int handle ) ;
  51#line 12
  52void setEmailFrom(int handle , int value ) ;
  53#line 14
  54int getEmailTo(int handle ) ;
  55#line 16
  56void setEmailTo(int handle , int value ) ;
  57#line 18
  58char *getEmailSubject(int handle ) ;
  59#line 20
  60void setEmailSubject(int handle , char *value ) ;
  61#line 22
  62char *getEmailBody(int handle ) ;
  63#line 24
  64void setEmailBody(int handle , char *value ) ;
  65#line 26
  66int isEncrypted(int handle ) ;
  67#line 28
  68void setEmailIsEncrypted(int handle , int value ) ;
  69#line 30
  70int getEmailEncryptionKey(int handle ) ;
  71#line 32
  72void setEmailEncryptionKey(int handle , int value ) ;
  73#line 34
  74int isSigned(int handle ) ;
  75#line 36
  76void setEmailIsSigned(int handle , int value ) ;
  77#line 38
  78int getEmailSignKey(int handle ) ;
  79#line 40
  80void setEmailSignKey(int handle , int value ) ;
  81#line 42
  82int isVerified(int handle ) ;
  83#line 44
  84void setEmailIsSignatureVerified(int handle , int value ) ;
  85#line 5 "EmailLib.c"
  86int __ste_Email_counter  =    0;
  87#line 7 "EmailLib.c"
  88int initEmail(void) 
  89{ int retValue_acc ;
  90
  91  {
  92#line 12 "EmailLib.c"
  93  if (__ste_Email_counter < 2) {
  94#line 670
  95    __ste_Email_counter = __ste_Email_counter + 1;
  96#line 670
  97    retValue_acc = __ste_Email_counter;
  98#line 672
  99    return (retValue_acc);
 100  } else {
 101#line 678 "EmailLib.c"
 102    retValue_acc = -1;
 103#line 680
 104    return (retValue_acc);
 105  }
 106#line 687 "EmailLib.c"
 107  return (retValue_acc);
 108}
 109}
 110#line 15 "EmailLib.c"
 111int __ste_email_id0  =    0;
 112#line 17 "EmailLib.c"
 113int __ste_email_id1  =    0;
 114#line 19 "EmailLib.c"
 115int getEmailId(int handle ) 
 116{ int retValue_acc ;
 117
 118  {
 119#line 26 "EmailLib.c"
 120  if (handle == 1) {
 121#line 716
 122    retValue_acc = __ste_email_id0;
 123#line 718
 124    return (retValue_acc);
 125  } else {
 126#line 720
 127    if (handle == 2) {
 128#line 725
 129      retValue_acc = __ste_email_id1;
 130#line 727
 131      return (retValue_acc);
 132    } else {
 133#line 733 "EmailLib.c"
 134      retValue_acc = 0;
 135#line 735
 136      return (retValue_acc);
 137    }
 138  }
 139#line 742 "EmailLib.c"
 140  return (retValue_acc);
 141}
 142}
 143#line 29 "EmailLib.c"
 144void setEmailId(int handle , int value ) 
 145{ 
 146
 147  {
 148#line 35
 149  if (handle == 1) {
 150#line 31
 151    __ste_email_id0 = value;
 152  } else {
 153#line 32
 154    if (handle == 2) {
 155#line 33
 156      __ste_email_id1 = value;
 157    } else {
 158
 159    }
 160  }
 161#line 773 "EmailLib.c"
 162  return;
 163}
 164}
 165#line 37 "EmailLib.c"
 166int __ste_email_from0  =    0;
 167#line 39 "EmailLib.c"
 168int __ste_email_from1  =    0;
 169#line 41 "EmailLib.c"
 170int getEmailFrom(int handle ) 
 171{ int retValue_acc ;
 172
 173  {
 174#line 48 "EmailLib.c"
 175  if (handle == 1) {
 176#line 798
 177    retValue_acc = __ste_email_from0;
 178#line 800
 179    return (retValue_acc);
 180  } else {
 181#line 802
 182    if (handle == 2) {
 183#line 807
 184      retValue_acc = __ste_email_from1;
 185#line 809
 186      return (retValue_acc);
 187    } else {
 188#line 815 "EmailLib.c"
 189      retValue_acc = 0;
 190#line 817
 191      return (retValue_acc);
 192    }
 193  }
 194#line 824 "EmailLib.c"
 195  return (retValue_acc);
 196}
 197}
 198#line 51 "EmailLib.c"
 199void setEmailFrom(int handle , int value ) 
 200{ 
 201
 202  {
 203#line 57
 204  if (handle == 1) {
 205#line 53
 206    __ste_email_from0 = value;
 207  } else {
 208#line 54
 209    if (handle == 2) {
 210#line 55
 211      __ste_email_from1 = value;
 212    } else {
 213
 214    }
 215  }
 216#line 855 "EmailLib.c"
 217  return;
 218}
 219}
 220#line 59 "EmailLib.c"
 221int __ste_email_to0  =    0;
 222#line 61 "EmailLib.c"
 223int __ste_email_to1  =    0;
 224#line 63 "EmailLib.c"
 225int getEmailTo(int handle ) 
 226{ int retValue_acc ;
 227
 228  {
 229#line 70 "EmailLib.c"
 230  if (handle == 1) {
 231#line 880
 232    retValue_acc = __ste_email_to0;
 233#line 882
 234    return (retValue_acc);
 235  } else {
 236#line 884
 237    if (handle == 2) {
 238#line 889
 239      retValue_acc = __ste_email_to1;
 240#line 891
 241      return (retValue_acc);
 242    } else {
 243#line 897 "EmailLib.c"
 244      retValue_acc = 0;
 245#line 899
 246      return (retValue_acc);
 247    }
 248  }
 249#line 906 "EmailLib.c"
 250  return (retValue_acc);
 251}
 252}
 253#line 73 "EmailLib.c"
 254void setEmailTo(int handle , int value ) 
 255{ 
 256
 257  {
 258#line 79
 259  if (handle == 1) {
 260#line 75
 261    __ste_email_to0 = value;
 262  } else {
 263#line 76
 264    if (handle == 2) {
 265#line 77
 266      __ste_email_to1 = value;
 267    } else {
 268
 269    }
 270  }
 271#line 937 "EmailLib.c"
 272  return;
 273}
 274}
 275#line 81 "EmailLib.c"
 276char *__ste_email_subject0  ;
 277#line 83 "EmailLib.c"
 278char *__ste_email_subject1  ;
 279#line 85 "EmailLib.c"
 280char *getEmailSubject(int handle ) 
 281{ char *retValue_acc ;
 282  void *__cil_tmp3 ;
 283
 284  {
 285#line 92 "EmailLib.c"
 286  if (handle == 1) {
 287#line 962
 288    retValue_acc = __ste_email_subject0;
 289#line 964
 290    return (retValue_acc);
 291  } else {
 292#line 966
 293    if (handle == 2) {
 294#line 971
 295      retValue_acc = __ste_email_subject1;
 296#line 973
 297      return (retValue_acc);
 298    } else {
 299#line 979 "EmailLib.c"
 300      __cil_tmp3 = (void *)0;
 301#line 979
 302      retValue_acc = (char *)__cil_tmp3;
 303#line 981
 304      return (retValue_acc);
 305    }
 306  }
 307#line 988 "EmailLib.c"
 308  return (retValue_acc);
 309}
 310}
 311#line 95 "EmailLib.c"
 312void setEmailSubject(int handle , char *value ) 
 313{ 
 314
 315  {
 316#line 101
 317  if (handle == 1) {
 318#line 97
 319    __ste_email_subject0 = value;
 320  } else {
 321#line 98
 322    if (handle == 2) {
 323#line 99
 324      __ste_email_subject1 = value;
 325    } else {
 326
 327    }
 328  }
 329#line 1019 "EmailLib.c"
 330  return;
 331}
 332}
 333#line 103 "EmailLib.c"
 334char *__ste_email_body0  =    (char *)0;
 335#line 105 "EmailLib.c"
 336char *__ste_email_body1  =    (char *)0;
 337#line 107 "EmailLib.c"
 338char *getEmailBody(int handle ) 
 339{ char *retValue_acc ;
 340  void *__cil_tmp3 ;
 341
 342  {
 343#line 114 "EmailLib.c"
 344  if (handle == 1) {
 345#line 1044
 346    retValue_acc = __ste_email_body0;
 347#line 1046
 348    return (retValue_acc);
 349  } else {
 350#line 1048
 351    if (handle == 2) {
 352#line 1053
 353      retValue_acc = __ste_email_body1;
 354#line 1055
 355      return (retValue_acc);
 356    } else {
 357#line 1061 "EmailLib.c"
 358      __cil_tmp3 = (void *)0;
 359#line 1061
 360      retValue_acc = (char *)__cil_tmp3;
 361#line 1063
 362      return (retValue_acc);
 363    }
 364  }
 365#line 1070 "EmailLib.c"
 366  return (retValue_acc);
 367}
 368}
 369#line 117 "EmailLib.c"
 370void setEmailBody(int handle , char *value ) 
 371{ 
 372
 373  {
 374#line 123
 375  if (handle == 1) {
 376#line 119
 377    __ste_email_body0 = value;
 378  } else {
 379#line 120
 380    if (handle == 2) {
 381#line 121
 382      __ste_email_body1 = value;
 383    } else {
 384
 385    }
 386  }
 387#line 1101 "EmailLib.c"
 388  return;
 389}
 390}
 391#line 125 "EmailLib.c"
 392int __ste_email_isEncrypted0  =    0;
 393#line 127 "EmailLib.c"
 394int __ste_email_isEncrypted1  =    0;
 395#line 129 "EmailLib.c"
 396int isEncrypted(int handle ) 
 397{ int retValue_acc ;
 398
 399  {
 400#line 136 "EmailLib.c"
 401  if (handle == 1) {
 402#line 1126
 403    retValue_acc = __ste_email_isEncrypted0;
 404#line 1128
 405    return (retValue_acc);
 406  } else {
 407#line 1130
 408    if (handle == 2) {
 409#line 1135
 410      retValue_acc = __ste_email_isEncrypted1;
 411#line 1137
 412      return (retValue_acc);
 413    } else {
 414#line 1143 "EmailLib.c"
 415      retValue_acc = 0;
 416#line 1145
 417      return (retValue_acc);
 418    }
 419  }
 420#line 1152 "EmailLib.c"
 421  return (retValue_acc);
 422}
 423}
 424#line 139 "EmailLib.c"
 425void setEmailIsEncrypted(int handle , int value ) 
 426{ 
 427
 428  {
 429#line 145
 430  if (handle == 1) {
 431#line 141
 432    __ste_email_isEncrypted0 = value;
 433  } else {
 434#line 142
 435    if (handle == 2) {
 436#line 143
 437      __ste_email_isEncrypted1 = value;
 438    } else {
 439
 440    }
 441  }
 442#line 1183 "EmailLib.c"
 443  return;
 444}
 445}
 446#line 147 "EmailLib.c"
 447int __ste_email_encryptionKey0  =    0;
 448#line 149 "EmailLib.c"
 449int __ste_email_encryptionKey1  =    0;
 450#line 151 "EmailLib.c"
 451int getEmailEncryptionKey(int handle ) 
 452{ int retValue_acc ;
 453
 454  {
 455#line 158 "EmailLib.c"
 456  if (handle == 1) {
 457#line 1208
 458    retValue_acc = __ste_email_encryptionKey0;
 459#line 1210
 460    return (retValue_acc);
 461  } else {
 462#line 1212
 463    if (handle == 2) {
 464#line 1217
 465      retValue_acc = __ste_email_encryptionKey1;
 466#line 1219
 467      return (retValue_acc);
 468    } else {
 469#line 1225 "EmailLib.c"
 470      retValue_acc = 0;
 471#line 1227
 472      return (retValue_acc);
 473    }
 474  }
 475#line 1234 "EmailLib.c"
 476  return (retValue_acc);
 477}
 478}
 479#line 161 "EmailLib.c"
 480void setEmailEncryptionKey(int handle , int value ) 
 481{ 
 482
 483  {
 484#line 167
 485  if (handle == 1) {
 486#line 163
 487    __ste_email_encryptionKey0 = value;
 488  } else {
 489#line 164
 490    if (handle == 2) {
 491#line 165
 492      __ste_email_encryptionKey1 = value;
 493    } else {
 494
 495    }
 496  }
 497#line 1265 "EmailLib.c"
 498  return;
 499}
 500}
 501#line 169 "EmailLib.c"
 502int __ste_email_isSigned0  =    0;
 503#line 171 "EmailLib.c"
 504int __ste_email_isSigned1  =    0;
 505#line 173 "EmailLib.c"
 506int isSigned(int handle ) 
 507{ int retValue_acc ;
 508
 509  {
 510#line 180 "EmailLib.c"
 511  if (handle == 1) {
 512#line 1290
 513    retValue_acc = __ste_email_isSigned0;
 514#line 1292
 515    return (retValue_acc);
 516  } else {
 517#line 1294
 518    if (handle == 2) {
 519#line 1299
 520      retValue_acc = __ste_email_isSigned1;
 521#line 1301
 522      return (retValue_acc);
 523    } else {
 524#line 1307 "EmailLib.c"
 525      retValue_acc = 0;
 526#line 1309
 527      return (retValue_acc);
 528    }
 529  }
 530#line 1316 "EmailLib.c"
 531  return (retValue_acc);
 532}
 533}
 534#line 183 "EmailLib.c"
 535void setEmailIsSigned(int handle , int value ) 
 536{ 
 537
 538  {
 539#line 189
 540  if (handle == 1) {
 541#line 185
 542    __ste_email_isSigned0 = value;
 543  } else {
 544#line 186
 545    if (handle == 2) {
 546#line 187
 547      __ste_email_isSigned1 = value;
 548    } else {
 549
 550    }
 551  }
 552#line 1347 "EmailLib.c"
 553  return;
 554}
 555}
 556#line 191 "EmailLib.c"
 557int __ste_email_signKey0  =    0;
 558#line 193 "EmailLib.c"
 559int __ste_email_signKey1  =    0;
 560#line 195 "EmailLib.c"
 561int getEmailSignKey(int handle ) 
 562{ int retValue_acc ;
 563
 564  {
 565#line 202 "EmailLib.c"
 566  if (handle == 1) {
 567#line 1372
 568    retValue_acc = __ste_email_signKey0;
 569#line 1374
 570    return (retValue_acc);
 571  } else {
 572#line 1376
 573    if (handle == 2) {
 574#line 1381
 575      retValue_acc = __ste_email_signKey1;
 576#line 1383
 577      return (retValue_acc);
 578    } else {
 579#line 1389 "EmailLib.c"
 580      retValue_acc = 0;
 581#line 1391
 582      return (retValue_acc);
 583    }
 584  }
 585#line 1398 "EmailLib.c"
 586  return (retValue_acc);
 587}
 588}
 589#line 205 "EmailLib.c"
 590void setEmailSignKey(int handle , int value ) 
 591{ 
 592
 593  {
 594#line 211
 595  if (handle == 1) {
 596#line 207
 597    __ste_email_signKey0 = value;
 598  } else {
 599#line 208
 600    if (handle == 2) {
 601#line 209
 602      __ste_email_signKey1 = value;
 603    } else {
 604
 605    }
 606  }
 607#line 1429 "EmailLib.c"
 608  return;
 609}
 610}
 611#line 213 "EmailLib.c"
 612int __ste_email_isSignatureVerified0  ;
 613#line 215 "EmailLib.c"
 614int __ste_email_isSignatureVerified1  ;
 615#line 217 "EmailLib.c"
 616int isVerified(int handle ) 
 617{ int retValue_acc ;
 618
 619  {
 620#line 224 "EmailLib.c"
 621  if (handle == 1) {
 622#line 1454
 623    retValue_acc = __ste_email_isSignatureVerified0;
 624#line 1456
 625    return (retValue_acc);
 626  } else {
 627#line 1458
 628    if (handle == 2) {
 629#line 1463
 630      retValue_acc = __ste_email_isSignatureVerified1;
 631#line 1465
 632      return (retValue_acc);
 633    } else {
 634#line 1471 "EmailLib.c"
 635      retValue_acc = 0;
 636#line 1473
 637      return (retValue_acc);
 638    }
 639  }
 640#line 1480 "EmailLib.c"
 641  return (retValue_acc);
 642}
 643}
 644#line 227 "EmailLib.c"
 645void setEmailIsSignatureVerified(int handle , int value ) 
 646{ 
 647
 648  {
 649#line 233
 650  if (handle == 1) {
 651#line 229
 652    __ste_email_isSignatureVerified0 = value;
 653  } else {
 654#line 230
 655    if (handle == 2) {
 656#line 231
 657      __ste_email_isSignatureVerified1 = value;
 658    } else {
 659
 660    }
 661  }
 662#line 1511 "EmailLib.c"
 663  return;
 664}
 665}
 666#line 1 "Email.o"
 667#pragma merger(0,"Email.i","")
 668#line 359 "/usr/include/stdio.h"
 669extern int printf(char const   * __restrict  __format  , ...) ;
 670#line 8 "featureselect.h"
 671int __SELECTED_FEATURE_Base  ;
 672#line 11 "featureselect.h"
 673int __SELECTED_FEATURE_Keys  ;
 674#line 14 "featureselect.h"
 675int __SELECTED_FEATURE_Encrypt  ;
 676#line 17 "featureselect.h"
 677int __SELECTED_FEATURE_AutoResponder  ;
 678#line 20 "featureselect.h"
 679int __SELECTED_FEATURE_AddressBook  ;
 680#line 23 "featureselect.h"
 681int __SELECTED_FEATURE_Sign  ;
 682#line 26 "featureselect.h"
 683int __SELECTED_FEATURE_Forward  ;
 684#line 29 "featureselect.h"
 685int __SELECTED_FEATURE_Verify  ;
 686#line 32 "featureselect.h"
 687int __SELECTED_FEATURE_Decrypt  ;
 688#line 35 "featureselect.h"
 689int __GUIDSL_ROOT_PRODUCTION  ;
 690#line 37 "featureselect.h"
 691int __GUIDSL_NON_TERMINAL_main  ;
 692#line 6 "Email.h"
 693void printMail(int msg ) ;
 694#line 9
 695int isReadable(int msg ) ;
 696#line 12
 697int createEmail(int from , int to ) ;
 698#line 15
 699int cloneEmail(int msg ) ;
 700#line 9 "Email.c"
 701void printMail__wrappee__Keys(int msg ) 
 702{ int tmp ;
 703  int tmp___0 ;
 704  int tmp___1 ;
 705  int tmp___2 ;
 706  char const   * __restrict  __cil_tmp6 ;
 707  char const   * __restrict  __cil_tmp7 ;
 708  char const   * __restrict  __cil_tmp8 ;
 709  char const   * __restrict  __cil_tmp9 ;
 710
 711  {
 712  {
 713#line 10
 714  tmp = getEmailId(msg);
 715#line 10
 716  __cil_tmp6 = (char const   * __restrict  )"ID:\n  %i\n";
 717#line 10
 718  printf(__cil_tmp6, tmp);
 719#line 11
 720  tmp___0 = getEmailFrom(msg);
 721#line 11
 722  __cil_tmp7 = (char const   * __restrict  )"FROM:\n  %i\n";
 723#line 11
 724  printf(__cil_tmp7, tmp___0);
 725#line 12
 726  tmp___1 = getEmailTo(msg);
 727#line 12
 728  __cil_tmp8 = (char const   * __restrict  )"TO:\n  %i\n";
 729#line 12
 730  printf(__cil_tmp8, tmp___1);
 731#line 13
 732  tmp___2 = isReadable(msg);
 733#line 13
 734  __cil_tmp9 = (char const   * __restrict  )"IS_READABLE\n  %i\n";
 735#line 13
 736  printf(__cil_tmp9, tmp___2);
 737  }
 738#line 601 "Email.c"
 739  return;
 740}
 741}
 742#line 17 "Email.c"
 743void printMail(int msg ) 
 744{ int tmp ;
 745  int tmp___0 ;
 746  char const   * __restrict  __cil_tmp4 ;
 747  char const   * __restrict  __cil_tmp5 ;
 748
 749  {
 750  {
 751#line 18
 752  printMail__wrappee__Keys(msg);
 753#line 19
 754  tmp = isEncrypted(msg);
 755#line 19
 756  __cil_tmp4 = (char const   * __restrict  )"ENCRYPTED\n  %d\n";
 757#line 19
 758  printf(__cil_tmp4, tmp);
 759#line 20
 760  tmp___0 = getEmailEncryptionKey(msg);
 761#line 20
 762  __cil_tmp5 = (char const   * __restrict  )"ENCRYPTION KEY\n  %d\n";
 763#line 20
 764  printf(__cil_tmp5, tmp___0);
 765  }
 766#line 625 "Email.c"
 767  return;
 768}
 769}
 770#line 26 "Email.c"
 771int isReadable__wrappee__Keys(int msg ) 
 772{ int retValue_acc ;
 773
 774  {
 775#line 643 "Email.c"
 776  retValue_acc = 1;
 777#line 645
 778  return (retValue_acc);
 779#line 652
 780  return (retValue_acc);
 781}
 782}
 783#line 34 "Email.c"
 784int isReadable(int msg ) 
 785{ int retValue_acc ;
 786  int tmp ;
 787
 788  {
 789  {
 790#line 38
 791  tmp = isEncrypted(msg);
 792  }
 793#line 38 "Email.c"
 794  if (tmp) {
 795#line 681
 796    retValue_acc = 0;
 797#line 683
 798    return (retValue_acc);
 799  } else {
 800    {
 801#line 675 "Email.c"
 802    retValue_acc = isReadable__wrappee__Keys(msg);
 803    }
 804#line 677
 805    return (retValue_acc);
 806  }
 807#line 690 "Email.c"
 808  return (retValue_acc);
 809}
 810}
 811#line 42 "Email.c"
 812int cloneEmail(int msg ) 
 813{ int retValue_acc ;
 814
 815  {
 816#line 712 "Email.c"
 817  retValue_acc = msg;
 818#line 714
 819  return (retValue_acc);
 820#line 721
 821  return (retValue_acc);
 822}
 823}
 824#line 47 "Email.c"
 825int createEmail(int from , int to ) 
 826{ int retValue_acc ;
 827  int msg ;
 828
 829  {
 830  {
 831#line 48
 832  msg = 1;
 833#line 49
 834  setEmailFrom(msg, from);
 835#line 50
 836  setEmailTo(msg, to);
 837#line 751 "Email.c"
 838  retValue_acc = msg;
 839  }
 840#line 753
 841  return (retValue_acc);
 842#line 760
 843  return (retValue_acc);
 844}
 845}
 846#line 1 "featureselect.o"
 847#pragma merger(0,"featureselect.i","")
 848#line 41 "featureselect.h"
 849int select_one(void) ;
 850#line 43
 851void select_features(void) ;
 852#line 45
 853void select_helpers(void) ;
 854#line 47
 855int valid_product(void) ;
 856#line 8 "featureselect.c"
 857int select_one(void) 
 858{ int retValue_acc ;
 859  int choice = __VERIFIER_nondet_int();
 860
 861  {
 862#line 84 "featureselect.c"
 863  retValue_acc = choice;
 864#line 86
 865  return (retValue_acc);
 866#line 93
 867  return (retValue_acc);
 868}
 869}
 870#line 14 "featureselect.c"
 871void select_features(void) 
 872{ 
 873
 874  {
 875#line 115 "featureselect.c"
 876  return;
 877}
 878}
 879#line 20 "featureselect.c"
 880void select_helpers(void) 
 881{ 
 882
 883  {
 884#line 133 "featureselect.c"
 885  return;
 886}
 887}
 888#line 25 "featureselect.c"
 889int valid_product(void) 
 890{ int retValue_acc ;
 891
 892  {
 893#line 151 "featureselect.c"
 894  retValue_acc = 1;
 895#line 153
 896  return (retValue_acc);
 897#line 160
 898  return (retValue_acc);
 899}
 900}
 901#line 1 "DecryptAutoResponder_spec.o"
 902#pragma merger(0,"DecryptAutoResponder_spec.i","")
 903#line 4 "wsllib.h"
 904void __automaton_fail(void) ;
 905#line 688 "/usr/include/stdio.h"
 906extern int puts(char const   *__s ) ;
 907#line 11 "DecryptAutoResponder_spec.c"
 908__inline void __utac_acc__DecryptAutoResponder_spec__1(int client , int msg ) 
 909{ int tmp ;
 910
 911  {
 912  {
 913#line 13
 914  puts("before autoRespond\n");
 915#line 14
 916  tmp = isReadable(msg);
 917  }
 918#line 14
 919  if (tmp) {
 920
 921  } else {
 922    {
 923#line 15
 924    __automaton_fail();
 925    }
 926  }
 927#line 15
 928  return;
 929}
 930}
 931#line 1 "Test.o"
 932#pragma merger(0,"Test.i","")
 933#line 16 "ClientLib.h"
 934void setClientAddressBookSize(int handle , int value ) ;
 935#line 22
 936void setClientAddressBookAlias(int handle , int index , int value ) ;
 937#line 26
 938void setClientAddressBookAddress(int handle , int index , int value ) ;
 939#line 31
 940void setClientAutoResponse(int handle , int value ) ;
 941#line 35
 942void setClientPrivateKey(int handle , int value ) ;
 943#line 39
 944int createClientKeyringEntry(int handle ) ;
 945#line 41
 946int getClientKeyringUser(int handle , int index ) ;
 947#line 43
 948void setClientKeyringUser(int handle , int index , int value ) ;
 949#line 45
 950int getClientKeyringPublicKey(int handle , int index ) ;
 951#line 47
 952void setClientKeyringPublicKey(int handle , int index , int value ) ;
 953#line 51
 954void setClientForwardReceiver(int handle , int value ) ;
 955#line 55
 956void setClientId(int handle , int value ) ;
 957#line 17 "Client.h"
 958int is_queue_empty(void) ;
 959#line 19
 960int get_queued_client(void) ;
 961#line 21
 962int get_queued_email(void) ;
 963#line 26
 964void outgoing(int client , int msg ) ;
 965#line 35
 966void sendEmail(int sender , int receiver ) ;
 967#line 44
 968void generateKeyPair(int client , int seed ) ;
 969#line 2 "Test.h"
 970int bob  ;
 971#line 5 "Test.h"
 972int rjh  ;
 973#line 8 "Test.h"
 974int chuck  ;
 975#line 11
 976void setup_bob(int bob___0 ) ;
 977#line 14
 978void setup_rjh(int rjh___0 ) ;
 979#line 17
 980void setup_chuck(int chuck___0 ) ;
 981#line 23
 982void bobToRjh(void) ;
 983#line 26
 984void rjhToBob(void) ;
 985#line 29
 986void test(void) ;
 987#line 32
 988void setup(void) ;
 989#line 35
 990int main(void) ;
 991#line 36
 992void bobKeyAdd(void) ;
 993#line 39
 994void bobKeyAddChuck(void) ;
 995#line 42
 996void rjhKeyAdd(void) ;
 997#line 45
 998void rjhKeyAddChuck(void) ;
 999#line 48
1000void chuckKeyAdd(void) ;
1001#line 51
1002void bobKeyChange(void) ;
1003#line 54
1004void rjhKeyChange(void) ;
1005#line 57
1006void rjhDeletePrivateKey(void) ;
1007#line 60
1008void chuckKeyAddRjh(void) ;
1009#line 61
1010void rjhSetAutoRespond(void) ;
1011#line 63
1012void bobSetAddressBook(void) ;
1013#line 64
1014void rjhEnableForwarding(void) ;
1015#line 18 "Test.c"
1016void setup_bob__wrappee__Base(int bob___0 ) 
1017{ 
1018
1019  {
1020  {
1021#line 19
1022  setClientId(bob___0, bob___0);
1023  }
1024#line 1334 "Test.c"
1025  return;
1026}
1027}
1028#line 23 "Test.c"
1029void setup_bob(int bob___0 ) 
1030{ 
1031
1032  {
1033  {
1034#line 24
1035  setup_bob__wrappee__Base(bob___0);
1036#line 25
1037  setClientPrivateKey(bob___0, 123);
1038  }
1039#line 1356 "Test.c"
1040  return;
1041}
1042}
1043#line 33 "Test.c"
1044void setup_rjh__wrappee__Base(int rjh___0 ) 
1045{ 
1046
1047  {
1048  {
1049#line 34
1050  setClientId(rjh___0, rjh___0);
1051  }
1052#line 1376 "Test.c"
1053  return;
1054}
1055}
1056#line 40 "Test.c"
1057void setup_rjh(int rjh___0 ) 
1058{ 
1059
1060  {
1061  {
1062#line 42
1063  setup_rjh__wrappee__Base(rjh___0);
1064#line 43
1065  setClientPrivateKey(rjh___0, 456);
1066  }
1067#line 1398 "Test.c"
1068  return;
1069}
1070}
1071#line 50 "Test.c"
1072void setup_chuck__wrappee__Base(int chuck___0 ) 
1073{ 
1074
1075  {
1076  {
1077#line 51
1078  setClientId(chuck___0, chuck___0);
1079  }
1080#line 1418 "Test.c"
1081  return;
1082}
1083}
1084#line 57 "Test.c"
1085void setup_chuck(int chuck___0 ) 
1086{ 
1087
1088  {
1089  {
1090#line 58
1091  setup_chuck__wrappee__Base(chuck___0);
1092#line 59
1093  setClientPrivateKey(chuck___0, 789);
1094  }
1095#line 1440 "Test.c"
1096  return;
1097}
1098}
1099#line 69 "Test.c"
1100void bobToRjh(void) 
1101{ int tmp ;
1102  int tmp___0 ;
1103  int tmp___1 ;
1104
1105  {
1106  {
1107#line 71
1108  puts("Please enter a subject and a message body.\n");
1109#line 72
1110  sendEmail(bob, rjh);
1111#line 73
1112  tmp___1 = is_queue_empty();
1113  }
1114#line 73
1115  if (tmp___1) {
1116
1117  } else {
1118    {
1119#line 74
1120    tmp = get_queued_email();
1121#line 74
1122    tmp___0 = get_queued_client();
1123#line 74
1124    outgoing(tmp___0, tmp);
1125    }
1126  }
1127#line 1467 "Test.c"
1128  return;
1129}
1130}
1131#line 81 "Test.c"
1132void rjhToBob(void) 
1133{ 
1134
1135  {
1136  {
1137#line 83
1138  puts("Please enter a subject and a message body.\n");
1139#line 84
1140  sendEmail(rjh, bob);
1141  }
1142#line 1489 "Test.c"
1143  return;
1144}
1145}
1146#line 88 "Test.c"
1147#line 95 "Test.c"
1148void setup(void) 
1149{ char const   * __restrict  __cil_tmp1 ;
1150  char const   * __restrict  __cil_tmp2 ;
1151  char const   * __restrict  __cil_tmp3 ;
1152
1153  {
1154  {
1155#line 96
1156  bob = 1;
1157#line 97
1158  setup_bob(bob);
1159#line 98
1160  __cil_tmp1 = (char const   * __restrict  )"bob: %d\n";
1161#line 98
1162  printf(__cil_tmp1, bob);
1163#line 100
1164  rjh = 2;
1165#line 101
1166  setup_rjh(rjh);
1167#line 102
1168  __cil_tmp2 = (char const   * __restrict  )"rjh: %d\n";
1169#line 102
1170  printf(__cil_tmp2, rjh);
1171#line 104
1172  chuck = 3;
1173#line 105
1174  setup_chuck(chuck);
1175#line 106
1176  __cil_tmp3 = (char const   * __restrict  )"chuck: %d\n";
1177#line 106
1178  printf(__cil_tmp3, chuck);
1179  }
1180#line 1560 "Test.c"
1181  return;
1182}
1183}
1184#line 112 "Test.c"
1185int main(void) 
1186{ int retValue_acc ;
1187  int tmp ;
1188
1189  {
1190  {
1191#line 113
1192  select_helpers();
1193#line 114
1194  select_features();
1195#line 115
1196  tmp = valid_product();
1197  }
1198#line 115
1199  if (tmp) {
1200    {
1201#line 116
1202    setup();
1203#line 117
1204    test();
1205    }
1206  } else {
1207
1208  }
1209#line 1591 "Test.c"
1210  return (retValue_acc);
1211}
1212}
1213#line 125 "Test.c"
1214void bobKeyAdd(void) 
1215{ int tmp ;
1216  int tmp___0 ;
1217  char const   * __restrict  __cil_tmp3 ;
1218  char const   * __restrict  __cil_tmp4 ;
1219
1220  {
1221  {
1222#line 126
1223  createClientKeyringEntry(bob);
1224#line 127
1225  setClientKeyringUser(bob, 0, 2);
1226#line 128
1227  setClientKeyringPublicKey(bob, 0, 456);
1228#line 129
1229  puts("bob added rjhs key");
1230#line 130
1231  tmp = getClientKeyringUser(bob, 0);
1232#line 130
1233  __cil_tmp3 = (char const   * __restrict  )"%d\n";
1234#line 130
1235  printf(__cil_tmp3, tmp);
1236#line 131
1237  tmp___0 = getClientKeyringPublicKey(bob, 0);
1238#line 131
1239  __cil_tmp4 = (char const   * __restrict  )"%d\n";
1240#line 131
1241  printf(__cil_tmp4, tmp___0);
1242  }
1243#line 1625 "Test.c"
1244  return;
1245}
1246}
1247#line 137 "Test.c"
1248void rjhKeyAdd(void) 
1249{ 
1250
1251  {
1252  {
1253#line 138
1254  createClientKeyringEntry(rjh);
1255#line 139
1256  setClientKeyringUser(rjh, 0, 1);
1257#line 140
1258  setClientKeyringPublicKey(rjh, 0, 123);
1259  }
1260#line 1649 "Test.c"
1261  return;
1262}
1263}
1264#line 146 "Test.c"
1265void rjhKeyAddChuck(void) 
1266{ 
1267
1268  {
1269  {
1270#line 147
1271  createClientKeyringEntry(rjh);
1272#line 148
1273  setClientKeyringUser(rjh, 0, 3);
1274#line 149
1275  setClientKeyringPublicKey(rjh, 0, 789);
1276  }
1277#line 1673 "Test.c"
1278  return;
1279}
1280}
1281#line 156 "Test.c"
1282void bobKeyAddChuck(void) 
1283{ 
1284
1285  {
1286  {
1287#line 157
1288  createClientKeyringEntry(bob);
1289#line 158
1290  setClientKeyringUser(bob, 1, 3);
1291#line 159
1292  setClientKeyringPublicKey(bob, 1, 789);
1293  }
1294#line 1697 "Test.c"
1295  return;
1296}
1297}
1298#line 165 "Test.c"
1299void chuckKeyAdd(void) 
1300{ 
1301
1302  {
1303  {
1304#line 166
1305  createClientKeyringEntry(chuck);
1306#line 167
1307  setClientKeyringUser(chuck, 0, 1);
1308#line 168
1309  setClientKeyringPublicKey(chuck, 0, 123);
1310  }
1311#line 1721 "Test.c"
1312  return;
1313}
1314}
1315#line 174 "Test.c"
1316void chuckKeyAddRjh(void) 
1317{ 
1318
1319  {
1320  {
1321#line 175
1322  createClientKeyringEntry(chuck);
1323#line 176
1324  setClientKeyringUser(chuck, 0, 2);
1325#line 177
1326  setClientKeyringPublicKey(chuck, 0, 456);
1327  }
1328#line 1745 "Test.c"
1329  return;
1330}
1331}
1332#line 183 "Test.c"
1333void rjhDeletePrivateKey(void) 
1334{ 
1335
1336  {
1337  {
1338#line 184
1339  setClientPrivateKey(rjh, 0);
1340  }
1341#line 1765 "Test.c"
1342  return;
1343}
1344}
1345#line 190 "Test.c"
1346void bobKeyChange(void) 
1347{ 
1348
1349  {
1350  {
1351#line 191
1352  generateKeyPair(bob, 777);
1353  }
1354#line 1785 "Test.c"
1355  return;
1356}
1357}
1358#line 197 "Test.c"
1359void rjhKeyChange(void) 
1360{ 
1361
1362  {
1363  {
1364#line 198
1365  generateKeyPair(rjh, 666);
1366  }
1367#line 1805 "Test.c"
1368  return;
1369}
1370}
1371#line 204 "Test.c"
1372void rjhSetAutoRespond(void) 
1373{ 
1374
1375  {
1376  {
1377#line 205
1378  setClientAutoResponse(rjh, 1);
1379  }
1380#line 1825 "Test.c"
1381  return;
1382}
1383}
1384#line 210 "Test.c"
1385void bobSetAddressBook(void) 
1386{ 
1387
1388  {
1389  {
1390#line 211
1391  setClientAddressBookSize(bob, 1);
1392#line 212
1393  setClientAddressBookAlias(bob, 0, rjh);
1394#line 213
1395  setClientAddressBookAddress(bob, 0, rjh);
1396#line 214
1397  setClientAddressBookAddress(bob, 1, chuck);
1398  }
1399#line 1851 "Test.c"
1400  return;
1401}
1402}
1403#line 220 "Test.c"
1404void rjhEnableForwarding(void) 
1405{ 
1406
1407  {
1408  {
1409#line 221
1410  setClientForwardReceiver(rjh, chuck);
1411  }
1412#line 1871 "Test.c"
1413  return;
1414}
1415}
1416#line 1 "libacc.o"
1417#pragma merger(0,"libacc.i","")
1418#line 73 "/usr/include/assert.h"
1419extern  __attribute__((__nothrow__, __noreturn__)) void __assert_fail(char const   *__assertion ,
1420                                                                      char const   *__file ,
1421                                                                      unsigned int __line ,
1422                                                                      char const   *__function ) ;
1423#line 471 "/usr/include/stdlib.h"
1424extern  __attribute__((__nothrow__)) void *malloc(size_t __size )  __attribute__((__malloc__)) ;
1425#line 488
1426extern  __attribute__((__nothrow__)) void free(void *__ptr ) ;
1427#line 32 "libacc.c"
1428void __utac__exception__cf_handler_set(void *exception , int (*cflow_func)(int  ,
1429                                                                           int  ) ,
1430                                       int val ) 
1431{ struct __UTAC__EXCEPTION *excep ;
1432  struct __UTAC__CFLOW_FUNC *cf ;
1433  void *tmp ;
1434  unsigned long __cil_tmp7 ;
1435  unsigned long __cil_tmp8 ;
1436  unsigned long __cil_tmp9 ;
1437  unsigned long __cil_tmp10 ;
1438  unsigned long __cil_tmp11 ;
1439  unsigned long __cil_tmp12 ;
1440  unsigned long __cil_tmp13 ;
1441  unsigned long __cil_tmp14 ;
1442  int (**mem_15)(int  , int  ) ;
1443  int *mem_16 ;
1444  struct __UTAC__CFLOW_FUNC **mem_17 ;
1445  struct __UTAC__CFLOW_FUNC **mem_18 ;
1446  struct __UTAC__CFLOW_FUNC **mem_19 ;
1447
1448  {
1449  {
1450#line 33
1451  excep = (struct __UTAC__EXCEPTION *)exception;
1452#line 34
1453  tmp = malloc(24UL);
1454#line 34
1455  cf = (struct __UTAC__CFLOW_FUNC *)tmp;
1456#line 36
1457  mem_15 = (int (**)(int  , int  ))cf;
1458#line 36
1459  *mem_15 = cflow_func;
1460#line 37
1461  __cil_tmp7 = (unsigned long )cf;
1462#line 37
1463  __cil_tmp8 = __cil_tmp7 + 8;
1464#line 37
1465  mem_16 = (int *)__cil_tmp8;
1466#line 37
1467  *mem_16 = val;
1468#line 38
1469  __cil_tmp9 = (unsigned long )cf;
1470#line 38
1471  __cil_tmp10 = __cil_tmp9 + 16;
1472#line 38
1473  __cil_tmp11 = (unsigned long )excep;
1474#line 38
1475  __cil_tmp12 = __cil_tmp11 + 24;
1476#line 38
1477  mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp10;
1478#line 38
1479  mem_18 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp12;
1480#line 38
1481  *mem_17 = *mem_18;
1482#line 39
1483  __cil_tmp13 = (unsigned long )excep;
1484#line 39
1485  __cil_tmp14 = __cil_tmp13 + 24;
1486#line 39
1487  mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14;
1488#line 39
1489  *mem_19 = cf;
1490  }
1491#line 654 "libacc.c"
1492  return;
1493}
1494}
1495#line 44 "libacc.c"
1496void __utac__exception__cf_handler_free(void *exception ) 
1497{ struct __UTAC__EXCEPTION *excep ;
1498  struct __UTAC__CFLOW_FUNC *cf ;
1499  struct __UTAC__CFLOW_FUNC *tmp ;
1500  unsigned long __cil_tmp5 ;
1501  unsigned long __cil_tmp6 ;
1502  struct __UTAC__CFLOW_FUNC *__cil_tmp7 ;
1503  unsigned long __cil_tmp8 ;
1504  unsigned long __cil_tmp9 ;
1505  unsigned long __cil_tmp10 ;
1506  unsigned long __cil_tmp11 ;
1507  void *__cil_tmp12 ;
1508  unsigned long __cil_tmp13 ;
1509  unsigned long __cil_tmp14 ;
1510  struct __UTAC__CFLOW_FUNC **mem_15 ;
1511  struct __UTAC__CFLOW_FUNC **mem_16 ;
1512  struct __UTAC__CFLOW_FUNC **mem_17 ;
1513
1514  {
1515#line 45
1516  excep = (struct __UTAC__EXCEPTION *)exception;
1517#line 46
1518  __cil_tmp5 = (unsigned long )excep;
1519#line 46
1520  __cil_tmp6 = __cil_tmp5 + 24;
1521#line 46
1522  mem_15 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6;
1523#line 46
1524  cf = *mem_15;
1525  {
1526#line 49
1527  while (1) {
1528    while_0_continue: /* CIL Label */ ;
1529    {
1530#line 49
1531    __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0;
1532#line 49
1533    __cil_tmp8 = (unsigned long )__cil_tmp7;
1534#line 49
1535    __cil_tmp9 = (unsigned long )cf;
1536#line 49
1537    if (__cil_tmp9 != __cil_tmp8) {
1538
1539    } else {
1540      goto while_0_break;
1541    }
1542    }
1543    {
1544#line 50
1545    tmp = cf;
1546#line 51
1547    __cil_tmp10 = (unsigned long )cf;
1548#line 51
1549    __cil_tmp11 = __cil_tmp10 + 16;
1550#line 51
1551    mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp11;
1552#line 51
1553    cf = *mem_16;
1554#line 52
1555    __cil_tmp12 = (void *)tmp;
1556#line 52
1557    free(__cil_tmp12);
1558    }
1559  }
1560  while_0_break: /* CIL Label */ ;
1561  }
1562#line 55
1563  __cil_tmp13 = (unsigned long )excep;
1564#line 55
1565  __cil_tmp14 = __cil_tmp13 + 24;
1566#line 55
1567  mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14;
1568#line 55
1569  *mem_17 = (struct __UTAC__CFLOW_FUNC *)0;
1570#line 694 "libacc.c"
1571  return;
1572}
1573}
1574#line 59 "libacc.c"
1575void __utac__exception__cf_handler_reset(void *exception ) 
1576{ struct __UTAC__EXCEPTION *excep ;
1577  struct __UTAC__CFLOW_FUNC *cf ;
1578  unsigned long __cil_tmp5 ;
1579  unsigned long __cil_tmp6 ;
1580  struct __UTAC__CFLOW_FUNC *__cil_tmp7 ;
1581  unsigned long __cil_tmp8 ;
1582  unsigned long __cil_tmp9 ;
1583  int (*__cil_tmp10)(int  , int  ) ;
1584  unsigned long __cil_tmp11 ;
1585  unsigned long __cil_tmp12 ;
1586  int __cil_tmp13 ;
1587  unsigned long __cil_tmp14 ;
1588  unsigned long __cil_tmp15 ;
1589  struct __UTAC__CFLOW_FUNC **mem_16 ;
1590  int (**mem_17)(int  , int  ) ;
1591  int *mem_18 ;
1592  struct __UTAC__CFLOW_FUNC **mem_19 ;
1593
1594  {
1595#line 60
1596  excep = (struct __UTAC__EXCEPTION *)exception;
1597#line 61
1598  __cil_tmp5 = (unsigned long )excep;
1599#line 61
1600  __cil_tmp6 = __cil_tmp5 + 24;
1601#line 61
1602  mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6;
1603#line 61
1604  cf = *mem_16;
1605  {
1606#line 64
1607  while (1) {
1608    while_1_continue: /* CIL Label */ ;
1609    {
1610#line 64
1611    __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0;
1612#line 64
1613    __cil_tmp8 = (unsigned long )__cil_tmp7;
1614#line 64
1615    __cil_tmp9 = (unsigned long )cf;
1616#line 64
1617    if (__cil_tmp9 != __cil_tmp8) {
1618
1619    } else {
1620      goto while_1_break;
1621    }
1622    }
1623    {
1624#line 65
1625    mem_17 = (int (**)(int  , int  ))cf;
1626#line 65
1627    __cil_tmp10 = *mem_17;
1628#line 65
1629    __cil_tmp11 = (unsigned long )cf;
1630#line 65
1631    __cil_tmp12 = __cil_tmp11 + 8;
1632#line 65
1633    mem_18 = (int *)__cil_tmp12;
1634#line 65
1635    __cil_tmp13 = *mem_18;
1636#line 65
1637    (*__cil_tmp10)(4, __cil_tmp13);
1638#line 66
1639    __cil_tmp14 = (unsigned long )cf;
1640#line 66
1641    __cil_tmp15 = __cil_tmp14 + 16;
1642#line 66
1643    mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp15;
1644#line 66
1645    cf = *mem_19;
1646    }
1647  }
1648  while_1_break: /* CIL Label */ ;
1649  }
1650  {
1651#line 69
1652  __utac__exception__cf_handler_free(exception);
1653  }
1654#line 732 "libacc.c"
1655  return;
1656}
1657}
1658#line 80 "libacc.c"
1659void *__utac__error_stack_mgt(void *env , int mode , int count ) ;
1660#line 80 "libacc.c"
1661static struct __ACC__ERR *head  =    (struct __ACC__ERR *)0;
1662#line 79 "libacc.c"
1663void *__utac__error_stack_mgt(void *env , int mode , int count ) 
1664{ void *retValue_acc ;
1665  struct __ACC__ERR *new ;
1666  void *tmp ;
1667  struct __ACC__ERR *temp ;
1668  struct __ACC__ERR *next ;
1669  void *excep ;
1670  unsigned long __cil_tmp10 ;
1671  unsigned long __cil_tmp11 ;
1672  unsigned long __cil_tmp12 ;
1673  unsigned long __cil_tmp13 ;
1674  void *__cil_tmp14 ;
1675  unsigned long __cil_tmp15 ;
1676  unsigned long __cil_tmp16 ;
1677  void *__cil_tmp17 ;
1678  void **mem_18 ;
1679  struct __ACC__ERR **mem_19 ;
1680  struct __ACC__ERR **mem_20 ;
1681  void **mem_21 ;
1682  struct __ACC__ERR **mem_22 ;
1683  void **mem_23 ;
1684  void **mem_24 ;
1685
1686  {
1687#line 82 "libacc.c"
1688  if (count == 0) {
1689#line 758 "libacc.c"
1690    return (retValue_acc);
1691  } else {
1692
1693  }
1694#line 86 "libacc.c"
1695  if (mode == 0) {
1696    {
1697#line 87
1698    tmp = malloc(16UL);
1699#line 87
1700    new = (struct __ACC__ERR *)tmp;
1701#line 88
1702    mem_18 = (void **)new;
1703#line 88
1704    *mem_18 = env;
1705#line 89
1706    __cil_tmp10 = (unsigned long )new;
1707#line 89
1708    __cil_tmp11 = __cil_tmp10 + 8;
1709#line 89
1710    mem_19 = (struct __ACC__ERR **)__cil_tmp11;
1711#line 89
1712    *mem_19 = head;
1713#line 90
1714    head = new;
1715#line 776 "libacc.c"
1716    retValue_acc = (void *)new;
1717    }
1718#line 778
1719    return (retValue_acc);
1720  } else {
1721
1722  }
1723#line 94 "libacc.c"
1724  if (mode == 1) {
1725#line 95
1726    temp = head;
1727    {
1728#line 98
1729    while (1) {
1730      while_2_continue: /* CIL Label */ ;
1731#line 98
1732      if (count > 1) {
1733
1734      } else {
1735        goto while_2_break;
1736      }
1737      {
1738#line 99
1739      __cil_tmp12 = (unsigned long )temp;
1740#line 99
1741      __cil_tmp13 = __cil_tmp12 + 8;
1742#line 99
1743      mem_20 = (struct __ACC__ERR **)__cil_tmp13;
1744#line 99
1745      next = *mem_20;
1746#line 100
1747      mem_21 = (void **)temp;
1748#line 100
1749      excep = *mem_21;
1750#line 101
1751      __cil_tmp14 = (void *)temp;
1752#line 101
1753      free(__cil_tmp14);
1754#line 102
1755      __utac__exception__cf_handler_reset(excep);
1756#line 103
1757      temp = next;
1758#line 104
1759      count = count - 1;
1760      }
1761    }
1762    while_2_break: /* CIL Label */ ;
1763    }
1764    {
1765#line 107
1766    __cil_tmp15 = (unsigned long )temp;
1767#line 107
1768    __cil_tmp16 = __cil_tmp15 + 8;
1769#line 107
1770    mem_22 = (struct __ACC__ERR **)__cil_tmp16;
1771#line 107
1772    head = *mem_22;
1773#line 108
1774    mem_23 = (void **)temp;
1775#line 108
1776    excep = *mem_23;
1777#line 109
1778    __cil_tmp17 = (void *)temp;
1779#line 109
1780    free(__cil_tmp17);
1781#line 110
1782    __utac__exception__cf_handler_reset(excep);
1783#line 820 "libacc.c"
1784    retValue_acc = excep;
1785    }
1786#line 822
1787    return (retValue_acc);
1788  } else {
1789
1790  }
1791#line 114
1792  if (mode == 2) {
1793#line 118 "libacc.c"
1794    if (head) {
1795#line 831
1796      mem_24 = (void **)head;
1797#line 831
1798      retValue_acc = *mem_24;
1799#line 833
1800      return (retValue_acc);
1801    } else {
1802#line 837 "libacc.c"
1803      retValue_acc = (void *)0;
1804#line 839
1805      return (retValue_acc);
1806    }
1807  } else {
1808
1809  }
1810#line 846 "libacc.c"
1811  return (retValue_acc);
1812}
1813}
1814#line 122 "libacc.c"
1815void *__utac__get_this_arg(int i , struct JoinPoint *this ) 
1816{ void *retValue_acc ;
1817  unsigned long __cil_tmp4 ;
1818  unsigned long __cil_tmp5 ;
1819  int __cil_tmp6 ;
1820  int __cil_tmp7 ;
1821  unsigned long __cil_tmp8 ;
1822  unsigned long __cil_tmp9 ;
1823  void **__cil_tmp10 ;
1824  void **__cil_tmp11 ;
1825  int *mem_12 ;
1826  void ***mem_13 ;
1827
1828  {
1829#line 123
1830  if (i > 0) {
1831    {
1832#line 123
1833    __cil_tmp4 = (unsigned long )this;
1834#line 123
1835    __cil_tmp5 = __cil_tmp4 + 16;
1836#line 123
1837    mem_12 = (int *)__cil_tmp5;
1838#line 123
1839    __cil_tmp6 = *mem_12;
1840#line 123
1841    if (i <= __cil_tmp6) {
1842
1843    } else {
1844      {
1845#line 123
1846      __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
1847                    123U, "__utac__get_this_arg");
1848      }
1849    }
1850    }
1851  } else {
1852    {
1853#line 123
1854    __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
1855                  123U, "__utac__get_this_arg");
1856    }
1857  }
1858#line 870 "libacc.c"
1859  __cil_tmp7 = i - 1;
1860#line 870
1861  __cil_tmp8 = (unsigned long )this;
1862#line 870
1863  __cil_tmp9 = __cil_tmp8 + 8;
1864#line 870
1865  mem_13 = (void ***)__cil_tmp9;
1866#line 870
1867  __cil_tmp10 = *mem_13;
1868#line 870
1869  __cil_tmp11 = __cil_tmp10 + __cil_tmp7;
1870#line 870
1871  retValue_acc = *__cil_tmp11;
1872#line 872
1873  return (retValue_acc);
1874#line 879
1875  return (retValue_acc);
1876}
1877}
1878#line 129 "libacc.c"
1879char const   *__utac__get_this_argtype(int i , struct JoinPoint *this ) 
1880{ char const   *retValue_acc ;
1881  unsigned long __cil_tmp4 ;
1882  unsigned long __cil_tmp5 ;
1883  int __cil_tmp6 ;
1884  int __cil_tmp7 ;
1885  unsigned long __cil_tmp8 ;
1886  unsigned long __cil_tmp9 ;
1887  char const   **__cil_tmp10 ;
1888  char const   **__cil_tmp11 ;
1889  int *mem_12 ;
1890  char const   ***mem_13 ;
1891
1892  {
1893#line 131
1894  if (i > 0) {
1895    {
1896#line 131
1897    __cil_tmp4 = (unsigned long )this;
1898#line 131
1899    __cil_tmp5 = __cil_tmp4 + 16;
1900#line 131
1901    mem_12 = (int *)__cil_tmp5;
1902#line 131
1903    __cil_tmp6 = *mem_12;
1904#line 131
1905    if (i <= __cil_tmp6) {
1906
1907    } else {
1908      {
1909#line 131
1910      __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
1911                    131U, "__utac__get_this_argtype");
1912      }
1913    }
1914    }
1915  } else {
1916    {
1917#line 131
1918    __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
1919                  131U, "__utac__get_this_argtype");
1920    }
1921  }
1922#line 903 "libacc.c"
1923  __cil_tmp7 = i - 1;
1924#line 903
1925  __cil_tmp8 = (unsigned long )this;
1926#line 903
1927  __cil_tmp9 = __cil_tmp8 + 24;
1928#line 903
1929  mem_13 = (char const   ***)__cil_tmp9;
1930#line 903
1931  __cil_tmp10 = *mem_13;
1932#line 903
1933  __cil_tmp11 = __cil_tmp10 + __cil_tmp7;
1934#line 903
1935  retValue_acc = *__cil_tmp11;
1936#line 905
1937  return (retValue_acc);
1938#line 912
1939  return (retValue_acc);
1940}
1941}
1942#line 1 "scenario.o"
1943#pragma merger(0,"scenario.i","")
1944#line 1 "scenario.c"
1945void test(void) 
1946{ int op1 ;
1947  int op2 ;
1948  int op3 ;
1949  int op4 ;
1950  int op5 ;
1951  int op6 ;
1952  int op7 ;
1953  int op8 ;
1954  int op9 ;
1955  int op10 ;
1956  int op11 ;
1957  int splverifierCounter ;
1958  int tmp ;
1959  int tmp___0 ;
1960  int tmp___1 ;
1961  int tmp___2 ;
1962  int tmp___3 ;
1963  int tmp___4 ;
1964  int tmp___5 ;
1965  int tmp___6 ;
1966  int tmp___7 ;
1967  int tmp___8 ;
1968  int tmp___9 ;
1969
1970  {
1971#line 2
1972  op1 = 0;
1973#line 3
1974  op2 = 0;
1975#line 4
1976  op3 = 0;
1977#line 5
1978  op4 = 0;
1979#line 6
1980  op5 = 0;
1981#line 7
1982  op6 = 0;
1983#line 8
1984  op7 = 0;
1985#line 9
1986  op8 = 0;
1987#line 10
1988  op9 = 0;
1989#line 11
1990  op10 = 0;
1991#line 12
1992  op11 = 0;
1993#line 13
1994  splverifierCounter = 0;
1995  {
1996#line 14
1997  while (1) {
1998    while_3_continue: /* CIL Label */ ;
1999#line 14
2000    if (splverifierCounter < 4) {
2001
2002    } else {
2003      goto while_3_break;
2004    }
2005#line 15
2006    splverifierCounter = splverifierCounter + 1;
2007#line 16
2008    if (! op1) {
2009      {
2010#line 16
2011      tmp___9 = __VERIFIER_nondet_int();
2012      }
2013#line 16
2014      if (tmp___9) {
2015        {
2016#line 17
2017        bobKeyAdd();
2018#line 18
2019        op1 = 1;
2020        }
2021      } else {
2022        goto _L___8;
2023      }
2024    } else {
2025      _L___8: /* CIL Label */ 
2026#line 19
2027      if (! op2) {
2028        {
2029#line 19
2030        tmp___8 = __VERIFIER_nondet_int();
2031        }
2032#line 19
2033        if (tmp___8) {
2034          {
2035#line 21
2036          rjhSetAutoRespond();
2037#line 22
2038          op2 = 1;
2039          }
2040        } else {
2041          goto _L___7;
2042        }
2043      } else {
2044        _L___7: /* CIL Label */ 
2045#line 23
2046        if (! op3) {
2047          {
2048#line 23
2049          tmp___7 = __VERIFIER_nondet_int();
2050          }
2051#line 23
2052          if (tmp___7) {
2053            {
2054#line 25
2055            rjhDeletePrivateKey();
2056#line 26
2057            op3 = 1;
2058            }
2059          } else {
2060            goto _L___6;
2061          }
2062        } else {
2063          _L___6: /* CIL Label */ 
2064#line 27
2065          if (! op4) {
2066            {
2067#line 27
2068            tmp___6 = __VERIFIER_nondet_int();
2069            }
2070#line 27
2071            if (tmp___6) {
2072              {
2073#line 29
2074              rjhKeyAdd();
2075#line 30
2076              op4 = 1;
2077              }
2078            } else {
2079              goto _L___5;
2080            }
2081          } else {
2082            _L___5: /* CIL Label */ 
2083#line 31
2084            if (! op5) {
2085              {
2086#line 31
2087              tmp___5 = __VERIFIER_nondet_int();
2088              }
2089#line 31
2090              if (tmp___5) {
2091                {
2092#line 33
2093                chuckKeyAddRjh();
2094#line 34
2095                op5 = 1;
2096                }
2097              } else {
2098                goto _L___4;
2099              }
2100            } else {
2101              _L___4: /* CIL Label */ 
2102#line 35
2103              if (! op6) {
2104                {
2105#line 35
2106                tmp___4 = __VERIFIER_nondet_int();
2107                }
2108#line 35
2109                if (tmp___4) {
2110                  {
2111#line 37
2112                  rjhEnableForwarding();
2113#line 38
2114                  op6 = 1;
2115                  }
2116                } else {
2117                  goto _L___3;
2118                }
2119              } else {
2120                _L___3: /* CIL Label */ 
2121#line 39
2122                if (! op7) {
2123                  {
2124#line 39
2125                  tmp___3 = __VERIFIER_nondet_int();
2126                  }
2127#line 39
2128                  if (tmp___3) {
2129                    {
2130#line 41
2131                    rjhKeyChange();
2132#line 42
2133                    op7 = 1;
2134                    }
2135                  } else {
2136                    goto _L___2;
2137                  }
2138                } else {
2139                  _L___2: /* CIL Label */ 
2140#line 43
2141                  if (! op8) {
2142                    {
2143#line 43
2144                    tmp___2 = __VERIFIER_nondet_int();
2145                    }
2146#line 43
2147                    if (tmp___2) {
2148                      {
2149#line 45
2150                      bobSetAddressBook();
2151#line 46
2152                      op8 = 1;
2153                      }
2154                    } else {
2155                      goto _L___1;
2156                    }
2157                  } else {
2158                    _L___1: /* CIL Label */ 
2159#line 47
2160                    if (! op9) {
2161                      {
2162#line 47
2163                      tmp___1 = __VERIFIER_nondet_int();
2164                      }
2165#line 47
2166                      if (tmp___1) {
2167                        {
2168#line 49
2169                        chuckKeyAdd();
2170#line 50
2171                        op9 = 1;
2172                        }
2173                      } else {
2174                        goto _L___0;
2175                      }
2176                    } else {
2177                      _L___0: /* CIL Label */ 
2178#line 51
2179                      if (! op10) {
2180                        {
2181#line 51
2182                        tmp___0 = __VERIFIER_nondet_int();
2183                        }
2184#line 51
2185                        if (tmp___0) {
2186                          {
2187#line 53
2188                          bobKeyChange();
2189#line 54
2190                          op10 = 1;
2191                          }
2192                        } else {
2193                          goto _L;
2194                        }
2195                      } else {
2196                        _L: /* CIL Label */ 
2197#line 55
2198                        if (! op11) {
2199                          {
2200#line 55
2201                          tmp = __VERIFIER_nondet_int();
2202                          }
2203#line 55
2204                          if (tmp) {
2205                            {
2206#line 57
2207                            chuckKeyAdd();
2208#line 58
2209                            op11 = 1;
2210                            }
2211                          } else {
2212                            goto while_3_break;
2213                          }
2214                        } else {
2215                          goto while_3_break;
2216                        }
2217                      }
2218                    }
2219                  }
2220                }
2221              }
2222            }
2223          }
2224        }
2225      }
2226    }
2227  }
2228  while_3_break: /* CIL Label */ ;
2229  }
2230  {
2231#line 62
2232  bobToRjh();
2233  }
2234#line 171 "scenario.c"
2235  return;
2236}
2237}
2238#line 1 "ClientLib.o"
2239#pragma merger(0,"ClientLib.i","")
2240#line 4 "ClientLib.h"
2241int initClient(void) ;
2242#line 6
2243char *getClientName(int handle ) ;
2244#line 8
2245void setClientName(int handle , char *value ) ;
2246#line 10
2247int getClientOutbuffer(int handle ) ;
2248#line 12
2249void setClientOutbuffer(int handle , int value ) ;
2250#line 14
2251int getClientAddressBookSize(int handle ) ;
2252#line 18
2253int createClientAddressBookEntry(int handle ) ;
2254#line 20
2255int getClientAddressBookAlias(int handle , int index ) ;
2256#line 24
2257int getClientAddressBookAddress(int handle , int index ) ;
2258#line 29
2259int getClientAutoResponse(int handle ) ;
2260#line 33
2261int getClientPrivateKey(int handle ) ;
2262#line 37
2263int getClientKeyringSize(int handle ) ;
2264#line 49
2265int getClientForwardReceiver(int handle ) ;
2266#line 53
2267int getClientId(int handle ) ;
2268#line 57
2269int findPublicKey(int handle , int userid ) ;
2270#line 59
2271int findClientAddressBookAlias(int handle , int userid ) ;
2272#line 5 "ClientLib.c"
2273int __ste_Client_counter  =    0;
2274#line 7 "ClientLib.c"
2275int initClient(void) 
2276{ int retValue_acc ;
2277
2278  {
2279#line 12 "ClientLib.c"
2280  if (__ste_Client_counter < 3) {
2281#line 684
2282    __ste_Client_counter = __ste_Client_counter + 1;
2283#line 684
2284    retValue_acc = __ste_Client_counter;
2285#line 686
2286    return (retValue_acc);
2287  } else {
2288#line 692 "ClientLib.c"
2289    retValue_acc = -1;
2290#line 694
2291    return (retValue_acc);
2292  }
2293#line 701 "ClientLib.c"
2294  return (retValue_acc);
2295}
2296}
2297#line 15 "ClientLib.c"
2298char *__ste_client_name0  =    (char *)0;
2299#line 17 "ClientLib.c"
2300char *__ste_client_name1  =    (char *)0;
2301#line 19 "ClientLib.c"
2302char *__ste_client_name2  =    (char *)0;
2303#line 22 "ClientLib.c"
2304char *getClientName(int handle ) 
2305{ char *retValue_acc ;
2306  void *__cil_tmp3 ;
2307
2308  {
2309#line 31 "ClientLib.c"
2310  if (handle == 1) {
2311#line 732
2312    retValue_acc = __ste_client_name0;
2313#line 734
2314    return (retValue_acc);
2315  } else {
2316#line 736
2317    if (handle == 2) {
2318#line 741
2319      retValue_acc = __ste_client_name1;
2320#line 743
2321      return (retValue_acc);
2322    } else {
2323#line 745
2324      if (handle == 3) {
2325#line 750
2326        retValue_acc = __ste_client_name2;
2327#line 752
2328        return (retValue_acc);
2329      } else {
2330#line 758 "ClientLib.c"
2331        __cil_tmp3 = (void *)0;
2332#line 758
2333        retValue_acc = (char *)__cil_tmp3;
2334#line 760
2335        return (retValue_acc);
2336      }
2337    }
2338  }
2339#line 767 "ClientLib.c"
2340  return (retValue_acc);
2341}
2342}
2343#line 34 "ClientLib.c"
2344void setClientName(int handle , char *value ) 
2345{ 
2346
2347  {
2348#line 42
2349  if (handle == 1) {
2350#line 36
2351    __ste_client_name0 = value;
2352  } else {
2353#line 37
2354    if (handle == 2) {
2355#line 38
2356      __ste_client_name1 = value;
2357    } else {
2358#line 39
2359      if (handle == 3) {
2360#line 40
2361        __ste_client_name2 = value;
2362      } else {
2363
2364      }
2365    }
2366  }
2367#line 802 "ClientLib.c"
2368  return;
2369}
2370}
2371#line 44 "ClientLib.c"
2372int __ste_client_outbuffer0  =    0;
2373#line 46 "ClientLib.c"
2374int __ste_client_outbuffer1  =    0;
2375#line 48 "ClientLib.c"
2376int __ste_client_outbuffer2  =    0;
2377#line 50 "ClientLib.c"
2378int __ste_client_outbuffer3  =    0;
2379#line 53 "ClientLib.c"
2380int getClientOutbuffer(int handle ) 
2381{ int retValue_acc ;
2382
2383  {
2384#line 62 "ClientLib.c"
2385  if (handle == 1) {
2386#line 831
2387    retValue_acc = __ste_client_outbuffer0;
2388#line 833
2389    return (retValue_acc);
2390  } else {
2391#line 835
2392    if (handle == 2) {
2393#line 840
2394      retValue_acc = __ste_client_outbuffer1;
2395#line 842
2396      return (retValue_acc);
2397    } else {
2398#line 844
2399      if (handle == 3) {
2400#line 849
2401        retValue_acc = __ste_client_outbuffer2;
2402#line 851
2403        return (retValue_acc);
2404      } else {
2405#line 857 "ClientLib.c"
2406        retValue_acc = 0;
2407#line 859
2408        return (retValue_acc);
2409      }
2410    }
2411  }
2412#line 866 "ClientLib.c"
2413  return (retValue_acc);
2414}
2415}
2416#line 65 "ClientLib.c"
2417void setClientOutbuffer(int handle , int value ) 
2418{ 
2419
2420  {
2421#line 73
2422  if (handle == 1) {
2423#line 67
2424    __ste_client_outbuffer0 = value;
2425  } else {
2426#line 68
2427    if (handle == 2) {
2428#line 69
2429      __ste_client_outbuffer1 = value;
2430    } else {
2431#line 70
2432      if (handle == 3) {
2433#line 71
2434        __ste_client_outbuffer2 = value;
2435      } else {
2436
2437      }
2438    }
2439  }
2440#line 901 "ClientLib.c"
2441  return;
2442}
2443}
2444#line 77 "ClientLib.c"
2445int __ste_ClientAddressBook_size0  =    0;
2446#line 79 "ClientLib.c"
2447int __ste_ClientAddressBook_size1  =    0;
2448#line 81 "ClientLib.c"
2449int __ste_ClientAddressBook_size2  =    0;
2450#line 84 "ClientLib.c"
2451int getClientAddressBookSize(int handle ) 
2452{ int retValue_acc ;
2453
2454  {
2455#line 93 "ClientLib.c"
2456  if (handle == 1) {
2457#line 928
2458    retValue_acc = __ste_ClientAddressBook_size0;
2459#line 930
2460    return (retValue_acc);
2461  } else {
2462#line 932
2463    if (handle == 2) {
2464#line 937
2465      retValue_acc = __ste_ClientAddressBook_size1;
2466#line 939
2467      return (retValue_acc);
2468    } else {
2469#line 941
2470      if (handle == 3) {
2471#line 946
2472        retValue_acc = __ste_ClientAddressBook_size2;
2473#line 948
2474        return (retValue_acc);
2475      } else {
2476#line 954 "ClientLib.c"
2477        retValue_acc = 0;
2478#line 956
2479        return (retValue_acc);
2480      }
2481    }
2482  }
2483#line 963 "ClientLib.c"
2484  return (retValue_acc);
2485}
2486}
2487#line 96 "ClientLib.c"
2488void setClientAddressBookSize(int handle , int value ) 
2489{ 
2490
2491  {
2492#line 104
2493  if (handle == 1) {
2494#line 98
2495    __ste_ClientAddressBook_size0 = value;
2496  } else {
2497#line 99
2498    if (handle == 2) {
2499#line 100
2500      __ste_ClientAddressBook_size1 = value;
2501    } else {
2502#line 101
2503      if (handle == 3) {
2504#line 102
2505        __ste_ClientAddressBook_size2 = value;
2506      } else {
2507
2508      }
2509    }
2510  }
2511#line 998 "ClientLib.c"
2512  return;
2513}
2514}
2515#line 106 "ClientLib.c"
2516int createClientAddressBookEntry(int handle ) 
2517{ int retValue_acc ;
2518  int size ;
2519  int tmp ;
2520  int __cil_tmp5 ;
2521
2522  {
2523  {
2524#line 107
2525  tmp = getClientAddressBookSize(handle);
2526#line 107
2527  size = tmp;
2528  }
2529#line 108 "ClientLib.c"
2530  if (size < 3) {
2531    {
2532#line 109 "ClientLib.c"
2533    __cil_tmp5 = size + 1;
2534#line 109
2535    setClientAddressBookSize(handle, __cil_tmp5);
2536#line 1025 "ClientLib.c"
2537    retValue_acc = size + 1;
2538    }
2539#line 1027
2540    return (retValue_acc);
2541  } else {
2542#line 1031 "ClientLib.c"
2543    retValue_acc = -1;
2544#line 1033
2545    return (retValue_acc);
2546  }
2547#line 1040 "ClientLib.c"
2548  return (retValue_acc);
2549}
2550}
2551#line 115 "ClientLib.c"
2552int __ste_Client_AddressBook0_Alias0  =    0;
2553#line 117 "ClientLib.c"
2554int __ste_Client_AddressBook0_Alias1  =    0;
2555#line 119 "ClientLib.c"
2556int __ste_Client_AddressBook0_Alias2  =    0;
2557#line 121 "ClientLib.c"
2558int __ste_Client_AddressBook1_Alias0  =    0;
2559#line 123 "ClientLib.c"
2560int __ste_Client_AddressBook1_Alias1  =    0;
2561#line 125 "ClientLib.c"
2562int __ste_Client_AddressBook1_Alias2  =    0;
2563#line 127 "ClientLib.c"
2564int __ste_Client_AddressBook2_Alias0  =    0;
2565#line 129 "ClientLib.c"
2566int __ste_Client_AddressBook2_Alias1  =    0;
2567#line 131 "ClientLib.c"
2568int __ste_Client_AddressBook2_Alias2  =    0;
2569#line 134 "ClientLib.c"
2570int getClientAddressBookAlias(int handle , int index ) 
2571{ int retValue_acc ;
2572
2573  {
2574#line 167
2575  if (handle == 1) {
2576#line 144 "ClientLib.c"
2577    if (index == 0) {
2578#line 1086
2579      retValue_acc = __ste_Client_AddressBook0_Alias0;
2580#line 1088
2581      return (retValue_acc);
2582    } else {
2583#line 1090
2584      if (index == 1) {
2585#line 1095
2586        retValue_acc = __ste_Client_AddressBook0_Alias1;
2587#line 1097
2588        return (retValue_acc);
2589      } else {
2590#line 1099
2591        if (index == 2) {
2592#line 1104
2593          retValue_acc = __ste_Client_AddressBook0_Alias2;
2594#line 1106
2595          return (retValue_acc);
2596        } else {
2597#line 1112
2598          retValue_acc = 0;
2599#line 1114
2600          return (retValue_acc);
2601        }
2602      }
2603    }
2604  } else {
2605#line 1116 "ClientLib.c"
2606    if (handle == 2) {
2607#line 154 "ClientLib.c"
2608      if (index == 0) {
2609#line 1124
2610        retValue_acc = __ste_Client_AddressBook1_Alias0;
2611#line 1126
2612        return (retValue_acc);
2613      } else {
2614#line 1128
2615        if (index == 1) {
2616#line 1133
2617          retValue_acc = __ste_Client_AddressBook1_Alias1;
2618#line 1135
2619          return (retValue_acc);
2620        } else {
2621#line 1137
2622          if (index == 2) {
2623#line 1142
2624            retValue_acc = __ste_Client_AddressBook1_Alias2;
2625#line 1144
2626            return (retValue_acc);
2627          } else {
2628#line 1150
2629            retValue_acc = 0;
2630#line 1152
2631            return (retValue_acc);
2632          }
2633        }
2634      }
2635    } else {
2636#line 1154 "ClientLib.c"
2637      if (handle == 3) {
2638#line 164 "ClientLib.c"
2639        if (index == 0) {
2640#line 1162
2641          retValue_acc = __ste_Client_AddressBook2_Alias0;
2642#line 1164
2643          return (retValue_acc);
2644        } else {
2645#line 1166
2646          if (index == 1) {
2647#line 1171
2648            retValue_acc = __ste_Client_AddressBook2_Alias1;
2649#line 1173
2650            return (retValue_acc);
2651          } else {
2652#line 1175
2653            if (index == 2) {
2654#line 1180
2655              retValue_acc = __ste_Client_AddressBook2_Alias2;
2656#line 1182
2657              return (retValue_acc);
2658            } else {
2659#line 1188
2660              retValue_acc = 0;
2661#line 1190
2662              return (retValue_acc);
2663            }
2664          }
2665        }
2666      } else {
2667#line 1196 "ClientLib.c"
2668        retValue_acc = 0;
2669#line 1198
2670        return (retValue_acc);
2671      }
2672    }
2673  }
2674#line 1205 "ClientLib.c"
2675  return (retValue_acc);
2676}
2677}
2678#line 171 "ClientLib.c"
2679int findClientAddressBookAlias(int handle , int userid ) 
2680{ int retValue_acc ;
2681
2682  {
2683#line 204
2684  if (handle == 1) {
2685#line 181 "ClientLib.c"
2686    if (userid == __ste_Client_AddressBook0_Alias0) {
2687#line 1233
2688      retValue_acc = 0;
2689#line 1235
2690      return (retValue_acc);
2691    } else {
2692#line 1237
2693      if (userid == __ste_Client_AddressBook0_Alias1) {
2694#line 1242
2695        retValue_acc = 1;
2696#line 1244
2697        return (retValue_acc);
2698      } else {
2699#line 1246
2700        if (userid == __ste_Client_AddressBook0_Alias2) {
2701#line 1251
2702          retValue_acc = 2;
2703#line 1253
2704          return (retValue_acc);
2705        } else {
2706#line 1259
2707          retValue_acc = -1;
2708#line 1261
2709          return (retValue_acc);
2710        }
2711      }
2712    }
2713  } else {
2714#line 1263 "ClientLib.c"
2715    if (handle == 2) {
2716#line 191 "ClientLib.c"
2717      if (userid == __ste_Client_AddressBook1_Alias0) {
2718#line 1271
2719        retValue_acc = 0;
2720#line 1273
2721        return (retValue_acc);
2722      } else {
2723#line 1275
2724        if (userid == __ste_Client_AddressBook1_Alias1) {
2725#line 1280
2726          retValue_acc = 1;
2727#line 1282
2728          return (retValue_acc);
2729        } else {
2730#line 1284
2731          if (userid == __ste_Client_AddressBook1_Alias2) {
2732#line 1289
2733            retValue_acc = 2;
2734#line 1291
2735            return (retValue_acc);
2736          } else {
2737#line 1297
2738            retValue_acc = -1;
2739#line 1299
2740            return (retValue_acc);
2741          }
2742        }
2743      }
2744    } else {
2745#line 1301 "ClientLib.c"
2746      if (handle == 3) {
2747#line 201 "ClientLib.c"
2748        if (userid == __ste_Client_AddressBook2_Alias0) {
2749#line 1309
2750          retValue_acc = 0;
2751#line 1311
2752          return (retValue_acc);
2753        } else {
2754#line 1313
2755          if (userid == __ste_Client_AddressBook2_Alias1) {
2756#line 1318
2757            retValue_acc = 1;
2758#line 1320
2759            return (retValue_acc);
2760          } else {
2761#line 1322
2762            if (userid == __ste_Client_AddressBook2_Alias2) {
2763#line 1327
2764              retValue_acc = 2;
2765#line 1329
2766              return (retValue_acc);
2767            } else {
2768#line 1335
2769              retValue_acc = -1;
2770#line 1337
2771              return (retValue_acc);
2772            }
2773          }
2774        }
2775      } else {
2776#line 1343 "ClientLib.c"
2777        retValue_acc = -1;
2778#line 1345
2779        return (retValue_acc);
2780      }
2781    }
2782  }
2783#line 1352 "ClientLib.c"
2784  return (retValue_acc);
2785}
2786}
2787#line 208 "ClientLib.c"
2788void setClientAddressBookAlias(int handle , int index , int value ) 
2789{ 
2790
2791  {
2792#line 234
2793  if (handle == 1) {
2794#line 217
2795    if (index == 0) {
2796#line 211
2797      __ste_Client_AddressBook0_Alias0 = value;
2798    } else {
2799#line 212
2800      if (index == 1) {
2801#line 213
2802        __ste_Client_AddressBook0_Alias1 = value;
2803      } else {
2804#line 214
2805        if (index == 2) {
2806#line 215
2807          __ste_Client_AddressBook0_Alias2 = value;
2808        } else {
2809
2810        }
2811      }
2812    }
2813  } else {
2814#line 216
2815    if (handle == 2) {
2816#line 225
2817      if (index == 0) {
2818#line 219
2819        __ste_Client_AddressBook1_Alias0 = value;
2820      } else {
2821#line 220
2822        if (index == 1) {
2823#line 221
2824          __ste_Client_AddressBook1_Alias1 = value;
2825        } else {
2826#line 222
2827          if (index == 2) {
2828#line 223
2829            __ste_Client_AddressBook1_Alias2 = value;
2830          } else {
2831
2832          }
2833        }
2834      }
2835    } else {
2836#line 224
2837      if (handle == 3) {
2838#line 233
2839        if (index == 0) {
2840#line 227
2841          __ste_Client_AddressBook2_Alias0 = value;
2842        } else {
2843#line 228
2844          if (index == 1) {
2845#line 229
2846            __ste_Client_AddressBook2_Alias1 = value;
2847          } else {
2848#line 230
2849            if (index == 2) {
2850#line 231
2851              __ste_Client_AddressBook2_Alias2 = value;
2852            } else {
2853
2854            }
2855          }
2856        }
2857      } else {
2858
2859      }
2860    }
2861  }
2862#line 1420 "ClientLib.c"
2863  return;
2864}
2865}
2866#line 236 "ClientLib.c"
2867int __ste_Client_AddressBook0_Address0  =    0;
2868#line 238 "ClientLib.c"
2869int __ste_Client_AddressBook0_Address1  =    0;
2870#line 240 "ClientLib.c"
2871int __ste_Client_AddressBook0_Address2  =    0;
2872#line 242 "ClientLib.c"
2873int __ste_Client_AddressBook1_Address0  =    0;
2874#line 244 "ClientLib.c"
2875int __ste_Client_AddressBook1_Address1  =    0;
2876#line 246 "ClientLib.c"
2877int __ste_Client_AddressBook1_Address2  =    0;
2878#line 248 "ClientLib.c"
2879int __ste_Client_AddressBook2_Address0  =    0;
2880#line 250 "ClientLib.c"
2881int __ste_Client_AddressBook2_Address1  =    0;
2882#line 252 "ClientLib.c"
2883int __ste_Client_AddressBook2_Address2  =    0;
2884#line 255 "ClientLib.c"
2885int getClientAddressBookAddress(int handle , int index ) 
2886{ int retValue_acc ;
2887
2888  {
2889#line 288
2890  if (handle == 1) {
2891#line 265 "ClientLib.c"
2892    if (index == 0) {
2893#line 1462
2894      retValue_acc = __ste_Client_AddressBook0_Address0;
2895#line 1464
2896      return (retValue_acc);
2897    } else {
2898#line 1466
2899      if (index == 1) {
2900#line 1471
2901        retValue_acc = __ste_Client_AddressBook0_Address1;
2902#line 1473
2903        return (retValue_acc);
2904      } else {
2905#line 1475
2906        if (index == 2) {
2907#line 1480
2908          retValue_acc = __ste_Client_AddressBook0_Address2;
2909#line 1482
2910          return (retValue_acc);
2911        } else {
2912#line 1488
2913          retValue_acc = 0;
2914#line 1490
2915          return (retValue_acc);
2916        }
2917      }
2918    }
2919  } else {
2920#line 1492 "ClientLib.c"
2921    if (handle == 2) {
2922#line 275 "ClientLib.c"
2923      if (index == 0) {
2924#line 1500
2925        retValue_acc = __ste_Client_AddressBook1_Address0;
2926#line 1502
2927        return (retValue_acc);
2928      } else {
2929#line 1504
2930        if (index == 1) {
2931#line 1509
2932          retValue_acc = __ste_Client_AddressBook1_Address1;
2933#line 1511
2934          return (retValue_acc);
2935        } else {
2936#line 1513
2937          if (index == 2) {
2938#line 1518
2939            retValue_acc = __ste_Client_AddressBook1_Address2;
2940#line 1520
2941            return (retValue_acc);
2942          } else {
2943#line 1526
2944            retValue_acc = 0;
2945#line 1528
2946            return (retValue_acc);
2947          }
2948        }
2949      }
2950    } else {
2951#line 1530 "ClientLib.c"
2952      if (handle == 3) {
2953#line 285 "ClientLib.c"
2954        if (index == 0) {
2955#line 1538
2956          retValue_acc = __ste_Client_AddressBook2_Address0;
2957#line 1540
2958          return (retValue_acc);
2959        } else {
2960#line 1542
2961          if (index == 1) {
2962#line 1547
2963            retValue_acc = __ste_Client_AddressBook2_Address1;
2964#line 1549
2965            return (retValue_acc);
2966          } else {
2967#line 1551
2968            if (index == 2) {
2969#line 1556
2970              retValue_acc = __ste_Client_AddressBook2_Address2;
2971#line 1558
2972              return (retValue_acc);
2973            } else {
2974#line 1564
2975              retValue_acc = 0;
2976#line 1566
2977              return (retValue_acc);
2978            }
2979          }
2980        }
2981      } else {
2982#line 1572 "ClientLib.c"
2983        retValue_acc = 0;
2984#line 1574
2985        return (retValue_acc);
2986      }
2987    }
2988  }
2989#line 1581 "ClientLib.c"
2990  return (retValue_acc);
2991}
2992}
2993#line 291 "ClientLib.c"
2994void setClientAddressBookAddress(int handle , int index , int value ) 
2995{ 
2996
2997  {
2998#line 317
2999  if (handle == 1) {
3000#line 300
3001    if (index == 0) {
3002#line 294
3003      __ste_Client_AddressBook0_Address0 = value;
3004    } else {
3005#line 295
3006      if (index == 1) {
3007#line 296
3008        __ste_Client_AddressBook0_Address1 = value;
3009      } else {
3010#line 297
3011        if (index == 2) {
3012#line 298
3013          __ste_Client_AddressBook0_Address2 = value;
3014        } else {
3015
3016        }
3017      }
3018    }
3019  } else {
3020#line 299
3021    if (handle == 2) {
3022#line 308
3023      if (index == 0) {
3024#line 302
3025        __ste_Client_AddressBook1_Address0 = value;
3026      } else {
3027#line 303
3028        if (index == 1) {
3029#line 304
3030          __ste_Client_AddressBook1_Address1 = value;
3031        } else {
3032#line 305
3033          if (index == 2) {
3034#line 306
3035            __ste_Client_AddressBook1_Address2 = value;
3036          } else {
3037
3038          }
3039        }
3040      }
3041    } else {
3042#line 307
3043      if (handle == 3) {
3044#line 316
3045        if (index == 0) {
3046#line 310
3047          __ste_Client_AddressBook2_Address0 = value;
3048        } else {
3049#line 311
3050          if (index == 1) {
3051#line 312
3052            __ste_Client_AddressBook2_Address1 = value;
3053          } else {
3054#line 313
3055            if (index == 2) {
3056#line 314
3057              __ste_Client_AddressBook2_Address2 = value;
3058            } else {
3059
3060            }
3061          }
3062        }
3063      } else {
3064
3065      }
3066    }
3067  }
3068#line 1649 "ClientLib.c"
3069  return;
3070}
3071}
3072#line 319 "ClientLib.c"
3073int __ste_client_autoResponse0  =    0;
3074#line 321 "ClientLib.c"
3075int __ste_client_autoResponse1  =    0;
3076#line 323 "ClientLib.c"
3077int __ste_client_autoResponse2  =    0;
3078#line 326 "ClientLib.c"
3079int getClientAutoResponse(int handle ) 
3080{ int retValue_acc ;
3081
3082  {
3083#line 335 "ClientLib.c"
3084  if (handle == 1) {
3085#line 1676
3086    retValue_acc = __ste_client_autoResponse0;
3087#line 1678
3088    return (retValue_acc);
3089  } else {
3090#line 1680
3091    if (handle == 2) {
3092#line 1685
3093      retValue_acc = __ste_client_autoResponse1;
3094#line 1687
3095      return (retValue_acc);
3096    } else {
3097#line 1689
3098      if (handle == 3) {
3099#line 1694
3100        retValue_acc = __ste_client_autoResponse2;
3101#line 1696
3102        return (retValue_acc);
3103      } else {
3104#line 1702 "ClientLib.c"
3105        retValue_acc = -1;
3106#line 1704
3107        return (retValue_acc);
3108      }
3109    }
3110  }
3111#line 1711 "ClientLib.c"
3112  return (retValue_acc);
3113}
3114}
3115#line 338 "ClientLib.c"
3116void setClientAutoResponse(int handle , int value ) 
3117{ 
3118
3119  {
3120#line 346
3121  if (handle == 1) {
3122#line 340
3123    __ste_client_autoResponse0 = value;
3124  } else {
3125#line 341
3126    if (handle == 2) {
3127#line 342
3128      __ste_client_autoResponse1 = value;
3129    } else {
3130#line 343
3131      if (handle == 3) {
3132#line 344
3133        __ste_client_autoResponse2 = value;
3134      } else {
3135
3136      }
3137    }
3138  }
3139#line 1746 "ClientLib.c"
3140  return;
3141}
3142}
3143#line 348 "ClientLib.c"
3144int __ste_client_privateKey0  =    0;
3145#line 350 "ClientLib.c"
3146int __ste_client_privateKey1  =    0;
3147#line 352 "ClientLib.c"
3148int __ste_client_privateKey2  =    0;
3149#line 355 "ClientLib.c"
3150int getClientPrivateKey(int handle ) 
3151{ int retValue_acc ;
3152
3153  {
3154#line 364 "ClientLib.c"
3155  if (handle == 1) {
3156#line 1773
3157    retValue_acc = __ste_client_privateKey0;
3158#line 1775
3159    return (retValue_acc);
3160  } else {
3161#line 1777
3162    if (handle == 2) {
3163#line 1782
3164      retValue_acc = __ste_client_privateKey1;
3165#line 1784
3166      return (retValue_acc);
3167    } else {
3168#line 1786
3169      if (handle == 3) {
3170#line 1791
3171        retValue_acc = __ste_client_privateKey2;
3172#line 1793
3173        return (retValue_acc);
3174      } else {
3175#line 1799 "ClientLib.c"
3176        retValue_acc = 0;
3177#line 1801
3178        return (retValue_acc);
3179      }
3180    }
3181  }
3182#line 1808 "ClientLib.c"
3183  return (retValue_acc);
3184}
3185}
3186#line 367 "ClientLib.c"
3187void setClientPrivateKey(int handle , int value ) 
3188{ 
3189
3190  {
3191#line 375
3192  if (handle == 1) {
3193#line 369
3194    __ste_client_privateKey0 = value;
3195  } else {
3196#line 370
3197    if (handle == 2) {
3198#line 371
3199      __ste_client_privateKey1 = value;
3200    } else {
3201#line 372
3202      if (handle == 3) {
3203#line 373
3204        __ste_client_privateKey2 = value;
3205      } else {
3206
3207      }
3208    }
3209  }
3210#line 1843 "ClientLib.c"
3211  return;
3212}
3213}
3214#line 377 "ClientLib.c"
3215int __ste_ClientKeyring_size0  =    0;
3216#line 379 "ClientLib.c"
3217int __ste_ClientKeyring_size1  =    0;
3218#line 381 "ClientLib.c"
3219int __ste_ClientKeyring_size2  =    0;
3220#line 384 "ClientLib.c"
3221int getClientKeyringSize(int handle ) 
3222{ int retValue_acc ;
3223
3224  {
3225#line 393 "ClientLib.c"
3226  if (handle == 1) {
3227#line 1870
3228    retValue_acc = __ste_ClientKeyring_size0;
3229#line 1872
3230    return (retValue_acc);
3231  } else {
3232#line 1874
3233    if (handle == 2) {
3234#line 1879
3235      retValue_acc = __ste_ClientKeyring_size1;
3236#line 1881
3237      return (retValue_acc);
3238    } else {
3239#line 1883
3240      if (handle == 3) {
3241#line 1888
3242        retValue_acc = __ste_ClientKeyring_size2;
3243#line 1890
3244        return (retValue_acc);
3245      } else {
3246#line 1896 "ClientLib.c"
3247        retValue_acc = 0;
3248#line 1898
3249        return (retValue_acc);
3250      }
3251    }
3252  }
3253#line 1905 "ClientLib.c"
3254  return (retValue_acc);
3255}
3256}
3257#line 396 "ClientLib.c"
3258void setClientKeyringSize(int handle , int value ) 
3259{ 
3260
3261  {
3262#line 404
3263  if (handle == 1) {
3264#line 398
3265    __ste_ClientKeyring_size0 = value;
3266  } else {
3267#line 399
3268    if (handle == 2) {
3269#line 400
3270      __ste_ClientKeyring_size1 = value;
3271    } else {
3272#line 401
3273      if (handle == 3) {
3274#line 402
3275        __ste_ClientKeyring_size2 = value;
3276      } else {
3277
3278      }
3279    }
3280  }
3281#line 1940 "ClientLib.c"
3282  return;
3283}
3284}
3285#line 406 "ClientLib.c"
3286int createClientKeyringEntry(int handle ) 
3287{ int retValue_acc ;
3288  int size ;
3289  int tmp ;
3290  int __cil_tmp5 ;
3291
3292  {
3293  {
3294#line 407
3295  tmp = getClientKeyringSize(handle);
3296#line 407
3297  size = tmp;
3298  }
3299#line 408 "ClientLib.c"
3300  if (size < 2) {
3301    {
3302#line 409 "ClientLib.c"
3303    __cil_tmp5 = size + 1;
3304#line 409
3305    setClientKeyringSize(handle, __cil_tmp5);
3306#line 1967 "ClientLib.c"
3307    retValue_acc = size + 1;
3308    }
3309#line 1969
3310    return (retValue_acc);
3311  } else {
3312#line 1973 "ClientLib.c"
3313    retValue_acc = -1;
3314#line 1975
3315    return (retValue_acc);
3316  }
3317#line 1982 "ClientLib.c"
3318  return (retValue_acc);
3319}
3320}
3321#line 414 "ClientLib.c"
3322int __ste_Client_Keyring0_User0  =    0;
3323#line 416 "ClientLib.c"
3324int __ste_Client_Keyring0_User1  =    0;
3325#line 418 "ClientLib.c"
3326int __ste_Client_Keyring0_User2  =    0;
3327#line 420 "ClientLib.c"
3328int __ste_Client_Keyring1_User0  =    0;
3329#line 422 "ClientLib.c"
3330int __ste_Client_Keyring1_User1  =    0;
3331#line 424 "ClientLib.c"
3332int __ste_Client_Keyring1_User2  =    0;
3333#line 426 "ClientLib.c"
3334int __ste_Client_Keyring2_User0  =    0;
3335#line 428 "ClientLib.c"
3336int __ste_Client_Keyring2_User1  =    0;
3337#line 430 "ClientLib.c"
3338int __ste_Client_Keyring2_User2  =    0;
3339#line 433 "ClientLib.c"
3340int getClientKeyringUser(int handle , int index ) 
3341{ int retValue_acc ;
3342
3343  {
3344#line 466
3345  if (handle == 1) {
3346#line 443 "ClientLib.c"
3347    if (index == 0) {
3348#line 2028
3349      retValue_acc = __ste_Client_Keyring0_User0;
3350#line 2030
3351      return (retValue_acc);
3352    } else {
3353#line 2032
3354      if (index == 1) {
3355#line 2037
3356        retValue_acc = __ste_Client_Keyring0_User1;
3357#line 2039
3358        return (retValue_acc);
3359      } else {
3360#line 2045
3361        retValue_acc = 0;
3362#line 2047
3363        return (retValue_acc);
3364      }
3365    }
3366  } else {
3367#line 2049 "ClientLib.c"
3368    if (handle == 2) {
3369#line 453 "ClientLib.c"
3370      if (index == 0) {
3371#line 2057
3372        retValue_acc = __ste_Client_Keyring1_User0;
3373#line 2059
3374        return (retValue_acc);
3375      } else {
3376#line 2061
3377        if (index == 1) {
3378#line 2066
3379          retValue_acc = __ste_Client_Keyring1_User1;
3380#line 2068
3381          return (retValue_acc);
3382        } else {
3383#line 2074
3384          retValue_acc = 0;
3385#line 2076
3386          return (retValue_acc);
3387        }
3388      }
3389    } else {
3390#line 2078 "ClientLib.c"
3391      if (handle == 3) {
3392#line 463 "ClientLib.c"
3393        if (index == 0) {
3394#line 2086
3395          retValue_acc = __ste_Client_Keyring2_User0;
3396#line 2088
3397          return (retValue_acc);
3398        } else {
3399#line 2090
3400          if (index == 1) {
3401#line 2095
3402            retValue_acc = __ste_Client_Keyring2_User1;
3403#line 2097
3404            return (retValue_acc);
3405          } else {
3406#line 2103
3407            retValue_acc = 0;
3408#line 2105
3409            return (retValue_acc);
3410          }
3411        }
3412      } else {
3413#line 2111 "ClientLib.c"
3414        retValue_acc = 0;
3415#line 2113
3416        return (retValue_acc);
3417      }
3418    }
3419  }
3420#line 2120 "ClientLib.c"
3421  return (retValue_acc);
3422}
3423}
3424#line 473 "ClientLib.c"
3425void setClientKeyringUser(int handle , int index , int value ) 
3426{ 
3427
3428  {
3429#line 499
3430  if (handle == 1) {
3431#line 482
3432    if (index == 0) {
3433#line 476
3434      __ste_Client_Keyring0_User0 = value;
3435    } else {
3436#line 477
3437      if (index == 1) {
3438#line 478
3439        __ste_Client_Keyring0_User1 = value;
3440      } else {
3441
3442      }
3443    }
3444  } else {
3445#line 479
3446    if (handle == 2) {
3447#line 490
3448      if (index == 0) {
3449#line 484
3450        __ste_Client_Keyring1_User0 = value;
3451      } else {
3452#line 485
3453        if (index == 1) {
3454#line 486
3455          __ste_Client_Keyring1_User1 = value;
3456        } else {
3457
3458        }
3459      }
3460    } else {
3461#line 487
3462      if (handle == 3) {
3463#line 498
3464        if (index == 0) {
3465#line 492
3466          __ste_Client_Keyring2_User0 = value;
3467        } else {
3468#line 493
3469          if (index == 1) {
3470#line 494
3471            __ste_Client_Keyring2_User1 = value;
3472          } else {
3473
3474          }
3475        }
3476      } else {
3477
3478      }
3479    }
3480  }
3481#line 2176 "ClientLib.c"
3482  return;
3483}
3484}
3485#line 501 "ClientLib.c"
3486int __ste_Client_Keyring0_PublicKey0  =    0;
3487#line 503 "ClientLib.c"
3488int __ste_Client_Keyring0_PublicKey1  =    0;
3489#line 505 "ClientLib.c"
3490int __ste_Client_Keyring0_PublicKey2  =    0;
3491#line 507 "ClientLib.c"
3492int __ste_Client_Keyring1_PublicKey0  =    0;
3493#line 509 "ClientLib.c"
3494int __ste_Client_Keyring1_PublicKey1  =    0;
3495#line 511 "ClientLib.c"
3496int __ste_Client_Keyring1_PublicKey2  =    0;
3497#line 513 "ClientLib.c"
3498int __ste_Client_Keyring2_PublicKey0  =    0;
3499#line 515 "ClientLib.c"
3500int __ste_Client_Keyring2_PublicKey1  =    0;
3501#line 517 "ClientLib.c"
3502int __ste_Client_Keyring2_PublicKey2  =    0;
3503#line 520 "ClientLib.c"
3504int getClientKeyringPublicKey(int handle , int index ) 
3505{ int retValue_acc ;
3506
3507  {
3508#line 553
3509  if (handle == 1) {
3510#line 530 "ClientLib.c"
3511    if (index == 0) {
3512#line 2218
3513      retValue_acc = __ste_Client_Keyring0_PublicKey0;
3514#line 2220
3515      return (retValue_acc);
3516    } else {
3517#line 2222
3518      if (index == 1) {
3519#line 2227
3520        retValue_acc = __ste_Client_Keyring0_PublicKey1;
3521#line 2229
3522        return (retValue_acc);
3523      } else {
3524#line 2235
3525        retValue_acc = 0;
3526#line 2237
3527        return (retValue_acc);
3528      }
3529    }
3530  } else {
3531#line 2239 "ClientLib.c"
3532    if (handle == 2) {
3533#line 540 "ClientLib.c"
3534      if (index == 0) {
3535#line 2247
3536        retValue_acc = __ste_Client_Keyring1_PublicKey0;
3537#line 2249
3538        return (retValue_acc);
3539      } else {
3540#line 2251
3541        if (index == 1) {
3542#line 2256
3543          retValue_acc = __ste_Client_Keyring1_PublicKey1;
3544#line 2258
3545          return (retValue_acc);
3546        } else {
3547#line 2264
3548          retValue_acc = 0;
3549#line 2266
3550          return (retValue_acc);
3551        }
3552      }
3553    } else {
3554#line 2268 "ClientLib.c"
3555      if (handle == 3) {
3556#line 550 "ClientLib.c"
3557        if (index == 0) {
3558#line 2276
3559          retValue_acc = __ste_Client_Keyring2_PublicKey0;
3560#line 2278
3561          return (retValue_acc);
3562        } else {
3563#line 2280
3564          if (index == 1) {
3565#line 2285
3566            retValue_acc = __ste_Client_Keyring2_PublicKey1;
3567#line 2287
3568            return (retValue_acc);
3569          } else {
3570#line 2293
3571            retValue_acc = 0;
3572#line 2295
3573            return (retValue_acc);
3574          }
3575        }
3576      } else {
3577#line 2301 "ClientLib.c"
3578        retValue_acc = 0;
3579#line 2303
3580        return (retValue_acc);
3581      }
3582    }
3583  }
3584#line 2310 "ClientLib.c"
3585  return (retValue_acc);
3586}
3587}
3588#line 557 "ClientLib.c"
3589int findPublicKey(int handle , int userid ) 
3590{ int retValue_acc ;
3591
3592  {
3593#line 591
3594  if (handle == 1) {
3595#line 568 "ClientLib.c"
3596    if (userid == __ste_Client_Keyring0_User0) {
3597#line 2338
3598      retValue_acc = __ste_Client_Keyring0_PublicKey0;
3599#line 2340
3600      return (retValue_acc);
3601    } else {
3602#line 2342
3603      if (userid == __ste_Client_Keyring0_User1) {
3604#line 2347
3605        retValue_acc = __ste_Client_Keyring0_PublicKey1;
3606#line 2349
3607        return (retValue_acc);
3608      } else {
3609#line 2355
3610        retValue_acc = 0;
3611#line 2357
3612        return (retValue_acc);
3613      }
3614    }
3615  } else {
3616#line 2359 "ClientLib.c"
3617    if (handle == 2) {
3618#line 578 "ClientLib.c"
3619      if (userid == __ste_Client_Keyring1_User0) {
3620#line 2367
3621        retValue_acc = __ste_Client_Keyring1_PublicKey0;
3622#line 2369
3623        return (retValue_acc);
3624      } else {
3625#line 2371
3626        if (userid == __ste_Client_Keyring1_User1) {
3627#line 2376
3628          retValue_acc = __ste_Client_Keyring1_PublicKey1;
3629#line 2378
3630          return (retValue_acc);
3631        } else {
3632#line 2384
3633          retValue_acc = 0;
3634#line 2386
3635          return (retValue_acc);
3636        }
3637      }
3638    } else {
3639#line 2388 "ClientLib.c"
3640      if (handle == 3) {
3641#line 588 "ClientLib.c"
3642        if (userid == __ste_Client_Keyring2_User0) {
3643#line 2396
3644          retValue_acc = __ste_Client_Keyring2_PublicKey0;
3645#line 2398
3646          return (retValue_acc);
3647        } else {
3648#line 2400
3649          if (userid == __ste_Client_Keyring2_User1) {
3650#line 2405
3651            retValue_acc = __ste_Client_Keyring2_PublicKey1;
3652#line 2407
3653            return (retValue_acc);
3654          } else {
3655#line 2413
3656            retValue_acc = 0;
3657#line 2415
3658            return (retValue_acc);
3659          }
3660        }
3661      } else {
3662#line 2421 "ClientLib.c"
3663        retValue_acc = 0;
3664#line 2423
3665        return (retValue_acc);
3666      }
3667    }
3668  }
3669#line 2430 "ClientLib.c"
3670  return (retValue_acc);
3671}
3672}
3673#line 595 "ClientLib.c"
3674void setClientKeyringPublicKey(int handle , int index , int value ) 
3675{ 
3676
3677  {
3678#line 621
3679  if (handle == 1) {
3680#line 604
3681    if (index == 0) {
3682#line 598
3683      __ste_Client_Keyring0_PublicKey0 = value;
3684    } else {
3685#line 599
3686      if (index == 1) {
3687#line 600
3688        __ste_Client_Keyring0_PublicKey1 = value;
3689      } else {
3690
3691      }
3692    }
3693  } else {
3694#line 601
3695    if (handle == 2) {
3696#line 612
3697      if (index == 0) {
3698#line 606
3699        __ste_Client_Keyring1_PublicKey0 = value;
3700      } else {
3701#line 607
3702        if (index == 1) {
3703#line 608
3704          __ste_Client_Keyring1_PublicKey1 = value;
3705        } else {
3706
3707        }
3708      }
3709    } else {
3710#line 609
3711      if (handle == 3) {
3712#line 620
3713        if (index == 0) {
3714#line 614
3715          __ste_Client_Keyring2_PublicKey0 = value;
3716        } else {
3717#line 615
3718          if (index == 1) {
3719#line 616
3720            __ste_Client_Keyring2_PublicKey1 = value;
3721          } else {
3722
3723          }
3724        }
3725      } else {
3726
3727      }
3728    }
3729  }
3730#line 2486 "ClientLib.c"
3731  return;
3732}
3733}
3734#line 623 "ClientLib.c"
3735int __ste_client_forwardReceiver0  =    0;
3736#line 625 "ClientLib.c"
3737int __ste_client_forwardReceiver1  =    0;
3738#line 627 "ClientLib.c"
3739int __ste_client_forwardReceiver2  =    0;
3740#line 629 "ClientLib.c"
3741int __ste_client_forwardReceiver3  =    0;
3742#line 631 "ClientLib.c"
3743int getClientForwardReceiver(int handle ) 
3744{ int retValue_acc ;
3745
3746  {
3747#line 640 "ClientLib.c"
3748  if (handle == 1) {
3749#line 2515
3750    retValue_acc = __ste_client_forwardReceiver0;
3751#line 2517
3752    return (retValue_acc);
3753  } else {
3754#line 2519
3755    if (handle == 2) {
3756#line 2524
3757      retValue_acc = __ste_client_forwardReceiver1;
3758#line 2526
3759      return (retValue_acc);
3760    } else {
3761#line 2528
3762      if (handle == 3) {
3763#line 2533
3764        retValue_acc = __ste_client_forwardReceiver2;
3765#line 2535
3766        return (retValue_acc);
3767      } else {
3768#line 2541 "ClientLib.c"
3769        retValue_acc = 0;
3770#line 2543
3771        return (retValue_acc);
3772      }
3773    }
3774  }
3775#line 2550 "ClientLib.c"
3776  return (retValue_acc);
3777}
3778}
3779#line 643 "ClientLib.c"
3780void setClientForwardReceiver(int handle , int value ) 
3781{ 
3782
3783  {
3784#line 651
3785  if (handle == 1) {
3786#line 645
3787    __ste_client_forwardReceiver0 = value;
3788  } else {
3789#line 646
3790    if (handle == 2) {
3791#line 647
3792      __ste_client_forwardReceiver1 = value;
3793    } else {
3794#line 648
3795      if (handle == 3) {
3796#line 649
3797        __ste_client_forwardReceiver2 = value;
3798      } else {
3799
3800      }
3801    }
3802  }
3803#line 2585 "ClientLib.c"
3804  return;
3805}
3806}
3807#line 653 "ClientLib.c"
3808int __ste_client_idCounter0  =    0;
3809#line 655 "ClientLib.c"
3810int __ste_client_idCounter1  =    0;
3811#line 657 "ClientLib.c"
3812int __ste_client_idCounter2  =    0;
3813#line 660 "ClientLib.c"
3814int getClientId(int handle ) 
3815{ int retValue_acc ;
3816
3817  {
3818#line 669 "ClientLib.c"
3819  if (handle == 1) {
3820#line 2612
3821    retValue_acc = __ste_client_idCounter0;
3822#line 2614
3823    return (retValue_acc);
3824  } else {
3825#line 2616
3826    if (handle == 2) {
3827#line 2621
3828      retValue_acc = __ste_client_idCounter1;
3829#line 2623
3830      return (retValue_acc);
3831    } else {
3832#line 2625
3833      if (handle == 3) {
3834#line 2630
3835        retValue_acc = __ste_client_idCounter2;
3836#line 2632
3837        return (retValue_acc);
3838      } else {
3839#line 2638 "ClientLib.c"
3840        retValue_acc = 0;
3841#line 2640
3842        return (retValue_acc);
3843      }
3844    }
3845  }
3846#line 2647 "ClientLib.c"
3847  return (retValue_acc);
3848}
3849}
3850#line 672 "ClientLib.c"
3851void setClientId(int handle , int value ) 
3852{ 
3853
3854  {
3855#line 680
3856  if (handle == 1) {
3857#line 674
3858    __ste_client_idCounter0 = value;
3859  } else {
3860#line 675
3861    if (handle == 2) {
3862#line 676
3863      __ste_client_idCounter1 = value;
3864    } else {
3865#line 677
3866      if (handle == 3) {
3867#line 678
3868        __ste_client_idCounter2 = value;
3869      } else {
3870
3871      }
3872    }
3873  }
3874#line 2682 "ClientLib.c"
3875  return;
3876}
3877}
3878#line 1 "Client.o"
3879#pragma merger(0,"Client.i","")
3880#line 14 "Client.h"
3881void queue(int client , int msg ) ;
3882#line 24
3883void mail(int client , int msg ) ;
3884#line 28
3885void deliver(int client , int msg ) ;
3886#line 30
3887void incoming(int client , int msg ) ;
3888#line 32
3889int createClient(char *name ) ;
3890#line 40
3891int isKeyPairValid(int publicKey , int privateKey ) ;
3892#line 45
3893void autoRespond(int client , int msg ) ;
3894#line 46
3895void sendToAddressBook(int client , int msg ) ;
3896#line 48
3897void forward(int client , int msg ) ;
3898#line 6 "Client.c"
3899int queue_empty  =    1;
3900#line 9 "Client.c"
3901int queued_message  ;
3902#line 12 "Client.c"
3903int queued_client  ;
3904#line 18 "Client.c"
3905void mail(int client , int msg ) 
3906{ int tmp ;
3907
3908  {
3909  {
3910#line 19
3911  puts("mail sent");
3912#line 20
3913  tmp = getEmailTo(msg);
3914#line 20
3915  incoming(tmp, msg);
3916  }
3917#line 735 "Client.c"
3918  return;
3919}
3920}
3921#line 27 "Client.c"
3922void outgoing__wrappee__Keys(int client , int msg ) 
3923{ int tmp ;
3924
3925  {
3926  {
3927#line 28
3928  tmp = getClientId(client);
3929#line 28
3930  setEmailFrom(msg, tmp);
3931#line 29
3932  mail(client, msg);
3933  }
3934#line 757 "Client.c"
3935  return;
3936}
3937}
3938#line 33 "Client.c"
3939void outgoing__wrappee__AutoResponder(int client , int msg ) 
3940{ int receiver ;
3941  int tmp ;
3942  int pubkey ;
3943  int tmp___0 ;
3944
3945  {
3946  {
3947#line 36
3948  tmp = getEmailTo(msg);
3949#line 36
3950  receiver = tmp;
3951#line 37
3952  tmp___0 = findPublicKey(client, receiver);
3953#line 37
3954  pubkey = tmp___0;
3955  }
3956#line 38
3957  if (pubkey) {
3958    {
3959#line 39
3960    setEmailEncryptionKey(msg, pubkey);
3961#line 40
3962    setEmailIsEncrypted(msg, 1);
3963    }
3964  } else {
3965
3966  }
3967  {
3968#line 45
3969  outgoing__wrappee__Keys(client, msg);
3970  }
3971#line 792 "Client.c"
3972  return;
3973}
3974}
3975#line 52 "Client.c"
3976void outgoing(int client , int msg ) 
3977{ int size ;
3978  int tmp ;
3979  int receiver ;
3980  int tmp___0 ;
3981  int second ;
3982  int tmp___1 ;
3983  int tmp___2 ;
3984
3985  {
3986  {
3987#line 54
3988  tmp = getClientAddressBookSize(client);
3989#line 54
3990  size = tmp;
3991  }
3992#line 56
3993  if (size) {
3994    {
3995#line 57
3996    sendToAddressBook(client, msg);
3997#line 58
3998    puts("sending to alias in address book\n");
3999#line 59
4000    tmp___0 = getEmailTo(msg);
4001#line 59
4002    receiver = tmp___0;
4003#line 61
4004    puts("sending to second receipient\n");
4005#line 62
4006    tmp___1 = getClientAddressBookAddress(client, 1);
4007#line 62
4008    second = tmp___1;
4009#line 63
4010    setEmailTo(msg, second);
4011#line 64
4012    outgoing__wrappee__AutoResponder(client, msg);
4013#line 67
4014    tmp___2 = getClientAddressBookAddress(client, 0);
4015#line 67
4016    setEmailTo(msg, tmp___2);
4017#line 68
4018    outgoing__wrappee__AutoResponder(client, msg);
4019    }
4020  } else {
4021    {
4022#line 70
4023    outgoing__wrappee__AutoResponder(client, msg);
4024    }
4025  }
4026#line 842 "Client.c"
4027  return;
4028}
4029}
4030#line 79 "Client.c"
4031void deliver(int client , int msg ) 
4032{ 
4033
4034  {
4035  {
4036#line 80
4037  puts("mail delivered\n");
4038  }
4039#line 862 "Client.c"
4040  return;
4041}
4042}
4043#line 87 "Client.c"
4044void incoming__wrappee__Encrypt(int client , int msg ) 
4045{ 
4046
4047  {
4048  {
4049#line 88
4050  deliver(client, msg);
4051  }
4052#line 882 "Client.c"
4053  return;
4054}
4055}
4056#line 94 "Client.c"
4057void incoming__wrappee__AddressBook(int client , int msg ) 
4058{ int tmp ;
4059
4060  {
4061  {
4062#line 95
4063  incoming__wrappee__Encrypt(client, msg);
4064#line 96
4065  tmp = getClientAutoResponse(client);
4066  }
4067#line 96
4068  if (tmp) {
4069    {
4070#line 97
4071    autoRespond(client, msg);
4072    }
4073  } else {
4074
4075  }
4076#line 907 "Client.c"
4077  return;
4078}
4079}
4080#line 104 "Client.c"
4081void incoming__wrappee__Forward(int client , int msg ) 
4082{ int fwreceiver ;
4083  int tmp ;
4084
4085  {
4086  {
4087#line 105
4088  incoming__wrappee__AddressBook(client, msg);
4089#line 106
4090  tmp = getClientForwardReceiver(client);
4091#line 106
4092  fwreceiver = tmp;
4093  }
4094#line 107
4095  if (fwreceiver) {
4096    {
4097#line 109
4098    setEmailTo(msg, fwreceiver);
4099#line 110
4100    forward(client, msg);
4101    }
4102  } else {
4103
4104  }
4105#line 938 "Client.c"
4106  return;
4107}
4108}
4109#line 117 "Client.c"
4110void incoming(int client , int msg ) 
4111{ int privkey ;
4112  int tmp ;
4113  int tmp___0 ;
4114  int tmp___1 ;
4115  int tmp___2 ;
4116
4117  {
4118  {
4119#line 120
4120  tmp = getClientPrivateKey(client);
4121#line 120
4122  privkey = tmp;
4123  }
4124#line 121
4125  if (privkey) {
4126    {
4127#line 129
4128    tmp___0 = isEncrypted(msg);
4129    }
4130#line 129
4131    if (tmp___0) {
4132      {
4133#line 129
4134      tmp___1 = getEmailEncryptionKey(msg);
4135#line 129
4136      tmp___2 = isKeyPairValid(tmp___1, privkey);
4137      }
4138#line 129
4139      if (tmp___2) {
4140        {
4141#line 126
4142        setEmailIsEncrypted(msg, 0);
4143#line 127
4144        setEmailEncryptionKey(msg, 0);
4145        }
4146      } else {
4147
4148      }
4149    } else {
4150
4151    }
4152  } else {
4153
4154  }
4155  {
4156#line 132
4157  incoming__wrappee__Forward(client, msg);
4158  }
4159#line 972 "Client.c"
4160  return;
4161}
4162}
4163#line 136 "Client.c"
4164int createClient(char *name ) 
4165{ int retValue_acc ;
4166  int client ;
4167  int tmp ;
4168
4169  {
4170  {
4171#line 137
4172  tmp = initClient();
4173#line 137
4174  client = tmp;
4175#line 994 "Client.c"
4176  retValue_acc = client;
4177  }
4178#line 996
4179  return (retValue_acc);
4180#line 1003
4181  return (retValue_acc);
4182}
4183}
4184#line 144 "Client.c"
4185void sendEmail(int sender , int receiver ) 
4186{ int email ;
4187  int tmp ;
4188
4189  {
4190  {
4191#line 145
4192  tmp = createEmail(0, receiver);
4193#line 145
4194  email = tmp;
4195#line 146
4196  outgoing(sender, email);
4197  }
4198#line 1031 "Client.c"
4199  return;
4200}
4201}
4202#line 154 "Client.c"
4203void queue(int client , int msg ) 
4204{ 
4205
4206  {
4207#line 155
4208  queue_empty = 0;
4209#line 156
4210  queued_message = msg;
4211#line 157
4212  queued_client = client;
4213#line 1055 "Client.c"
4214  return;
4215}
4216}
4217#line 163 "Client.c"
4218int is_queue_empty(void) 
4219{ int retValue_acc ;
4220
4221  {
4222#line 1073 "Client.c"
4223  retValue_acc = queue_empty;
4224#line 1075
4225  return (retValue_acc);
4226#line 1082
4227  return (retValue_acc);
4228}
4229}
4230#line 170 "Client.c"
4231int get_queued_client(void) 
4232{ int retValue_acc ;
4233
4234  {
4235#line 1104 "Client.c"
4236  retValue_acc = queued_client;
4237#line 1106
4238  return (retValue_acc);
4239#line 1113
4240  return (retValue_acc);
4241}
4242}
4243#line 177 "Client.c"
4244int get_queued_email(void) 
4245{ int retValue_acc ;
4246
4247  {
4248#line 1135 "Client.c"
4249  retValue_acc = queued_message;
4250#line 1137
4251  return (retValue_acc);
4252#line 1144
4253  return (retValue_acc);
4254}
4255}
4256#line 183 "Client.c"
4257int isKeyPairValid(int publicKey , int privateKey ) 
4258{ int retValue_acc ;
4259  char const   * __restrict  __cil_tmp4 ;
4260
4261  {
4262  {
4263#line 184
4264  __cil_tmp4 = (char const   * __restrict  )"keypair valid %d %d";
4265#line 184
4266  printf(__cil_tmp4, publicKey, privateKey);
4267  }
4268#line 185 "Client.c"
4269  if (! publicKey) {
4270#line 1169 "Client.c"
4271    retValue_acc = 0;
4272#line 1171
4273    return (retValue_acc);
4274  } else {
4275#line 185 "Client.c"
4276    if (! privateKey) {
4277#line 1169 "Client.c"
4278      retValue_acc = 0;
4279#line 1171
4280      return (retValue_acc);
4281    } else {
4282
4283    }
4284  }
4285#line 1176 "Client.c"
4286  retValue_acc = privateKey == publicKey;
4287#line 1178
4288  return (retValue_acc);
4289#line 1185
4290  return (retValue_acc);
4291}
4292}
4293#line 193 "Client.c"
4294void generateKeyPair(int client , int seed ) 
4295{ 
4296
4297  {
4298  {
4299#line 194
4300  setClientPrivateKey(client, seed);
4301  }
4302#line 1209 "Client.c"
4303  return;
4304}
4305}
4306#line 200 "Client.c"
4307void autoRespond(int client , int msg ) 
4308{ int __utac__ad__arg1 ;
4309  int __utac__ad__arg2 ;
4310  int sender ;
4311  int tmp ;
4312
4313  {
4314  {
4315#line 1336 "Client.c"
4316  __utac__ad__arg1 = client;
4317#line 1337
4318  __utac__ad__arg2 = msg;
4319#line 1338
4320  __utac_acc__DecryptAutoResponder_spec__1(__utac__ad__arg1, __utac__ad__arg2);
4321#line 201 "Client.c"
4322  puts("sending autoresponse\n");
4323#line 202
4324  tmp = getEmailFrom(msg);
4325#line 202
4326  sender = tmp;
4327#line 203
4328  setEmailTo(msg, sender);
4329#line 204
4330  queue(client, msg);
4331  }
4332#line 1361 "Client.c"
4333  return;
4334}
4335}
4336#line 209 "Client.c"
4337void sendToAddressBook(int client , int msg ) 
4338{ 
4339
4340  {
4341#line 1379 "Client.c"
4342  return;
4343}
4344}
4345#line 215 "Client.c"
4346void forward(int client , int msg ) 
4347{ 
4348
4349  {
4350  {
4351#line 216
4352  puts("Forwarding message.\n");
4353#line 217
4354  printMail(msg);
4355#line 218
4356  queue(client, msg);
4357  }
4358#line 1403 "Client.c"
4359  return;
4360}
4361}
4362#line 1 "wsllib_check.o"
4363#pragma merger(0,"wsllib_check.i","")
4364#line 3 "wsllib_check.c"
4365void __automaton_fail(void) 
4366{ 
4367
4368  {
4369  goto ERROR;
4370  ERROR: ;
4371#line 53 "wsllib_check.c"
4372  return;
4373}
4374}
4375#line 1 "Util.o"
4376#pragma merger(0,"Util.i","")
4377#line 1 "Util.h"
4378int prompt(char *msg ) ;
4379#line 9 "Util.c"
4380int prompt(char *msg ) 
4381{ int retValue_acc ;
4382  int retval ;
4383  char const   * __restrict  __cil_tmp4 ;
4384
4385  {
4386  {
4387#line 10
4388  __cil_tmp4 = (char const   * __restrict  )"%s\n";
4389#line 10
4390  printf(__cil_tmp4, msg);
4391#line 518 "Util.c"
4392  retValue_acc = retval;
4393  }
4394#line 520
4395  return (retValue_acc);
4396#line 527
4397  return (retValue_acc);
4398}
4399}