[LON-CAPA-users] error message

Nathan Schoenack lon-capa-users@mail.lon-capa.org
Fri, 5 Dec 2003 16:42:19 -0600


Hello,

Below is an error message that was received by multiple students when they
were working on a problem.  Does anybody know what this means?  Is it the
result of an overloaded server not being able to process a student's
answers, or is there something else going on.

There was another professor who said he had received messages from students
having difficulty logging in to LON-CAPA at about the same time these error
messages were created.  I assume these problems are related.

Nathan Schoenack
NDSU Physics

ps. LON-CAPA appears to be functioning just fine now.



-----Original Message-----
From: claudio.verdozzi [mailto:claudio.verdozzi@ndsu.nodak.edu]
Sent: Saturday, December 06, 2003 4:38 PM
To: Nathan Schoenack
Subject: Re: LCAPA problem message


Code ran too long. It ran for more than 300 seconds timeout at
/home/httpd/lib/perl/Apache/run.pm line 86.

  occured while running
# The LearningOnline Network with CAPA
# used by lonxml::xmlparse() as input variable [TeX Uncoverted Due To
Previous Errors]Id: default_homework.lcpm,v 1.64 2003/06/24 20:41:56
albertel Exp [TeX Uncoverted Due To Previous
Errors]hidden::RANDOMINIT=0;
[TeX Uncoverted Due To Previous Errors]rad2deg=180.0/[TeX Uncoverted
Due To Previous Errors]deg2rad=[TeX Uncoverted Due To Previous
Errors]"=' ';

