File Coverage

blib/lib/JE/LValue.pm
Criterion Covered Total %
statement 4653 4653 100.0
branch 23 44 52.2
condition 6 9 66.6
subroutine 4653 4653 100.0
pod 6 7 85.7
total 9341 9366 99.7


line stmt bran cond sub pod time code
1             package JE::LValue;
2              
3             our $VERSION = '0.065';
4              
5 109     109   32180 use strict;
  109         297  
  109         3301  
6 109     109   545 use warnings; no warnings 'utf8';
  109     109   646  
  109         2393  
  109         469  
  109         272  
  109         2787  
7              
8 109     109   531 use List::Util 'first';
  109         275  
  109         6390  
9 109     109   644 use Scalar::Util 'blessed';
  109         266  
  109         37877  
10              
11             require JE::Code;
12             require JE::Object::Error::TypeError;
13             require JE::Object::Error::ReferenceError;
14              
15             import JE::Code 'add_line_number';
16             sub add_line_number;
17              
18              
19             our $ovl_infix = join ' ', @overload::ops{qw[
20             with_assign assign num_comparison 3way_comparison str_comparison binary
21             ]};
22             our $ovl_prefix = join ' ', grep !/^(?:neg|atan2)\z/,
23             map split(/ /), @overload::ops{qw[ unary mutators func ]};
24              
25             use overload
26             fallback => !1,
27             nomethod => sub {
28 13410     13411   16024 my $at = $@;
29 13410         21129 my ($self, $other, $reversed, $symbol) = @_;
30 13410 50       24694 return $self if $symbol eq '=';
31 13410         20694 $self = $self->get;
32 13407         70534 my $sym_regexp = qr/(?:^| )\Q$symbol\E(?:$| )/;
33 13407         12767 my $val;
34 13407 50       105415 if ($overload::ops{conversion} =~ $sym_regexp) {
    50          
    0          
    0          
    0          
    0          
35 7         94 return $self;
36             }
37             elsif($ovl_infix =~ $sym_regexp) {
38 13407         49066 my $bits = (caller 0)[9];
39 13407 100   24   935673 $val = eval 'BEGIN{${^WARNING_BITS} = $bits}'
  23     22   365  
  21     22   296  
  21     21   286  
  20     21   267  
  20     21   267  
  20     21   270  
  19     21   244  
  19     21   253  
  19     21   247  
  19     19   274  
  18     19   260  
  18     19   250  
  18     19   245  
  18     19   247  
  18     19   239  
  18     19   257  
  18     19   241  
  18     19   242  
  18     19   243  
  18     18   250  
  17     17   236  
  16     17   220  
  16     17   234  
  16     17   220  
  16     17   216  
  16     17   214  
  16     17   208  
  16     17   214  
  16     17   229  
  16     16   235  
  15     16   207  
  15     16   200  
  15     16   215  
  15     16   232  
  15     16   215  
  15     16   211  
  15     16   213  
  15     16   223  
  15     16   198  
  15     16   201  
  15     15   214  
  14     15   189  
  14     15   200  
  14     15   205  
  14     15   214  
  14     15   198  
  14     15   204  
  14     15   198  
  14     15   205  
  14     15   199  
  14     15   198  
  14     15   198  
  14     15   194  
  14     15   226  
  14     15   205  
  14     15   188  
  14     15   199  
  14     15   498  
  14     14   202  
  14     13   186  
  13     13   179  
  13     13   221  
  13     13   224  
  13     13   175  
  13     13   190  
  13     13   201  
  13     13   177  
  13     13   172  
  13     13   174  
  13     13   194  
  13     13   177  
  13     13   172  
  13     13   177  
  13     13   179  
  13     13   183  
  13     13   188  
  13     13   174  
  13     13   180  
  13     13   191  
  13     13   171  
  13     13   179  
  13     13   180  
  13     13   180  
  13     13   168  
  13     13   185  
  13     13   176  
  13     13   172  
  13     13   174  
  13     13   175  
  13     13   179  
  13     13   180  
  13     13   184  
  13     13   173  
  13     13   173  
  13     13   183  
  13     13   192  
  13     13   173  
  13     13   174  
  13     13   176  
  13     13   187  
  13     13   174  
  13     13   183  
  13     13   180  
  13     13   240  
  13     13   210  
  13     13   197  
  13     13   175  
  13     13   187  
  13     13   186  
  13     13   204  
  13     13   196  
  13     5   194  
  5     5   86  
  5     5   79  
  5     5   68  
  5     5   66  
  5     5   76  
  5     5   69  
  5     5   70  
  5     5   74  
  5     5   69  
  5     5   64  
  5     5   82  
  5     5   69  
  5     5   66  
  5     5   74  
  5     5   65  
  5     5   72  
  5     5   78  
  5     5   67  
  5     5   77  
  5     5   67  
  5     5   65  
  5     5   74  
  5     5   66  
  5     5   90  
  5     5   69  
  5     5   73  
  5     5   71  
  5     5   77  
  5     5   75  
  5     5   69  
  5     5   68  
  5     5   66  
  5     5   77  
  5     5   66  
  5     5   64  
  5     5   67  
  5     5   66  
  5     5   98  
  5     5   68  
  5     5   68  
  5     5   75  
  5     5   67  
  5     5   68  
  5     5   78  
  5     5   75  
  5     5   72  
  5     5   67  
  5     5   64  
  5     5   75  
  5     5   68  
  5     5   67  
  5     5   81  
  5     5   78  
  5     5   87  
  5     5   84  
  5     5   112  
  5     5   79  
  5     5   65  
  5     5   85  
  5     5   70  
  5     5   75  
  5     5   65  
  5     5   66  
  5     5   73  
  5     5   67  
  5     5   70  
  5     5   73  
  5     5   67  
  5     5   66  
  5     5   72  
  5     5   68  
  5     5   70  
  5     5   67  
  5     5   75  
  5     5   65  
  5     5   67  
  5     5   72  
  5     5   80  
  5     5   75  
  5     5   67  
  5     5   137  
  5     5   68  
  5     5   66  
  5     5   66  
  5     5   63  
  5     5   83  
  5     5   78  
  5     5   86  
  5     5   78  
  5     5   71  
  5     5   65  
  5     5   65  
  5     5   65  
  5     5   84  
  5     5   86  
  5     5   98  
  5     5   66  
  5     5   79  
  5     5   65  
  5     5   67  
  5     5   64  
  5     5   66  
  5     5   73  
  5     5   64  
  5     5   78  
  5     5   82  
  5     5   70  
  5     5   66  
  5     5   68  
  5     5   66  
  5     5   63  
  5     5   70  
  5     5   74  
  5     5   66  
  5     5   67  
  5     5   73  
  5     5   68  
  5     5   68  
  5     5   68  
  5     5   69  
  5     5   79  
  5     5   68  
  5     5   68  
  5     5   70  
  5     5   65  
  4     5   72  
  4     5   62  
  4     5   60  
  4     5   59  
  4     5   58  
  4     5   52  
  4     5   63  
  4     5   52  
  4     5   53  
  4     5   57  
  4     5   72  
  4     5   61  
  4     5   53  
  4     5   52  
  4     5   52  
  4     5   54  
  4     5   52  
  4     5   56  
  4     5   56  
  4     5   51  
  4     5   65  
  4     5   76  
  4     5   52  
  4     5   78  
  4     5   55  
  4     5   53  
  4     5   57  
  4     5   60  
  4     5   65  
  4     5   54  
  4     5   61  
  4     5   53  
  4     5   61  
  4     5   58  
  4     5   53  
  4     5   54  
  4     5   61  
  4     5   54  
  4     5   52  
  4     5   61  
  4     5   52  
  4     5   63  
  4     5   52  
  4     5   78  
  4     5   58  
  4     5   56  
  4     5   54  
  4     5   56  
  4     5   56  
  4     5   55  
  4     5   67  
  4     5   57  
  4     4   65  
  4     4   55  
  4     4   60  
  4     4   64  
  4     4   57  
  4     4   54  
  4     4   59  
  4     4   55  
  4     4   61  
  4     4   59  
  4     4   74  
  4     4   52  
  4     4   55  
  4     4   63  
  4     4   57  
  4     4   55  
  4     4   60  
  4     4   56  
  4     4   58  
  4     4   57  
  4     4   62  
  4     4   58  
  4     4   53  
  4     4   54  
  4     4   58  
  4     4   58  
  4     4   92  
  4     4   52  
  4     4   55  
  4     4   64  
  4     4   73  
  4     4   60  
  4     4   63  
  4     4   63  
  4     4   54  
  4     4   69  
  4     4   61  
  4     4   61  
  4     4   56  
  4     4   57  
  4     4   56  
  4     4   62  
  4     4   52  
  4     4   70  
  4     4   62  
  4     4   56  
  4     4   55  
  4     4   52  
  4     4   65  
  4     4   62  
  4     4   56  
  4     4   64  
  4     4   69  
  4     4   57  
  4     4   56  
  4     4   63  
  4     4   53  
  4     4   57  
  4     4   59  
  4     4   60  
  4     4   53  
  4     4   54  
  4     4   56  
  4     4   59  
  4     4   62  
  4     4   59  
  4     4   64  
  4     4   53  
  4     4   53  
  4     4   53  
  4     4   57  
  4     4   53  
  4     4   55  
  4     4   53  
  4     4   54  
  4     4   56  
  4     4   53  
  4     4   59  
  4     4   65  
  4     4   54  
  4     4   56  
  4     4   55  
  4     4   53  
  4     4   65  
  4     4   63  
  4     4   52  
  4     4   55  
  4     4   59  
  4     4   56  
  4     4   50  
  4     4   55  
  4     4   54  
  4     4   59  
  4     4   64  
  4     4   66  
  4     4   78  
  4     4   65  
  4     4   58  
  4     4   63  
  4     4   62  
  4     4   69  
  4     4   75  
  4     4   63  
  4     4   63  
  4     4   59  
  4     4   62  
  4     4   59  
  4     4   65  
  4     4   54  
  4     4   57  
  4     4   56  
  4     4   60  
  4     4   59  
  4     4   59  
  4     4   55  
  4     4   52  
  4     4   54  
  4     4   54  
  4     4   55  
  4     4   53  
  4     4   67  
  4     4   55  
  4     4   105  
  4     4   55  
  4     4   60  
  4     4   53  
  4     4   52  
  4     4   53  
  4     4   79  
  4     4   54  
  4     4   55  
  4     4   53  
  4     4   58  
  4     4   54  
  4     4   53  
  4     4   64  
  4     4   54  
  4     4   53  
  4     4   54  
  4     4   55  
  4     4   55  
  4     4   53  
  4     4   54  
  4     4   57  
  4     4   55  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   55  
  4     4   53  
  4     4   56  
  4     4   55  
  4     4   62  
  4     4   62  
  4     4   61  
  4     4   66  
  4     4   81  
  4     4   65  
  4     4   60  
  4     4   54  
  4     4   53  
  4     4   54  
  4     4   56  
  4     4   55  
  4     4   54  
  4     4   63  
  4     4   60  
  4     4   74  
  4     4   69  
  4     4   61  
  4     4   59  
  4     4   70  
  4     4   62  
  4     4   62  
  4     4   60  
  4     4   70  
  4     4   55  
  4     4   57  
  4     4   63  
  4     4   60  
  4     4   59  
  4     4   62  
  4     4   77  
  4     4   55  
  4     4   55  
  4     4   55  
  4     4   54  
  4     4   60  
  4     4   54  
  4     4   108  
  4     4   53  
  4     4   54  
  4     4   55  
  4     4   56  
  4     4   94  
  4     4   57  
  4     4   63  
  4     4   63  
  4     4   55  
  4     4   57  
  4     4   58  
  4     4   70  
  4     4   54  
  4     4   57  
  4     4   73  
  4     4   60  
  4     4   54  
  4     4   55  
  4     4   55  
  4     4   64  
  4     4   56  
  4     4   53  
  4     4   56  
  4     4   57  
  4     4   56  
  4     4   55  
  4     4   55  
  4     4   53  
  4     4   53  
  4     4   55  
  4     4   56  
  4     4   58  
  4     4   56  
  4     4   63  
  4     4   65  
  4     4   62  
  4     4   60  
  4     4   79  
  4     4   72  
  4     4   60  
  4     4   54  
  4     4   64  
  4     4   72  
  4     4   55  
  4     4   52  
  4     4   61  
  4     4   56  
  4     4   59  
  4     4   55  
  4     4   56  
  4     4   60  
  4     4   55  
  4     4   69  
  4     4   53  
  4     4   54  
  4     4   56  
  4     4   55  
  4     4   54  
  4     4   58  
  4     4   56  
  4     4   56  
  4     4   55  
  4     4   54  
  4     4   57  
  4     4   54  
  4     4   55  
  4     4   59  
  4     4   53  
  4     4   60  
  4     4   55  
  4     4   53  
  4     4   52  
  4     4   52  
  4     4   55  
  4     4   54  
  4     4   57  
  4     4   55  
  4     4   88  
  4     4   78  
  4     4   66  
  4     4   60  
  4     4   54  
  4     4   54  
  4     4   60  
  4     4   54  
  4     4   53  
  4     4   53  
  4     4   54  
  4     4   53  
  4     4   53  
  4     4   65  
  4     4   64  
  4     4   56  
  4     4   55  
  4     4   58  
  4     4   65  
  4     4   54  
  4     4   62  
  4     4   58  
  4     4   60  
  4     4   69  
  4     4   65  
  4     4   73  
  4     4   61  
  4     4   81  
  4     4   54  
  4     4   54  
  4     4   65  
  4     4   65  
  4     4   58  
  4     4   57  
  4     4   56  
  4     4   52  
  4     4   73  
  4     4   70  
  4     4   65  
  4     4   54  
  4     4   80  
  4     4   66  
  4     4   65  
  4     4   64  
  4     4   54  
  4     4   54  
  4     4   72  
  4     4   64  
  4     4   59  
  4     4   59  
  4     4   55  
  4     4   57  
  4     4   68  
  4     4   55  
  4     4   56  
  4     4   62  
  4     4   62  
  4     4   73  
  4     4   59  
  4     4   55  
  4     4   58  
  4     4   56  
  4     4   63  
  4     4   69  
  4     4   56  
  4     4   54  
  4     4   60  
  4     4   55  
  4     4   55  
  4     4   61  
  4     4   60  
  4     4   63  
  4     4   55  
  4     4   54  
  4     4   65  
  4     4   64  
  4     4   54  
  4     4   53  
  4     4   71  
  4     4   53  
  4     4   55  
  4     4   62  
  4     4   55  
  4     4   56  
  4     4   56  
  4     4   63  
  4     4   55  
  4     4   54  
  4     4   56  
  4     4   69  
  4     4   52  
  4     4   59  
  4     4   54  
  4     4   55  
  4     4   63  
  4     4   82  
  4     4   60  
  4     4   61  
  4     4   57  
  4     4   54  
  4     4   54  
  4     4   74  
  4     4   67  
  4     4   55  
  4     4   70  
  4     4   57  
  4     4   57  
  4     4   58  
  4     4   59  
  4     4   68  
  4     4   56  
  4     4   56  
  4     4   55  
  4     4   58  
  4     4   56  
  4     4   60  
  4     4   64  
  4     4   60  
  4     4   61  
  4     4   56  
  4     4   54  
  4     4   56  
  4     4   80  
  4     4   62  
  4     4   64  
  4     4   63  
  4     4   62  
  4     4   59  
  4     4   55  
  4     4   55  
  4     4   55  
  4     4   55  
  4     4   54  
  4     4   54  
  4     4   56  
  4     4   55  
  4     4   57  
  4     4   55  
  4     4   56  
  4     4   54  
  4     4   58  
  4     4   55  
  4     4   58  
  4     4   56  
  4     4   56  
  4     4   53  
  4     4   55  
  4     4   54  
  4     4   63  
  4     4   56  
  4     4   64  
  4     4   54  
  4     4   54  
  4     4   56  
  4     4   58  
  4     4   54  
  4     4   56  
  4     4   56  
  4     4   53  
  4     4   55  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   53  
  4     4   55  
  4     4   53  
  4     4   54  
  4     4   51  
  4     4   54  
  4     4   79  
  4     4   64  
  4     4   57  
  4     4   52  
  4     4   54  
  4     4   56  
  4     4   55  
  4     4   54  
  4     4   65  
  4     4   54  
  4     4   60  
  4     4   51  
  4     4   54  
  4     4   54  
  4     4   77  
  4     4   55  
  4     4   54  
  4     4   52  
  4     4   56  
  4     4   53  
  4     4   56  
  4     4   56  
  4     4   58  
  4     4   55  
  4     4   71  
  4     4   54  
  4     4   53  
  4     4   60  
  4     4   59  
  4     4   54  
  4     4   64  
  4     4   55  
  4     4   57  
  4     4   84  
  4     4   54  
  4     4   56  
  4     4   55  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   56  
  4     4   78  
  4     4   56  
  4     4   66  
  4     4   57  
  4     4   57  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   58  
  4     4   66  
  4     4   64  
  4     4   77  
  4     4   53  
  4     4   58  
  4     4   53  
  4     4   55  
  4     4   54  
  4     4   52  
  4     4   56  
  4     4   63  
  4     4   68  
  4     4   55  
  4     4   56  
  4     4   54  
  4     4   54  
  4     4   55  
  4     4   54  
  4     4   53  
  4     4   55  
  4     4   55  
  4     4   53  
  4     4   52  
  4     4   52  
  4     4   56  
  4     4   54  
  4     4   66  
  4     4   66  
  4     4   53  
  4     4   60  
  4     4   55  
  4     4   57  
  4     4   56  
  4     4   53  
  4     4   54  
  4     4   54  
  4     4   57  
  4     4   77  
  4     4   56  
  4     4   56  
  4     4   92  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   75  
  4     4   53  
  4     4   53  
  4     4   54  
  4     4   55  
  4     4   54  
  4     4   55  
  4     4   57  
  4     4   56  
  4     4   54  
  4     4   53  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   53  
  4     4   55  
  4     4   62  
  4     4   55  
  4     4   54  
  4     4   55  
  4     4   55  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   51  
  4     4   66  
  4     4   55  
  4     4   55  
  4     4   55  
  4     4   54  
  4     4   53  
  4     4   60  
  4     4   55  
  4     4   54  
  4     4   61  
  4     4   54  
  4     4   56  
  4     4   52  
  4     4   52  
  4     4   66  
  4     4   55  
  4     4   55  
  4     4   55  
  4     4   54  
  4     4   67  
  4     4   55  
  4     4   56  
  4     4   64  
  4     4   851  
  4     4   53  
  4     4   61  
  4     4   82  
  4     4   58  
  4     4   53  
  4     4   54  
  4     4   54  
  4     4   56  
  4     4   54  
  4     4   54  
  4     4   61  
  4     4   66  
  4     4   52  
  4     4   53  
  4     4   51  
  4     4   56  
  4     4   54  
  4     4   54  
  4     4   52  
  4     4   55  
  4     4   54  
  4     4   53  
  4     4   55  
  4     4   53  
  4     4   59  
  4     4   55  
  4     4   53  
  4     4   55  
  4     4   53  
  4     4   55  
  4     4   64  
  4     4   66  
  4     4   53  
  4     4   53  
  4     4   56  
  4     4   53  
  4     4   54  
  4     4   61  
  4     4   53  
  4     4   53  
  4     4   54  
  4     4   55  
  4     4   57  
  4     4   56  
  4     4   54  
  4     4   53  
  4     4   58  
  4     4   55  
  4     4   55  
  4     4   53  
  4     4   58  
  4     4   51  
  4     4   69  
  4     4   59  
  4     4   52  
  4     4   53  
  4     4   56  
  4     4   52  
  4     4   59  
  4     4   53  
  4     4   53  
  4     4   53  
  4     4   83  
  4     4   57  
  4     4   54  
  4     4   51  
  4     4   89  
  4     4   56  
  4     4   55  
  4     4   55  
  4     4   58  
  4     4   51  
  4     4   54  
  4     4   56  
  4     4   54  
  4     4   59  
  4     4   55  
  4     4   66  
  4     4   57  
  4     4   62  
  4     4   55  
  4     4   62  
  4     4   53  
  4     4   55  
  4     4   64  
  4     4   52  
  4     4   53  
  4     4   53  
  4     4   51  
  4     4   53  
  4     4   54  
  4     4   53  
  4     4   56  
  4     4   53  
  4     4   52  
  4     4   70  
  4     4   60  
  4     4   54  
  4     4   52  
  4     4   55  
  4     4   54  
  4     4   57  
  4     4   52  
  4     4   57  
  4     4   53  
  4     4   51  
  4     4   53  
  4     4   65  
  4     4   59  
  4     4   67  
  4     4   53  
  4     4   54  
  4     4   53  
  4     4   57  
  4     4   85  
  4     4   55  
  4     4   52  
  4     4   55  
  4     4   52  
  4     4   54  
  4     4   54  
  4     4   53  
  4     4   57  
  4     4   52  
  4     4   57  
  4     4   53  
  4     4   59  
  4     4   53  
  4     4   55  
  4     4   63  
  4     4   54  
  4     4   51  
  4     4   51  
  4     4   52  
  4     4   58  
  4     4   54  
  4     4   51  
  4     4   51  
  4     4   54  
  4     4   57  
  4     4   53  
  4     4   55  
  4     4   78  
  4     4   57  
  4     4   58  
  4     4   55  
  4     4   73  
  4     4   59  
  4     4   63  
  4     4   54  
  4     4   52  
  4     4   51  
  4     4   53  
  4     4   58  
  4     4   53  
  4     4   67  
  4     4   53  
  4     4   57  
  4     4   50  
  4     4   51  
  4     4   52  
  4     4   66  
  4     4   54  
  4     4   81  
  4     4   56  
  4     4   68  
  4     4   53  
  4     4   52  
  4     4   61  
  4     4   54  
  4     4   53  
  4     4   53  
  4     4   54  
  4     4   51  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   67  
  4     4   58  
  4     4   59  
  4     4   60  
  4     4   64  
  4     4   62  
  4     4   59  
  4     4   61  
  4     4   55  
  4     4   52  
  4     4   59  
  4     4   53  
  4     4   53  
  4     4   53  
  4     4   54  
  4     4   54  
  4     4   51  
  4     4   54  
  4     4   55  
  4     4   60  
  4     4   58  
  4     4   60  
  4     4   55  
  4     4   60  
  4     4   53  
  4     4   62  
  4     4   76  
  4     4   66  
  4     4   57  
  4     4   53  
  4     4   56  
  4     4   53  
  4     4   53  
  4     4   51  
  4     4   52  
  4     4   53  
  4     4   64  
  4     4   53  
  4     4   58  
  4     4   59  
  4     4   53  
  4     4   54  
  4     4   52  
  4     4   54  
  4     4   52  
  4     4   63  
  4     4   54  
  4     4   61  
  4     4   53  
  4     4   58  
  4     4   53  
  4     4   53  
  4     4   62  
  4     4   57  
  4     4   53  
  4     4   54  
  4     4   53  
  4     4   52  
  4     4   52  
  4     4   50  
  4     4   55  
  4     4   53  
  4     4   54  
  4     4   62  
  4     4   51  
  4     4   56  
  4     4   67  
  4     4   52  
  4     4   54  
  4     4   57  
  4     4   54  
  4     4   67  
  4     4   63  
  4     4   55  
  4     4   52  
  4     4   58  
  4     4   59  
  4     4   54  
  4     4   52  
  4     4   59  
  4     4   55  
  4     4   63  
  4     4   54  
  4     4   53  
  4     4   53  
  4     4   51  
  4     4   57  
  4     4   53  
  4     4   53  
  4     4   51  
  4     4   51  
  4     4   63  
  4     4   78  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   52  
  4     4   53  
  4     4   53  
  4     4   61  
  4     4   55  
  4     4   56  
  4     4   54  
  4     4   57  
  4     4   50  
  4     4   69  
  4     4   70  
  4     4   56  
  4     4   60  
  4     4   76  
  4     4   70  
  4     4   82  
  4     4   60  
  4     4   60  
  4     4   64  
  4     4   53  
  4     4   51  
  4     4   57  
  4     4   58  
  4     4   63  
  4     4   71  
  4     4   59  
  4     4   59  
  4     4   56  
  4     4   814  
  4     4   63  
  4     4   54  
  4     4   51  
  4     4   53  
  4     4   57  
  4     4   50  
  4     4   53  
  4     4   53  
  4     4   52  
  4     4   50  
  4     4   51  
  4     4   54  
  4     4   83  
  4     4   56  
  4     4   68  
  4     4   52  
  4     4   52  
  4     4   66  
  4     4   50  
  4     4   53  
  4     4   62  
  4     4   54  
  4     4   55  
  4     4   54  
  4     4   53  
  4     4   55  
  4     4   53  
  4     4   50  
  4     4   53  
  4     4   52  
  4     4   56  
  4     4   58  
  4     4   55  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   60  
  4     4   53  
  4     4   52  
  4     4   54  
  4     4   55  
  4     4   53  
  4     4   51  
  4     4   53  
  4     4   66  
  4     4   58  
  4     4   53  
  4     4   52  
  4     4   51  
  4     4   67  
  4     4   52  
  4     4   81  
  4     4   55  
  4     4   54  
  4     4   71  
  4     4   53  
  4     4   51  
  4     4   65  
  4     4   52  
  4     4   59  
  4     4   53  
  4     4   56  
  4     4   57  
  4     4   55  
  4     4   51  
  4     4   53  
  4     4   88  
  4     4   53  
  4     4   63  
  4     4   57  
  4     4   64  
  4     4   52  
  4     4   57  
  4     4   55  
  4     4   63  
  4     4   51  
  4     4   53  
  4     4   61  
  4     4   54  
  4     4   52  
  4     4   87  
  4     4   53  
  4     4   53  
  4     4   54  
  4     4   50  
  4     4   54  
  4     4   52  
  4     4   70  
  4     4   65  
  4     4   84  
  4     4   58  
  4     4   56  
  4     4   61  
  4     4   78  
  4     4   53  
  4     4   53  
  4     4   57  
  4     4   52  
  4     4   50  
  4     4   53  
  4     4   57  
  4     4   62  
  4     4   53  
  4     4   61  
  4     4   66  
  4     4   55  
  4     4   58  
  4     4   53  
  4     4   57  
  4     4   54  
  4     4   66  
  4     4   52  
  4     4   59  
  4     4   56  
  4     4   61  
  4     4   51  
  4     4   59  
  4     4   62  
  4     4   52  
  4     4   52  
  4     4   59  
  4     4   52  
  4     4   51  
  4     4   54  
  4     4   57  
  4     4   63  
  4     4   56  
  4     4   65  
  4     4   71  
  4     4   59  
  4     4   58  
  4     4   57  
  4     4   71  
  4     4   56  
  4     4   89  
  4     4   61  
  4     4   72  
  4     4   53  
  4     4   54  
  4     4   128  
  4     4   59  
  4     4   61  
  4     4   54  
  4     4   53  
  4     4   52  
  4     4   53  
  4     4   52  
  4     4   60  
  4     4   53  
  4     4   51  
  4     4   56  
  4     4   51  
  4     4   51  
  4     4   64  
  4     4   53  
  4     4   52  
  4     4   61  
  4     4   59  
  4     4   58  
  4     4   65  
  4     4   58  
  4     4   61  
  4     4   53  
  4     4   57  
  4     4   52  
  4     4   52  
  4     4   52  
  4     4   58  
  4     4   51  
  4     4   58  
  4     4   51  
  4     4   56  
  4     4   57  
  4     4   78  
  4     4   52  
  4     4   54  
  4     4   55  
  4     4   53  
  4     4   51  
  4     4   57  
  4     4   52  
  4     4   60  
  4     4   52  
  4     4   53  
  4     4   52  
  4     4   54  
  4     4   53  
  4     4   52  
  4     4   73  
  4     4   52  
  4     4   75  
  4     4   55  
  4     4   75  
  4     4   55  
  4     4   55  
  4     4   57  
  4     4   57  
  4     4   71  
  4     4   58  
  4     4   60  
  4     4   62  
  4     4   75  
  4     4   62  
  4     4   63  
  4     4   52  
  4     4   66  
  4     4   55  
  4     4   64  
  4     4   53  
  4     4   53  
  4     4   67  
  4     4   51  
  4     4   54  
  4     4   61  
  4     4   60  
  4     4   53  
  4     4   55  
  4     4   55  
  4     4   53  
  4     4   69  
  4     4   53  
  4     4   75  
  4     4   56  
  4     4   57  
  4     4   53  
  4     4   55  
  4     4   55  
  4     4   54  
  4     4   54  
  4     4   55  
  4     4   55  
  4     4   59  
  4     4   58  
  4     4   67  
  4     4   55  
  4     4   59  
  4     4   58  
  4     4   56  
  4     4   56  
  4     4   70  
  4     4   51  
  4     4   61  
  4     4   60  
  4     4   54  
  4     4   53  
  4     4   55  
  4     4   53  
  4     4   53  
  4     4   54  
  4     4   58  
  4     4   53  
  4     4   58  
  4     4   52  
  4     4   57  
  4     4   51  
  4     4   64  
  4     4   51  
  4     4   78  
  4     4   53  
  4     4   57  
  4     4   51  
  4     4   52  
  4     4   52  
  4     4   53  
  4     4   54  
  4     4   64  
  4     4   51  
  4     4   52  
  4     4   54  
  4     4   61  
  4     4   53  
  4     4   54  
  4     4   59  
  4     4   51  
  4     4   52  
  4     4   57  
  4     4   51  
  4     4   61  
  4     4   236  
  4     4   68  
  4     4   53  
  4     4   52  
  4     4   54  
  4     4   62  
  4     4   53  
  4     4   66  
  4     4   67  
  4     4   63  
  4     4   52  
  4     4   56  
  4     4   56  
  4     4   57  
  4     4   58  
  4     4   61  
  4     4   57  
  4     4   53  
  4     4   52  
  4     4   54  
  4     4   55  
  4     4   54  
  4     4   51  
  4     4   54  
  4     4   61  
  4     4   54  
  4     4   55  
  4     4   58  
  4     4   61  
  4     4   55  
  4     4   55  
  4     4   60  
  4     4   54  
  4     4   56  
  4     4   52  
  4     4   54  
  4     4   66  
  4     4   53  
  4     4   57  
  4     4   56  
  4     4   56  
  4     4   60  
  4     4   58  
  4     4   55  
  4     4   62  
  4     4   66  
  4     4   60  
  4     4   63  
  4     4   54  
  4     4   54  
  4     4   55  
  4     4   55  
  4     4   53  
  4     4   57  
  4     4   79  
  4     4   54  
  4     4   70  
  4     4   55  
  4     4   54  
  4     4   58  
  4     4   55  
  4     4   65  
  4     4   58  
  4     4   57  
  4     4   54  
  4     4   54  
  4     4   58  
  4     4   55  
  4     4   56  
  4     4   62  
  4     4   55  
  4     4   56  
  4     4   55  
  4     4   55  
  4     4   57  
  4     4   56  
  4     4   79  
  4     4   55  
  4     4   63  
  4     4   58  
  4     4   56  
  4     4   56  
  4     4   63  
  4     4   67  
  4     4   57  
  4     4   59  
  4     4   60  
  4     4   59  
  4     4   61  
  4     4   63  
  4     4   58  
  4     4   72  
  4     4   58  
  4     4   62  
  4     4   59  
  4     4   59  
  4     4   58  
  4     4   62  
  4     4   59  
  4     4   61  
  4     4   56  
  4     4   56  
  4     4   67  
  4     4   62  
  4     4   73  
  4     4   61  
  4     4   56  
  4     4   63  
  4     4   56  
  4     4   61  
  4     4   64  
  4     4   55  
  4     4   64  
  4     4   54  
  4     4   64  
  4     4   56  
  4     4   58  
  4     4   53  
  4     4   54  
  4     4   56  
  4     4   62  
  4     4   59  
  4     4   55  
  4     4   59  
  4     4   59  
  4     4   54  
  4     4   64  
  4     4   57  
  4     4   54  
  4     4   57  
  4     4   57  
  4     4   51  
  4     4   54  
  4     4   53  
  4     4   56  
  4     4   54  
  4     4   75  
  4     4   54  
  4     4   56  
  4     4   59  
  4     4   63  
  4     4   70  
  4     4   58  
  4     4   62  
  4     4   57  
  4     4   53  
  4     4   56  
  4     4   52  
  4     4   53  
  4     4   56  
  4     4   54  
  4     4   54  
  4     4   52  
  4     4   54  
  4     4   54  
  4     4   56  
  4     4   58  
  4     4   55  
  4     4   53  
  4     4   56  
  4     4   56  
  4     4   54  
  4     4   55  
  4     4   53  
  4     4   55  
  4     4   55  
  4     4   55  
  4     4   54  
  4     4   61  
  4     4   52  
  4     4   55  
  4     4   54  
  4     4   59  
  4     4   56  
  4     4   58  
  4     4   57  
  4     4   55  
  4     4   55  
  4     4   82  
  4     4   52  
  4     4   57  
  4     4   57  
  4     4   57  
  4     4   56  
  4     4   70  
  4     4   60  
  4     4   54  
  4     4   69  
  4     4   63  
  4     4   56  
  4     4   61  
  4     4   55  
  4     4   55  
  4     4   57  
  4     4   53  
  4     4   55  
  4     4   55  
  4     4   52  
  4     4   53  
  4     4   63  
  4     4   65  
  4     4   79  
  4     4   70  
  4     4   53  
  4     4   57  
  4     4   56  
  4     4   57  
  4     4   55  
  4     4   56  
  4     4   59  
  4     4   55  
  4     4   54  
  4     4   69  
  4     4   56  
  4     4   53  
  4     4   57  
  4     4   53  
  4     4   55  
  4     4   53  
  4     4   60  
  4     4   55  
  4     4   53  
  4     4   56  
  4     4   65  
  4     4   54  
  4     4   53  
  4     4   59  
  4     4   52  
  4     4   56  
  4     4   55  
  4     4   61  
  4     4   62  
  4     4   55  
  4     4   225  
  4     4   54  
  4     4   52  
  4     4   54  
  4     4   59  
  4     4   57  
  4     4   54  
  4     4   54  
  4     4   55  
  4     4   56  
  4     4   56  
  4     4   58  
  4     4   54  
  4     4   55  
  4     4   56  
  4     4   54  
  4     4   53  
  4     4   54  
  4     4   55  
  4     4   53  
  4     4   64  
  4     4   56  
  4     4   56  
  4     4   59  
  4     4   61  
  4     4   59  
  4     4   61  
  4     4   60  
  4     4   56  
  4     4   61  
  4     4   57  
  4     4   55  
  4     4   55  
  4     4   64  
  4     4   60  
  4     4   57  
  4     4   54  
  4     4   58  
  4     4   64  
  4     4   59  
  4     4   78  
  4     4   57  
  4     4   54  
  4     4   56  
  4     4   74  
  4     4   54  
  4     4   54  
  4     4   64  
  4     4   57  
  4     4   53  
  4     4   55  
  4     4   56  
  4     4   60  
  4     4   57  
  4     4   56  
  4     4   54  
  4     4   55  
  4     4   65  
  4     4   61  
  4     4   60  
  4     4   84  
  4     4   68  
  4     4   57  
  4     4   56  
  4     4   53  
  4     4   55  
  4     4   62  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   61  
  4     4   55  
  4     4   57  
  4     4   52  
  4     4   67  
  4     4   58  
  4     4   59  
  4     4   58  
  4     4   79  
  4     4   56  
  4     4   57  
  4     4   61  
  4     4   60  
  4     4   58  
  4     4   56  
  4     4   55  
  4     4   54  
  4     4   52  
  4     4   63  
  4     4   81  
  4     4   62  
  4     4   57  
  4     4   55  
  4     4   53  
  4     4   53  
  4     4   53  
  4     4   59  
  4     4   55  
  4     4   52  
  4     4   53  
  4     4   54  
  4     4   56  
  4     4   56  
  4     4   54  
  4     4   59  
  4     4   55  
  4     4   56  
  4     4   54  
  4     4   62  
  4     4   55  
  4     4   54  
  4     4   62  
  4     4   59  
  4     4   58  
  4     4   53  
  4     4   52  
  4     4   62  
  4     4   53  
  4     4   52  
  4     4   53  
  4     4   54  
  4     4   52  
  4     4   55  
  4     4   53  
  4     4   53  
  4     4   87  
  4     4   57  
  4     4   52  
  4     4   54  
  4     4   56  
  4     4   54  
  4     4   63  
  4     4   54  
  4     4   54  
  4     4   78  
  4     4   54  
  4     4   56  
  4     4   55  
  4     4   86  
  4     4   52  
  4     4   60  
  4     4   55  
  4     4   53  
  4     4   62  
  4     4   58  
  4     4   62  
  4     4   55  
  4     4   61  
  4     4   58  
  4     4   56  
  4     4   56  
  4     4   55  
  4     4   54  
  4     4   59  
  4     4   55  
  4     4   55  
  4     4   56  
  4     4   54  
  4     4   54  
  4     4   53  
  4     4   52  
  4     4   60  
  4     4   64  
  4     4   56  
  4     4   55  
  4     4   53  
  4     4   51  
  4     4   59  
  4     4   64  
  4     4   53  
  4     4   66  
  4     4   65  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   53  
  4     4   63  
  4     4   54  
  4     4   53  
  4     4   61  
  4     4   56  
  4     4   56  
  4     4   51  
  4     4   53  
  4     4   50  
  4     4   59  
  4     4   53  
  4     4   54  
  4     4   54  
  4     4   53  
  4     4   50  
  4     4   53  
  4     4   53  
  4     4   97  
  4     4   56  
  4     4   58  
  4     4   54  
  4     4   57  
  4     4   53  
  4     4   58  
  4     4   53  
  4     4   68  
  4     4   53  
  4     4   55  
  4     4   53  
  4     4   57  
  4     4   52  
  4     4   54  
  4     4   57  
  4     4   60  
  4     4   53  
  4     4   58  
  4     4   53  
  4     4   54  
  4     4   53  
  4     4   58  
  4     4   53  
  4     4   62  
  4     4   57  
  4     4   56  
  4     4   58  
  4     4   58  
  4     4   65  
  4     4   54  
  4     4   53  
  4     4   52  
  4     4   55  
  4     4   54  
  4     4   55  
  4     4   54  
  4     4   51  
  4     4   53  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   53  
  4     4   62  
  4     4   50  
  4     4   51  
  4     4   56  
  4     4   53  
  4     4   56  
  4     4   56  
  4     4   54  
  4     4   61  
  4     4   54  
  4     4   51  
  4     4   58  
  4     4   54  
  4     4   57  
  4     4   54  
  4     4   53  
  4     4   52  
  4     4   53  
  4     4   52  
  4     4   55  
  4     4   64  
  4     4   55  
  4     4   57  
  4     4   52  
  4     4   53  
  4     4   59  
  4     4   52  
  4     4   54  
  4     4   55  
  4     4   54  
  4     4   56  
  4     4   57  
  4     4   52  
  4     4   65  
  4     4   52  
  4     4   54  
  4     4   55  
  4     4   57  
  4     4   53  
  4     4   53  
  4     4   56  
  4     4   52  
  4     4   54  
  4     4   70  
  4     4   55  
  4     4   52  
  4     4   54  
  4     4   51  
  4     4   54  
  4     4   53  
  4     4   55  
  4     4   64  
  4     4   59  
  4     4   52  
  4     4   54  
  4     4   55  
  4     4   58  
  4     4   54  
  4     4   54  
  4     4   53  
  4     4   51  
  4     4   54  
  4     4   52  
  4     4   53  
  4     4   59  
  4     4   53  
  4     4   53  
  4     4   58  
  4     4   52  
  4     4   58  
  4     4   53  
  4     4   52  
  4     4   61  
  4     4   58  
  4     4   74  
  4     4   59  
  4     4   94  
  4     4   55  
  4     4   70  
  4     4   57  
  4     4   61  
  4     4   55  
  4     4   54  
  4     4   61  
  4     4   81  
  4     4   57  
  4     4   70  
  4     4   58  
  4     4   58  
  4     4   61  
  4     4   63  
  4     4   59  
  4     4   59  
  4     4   54  
  4     4   54  
  4     4   82  
  4     4   59  
  4     4   58  
  4     4   55  
  4     4   55  
  4     4   56  
  4     4   52  
  4     4   63  
  4     4   55  
  4     4   56  
  4     4   51  
  4     4   52  
  4     4   53  
  4     4   61  
  4     4   54  
  4     4   53  
  4     4   52  
  4     4   54  
  4     4   55  
  4     4   55  
  4     4   53  
  4     4   54  
  4     4   65  
  4     4   54  
  4     4   52  
  4     4   69  
  4     4   52  
  4     4   60  
  4     4   61  
  4     4   58  
  4     4   58  
  4     4   53  
  4     4   56  
  4     4   55  
  4     4   55  
  4     4   52  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   64  
  4     4   54  
  4     4   54  
  4     4   56  
  4     4   54  
  4     4   53  
  4     4   56  
  4     4   52  
  4     4   55  
  4     4   54  
  4     4   54  
  4     4   53  
  4     4   51  
  4     4   51  
  4     4   57  
  4     4   53  
  4     4   63  
  4     4   62  
  4     4   59  
  4     4   54  
  4     4   56  
  4     4   61  
  4     4   52  
  4     4   54  
  4     4   51  
  4     4   53  
  4     4   54  
  4     4   66  
  4     4   51  
  4     4   53  
  4     4   54  
  4     4   64  
  4     4   56  
  4     4   54  
  4     4   53  
  4     4   53  
  4     4   52  
  4     4   55  
  4     4   55  
  4     4   67  
  4     4   52  
  4     4   52  
  4     4   56  
  4     4   56  
  4     4   56  
  4     4   70  
  4     4   54  
  4     4   58  
  4     4   53  
  4     4   55  
  4     4   62  
  4     4   55  
  4     4   53  
  4     4   54  
  4     4   52  
  4     4   55  
  4     4   52  
  4     4   52  
  4     4   56  
  4     4   53  
  4     4   88  
  4     4   55  
  4     4   53  
  4     4   53  
  4     4   55  
  4     4   52  
  4     4   53  
  4     4   62  
  4     4   56  
  4     4   51  
  4     4   56  
  4     4   54  
  4     4   52  
  4     4   64  
  4     4   53  
  4     4   63  
  4     4   54  
  4     4   57  
  4     4   61  
  4     4   56  
  4     4   52  
  4     4   52  
  4     4   52  
  4     4   57  
  4     4   52  
  4     4   52  
  4     4   51  
  4     4   58  
  4     4   50  
  4     4   53  
  4     4   55  
  4     4   52  
  4     4   54  
  4     4   51  
  4     4   52  
  4     4   51  
  4     4   52  
  4     4   53  
  4     4   50  
  4     4   51  
  4     4   52  
  4     4   55  
  4     4   54  
  4     4   58  
  4     4   54  
  4     4   53  
  4     4   54  
  4     4   54  
  4     4   53  
  4     4   59  
  4     4   52  
  4     4   50  
  4     4   52  
  4     4   59  
  4     4   54  
  4     4   51  
  4     4   52  
  4     4   59  
  4     4   63  
  4     4   53  
  4     4   52  
  4     4   54  
  4     4   62  
  4     4   51  
  4     4   57  
  4     4   55  
  4     4   65  
  4     4   56  
  4     4   64  
  4     4   51  
  4     4   51  
  4     4   55  
  4     4   59  
  4     4   54  
  4     4   55  
  4     4   53  
  4     4   53  
  4     4   66  
  4     4   56  
  4     4   70  
  4     4   56  
  4     4   52  
  4     4   53  
  4     4   53  
  4     4   53  
  4     4   63  
  4     4   56  
  4     4   52  
  4     4   54  
  4     4   54  
  4     4   60  
  4     4   53  
  4     4   52  
  4     4   62  
  4     4   51  
  4     4   55  
  4     4   53  
  4     4   64  
  4     4   52  
  4     4   53  
  4     4   53  
  4     4   59  
  4     4   57  
  4     4   53  
  4     4   56  
  4     4   53  
  4     4   51  
  4     4   58  
  4     4   51  
  4     4   55  
  4     4   55  
  4     4   56  
  4     4   52  
  4     4   50  
  4     4   52  
  4     4   77  
  4     4   53  
  4     4   50  
  4     4   57  
  4     4   52  
  4     4   56  
  4     4   55  
  4     4   54  
  4     4   53  
  4     4   51  
  4     4   60  
  4     4   53  
  4     4   53  
  4     4   59  
  4     4   54  
  4     4   52  
  4     4   60  
  4     4   57  
  4     4   51  
  4     4   51  
  4     4   49  
  4     4   50  
  4     4   53  
  4     4   51  
  4     4   51  
  4     4   61  
  4     4   52  
  4     4   50  
  4     4   62  
  4     4   61  
  4     4   53  
  4     4   57  
  4     4   52  
  4     4   52  
  4     4   71  
  4     4   57  
  4     4   66  
  4     4   52  
  4     4   59  
  4     4   52  
  4     4   52  
  4     4   53  
  4     4   54  
  4     4   63  
  4     4   55  
  4     4   52  
  4     4   74  
  4     4   50  
  4     4   53  
  4     4   53  
  4     4   53  
  4     4   53  
  4     4   59  
  4     4   53  
  4     4   56  
  4     4   55  
  4     4   53  
  4     4   51  
  4     4   52  
  4     4   54  
  4     4   53  
  4     4   55  
  4     4   56  
  4     4   51  
  4     4   52  
  4     4   55  
  4     4   53  
  4     4   50  
  4     4   51  
  4     4   56  
  4     4   70  
  4     4   53  
  4     4   54  
  4     4   63  
  4     4   64  
  4     4   59  
  4     4   59  
  4     4   55  
  4     4   52  
  4     4   61  
  4     4   50  
  4     4   52  
  4     4   52  
  4     4   52  
  4     4   54  
  4     4   61  
  4     4   53  
  4     4   57  
  4     4   52  
  4     4   53  
  4     4   53  
  4     4   51  
  4     4   59  
  4     4   53  
  4     4   50  
  4     4   49  
  4     4   51  
  4     4   85  
  4     4   60  
  4     4   58  
  4     4   55  
  4     4   53  
  4     4   53  
  4     4   54  
  4     4   51  
  4     4   52  
  4     4   61  
  4     4   52  
  1     4   13  
  1     4   13  
  1     4   12  
  1     4   11  
  1     4   16  
  1     4   12  
  1     4   12  
  1     4   12  
  1     4   12  
  1     4   16  
  1     4   12  
  1     4   11  
  1     4   13  
  1     4   12  
  1     4   11  
  1     4   11  
  1     4   13  
  1     4   12  
  1     4   11  
  1     4   13  
  1     4   13  
  1     4   12  
  1     4   12  
  1     4   13  
  1     4   15  
  1     4   11  
  1     4   13  
  1     4   16  
  1     4   12  
  1     4   16  
  1     4   12  
  1     4   11  
  1     4   12  
  1     4   21  
  1     4   19  
  1     4   20  
  1     4   12  
  1     4   16  
  1     4   13  
  1     4   13  
  1     4   13  
  1     4   13  
  1     4   12  
  1     4   12  
  1     4   12  
  1     4   12  
  1     4   17  
  1     4   11  
  1     4   12  
  1     4   12  
  1     4   19  
  1     4   12  
  1     1   11  
  1     1   17  
  1     1   37  
  1     1   16  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   17  
  1     1   13  
  1     1   12  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   20  
  1     1   12  
  1     1   16  
  1     1   24  
  1     1   12  
  1     1   12  
  1     1   11  
  1     1   13  
  1     1   22  
  1     1   16  
  1     1   22  
  1     1   18  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   17  
  1     1   13  
  1     1   21  
  1     1   12  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   19  
  1     1   26  
  1     1   24  
  1     1   19  
  1     1   14  
  1     1   13  
  1     1   11  
  1     1   12  
  1     1   21  
  1     1   16  
  1     1   21  
  1     1   19  
  1     1   13  
  1     1   16  
  1     1   11  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   20  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   31  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   11  
  1     1   11  
  1     1   13  
  1     1   12  
  1     1   19  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   25  
  1     1   19  
  1     1   13  
  1     1   16  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   22  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   19  
  1     1   12  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   19  
  1     1   15  
  1     1   11  
  1     1   18  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   21  
  1     1   13  
  1     1   17  
  1     1   13  
  1     1   25  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   21  
  1     1   12  
  1     1   11  
  1     1   18  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   21  
  1     1   14  
  1     1   11  
  1     1   12  
  1     1   11  
  1     1   20  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   19  
  1     1   12  
  1     1   11  
  1     1   13  
  1     1   12  
  1     1   20  
  1     1   18  
  1     1   24  
  1     1   14  
  1     1   13  
  1     1   20  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   18  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   25  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   16  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   19  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   25  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   17  
  1     1   13  
  1     1   14  
  1     1   25  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   18  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   22  
  1     1   19  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   16  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   19  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   16  
  1     1   14  
  1     1   13  
  1     1   16  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   18  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   20  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   18  
  1     1   13  
  1     1   43  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   18  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   19  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   20  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   21  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   26  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   23  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   17  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   18  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   18  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   18  
  1     1   18  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   37  
  1     1   18  
  1     1   19  
  1     1   19  
  1     1   20  
  1     1   19  
  1     1   19  
  1     1   18  
  1     1   15  
  1     1   18  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   19  
  1     1   19  
  1     1   18  
  1     1   26  
  1     1   20  
  1     1   17  
  1     1   14  
  1     1   14  
  1     1   16  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   24  
  1     1   17  
  1     1   15  
  1     1   14  
  1     1   26  
  1     1   13  
  1     1   14  
  1     1   41  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   26  
  1     1   13  
  1     1   15  
  1     1   21  
  1     1   15  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   17  
  1     1   16  
  1     1   18  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   16  
  1     1   15  
  1     1   25  
  1     1   15  
  1     1   13  
  1     1   23  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   23  
  1     1   21  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   23  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   21  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   23  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   22  
  1     1   13  
  1     1   12  
  1     1   16  
  1     1   22  
  1     1   12  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   23  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   23  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   20  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   22  
  1     1   15  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   23  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   16  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   37  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   20  
  1     1   22  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   19  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   37  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   17  
  1     1   20  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   18  
  1     1   19  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   18  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   15  
  1     1   19  
  1     1   20  
  1     1   13  
  1     1   20  
  1     1   14  
  1     1   20  
  1     1   14  
  1     1   19  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   17  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   18  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   27  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   19  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   24  
  1     1   15  
  1     1   17  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   15  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   16  
  1     1   12  
  1     1   17  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   23  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   21  
  1     1   14  
  1     1   14  
  1     1   22  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   21  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   17  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   22  
  1     1   14  
  1     1   12  
  1     1   28  
  1     1   22  
  1     1   14  
  1     1   13  
  1     1   22  
  1     1   13  
  1     1   24  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   23  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   23  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   16  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   18  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   19  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   23  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   22  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   16  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   32  
  1     1   21  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   22  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   22  
  1     1   23  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   23  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   22  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   18  
  1     1   21  
  1     1   19  
  1     1   21  
  1     1   24  
  1     1   15  
  1     1   16  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   22  
  1     1   20  
  1     1   18  
  1     1   21  
  1     1   21  
  1     1   19  
  1     1   23  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   20  
  1     1   14  
  1     1   14  
  1     1   21  
  1     1   14  
  1     1   15  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   23  
  1     1   14  
  1     1   18  
  1     1   13  
  1     1   17  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   30  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   22  
  1     1   19  
  1     1   15  
  1     1   14  
  1     1   24  
  1     1   16  
  1     1   20  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   22  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   15  
  1     1   13  
  1     1   15  
  1     1   15  
  1     1   25  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   17  
  1     1   14  
  1     1   23  
  1     1   15  
  1     1   22  
  1     1   13  
  1     1   16  
  1     1   22  
  1     1   14  
  1     1   21  
  1     1   22  
  1     1   22  
  1     1   25  
  1     1   14  
  1     1   15  
  1     1   19  
  1     1   22  
  1     1   19  
  1     1   20  
  1     1   23  
  1     1   23  
  1     1   26  
  1     1   25  
  1     1   25  
  1     1   25  
  1     1   23  
  1     1   23  
  1     1   23  
  1     1   19  
  1     1   25  
  1     1   14  
  1     1   14  
  1     1   16  
  1     1   16  
  1     1   13  
  1     1   22  
  1     1   17  
  1     1   13  
  1     1   25  
  1     1   14  
  1     1   15  
  1     1   25  
  1     1   25  
  1     1   15  
  1     1   13  
  1     1   26  
  1     1   24  
  1     1   23  
  1     1   23  
  1     1   14  
  1     1   13  
  1     1   23  
  1     1   14  
  1     1   13  
  1     1   16  
  1     1   14  
  1     1   17  
  1     1   15  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   17  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   17  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   16  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   16  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   26  
  1     1   14  
  1     1   14  
  1     1   19  
  1     1   14  
  1     1   19  
  1     1   15  
  1     1   22  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   17  
  1     1   13  
  1     1   14  
  1     1   16  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   20  
  1     1   15  
  1     1   16  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   16  
  1     1   14  
  1     1   15  
  1     1   16  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   21  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   49  
  1     1   14  
  1     1   14  
  1     1   24  
  1     1   17  
  1     1   14  
  1     1   21  
  1     1   15  
  1     1   21  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   22  
  1     1   14  
  1     1   13  
  1     1   24  
  1     1   15  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   17  
  1     1   22  
  1     1   14  
  1     1   14  
  1     1   17  
  1     1   13  
  1     1   22  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   37  
  1     1   15  
  1     1   38  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   23  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   24  
  1     1   15  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   16  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   18  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   24  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   18  
  1     1   13  
  1     1   18  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   24  
  1     1   14  
  1     1   15  
  1     1   15  
  1     1   14  
  1     1   22  
  1     1   16  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   23  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   23  
  1     1   23  
  1     1   13  
  1     1   14  
  1     1   20  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   23  
  1     1   14  
  1     1   15  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   18  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   19  
  1     1   19  
  1     1   18  
  1     1   26  
  1     1   19  
  1     1   18  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   16  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   22  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   29  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   17  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   26  
  1     1   21  
  1     1   13  
  1     1   15  
  1     1   16  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   19  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   11  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   16  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   20  
  1     1   18  
  1     1   19  
  1     1   19  
  1     1   19  
  1     1   19  
  1     1   32  
  1     1   19  
  1     1   22  
  1     1   15  
  1     1   16  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   21  
  1     1   13  
  1     1   15  
  1     1   24  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   17  
  1     1   21  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   34  
  1     1   15  
  1     1   13  
  1     1   26  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   21  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   18  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   17  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   22  
  1     1   21  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   20  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   35  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   24  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   19  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   18  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   21  
  1     1   13  
  1     1   33  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   21  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   18  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   17  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   18  
  1     1   13  
  1     1   14  
  1     1   21  
  1     1   19  
  1     1   19  
  1     1   19  
  1     1   14  
  1     1   24  
  1     1   22  
  1     1   21  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   21  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   23  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   17  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
40             . ( $reversed ? "\$other $symbol \$self"
41             : "\$self $symbol \$other" );
42             }
43             elsif($ovl_prefix =~ $sym_regexp) {
44 6         81 my $bits = (caller 0)[9];
45 6         92 $val
46             = eval "BEGIN{\${^WARNING_BITS} = \$bits}$symbol \$self";
47             }
48             elsif($symbol eq 'neg') {
49 6         81 return -$self;
50             }
51             elsif($symbol eq 'atan2') {
52 6         85 return atan2 $self, $other;
53             }
54             elsif($symbol eq '<>') {
55 6         79 return <$self>;
56             }
57             else {
58 6         94 die "Oh no! Something is terribly wrong with " .
59             "JE::LValue's overloading mechanism. It can't deal " .
60             "with < $symbol >. Please send a bug report.";
61             }
62 13406 50       29635 $@ and die $@;
63 13406         14517 $@ = $at;
64 13406         66103 return $val;
65             },
66             '@{}' => sub {
67 338838 50   338840   1004040 caller eq __PACKAGE__ and return shift;
68 6         81 $_[0]->get;
69             },
70 109     109   2707 '%{}' => 'get', '&{}' => 'get', '*{}' => 'get', '${}' => 'get';
  109         1772  
  109         1631  