sub caparesponse_check {
   #not properly used yet: calc
   #not to be used: [TeX Uncoverted Due To Previous Errors]type,[TeX
Uncoverted Due To Previous Errors]sig,[TeX Uncoverted Due To Previous
Errors]unit,[TeX Uncoverted Due To Previous Errors]samples) =
     eval [TeX Uncoverted Due To Previous Errors]type,[TeX Uncoverted
Due To Previous Errors]sig,[TeX Uncoverted Due To Previous
Errors]unit,[TeX Uncoverted Due To Previous Errors]samples);';

   my [TeX Uncoverted Due To Previous Errors]sig_lbound=''; #done
   my [TeX Uncoverted Due To Previous Errors]answer,[TeX Uncoverted Due
To Previous Errors]expr)=@_;


   #type's definitons come from capaParser.h
   my [TeX Uncoverted Due To Previous Errors]response=~ /^\s|\s[TeX
Uncoverted Due To Previous Errors]response=~ s:^\s+|\s+[TeX Uncoverted
Due To Previous Errors]message .="Removed ws now :[TeX Uncoverted Due
To Previous Errors]message .="no ws in :[TeX Uncoverted Due To Previous
Errors]response) > 500) { return "TOO_LONG: Answer too long"; }

   if ([TeX Uncoverted Due To Previous Errors]message .= "Didn't find a
type :[TeX Uncoverted Due To Previous Errors]expr: defaulting\n";
     if ( [TeX Uncoverted Due To Previous Errors]answer *1.0)) { [TeX
Uncoverted Due To Previous Errors]type = 3; }
   } else {
          if ([TeX Uncoverted Due To Previous Errors]type = 4;
     } elsif ([TeX Uncoverted Due To Previous Errors]type = 3;
     } elsif ([TeX Uncoverted Due To Previous Errors]type = 5;
     } elsif ([TeX Uncoverted Due To Previous Errors]type = 8;
     } elsif ([TeX Uncoverted Due To Previous Errors]type = 7;
     } elsif ([TeX Uncoverted Due To Previous Errors]type = 2;
     } elsif ([TeX Uncoverted Due To Previous Errors]type = 1;
     } else { return "ERROR: Unknown type of answer: [TeX Uncoverted Due
To Previous Errors]points;
   my [TeX Uncoverted Due To Previous Errors]type eq '8') {
     ([TeX Uncoverted Due To Previous Errors]points)=split(/@/,[TeX
Uncoverted Due To Previous Errors]message.="Found :[TeX Uncoverted Due
To Previous Errors]points: points in [TeX Uncoverted Due To Previous
Errors]tol eq '') {
     [TeX Uncoverted Due To Previous Errors]tol_type=1; #TOL_ABSOLUTE
   } else {
     if ([TeX Uncoverted Due To Previous Errors]/) {
       chop [TeX Uncoverted Due To Previous Errors]tol_type=2;
#TOL_PERCENTAGE
     } else {
       [TeX Uncoverted Due To Previous Errors]sig eq '') {
     [TeX Uncoverted Due To Previous Errors]sig_ubound =15;
#SIG_UB_DEFAULT
   } else {
     ([TeX Uncoverted Due To Previous Errors]sig_ubound) = split
/,/,[TeX Uncoverted Due To Previous Errors]sig_lbound)) {
       [TeX Uncoverted Due To Previous Errors]sig_ubound =15;
#SIG_UB_DEFAULT
     }
     if (!defined([TeX Uncoverted Due To Previous Errors]sig_ubound=[TeX
Uncoverted Due To Previous Errors]result =
&caparesponse_capa_check_answer([TeX Uncoverted Due To Previous
Errors]answer,[TeX Uncoverted Due To Previous Errors]tol_type,[TeX
Uncoverted Due To Previous Errors]sig_lbound,[TeX Uncoverted Due To
Previous Errors]ans_fmt,[TeX Uncoverted Due To Previous
Errors]calc,[TeX Uncoverted Due To Previous Errors]points,[TeX
Uncoverted Due To Previous Errors]result == '1') { [TeX Uncoverted Due
To Previous Errors]result == '2') { [TeX Uncoverted Due To Previous
Errors]result == '3') { [TeX Uncoverted Due To Previous Errors]result
== '4') { [TeX Uncoverted Due To Previous Errors]result == '5') { [TeX
Uncoverted Due To Previous Errors]result == '6') { [TeX Uncoverted Due
To Previous Errors]result == '7') { [TeX Uncoverted Due To Previous
Errors]result == '8') { [TeX Uncoverted Due To Previous Errors]result
== '9') { [TeX Uncoverted Due To Previous Errors]result =='10') { [TeX
Uncoverted Due To Previous Errors]result =='11') { [TeX Uncoverted Due
To Previous Errors]result =='12') { [TeX Uncoverted Due To Previous
Errors]result = "ERROR: Unknown Result:[TeX Uncoverted Due To Previous
Errors]@:";}

   return "[TeX Uncoverted Due To Previous Errors]error:\nAnswer [TeX
Uncoverted Due To Previous Errors]response:\n type-[TeX Uncoverted Due
To Previous Errors]tol|[TeX Uncoverted Due To Previous Errors]sig:[TeX
Uncoverted Due To Previous Errors]sig_ubound|[TeX Uncoverted Due To
Previous Errors]message[TeX Uncoverted Due To Previous Errors]expr,[TeX
Uncoverted Due To Previous Errors]CAPARESPONSE_CHECK_LIST_answer
   my [TeX Uncoverted Due To Previous Errors]expr.';return [TeX
Uncoverted Due To Previous Errors]arg; #' stupid emacs
   my [TeX Uncoverted Due To Previous Errors]expr\narg is [TeX
Uncoverted Due To Previous Errors]CAPARESPONSE_CHECK_LIST_answer\n";
   my @GET_ARRAY_ARGS_list;
   if ([TeX Uncoverted Due To Previous Errors]\@]/) {
     (@GET_ARRAY_ARGS_list) = eval [TeX Uncoverted Due To Previous
Errors]GET_ARRAY_ARGS_result.="error:[TeX Uncoverted Due To Previous
Errors]GET_ARRAY_ARGS_list[0])) {
     [TeX Uncoverted Due To Previous Errors]GET_ARRAY_ARGS_list[0]=[TeX
Uncoverted Due To Previous
Errors]GET_ARRAY_ARGS_result,@GET_ARRAY_ARGS_list;
}

sub caparesponse_check_list {
   my ([TeX Uncoverted Due To Previous Errors]expr)=@_;
#  [TeX Uncoverted Due To Previous Errors]expr =~ s/\'/\\\'/g;
#  my ([TeX Uncoverted Due To Previous Errors]expr,'answer');
#  [TeX Uncoverted Due To Previous Errors]expr =~ s/\\\\/\\/g;
   my ([TeX Uncoverted Due To Previous Errors]aresult='';
   my [TeX Uncoverted Due To Previous Errors]answers=join(':',@list);
   [TeX Uncoverted Due To Previous Errors]answers:\n";
   my @responselist;
   my [TeX Uncoverted Due To Previous Errors]expr.';return [TeX
Uncoverted Due To Previous Errors]type ne '' && [TeX Uncoverted Due To
Previous Errors]response;
   } else {
     (@responselist)=([TeX Uncoverted Due To Previous Errors]unit='';
   [TeX Uncoverted Due To Previous Errors]responselist['-1']:\n";
   if ([TeX Uncoverted Due To Previous Errors]type eq 'float') {
     #for numerical problems split off the unit
     if ( [TeX Uncoverted Due To Previous Errors]responselist['-1']=[TeX
Uncoverted Due To Previous Errors]unit=[TeX Uncoverted Due To Previous
Errors]result.="Final final response :[TeX Uncoverted Due To Previous
Errors]result.=":[TeX Uncoverted Due To Previous Errors]unit=~s/\s//;
   my [TeX Uncoverted Due To Previous Errors]awards='';
   for ([TeX Uncoverted Due To Previous Errors]i<@list;[TeX Uncoverted
Due To Previous Errors]result.="trying answer :[TeX Uncoverted Due To
Previous Errors]i]:\n";
     my [TeX Uncoverted Due To Previous Errors]list[[TeX Uncoverted Due
To Previous Errors]thisanswer=~ s/\\/\\\\/g;
#    [TeX Uncoverted Due To Previous Errors]result.="trying answer
:[TeX Uncoverted Due To Previous Errors]unit eq '') {
       [TeX Uncoverted Due To Previous Errors]thisanswer,[TeX Uncoverted
Due To Previous Errors]i],
                              [TeX Uncoverted Due To Previous
Errors]aresult=&caparesponse_check([TeX Uncoverted Due To Previous
Errors]responselist[[TeX Uncoverted Due To Previous Errors]unit",
                                    [TeX Uncoverted Due To Previous
Errors]temp)=split /:/, [TeX Uncoverted Due To Previous
Errors]awards.="[TeX Uncoverted Due To Previous Errors]result.=[TeX
Uncoverted Due To Previous Errors]awards;
   return "[TeX Uncoverted Due To Previous Errors]result";
}

sub tex {
   if ( [TeX Uncoverted Due To Previous Errors]_[0];
   } else {
     return [TeX Uncoverted Due To Previous Errors]external::target eq
"tex" ) {
     return [TeX Uncoverted Due To Previous Errors]external::target eq
"tex" ) {
     return [TeX Uncoverted Due To Previous Errors]external::target eq
"web" || [TeX Uncoverted Due To Previous Errors]_[2];
     } else {
       return [TeX Uncoverted Due To Previous Errors]external::target eq
"web" ) {
     return shift;
   }
}

sub hinton {
   return 0;
}

sub random {
     my ([TeX Uncoverted Due To Previous Errors]end,[TeX Uncoverted Due
To Previous Errors]hidden::RANDOMINIT ) {
         if ([TeX Uncoverted Due To Previous
Errors]external::randomseed=1; }
         if ([TeX Uncoverted Due To Previous Errors]num1,[TeX Uncoverted
Due To Previous Errors]seed);
             &random_set_seed(abs([TeX Uncoverted Due To Previous
Errors]num2));
         } else {
             &random_set_seed(1,int(abs([TeX Uncoverted Due To Previous
Errors]hidden::RANDOMINIT=1;
     }
     if (!defined([TeX Uncoverted Due To Previous Errors]step=1; }
     my [TeX Uncoverted Due To Previous Errors]end-[TeX Uncoverted Due
To Previous Errors]step);
     my [TeX Uncoverted Due To Previous Errors]start +
int(&math_random_uniform() * [TeX Uncoverted Due To Previous
Errors]step;
     return [TeX Uncoverted Due To Previous Errors]item_cnt,[TeX
Uncoverted Due To Previous Errors]av,[TeX Uncoverted Due To Previous
Errors]seed);
   @retArray=&math_random_normal([TeX Uncoverted Due To Previous
Errors]av,[TeX Uncoverted Due To Previous Errors]item_cnt,[TeX
Uncoverted Due To Previous Errors]aa,[TeX Uncoverted Due To Previous
Errors]seed);
   @retArray=&math_random_beta([TeX Uncoverted Due To Previous
Errors]aa,[TeX Uncoverted Due To Previous Errors]item_cnt,[TeX
Uncoverted Due To Previous Errors]a,[TeX Uncoverted Due To Previous
Errors]seed);
   @retArray=&math_random_gamma([TeX Uncoverted Due To Previous
Errors]a,[TeX Uncoverted Due To Previous Errors]item_cnt,[TeX
Uncoverted Due To Previous Errors]av) = @_;
   my @oldseed=&random_get_seed();
   my @retArray;
   &random_set_seed_from_phrase([TeX Uncoverted Due To Previous
Errors]item_cnt,[TeX Uncoverted Due To Previous Errors]item_cnt,[TeX
Uncoverted Due To Previous Errors]mu) = @_;
   my @oldseed=&random_get_seed();
   my @retArray;
   &random_set_seed_from_phrase([TeX Uncoverted Due To Previous
Errors]item_cnt,[TeX Uncoverted Due To Previous Errors]item_cnt,[TeX
Uncoverted Due To Previous Errors]df) = @_;
   my @oldseed=&random_get_seed();
   my @retArray;
   &random_set_seed_from_phrase([TeX Uncoverted Due To Previous
Errors]item_cnt,[TeX Uncoverted Due To Previous Errors]item_cnt,[TeX
Uncoverted Due To Previous Errors]df,[TeX Uncoverted Due To Previous
Errors]seed);
   @retArray=&math_random_noncentral_chi_square([TeX Uncoverted Due To
Previous Errors]df,[TeX Uncoverted Due To Previous Errors]item_cnt,[TeX
Uncoverted Due To Previous Errors]dfn,[TeX Uncoverted Due To Previous
Errors]seed);
   @retArray=&math_random_f([TeX Uncoverted Due To Previous
Errors]dfn,[TeX Uncoverted Due To Previous Errors]item_cnt,[TeX
Uncoverted Due To Previous Errors]dfn,[TeX Uncoverted Due To Previous
Errors]nonc) = @_;
   my @oldseed=&random_get_seed();
   my @retArray;
   &random_set_seed_from_phrase([TeX Uncoverted Due To Previous
Errors]item_cnt,[TeX Uncoverted Due To Previous Errors]dfd,[TeX
Uncoverted Due To Previous Errors]item_cnt,[TeX Uncoverted Due To
Previous Errors]mean,[TeX Uncoverted Due To Previous Errors]seed);
   @retArray=&math_random_multivariate_normal([TeX Uncoverted Due To
Previous Errors]mean,@[TeX Uncoverted Due To Previous
Errors]item_cnt,[TeX Uncoverted Due To Previous Errors]seed);
   @retArray=&math_random_multinomial([TeX Uncoverted Due To Previous
Errors]seed,@inArray) = @_;
   my @oldseed=&random_get_seed();
   my @retArray;
   &random_set_seed_from_phrase([TeX Uncoverted Due To Previous
Errors]item_cnt,[TeX Uncoverted Due To Previous Errors]low,[TeX
Uncoverted Due To Previous Errors]seed);
   @retArray=&math_random_uniform([TeX Uncoverted Due To Previous
Errors]low,[TeX Uncoverted Due To Previous Errors]item_cnt,[TeX
Uncoverted Due To Previous Errors]low,[TeX Uncoverted Due To Previous
Errors]seed);
   @retArray=&math_random_uniform_integer([TeX Uncoverted Due To
Previous Errors]low,[TeX Uncoverted Due To Previous
Errors]item_cnt,[TeX Uncoverted Due To Previous Errors]nt,[TeX
Uncoverted Due To Previous Errors]seed);
   @retArray=&math_random_binomial([TeX Uncoverted Due To Previous
Errors]nt,[TeX Uncoverted Due To Previous Errors]item_cnt,[TeX
Uncoverted Due To Previous Errors]ne,[TeX Uncoverted Due To Previous
Errors]seed);
   @retArray=&math_random_negative_binomial([TeX Uncoverted Due To
Previous Errors]ne,[TeX Uncoverted Due To Previous Errors]_[0],[TeX
Uncoverted Due To Previous Errors]_[0]) / CORE::cos([TeX Uncoverted Due
To Previous Errors]_[0], 1); }
#sub acos { atan2(sqrt(1 - [TeX Uncoverted Due To Previous
Errors]_[0]), [TeX Uncoverted Due To Previous Errors]_[0], sqrt(1- [TeX
Uncoverted Due To Previous Errors]_[0]) );  }