71              
72             sub new {
73 152396     152398 1 189323 my ($class, $obj, $prop) = @_; # prop is a string
74 152396 100 100     890174 if(defined blessed $obj && can $obj 'id'){
75 144943         269437 my $id = $obj->id;
76 144943 100 100     546584 $id eq 'null' || $id eq 'undef' and die
77             new JE::Object::Error::TypeError $obj->global,
78             add_line_number
79             $obj->to_string->value . " has no properties"
80             .", not even one named $prop";
81             }
82 152394         792930 bless [$obj, $prop], $class;
83             }
84              
85             sub get {
86 142138     142140 1 553308 my $base = (my $self = shift)->[0];
87 142138 100       369254 defined blessed $base or die new
88             JE::Object::Error::ReferenceError $$base, add_line_number
89             "The variable $$self[1] has not been declared";
90            
91 142121         181148 my $val = $base->prop($self->[1]);
92 142121 100       385971 defined $val ? $val : $base->global->undefined;
93             # If we have a Perl undef, then the property does not
94             # not exist, and we have to return a JS undefined val.
95             }
96              
97             sub set {
98 15655     15657 1 30324 my $obj = (my $self = shift)->[0];
99 15655 100       40922 defined blessed $obj or $obj = $$self[0] = $$obj;
100 15655         20306 $obj->prop($self->[1], shift);
101             }
102              
103             sub call {
104 22137     22139 1 39888 my $base_obj = (my $self = shift)->[0];
105 22137         37653 my $prop = $self->get; # dies here if $base_obj is not blessed
106 22137 50       37283 defined $prop or
107             die new JE::Object::Error::TypeError $base_obj->global,
108             add_line_number "The object's '" . $self->[1] .
109             "' property (undefined) is not a function";
110 22137 100       68708 $prop->can('apply') or
111             die new JE::Object::Error::TypeError $base_obj->global,
112             add_line_number "The object's '" . $self->[1] .
113             "' property ($prop) is not a function";
114 22135         54918 $prop->apply($base_obj, @_);
115             }
116              
117             sub base {
118 375     377 1 3342 my $base = $_[0][0];
119 375 100       1870 defined blessed $base ? $base : ()
120             }
121              
122 221     223 1 463 sub property { shift->[1] }
123              
124             our $AUTOLOAD;
125              
126             sub AUTOLOAD {
127 29247     29249   159275 my($method) = $AUTOLOAD =~ /([^:]+)\z/;
128              
129 29247 50       59246 return if $method eq 'DESTROY';
130              
131             #my $l = $_[0]; my $ret, my @ret;;
132 107     109   48836 no warnings 'uninitialized';
  107         266  
  107         15556  
133             #eval {
134             # $ret =
135 29247         50401 return shift->get->$method(@_); # ~~~ Maybe I should use goto
136             # to remove AUTOLOAD from
137             # the call stack.
138             #1} or die add_line_number $l->base . ' ' . $l->property . ' ' . $l->get . #' ' . ref $_->get . qq': $@';
139             #return $ret;
140             }
141              
142             sub can { # I think this returns a *canned* lvalue, as opposed to a fresh
143             # one. :-)
144            
145 6 0 0 8 0 91 !ref $_[0] || $_[1] eq 'DESTROY' and goto &UNIVERSAL::can;
146              
147 6 0       80 &UNIVERSAL::can || do {
148 6 0       87 my $sub = (my $obj = shift->get)->can(@_)
149             or return undef;
150 6     8   162 sub { splice @'_, 0, 1, $obj; goto &$sub }
  6         104  
151 6         91 };
152             }
153              
154              
155              
156             =head1 NAME
157              
158             JE::LValue - JavaScript lvalue class
159              
160             =head1 SYNOPSIS
161              
162             use JE::LValue;
163              
164             $lv = new JE::LValue $some_obj, 'property_name';
165              
166             $lv->get; # get property
167             $lv->set($value) # set property
168              
169             $lv->some_other_method # same as $lv->get->some_other_method
170              
171             =head1 DESCRIPTION
172              
173             This class implements JavaScript lvalues (called "Reference Types" by the
174             ECMAScript specification).
175              
176             =head1 METHODS AND OVERLOADING
177              
178             If a method is called that is not listed here, it will be passed to the
179             property referenced by the lvalue. (See the last item in the L,
180             above.) For this reason, you should never call C on a
181             JE::LValue, but, rather, call it as a method (C<< $lv->can(...) >>), unless
182             you really know what you are doing.
183              
184             Similarly, if you try to use an overloaded operator, it will be passed on
185             to
186             the object that the lvalue references, such that C is the same
187             as calling C<< !$lvalue->get >>.
188              
189             =over 4
190              
191             =item $lv = new JE::LValue $obj, $property
192              
193             Creates an lvalue/reference with $obj as the base object and $property
194             as the property name. If $obj is undefined or null, a TypeError is thrown.
195             To create a lvalue that has no base object, and which will throw a
196             ReferenceError when
197             C<< ->get >> is
198             called and create a global property upon invocation of C<< ->set >>, pass
199             an unblessed reference to a global object as the first argument. (This is
200             used by bare identifiers in JS expressions.)
201              
202             =item $lv->get
203              
204             Gets the value of the property.
205              
206             =item $lv->set($value)
207              
208             Sets the property to $value and returns $value. If the lvalue has no base
209             object, the global object will become its base object automatically.
210             Whether the lvalue object itself is modified in the latter case is
211             not set in stone yet. (Currently it is modified, but that may change.)
212              
213             =item $lv->call(@args)
214              
215             If the property is a function, this calls the function with the
216             base object as the 'this' value.
217              
218             =item $lv->base
219              
220             Returns the base object. If there isn't any, it returns undef or an empty
221             list, depending on context.
222              
223             =item $lv->property
224              
225             Returns the property name.
226              
227             =back
228              
229             =cut
230              
231              
232              
233              
234             1;