sub log10 { CORE::log([TeX Uncoverted Due To Previous Errors]input =
CORE::int(shift);
     return "Error - unable to take factorial of an negative number
([TeX Uncoverted Due To Previous Errors]input < 0;
     return "Error - factorial result is greater than system limit ([TeX
Uncoverted Due To Previous Errors]input > 170;
     return 1 if [TeX Uncoverted Due To Previous Errors]result = 1;
     for (my [TeX Uncoverted Due To Previous Errors]i<=[TeX Uncoverted
Due To Previous Errors]i++) { [TeX Uncoverted Due To Previous Errors]i
}
     return [TeX Uncoverted Due To Previous Errors]_[0] < 0;
     return 0 if [TeX Uncoverted Due To Previous Errors]_[0] > 0;
}

sub min {
     my @sorted = sort { [TeX Uncoverted Due To Previous Errors]b ||
[TeX Uncoverted Due To Previous Errors]b } @_;
     return shift @sorted;
}

sub max {
     my @sorted = sort { [TeX Uncoverted Due To Previous Errors]b ||
[TeX Uncoverted Due To Previous Errors]b } @_;
     return pop @sorted;
}

sub roundto {
     my ([TeX Uncoverted Due To Previous Errors]n) = @_;
     return sprintf('%.'.[TeX Uncoverted Due To Previous Errors]input);
}

sub to_string {
     my ([TeX Uncoverted Due To Previous Errors]n) = @_;
     return sprintf([TeX Uncoverted Due To Previous Errors]n eq "";
     [TeX Uncoverted Due To Previous Errors]n if [TeX Uncoverted Due To
Previous Errors]n,[TeX Uncoverted Due To Previous Errors]n ne "";
}

sub sub_string {
     my ([TeX Uncoverted Due To Previous Errors]start,[TeX Uncoverted
Due To Previous Errors]str,[TeX Uncoverted Due To Previous Errors]len);
}

sub pow   {return [TeX Uncoverted Due To Previous Errors]_[1]; }
sub ceil  {return (([TeX Uncoverted Due To Previous Errors]_[0]))==
0.0) ? [TeX Uncoverted Due To Previous Errors]_[0] > 0) ?
(CORE::int([TeX Uncoverted Due To Previous Errors]_[0])); }
sub floor  {return (([TeX Uncoverted Due To Previous Errors]_[0]))==
0.0) ? [TeX Uncoverted Due To Previous Errors]_[0] > 0) ?
CORE::int([TeX Uncoverted Due To Previous Errors]_[0])-1)); }
#sub floor {return int([TeX Uncoverted Due To Previous
Errors]value,[TeX Uncoverted Due To Previous Errors]dollarmode;
   if ([TeX Uncoverted Due To Previous Errors](.*)/) { [TeX Uncoverted
Due To Previous Errors]1; [TeX Uncoverted Due To Previous
Errors]result=sprintf('%.'.[TeX Uncoverted Due To Previous
Errors]value);
   [TeX Uncoverted Due To Previous Errors]1/;
   if ([TeX Uncoverted Due To Previous Errors]result=&dollarmode([TeX
Uncoverted Due To Previous Errors]result;
}

sub prettyprint {
   my ([TeX Uncoverted Due To Previous Errors]fmt)=@_;
   my [TeX Uncoverted Due To Previous Errors]dollarmode;
   if ([TeX Uncoverted Due To Previous Errors](.*)/) { [TeX Uncoverted
Due To Previous Errors]1; [TeX Uncoverted Due To Previous Errors]fmt) {
[TeX Uncoverted Due To Previous Errors]fmt,[TeX Uncoverted Due To
Previous Errors]value =~ /([0-9\.\-\+]+)E([0-9\-\+]+)/ ) {
     my [TeX Uncoverted Due To Previous Errors]1;
     if ([TeX Uncoverted Due To Previous Errors]frac=&dollarformat([TeX
Uncoverted Due To Previous Errors]exponent=[TeX Uncoverted Due To
Previous Errors]exponent=~s/^\+0*//;
     [TeX Uncoverted Due To Previous Errors]exponent) {
       if ([TeX Uncoverted Due To Previous Errors]result=[TeX Uncoverted
Due To Previous Errors]exponent.'</sup>';
       } elsif ([TeX Uncoverted Due To Previous
Errors]result='\ensuremath{'.[TeX Uncoverted Due To Previous
Errors]exponent.'}}';
       } else {
         [TeX Uncoverted Due To Previous Errors]value;
       }
     } else {
       [TeX Uncoverted Due To Previous Errors]frac;
     }
   } else {
     [TeX Uncoverted Due To Previous Errors]value;
     if ([TeX Uncoverted Due To Previous
Errors]result=&dollarformat([TeX Uncoverted Due To Previous
Errors]result;
}

sub dollarformat {
   my ([TeX Uncoverted Due To Previous Errors]number =~ /\./) {
     while ([TeX Uncoverted Due To Previous Errors])/) {
       [TeX Uncoverted Due To Previous Errors]1.','.[TeX Uncoverted Due
To Previous Errors]3;
     }
   } else {
     while ([TeX Uncoverted Due To Previous Errors]/) {
       [TeX Uncoverted Due To Previous Errors]1.','.[TeX Uncoverted Due
To Previous Errors]3;
     }
   }
   if ([TeX Uncoverted Due To Previous Errors]number='\[TeX Uncoverted
Due To Previous Errors]number; #' stupid emacs
   } else {
     [TeX Uncoverted Due To Previous Errors]'.[TeX Uncoverted Due To
Previous Errors]number;
}

sub map {
     my ([TeX Uncoverted Due To Previous Errors]dest,[TeX Uncoverted Due
To Previous Errors]phrase);
     &random_set_seed(@seed);
     my [TeX Uncoverted Due To Previous Errors]dest);
     if (![TeX Uncoverted Due To Previous Errors]destct);
         my [TeX Uncoverted Due To Previous Errors]ctr < [TeX Uncoverted
Due To Previous Errors]output[[TeX Uncoverted Due To Previous
Errors]ctr < [TeX Uncoverted Due To Previous Errors]{[TeX Uncoverted
Due To Previous Errors]source[[TeX Uncoverted Due To Previous
Errors]ctr]];
                 [TeX Uncoverted Due To Previous Errors]ctr < [TeX
Uncoverted Due To Previous Errors]idx[[TeX Uncoverted Due To Previous
Errors]ctr++;
             }
         }
     }
     &random_set_seed(@oldseed);
     return '';
}

sub rmap {
     my ([TeX Uncoverted Due To Previous Errors]dest,[TeX Uncoverted Due
To Previous Errors]phrase);
     &random_set_seed(@seed);
     my [TeX Uncoverted Due To Previous Errors]dest);
     if (![TeX Uncoverted Due To Previous Errors]destct);
         my [TeX Uncoverted Due To Previous Errors]ctr < [TeX Uncoverted
Due To Previous Errors]r_idx[[TeX Uncoverted Due To Previous
Errors]ctr]] = [TeX Uncoverted Due To Previous Errors]ctr++;
         }
         my @output;
         [TeX Uncoverted Due To Previous Errors]ctr < [TeX Uncoverted
Due To Previous Errors]output[[TeX Uncoverted Due To Previous
Errors]ctr < [TeX Uncoverted Due To Previous Errors]{[TeX Uncoverted
Due To Previous Errors]source[[TeX Uncoverted Due To Previous
Errors]ctr]];
                 [TeX Uncoverted Due To Previous Errors]ctr < [TeX
Uncoverted Due To Previous Errors]r_idx[[TeX Uncoverted Due To Previous
Errors]ctr++;
             }
         }
     }
     &random_set_seed(@oldseed);
     return '';
}

sub capa_id { return }

sub problem { return }

sub name{
   my [TeX Uncoverted Due To Previous Errors]fullname = "" if [TeX
Uncoverted Due To Previous Errors]fullname =~ s/\%2d/-/g;
   return [TeX Uncoverted Due To Previous Errors]id =
&EXT('environment.id');
   [TeX Uncoverted Due To Previous Errors]id eq "";
   return [TeX Uncoverted Due To Previous Errors]course =
&EXT('course.description');
   [TeX Uncoverted Due To Previous Errors]course eq "";
   return [TeX Uncoverted Due To Previous Errors]sec =
&EXT('request.course.sec');
   [TeX Uncoverted Due To Previous Errors]sec eq "";
   return [TeX Uncoverted Due To Previous Errors]dc[0] eq "Wed" and [TeX
Uncoverted Due To Previous Errors]dc[4] == 1969);
   my @hm = split(/:/,[TeX Uncoverted Due To Previous Errors]ampm = "
am";
   if ([TeX Uncoverted Due To Previous Errors]hm[0]-=12;
     [TeX Uncoverted Due To Previous Errors]dc[0].', '.[TeX Uncoverted
Due To Previous Errors]dc[2].', '.[TeX Uncoverted Due To Previous
Errors]hm[0].':'.[TeX Uncoverted Due To Previous Errors]ampm;
}

sub due_date {
   my @dc = split(/\s+/,localtime(&EXT('resource.0.duedate')));
   return '' if ([TeX Uncoverted Due To Previous Errors]dc[2] == 31 and
[TeX Uncoverted Due To Previous Errors]dc[3]);
   my [TeX Uncoverted Due To Previous Errors]hm[0] > 12) {
     [TeX Uncoverted Due To Previous Errors]ampm = " pm";
   }
   return [TeX Uncoverted Due To Previous Errors]dc[1].' '.[TeX
Uncoverted Due To Previous Errors]dc[4].' at '.[TeX Uncoverted Due To
Previous Errors]hm[1].[TeX Uncoverted Due To Previous Errors]dc[0].',
'.[TeX Uncoverted Due To Previous Errors]dc[2].', '.[TeX Uncoverted Due
To Previous Errors]dc[3];
}

sub answer_date {
   my @dc = split(/\s+/,localtime(&EXT('resource.0.answerdate')));
   return '' if ([TeX Uncoverted Due To Previous Errors]dc[2] == 31 and
[TeX Uncoverted Due To Previous Errors]dc[3]);
   my [TeX Uncoverted Due To Previous Errors]hm[0] > 12) {
     [TeX Uncoverted Due To Previous Errors]ampm = " pm";
   }
   return [TeX Uncoverted Due To Previous Errors]dc[1].' '.[TeX
Uncoverted Due To Previous Errors]dc[4].' at '.[TeX Uncoverted Due To
Previous Errors]hm[1].[TeX Uncoverted Due To Previous Errors]dc[0].',
'.[TeX Uncoverted Due To Previous Errors]dc[2].', '.[TeX Uncoverted Due
To Previous Errors]dc[3];
}

sub array_moments {
   my @input=@_;
   my (@output,[TeX Uncoverted Due To Previous Errors]N=scalar (@input);
   [TeX Uncoverted Due To Previous Errors]N;
   if ([TeX Uncoverted Due To Previous Errors]output[1]=[TeX Uncoverted
Due To Previous Errors]output[1]="Input array not defined" if ([TeX
Uncoverted Due To Previous Errors]output[2]="variance undefined for
N<=1";
     [TeX Uncoverted Due To Previous Errors]output[4]="kurtosis
undefined for N<=1";
     return @output;
   }
   my [TeX Uncoverted Due To Previous Errors]line (@input) {
     [TeX Uncoverted Due To Previous Errors]line;
   }
   [TeX Uncoverted Due To Previous Errors]sum/[TeX Uncoverted Due To
Previous Errors]x,[TeX Uncoverted Due To Previous Errors]var,[TeX
Uncoverted Due To Previous Errors]kurt) = 0;
   foreach my [TeX Uncoverted Due To Previous Errors]x=[TeX Uncoverted
Due To Previous Errors]output[1];
     [TeX Uncoverted Due To Previous Errors]x**2;
     [TeX Uncoverted Due To Previous Errors]x**3;
     [TeX Uncoverted Due To Previous Errors]x**4;
   }
   [TeX Uncoverted Due To Previous Errors]var/([TeX Uncoverted Due To
Previous Errors]sdev=CORE::sqrt([TeX Uncoverted Due To Previous
Errors]sdev == 0) {
      [TeX Uncoverted Due To Previous Errors]output[4]="inf-variance=0";
      return @output;
   }
   [TeX Uncoverted Due To Previous Errors]skew/([TeX Uncoverted Due To
Previous Errors]N);
   [TeX Uncoverted Due To Previous Errors]kurt/([TeX Uncoverted Due To
Previous Errors]N)-3;
   return @output;
}

sub choose {
   my [TeX Uncoverted Due To Previous Errors]_[0];
   return [TeX Uncoverted Due To Previous Errors]num];
}

# expiremental idea
sub proper_path {
   my ([TeX Uncoverted Due To Previous Errors]external::target eq "tex"
) {
     return '/home/httpd/html'.[TeX Uncoverted Due To Previous
Errors]path;
   }
}


**** Error: Fatal Abnormal eqdepth 2 on display equation exit, line 0