/ Check-in [d30f6bb2d4]
DEMO | DOWNLOAD | DEPLOY | SEARCH
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Release "2.8.24". Map now accepts non-string keys: number, bool and null.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:d30f6bb2d4a5a86c34241ef95e5516da0e8c5ed0
User & Date: pmacdona 2019-04-27 19:19:19
References
2019-04-28
14:15 Ticket [5e4ee9db1c] number as object key status still Closed with 4 other changes artifact: 30a0ebe463 user: pmacdona
Context
2019-04-27
19:52
Object key now accepts undef. check-in: 508b20f070 user: pmacdona tags: trunk
19:19
Release "2.8.24". Map now accepts non-string keys: number, bool and null. check-in: d30f6bb2d4 user: pmacdona tags: trunk
18:24
Doc check-in: 7dd5a029b1 user: pmacdona tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/jsi.c.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
.....
64229
64230
64231
64232
64233
64234
64235
64236
64237
64238
64239
64240
64241
64242
64243
64244
64245
64246
64247
64248
64249
64250
64251
64252
64253
64254
.....
64314
64315
64316
64317
64318
64319
64320
64321

64322
64323
64324
64325
64326
64327
64328
.....
64367
64368
64369
64370
64371
64372
64373
64374
64375
64376
64377
64378
64379
64380
64381
64382
64383
64384
64385
64386
64387
64388
64389
64390
64391
64392
64393
64394
64395
64396
64397
64398
64399
64400
64401
64402
64403
64404
64405
64406
64407
64408
64409
64410
64411
64412
64413
64414
64415
64416
64417
64418
64419
64420
64421
64422
64423
64424
64425
64426
64427


64428
64429
64430
64431
64432
64433
64434
.....
64437
64438
64439
64440
64441
64442
64443
64444
64445
64446
64447
64448
64449
64450

64451
64452
64453
64454
64455
64456
64457
64458
64459
64460

64461
64462
64463
64464
64465
64466
64467
64468
64469
64470
64471
64472
64473
64474
64475
64476
64477
64478
64479
64480
64481
64482
64483
64484


64485
64486
64487
64488
64489
64490
64491
64492
64493
64494
64495
64496
64497
64498
64499
64500
64501
64502
64503
64504
64505
64506
64507
64508
64509
64510
64511
64512
64513
64514
64515
64516
64517

64518
64519
64520
64521
64522
64523
64524
64525

64526
64527
64528
64529
64530
64531

64532
64533

64534
64535
64536
64537
64538
64539
64540
64541
64542
64543
64544
64545
64546
64547
64548
64549
64550
64551
64552
64553
64554




64555
64556
64557
64558
64559
64560
64561
64562
64563
64564
64565
64566
64567
64568
64569
64570
64571
64572
64573
64574
64575
64576
64577
64578
64579
64580
64581
64582

64583
64584
64585
64586


64587
64588
64589
64590
64591
64592
64593
64594
64595
64596
64597
64598
64599
64600
64601
64602
64603
64604
64605
64606
64607
64608
64609
64610
64611
64612
64613
64614
64615
64616
64617
64618
64619
64620
64621
64622
64623
64624
64625
64626
64627
64628
64629
64630
64631
64632
64633
64634
64635
64636
64637
64638
64639
64640
64641
64642
64643
64644
64645
64646
64647
64648
64649
64650
64651
64652
64653
64654
64655
64656
64657
64658
64659
64660
64661
64662
64663
64664
64665
64666
64667
64668
64669
64670
64671
64672
64673
64674
64675
64676
64677
64678
64679
64680
64681
64682
64683
64684
64685
64686
64687
64688
64689
64690
64691
64692
64693
64694
64695
64696
64697
64698
64699
64700
64701
64702
64703
64704
64705
64706
64707
64708
64709
64710
64711
64712
64713
64714
64715
64716
64717
64718
64719
64720
64721
64722
64723
64724
64725
64726
64727
64728
64729
64730
64731
64732
64733
64734
64735
64736
64737
64738
64739
64740
64741
64742
64743
64744
64745
64746
64747
64748
64749
64750
64751
64752
64753
64754
64755
64756
64757
64758
64759
64760
64761
64762
64763
64764
64765
64766
64767
64768
64769
64770
64771
64772
64773
64774
64775
64776
64777
64778
64779
64780
64781
64782
64783
64784
64785
64786
64787
64788
64789
64790
64791
64792
64793
64794
64795
64796
64797
64798
64799
64800
64801
64802
64803
64804
64805
64806
64807
64808
64809
64810
64811
64812
64813
64814
64815
64816
64817
64818
64819
64820
64821
64822
64823
64824
64825
64826
64827
64828
64829
64830
64831
64832
64833
64834
64835
64836
64837
64838
64839
64840
64841
64842
64843
64844
64845
64846
64847
64848
64849
64850
64851
64852
64853
64854
64855
64856
64857
64858
64859
64860
64861
64862
64863













64864
64865










64866
64867




64868
64869
64870
64871
64872
64873
64874
64875
64876
64877
64878
64879
64880
64881
64882
64883
64884
64885
64886
64887
64888
64889
64890
64891
64892
64893
64894
64895
64896
64897
64898
64899
64900
64901
64902
64903
64904
64905
64906
64907
64908
64909
64910
64911
64912
64913
64914
64915
64916
64917
64918
64919
64920
64921
64922
64923
64924
64925
64926
64927
64928
64929
64930
64931
64932
64933
64934
64935
64936
64937
64938
64939
64940
64941
64942
64943
64944
64945
64946
64947
64948
64949
64950
64951
64952
64953
64954
64955
64956
64957
64958
64959
64960
64961
64962
64963
64964
64965
64966
64967
64968
64969
64970
64971
64972
64973
64974
64975
64976
64977
64978
64979
64980
64981

64982
64983
64984
64985
64986
64987
64988
.....
64990
64991
64992
64993
64994
64995
64996
64997
64998
64999
65000
65001
65002
65003
65004

65005
65006
65007
65008
65009
65010
65011
65012
65013

65014
65015
65016
65017
65018
65019
65020
65021
65022
65023
65024
65025
65026
65027
65028
65029
65030
65031
65032
65033
65034
.....
65046
65047
65048
65049
65050
65051
65052
65053

65054
65055
65056
65057
65058
65059
65060
.....
65072
65073
65074
65075
65076
65077
65078
65079

65080
65081
65082
65083
65084
65085
65086
.....
67156
67157
67158
67159
67160
67161
67162
67163
67164
67165
67166
















67167
67168
67169
67170
67171
67172
67173
/* jsi.h : External API header file for Jsi. */
#ifndef __JSI_H__
#define __JSI_H__

#define JSI_VERSION_MAJOR   2
#define JSI_VERSION_MINOR   8
#define JSI_VERSION_RELEASE 23

#define JSI_VERSION (JSI_VERSION_MAJOR + ((Jsi_Number)JSI_VERSION_MINOR/100.0) + ((Jsi_Number)JSI_VERSION_RELEASE/10000.0))

#ifndef JSI_EXTERN
#define JSI_EXTERN extern
#endif

................................................................................
        }                                       \
      while (0)
#  endif
# endif
#endif /* !YYCOPY_NEEDED */

/* YYFINAL -- State number of the termination state.  */
#define YYFINAL  100
/* YYLAST -- Last index in YYTABLE.  */
#define YYLAST   2377

/* YYNTOKENS -- Number of terminals.  */
#define YYNTOKENS  101
/* YYNNTS -- Number of nonterminals.  */
#define YYNNTS  45
/* YYNRULES -- Number of rules.  */
#define YYNRULES  206
/* YYNSTATES -- Number of states.  */
#define YYNSTATES  397

/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
   by yylex, with out-of-bounds checking.  */
#define YYUNDEFTOK  2
#define YYMAXUTOK   331

#define YYTRANSLATE(YYX)                                                \
................................................................................
     570,   574,   578,   582,   586,   590,   591,   595,   599,   600,
     601,   602,   603,   604,   605,   606,   607,   608,   609,   610,
     611,   612,   613,   614,   615,   616,   617,   618,   619,   620,
     621,   622,   623,   624,   625,   626,   628,   629,   632,   633,
     634,   640,   648,   653,   658,   663,   667,   671,   680,   686,
     691,   719,   725,   726,   727,   732,   739,   740,   744,   745,
     752,   753,   754,   755,   756,   757,   758,   759,   760,   764,
     768,   769,   770,   778,   779,   783,   784

};
#endif

#if YYDEBUG || YYERROR_VERBOSE || 1
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
static const char *const yytname[] =
................................................................................
     318,   319,    62,    60,   320,   321,   322,   323,   324,   325,
      43,    45,    42,    47,    37,   326,    33,   327,   328,   126,
     329,   330,    46,    91,    40,   331,    59,   123,   125,    41,
      93
};
# endif

#define YYPACT_NINF -304

#define yypact_value_is_default(Yystate) \
  (!!((Yystate) == (-304)))

#define YYTABLE_NINF -201

#define yytable_value_is_error(Yytable_value) \
  0

  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
     STATE-NUM.  */
static const yytype_int16 yypact[] =
{
     214,  -304,   -21,   -39,    54,    54,     4,  1248,    57,  1346,
      23,   -28,  1267,   -22,  -304,  -304,  -304,  -304,  -304,  -304,
    -304,  -304,  -304,  1267,  1267,  1267,    23,    23,  1267,  1267,
    1267,   432,  1267,  -304,   735,    79,   353,  -304,  -304,  -304,
      -9,  -304,   184,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
    -304,    -3,  1788,  -304,   884,  -304,  -304,  -304,  1097,  1267,
    -304,     9,    16,  -304,     1,  -304,     5,  -304,    85,  1826,
      65,   -34,  -304,  1267,    55,   -10,    76,   110,   868,    95,
    1866,  1267,    28,    28,    28,    72,    72,    28,    28,    28,
    -304,   338,   -36,  1428,   109,   111,   964,  1788,   -35,  -304,
    -304,  -304,  1788,     1,    78,    84,  1134,    86,  1267,  1267,
    1267,  1267,  1267,  1267,  1267,  1267,  1267,  1267,  1267,  1267,
    1267,  1267,  1267,  1267,  1267,  1267,  1267,  1267,  1267,  1267,
    1267,  1267,  1267,   179,  1267,  -304,  1267,  1267,  1267,  1267,
    1267,  1267,  1267,  1267,  1267,  1267,  1267,  1267,  1267,  -304,
    -304,   180,  1267,  1267,  -304,  1468,  -304,  -304,     1,   -27,
      97,    91,   150,   106,   109,   139,  -304,  1267,    57,  -304,
    1508,  1267,  1267,  1267,  -304,  -304,  1001,   113,   -28,  -304,
    1548,  1267,  -304,   114,  1267,  1097,  -304,    85,  -304,   117,
    1229,  1267,   831,  -304,   201,  1267,   121,   166,   174,   338,
    1982,  2090,  2128,  2158,  2196,  2226,   240,   240,   240,   240,
     174,   174,   174,   174,   194,   194,   194,    24,    24,    28,
      28,    28,   127,  1322,   338,   338,   338,   338,   338,   338,
     338,   338,   338,   338,   338,   338,   174,  -304,  1390,   123,
    1134,   128,    20,  2286,   134,   -46,     2,  1267,   338,  -304,
     144,   129,   161,   163,  -304,   229,  -304,  1134,   338,  1267,
     338,  1944,  -304,   -37,   245,  -304,  1267,  1904,   751,  1588,
    -304,   169,  1628,  -304,  1267,  1267,   170,  -304,  -304,   259,
     -29,  -304,  -304,  -304,  -304,  -304,  -304,   236,  -304,  -304,
    -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
    -304,  -304,  -304,  -304,   -25,  -304,  2286,  -304,    41,   177,
     338,  1267,  -304,  -304,  -304,   171,  -304,   172,  2286,  -304,
      51,   -30,   176,  2060,  -304,  -304,  -304,  1267,  1134,  1267,
     182,   338,   183,  1267,  1134,  2286,  -304,  -304,    20,  2286,
     -28,   216,    20,  2286,   191,   185,   -28,  -304,   -28,  1267,
    -304,  1267,  1668,  -304,  1708,    15,  -304,   186,  -304,   -28,
    -304,  -304,  -304,  -304,    37,  -304,  -304,   266,  -304,  1748,
     192,  2060,  1134,  -304,  1267,   230,  -304,    17,  -304,  -304,
    -304,    20,   -28,  1134,  1134,  -304,  2022,   469,  -304,  -304,
    -304,  -304,  -304,  -304,   565,   602,   698


};

  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
     Performed when YYTABLE does not specify something else to do.  Zero
     means the default is an error.  */
static const yytype_uint8 yydefact[] =
{
................................................................................
     196,   191,   176,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,    22,    34,     0,    34,     6,     9,    24,
       0,     8,     0,    21,    31,    20,    13,    12,    28,    29,
      30,   114,     5,   165,   115,   113,   197,   198,    35,     0,
      33,     0,     0,    27,    75,   181,     0,    17,   200,     0,
      52,     0,    50,     0,   169,   167,   166,     0,    34,     0,
       0,     0,   120,   119,   122,   132,   134,   121,   133,   123,
     206,   188,     0,     0,   190,   181,    34,     0,     0,   201,
       1,     7,     4,    75,     0,     0,    34,     0,   186,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,    11,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   130,
     131,     0,     0,   186,    10,     0,    15,    14,    75,   103,

       0,     0,    76,     0,     0,     0,    16,     0,     0,    18,
       0,   186,   186,   186,    54,   112,    34,     0,     0,    19,
       0,     0,   205,   135,     0,    35,    23,     0,   199,     0,
       0,     0,    34,    36,     0,     0,     0,   187,   129,   116,
       0,   137,   136,   147,   148,   146,   142,   143,   144,   145,
     139,   138,   140,   141,   149,   150,   151,   127,   128,   124,
     125,   126,   118,     0,   152,   153,   154,   155,   156,   157,
     158,   159,   160,   161,   162,   163,   164,   185,     0,     0,
      34,     0,     0,     0,     0,     0,     0,     0,    53,    51,
     168,     0,     0,     0,   111,     0,    48,    34,   189,   186,

     204,   203,   202,     0,     0,    62,    65,     0,   115,     0,
      37,     0,     0,   174,     0,   186,   117,   184,   180,    55,
       0,   102,    95,    99,   100,    98,   101,     0,    96,   104,
      89,    90,    79,    80,    88,    83,    81,    84,    85,    82,
      86,    87,    91,    93,   105,    77,     0,    71,   107,     0,
     203,   186,   173,   171,   170,     0,    38,     0,     0,    26,
      52,     0,     0,    66,    63,    57,    58,     0,    34,     0,
       0,   175,     0,   186,    34,     0,    73,    97,     0,     0,
       0,    92,     0,     0,     0,     0,     0,   179,     0,     0,
      64,    67,     0,    69,     0,     0,   177,     0,    56,     0,
     106,    94,    72,   108,   109,    78,   172,    47,    25,     0,
       0,    68,    34,    70,     0,     0,    39,     0,    41,   178,
      74,     0,     0,    34,    34,    61,     0,    34,    40,    42,
     110,    49,    60,    59,    34,    34,    34
};

  /* YYPGOTO[NTERM-NUM].  */
static const yytype_int16 yypgoto[] =
{
    -304,  -304,     3,     0,   -38,  -304,  -304,  -304,   288,  -304,
    -160,  -304,  -304,  -304,   -81,  -304,    33,   130,  -304,  -304,
     -14,  -304,  -304,  -304,  -304,  -304,  -304,   290,   -93,   -23,
    -303,  -239,  -271,  -304,  -171,    14,  -304,    -8,   -96,   278,
     317,  -304,  -304,   140,  -304


};

  /* YYDEFGOTO[NTERM-NUM].  */
static const yytype_int16 yydefgoto[] =
{
      -1,    35,    96,   193,    38,    39,    40,    41,    61,    42,
     194,    43,    44,   377,   378,    45,    71,    72,    46,    47,
     327,    48,   266,   322,   370,    49,    50,    51,   161,   303,
     340,   341,   289,   162,    79,    97,    53,    54,   196,   197,
      55,    56,    98,    99,    57
};

  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
     positive, shift that token.  If negative, reduce the rule whose
     number is the opposite.  If YYTABLE_NINF, syntax error.  */
static const yytype_int16 yytable[] =
{
      37,    75,    77,    36,   304,   159,   308,   256,    63,   163,
     189,   181,   187,   168,    52,   348,   306,   168,    85,    86,
     154,    69,   242,   281,   338,   318,    80,    65,   374,   375,
     374,   375,   359,   335,    37,   243,   101,    82,    83,    84,
     339,    58,    87,    88,    89,    91,    93,   282,   283,   284,
     102,    78,   285,    17,    18,    59,   286,   239,    60,   325,
      78,    70,   169,   188,   182,   241,   350,   360,    78,    78,
     326,   363,    81,   155,   307,   251,   252,   253,    37,   100,
     279,   176,   151,   152,   172,   103,   381,   170,   164,   165,
     342,   108,   319,   160,   309,   180,   101,   316,    64,    64,
     167,   287,   339,   343,   364,   156,   130,   131,   132,   336,
     390,   288,   157,   376,   167,   388,   133,   134,   177,   178,
     133,   134,    91,   198,   199,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
     215,   216,   217,   218,   219,   220,   221,   154,   223,   171,
     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,

     234,   235,   236,   317,   151,   152,   238,    91,   353,   362,
     173,   184,   190,   185,   358,   367,   101,   368,   191,   332,
     195,   248,   268,   222,   237,    91,    91,    91,   380,   244,
     245,   104,    37,   105,   106,   258,   107,   246,   260,   261,
     158,   247,   151,   152,   267,   269,   174,   255,   259,   272,
     271,   391,   385,   181,    -2,   345,   263,     1,     2,     3,
     273,   275,   278,   392,   393,     4,   305,   280,   312,     5,
       6,     7,     8,   315,     9,    10,    11,   357,   311,    12,

      13,    14,    15,    16,    17,    18,    19,    20,   109,   320,
      21,   125,   126,   127,   128,   129,   130,   131,   132,    22,
     313,   310,   314,   329,   333,   334,   133,   134,   337,   344,
     346,   347,   351,    91,   128,   129,   130,   131,   132,   355,
     323,   339,   356,   365,   366,   379,   133,   134,   331,    91,
     382,   384,   387,    62,    23,    24,   389,   321,   249,    74,

      25,    26,    27,    28,    29,    30,   349,    31,    32,    92,
      33,    34,   121,   122,   123,   124,   361,   125,   126,   127,

     128,   129,   130,   131,   132,    91,    76,   262,     0,     0,
       0,     0,   133,   134,     0,     0,     0,     0,     0,     0,
       0,   352,     0,   354,     0,     0,   109,    91,     0,     0,
       0,     0,     0,    -3,     0,     0,     1,     2,     3,     0,
       0,     0,     0,   369,     4,   371,     0,     0,     5,     6,
       7,     8,     0,     9,    10,    11,     0,     0,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    37,   386,    21,
     395,     0,     0,     0,    37,   101,   101,   396,    22,   111,
       0,   112,   113,   114,   115,   116,   117,   118,   119,   120,
     121,   122,   123,   124,     0,   125,   126,   127,   128,   129,
     130,   131,   132,     0,     0,     0,     0,     0,     0,     0,
     133,   134,     0,    23,    24,     1,    65,     0,     0,    25,
      26,    27,    28,    29,    30,     0,    31,    32,    66,    33,
      34,     0,     9,     0,     0,     0,     0,     0,     0,    14,
      15,    16,    17,    18,    19,    20,     0,     0,    21,     0,
       0,     0,     1,     2,     3,     0,     0,    22,     0,     0,
       4,     0,   -45,   -45,     5,     6,     7,     8,     0,     9,
      10,    11,     0,     0,    12,    13,    14,    15,    16,    17,
      18,    19,    20,     0,     0,    21,     0,     0,     0,     0,
       0,     0,    23,    24,    22,     0,     0,     0,    25,    26,
      27,    28,    29,    30,     0,    31,    32,     0,     0,    68,




       0,     0,    90,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,    23,
      24,     0,     0,     0,     0,    25,    26,    27,    28,    29,
      30,     0,    31,    32,     0,    33,    34,   -45,     1,     2,
       3,     0,     0,     0,     0,     0,     4,     0,   -46,   -46,
       5,     6,     7,     8,     0,     9,    10,    11,     0,     0,
      12,    13,    14,    15,    16,    17,    18,    19,    20,     0,
       0,    21,     0,     0,     0,     1,     2,     3,     0,     0,
      22,     0,     0,     4,     0,   -44,   -44,     5,     6,     7,
       8,     0,     9,    10,    11,     0,     0,    12,    13,    14,
      15,    16,    17,    18,    19,    20,     0,     0,    21,     0,
       0,     0,     0,     0,     0,    23,    24,    22,     0,     0,
       0,    25,    26,    27,    28,    29,    30,     0,    31,    32,
       0,    33,    34,   -46,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,    23,    24,     0,     0,     0,     0,    25,    26,
      27,    28,    29,    30,     0,    31,    32,     0,    33,    34,
     -44,     1,     2,     3,     0,     0,     0,     0,     0,     4,
       0,   -43,   -43,     5,     6,     7,     8,     0,     9,    10,
      11,     0,     0,    12,    13,    14,    15,    16,    17,    18,
      19,    20,     0,     0,    21,     0,     0,     0,    94,    95,
       3,     0,     0,    22,     0,     0,     4,     0,     0,     0,
       5,     6,     7,     8,     0,     9,    10,    11,     0,   325,
      12,    13,    14,    15,    16,    17,    18,    19,    20,     0,
     326,    21,     0,     0,     0,     0,     0,     0,    23,    24,
      22,     0,  -200,     0,    25,    26,    27,    28,    29,    30,
       0,    31,    32,     0,    33,    34,   -43,     0,     0,     0,
     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,

     146,   147,     0,     0,     0,    23,    24,     0,     0,     0,
       0,    25,    26,    27,    28,    29,    30,   148,    31,    32,
       0,    33,    34,  -200,    94,    95,     3,     0,   149,   150,
       0,     0,     4,   151,   152,   153,     5,     6,     7,     8,


       0,     9,    10,    11,     0,     0,    12,    13,    14,    15,
      16,    17,    18,    19,    20,     0,     0,    21,     0,     0,
       0,     1,     2,     3,     0,     0,    22,     0,  -200,     4,
       0,     0,     0,     5,     6,     7,     8,     0,     9,    10,
      11,     0,     0,    12,    13,    14,    15,    16,    17,    18,
      19,    20,     0,     0,    21,     0,     0,     0,     0,     0,
       0,    23,    24,    22,     0,     0,     0,    25,    26,    27,
      28,    29,    30,     0,    31,    32,     0,    33,    34,   270,
       0,     0,     0,   136,   137,   138,   139,   140,   141,   142,
     143,   144,   145,   146,   147,     0,     0,     0,    23,    24,
       0,     0,     0,     0,    25,    26,    27,    28,    29,    30,
     148,    31,    32,     0,    33,    34,   175,     1,     2,     3,
       0,   149,   150,     0,     0,     4,   151,   152,   153,     5,
       6,     7,     8,     0,     9,    10,    11,     0,     0,    12,
      13,    14,    15,    16,    17,    18,    19,    20,     0,     0,
      21,     0,     0,     0,     1,     2,     3,     0,     0,    22,
       0,     0,     4,     0,     0,     0,     5,     6,     7,     8,
       0,     9,    10,    11,     0,     0,    12,    13,    14,    15,
      16,    17,    18,    19,    20,     0,     0,    21,     0,     0,
       0,     0,     0,     0,    23,    24,    22,     0,     0,     0,
      25,    26,    27,    28,    29,    30,     0,    31,    32,     0,
      33,    34,   186,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,    23,    24,     0,     0,     0,     0,    25,    26,    27,
      28,    29,    30,     0,    31,    32,     0,    33,    34,   254,
       1,    65,     3,     0,     0,     0,     0,     0,     4,     0,
       0,     0,     5,     6,     7,     8,     0,     9,    10,    11,
       0,     0,    12,    13,    14,    15,    16,    17,    18,    19,
      20,     0,     0,    21,     0,     0,     0,     1,     2,     3,
       0,     0,    22,     0,     0,     4,     0,     0,     0,     5,
       6,     7,     8,     0,     9,    10,    11,     0,     0,    12,
      13,    14,    15,    16,    17,    18,    19,    20,     0,     0,
      21,     0,     0,     0,     0,     0,     0,    23,    24,    22,
       0,     0,     0,    25,    26,    27,    28,    29,    30,     0,
      31,    32,     0,    33,    34,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,    23,    24,     0,     0,     0,     0,
      25,    26,    27,    28,    29,    30,     0,    31,    32,     0,
      33,   192,     1,    65,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,    66,     0,   264,     0,     9,
       0,     1,    65,     0,     0,     0,    14,    15,    16,    17,
      18,    19,    20,     0,    66,    21,     0,     0,     9,     0,
       1,    65,     0,     0,    22,    14,    15,    16,    17,    18,
      19,    20,     0,    66,    21,     0,     0,     9,     0,     0,
       0,     0,     0,    22,    14,    15,    16,    17,    18,    19,
      20,     0,     0,    21,     0,     0,     0,     0,     0,    23,
      24,     0,    22,     0,     0,    25,    26,    27,    28,    29,
      30,     0,    31,    32,     0,   265,    68,     0,    23,    24,
     109,     0,     0,     0,    25,    26,    27,    28,    29,    30,
       0,    31,    32,     0,    67,    68,     0,    23,    24,     1,
      65,     0,     0,    25,    26,    27,    28,    29,    30,     0,
      31,    32,    66,     0,    68,     0,     0,     0,     0,   110,
       0,     0,     0,    14,    15,    16,    17,    18,    19,    20,
       0,     0,    21,   111,     0,   112,   113,   114,   115,   116,
     117,   118,   119,   120,   121,   122,   123,   124,   109,   125,
     126,   127,   128,   129,   130,   131,   132,     0,     0,     0,
       0,     0,     0,     0,   133,   134,     0,     0,     0,     0,
       0,     0,   276,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   109,   110,     0,    31,
      73,     0,     0,    68,     0,     0,     0,     0,     0,     0,
       0,   111,     0,   112,   113,   114,   115,   116,   117,   118,
     119,   120,   121,   122,   123,   124,     0,   125,   126,   127,
     128,   129,   130,   131,   132,   110,   109,     0,     0,     0,
       0,     0,   133,   134,     0,     0,     0,     0,     0,   111,
     277,   112,   113,   114,   115,   116,   117,   118,   119,   120,
     121,   122,   123,   124,     0,   125,   126,   127,   128,   129,
     130,   131,   132,     0,     0,   110,   109,     0,     0,     0,
     133,   134,     0,     0,     0,     0,     0,   183,     0,   111,
       0,   112,   113,   114,   115,   116,   117,   118,   119,   120,
     121,   122,   123,   124,     0,   125,   126,   127,   128,   129,
     130,   131,   132,     0,     0,   110,   109,     0,     0,     0,
     133,   134,     0,     0,     0,     0,     0,   240,     0,   111,
       0,   112,   113,   114,   115,   116,   117,   118,   119,   120,
     121,   122,   123,   124,     0,   125,   126,   127,   128,   129,
     130,   131,   132,     0,     0,   110,   109,     0,     0,     0,
     133,   134,     0,     0,     0,     0,     0,   250,     0,   111,
       0,   112,   113,   114,   115,   116,   117,   118,   119,   120,
     121,   122,   123,   124,     0,   125,   126,   127,   128,   129,
     130,   131,   132,     0,     0,   110,   109,     0,     0,     0,
     133,   134,     0,     0,     0,     0,     0,   257,     0,   111,
       0,   112,   113,   114,   115,   116,   117,   118,   119,   120,
     121,   122,   123,   124,     0,   125,   126,   127,   128,   129,
     130,   131,   132,     0,     0,   110,   109,     0,     0,     0,
     133,   134,     0,     0,     0,     0,     0,   328,     0,   111,
       0,   112,   113,   114,   115,   116,   117,   118,   119,   120,
     121,   122,   123,   124,     0,   125,   126,   127,   128,   129,
     130,   131,   132,     0,     0,   110,   109,     0,     0,     0,
     133,   134,     0,     0,     0,     0,     0,   330,     0,   111,
       0,   112,   113,   114,   115,   116,   117,   118,   119,   120,
     121,   122,   123,   124,     0,   125,   126,   127,   128,   129,
     130,   131,   132,     0,     0,   110,   109,     0,     0,     0,
     133,   134,     0,     0,     0,     0,     0,   372,     0,   111,
       0,   112,   113,   114,   115,   116,   117,   118,   119,   120,
     121,   122,   123,   124,     0,   125,   126,   127,   128,   129,
     130,   131,   132,     0,     0,   110,   109,     0,     0,     0,
     133,   134,     0,     0,     0,     0,     0,   373,     0,   111,
       0,   112,   113,   114,   115,   116,   117,   118,   119,   120,
     121,   122,   123,   124,     0,   125,   126,   127,   128,   129,
     130,   131,   132,     0,   109,   110,     0,     0,     0,     0,
     133,   134,     0,     0,     0,     0,     0,   383,     0,   111,
       0,   112,   113,   114,   115,   116,   117,   118,   119,   120,
     121,   122,   123,   124,     0,   125,   126,   127,   128,   129,
     130,   131,   132,   110,   109,     0,     0,     0,     0,     0,
     133,   134,     0,     0,   135,     0,     0,   111,     0,   112,
     113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
     123,   124,     0,   125,   126,   127,   128,   129,   130,   131,
     132,     0,   109,   110,     0,     0,     0,     0,   133,   134,
       0,     0,   166,     0,     0,     0,     0,   111,     0,   112,
     113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
     123,   124,     0,   125,   126,   127,   128,   129,   130,   131,
     132,   110,   109,     0,     0,     0,     0,     0,   133,   134,
       0,     0,   179,     0,     0,   111,     0,   112,   113,   114,
     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
       0,   125,   126,   127,   128,   129,   130,   131,   132,     0,
     109,     0,     0,     0,     0,     0,   133,   134,     0,     0,
     324,     0,     0,     0,     0,   111,     0,   112,   113,   114,
     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
       0,   125,   126,   127,   128,   129,   130,   131,   132,   110,
     109,     0,     0,     0,     0,     0,   133,   134,     0,     0,
     135,     0,     0,   111,   274,   112,   113,   114,   115,   116,
     117,   118,   119,   120,   121,   122,   123,   124,     0,   125,
     126,   127,   128,   129,   130,   131,   132,     0,   109,   110,
       0,     0,     0,     0,   133,   134,     0,     0,     0,     0,
       0,     0,     0,   111,   394,   112,   113,   114,   115,   116,
     117,   118,   119,   120,   121,   122,   123,   124,   109,   125,
     126,   127,   128,   129,   130,   131,   132,   110,     0,     0,
       0,     0,     0,     0,   133,   134,     0,     0,     0,     0,
       0,   111,     0,   112,   113,   114,   115,   116,   117,   118,
     119,   120,   121,   122,   123,   124,   109,   125,   126,   127,
     128,   129,   130,   131,   132,     0,     0,     0,     0,     0,
       0,     0,   133,   134,   113,   114,   115,   116,   117,   118,
     119,   120,   121,   122,   123,   124,   109,   125,   126,   127,
     128,   129,   130,   131,   132,     0,     0,     0,     0,     0,
       0,     0,   133,   134,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   114,   115,   116,   117,   118,   119,   120,
     121,   122,   123,   124,   109,   125,   126,   127,   128,   129,
     130,   131,   132,     0,     0,     0,     0,     0,     0,     0,
     133,   134,     0,     0,   115,   116,   117,   118,   119,   120,
     121,   122,   123,   124,   109,   125,   126,   127,   128,   129,
     130,   131,   132,     0,     0,     0,     0,     0,     0,     0,
     133,   134,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   116,   117,   118,   119,   120,   121,   122,
     123,   124,     0,   125,   126,   127,   128,   129,   130,   131,
     132,     0,     0,     0,     0,     0,     0,     0,   133,   134,
       0,     0,     0,     0,   117,   118,   119,   120,   121,   122,
     123,   124,   290,   125,   126,   127,   128,   129,   130,   131,
     132,     0,     0,   291,     0,     0,     0,     0,   133,   134,
     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   302
};

static const yytype_int16 yycheck[] =
{
       0,     9,    10,     0,   243,     4,     4,   178,     4,     4,
     103,    47,    47,    47,     0,   318,    62,    47,    26,    27,
      58,     7,    49,     3,    49,    62,    12,     4,    13,    14,
      13,    14,   335,    62,    34,    62,    36,    23,    24,    25,
      65,    62,    28,    29,    30,    31,    32,    27,    28,    29,
      36,    97,    32,    30,    31,    94,    36,   153,     4,     8,
      97,     4,    96,    98,   100,   158,    96,   338,    97,    97,
      19,   342,    94,    59,   245,   171,   172,   173,    78,     0,
     240,    78,    92,    93,    94,    94,    49,    73,     3,     4,
      49,    94,   263,    92,    92,    81,    96,   257,    94,    94,
      49,    81,    65,    62,   343,    96,    82,    83,    84,   280,
     381,    91,    96,    98,    49,    98,    92,    93,    23,    24,
      92,    93,   108,   109,   110,   111,   112,   113,   114,   115,
     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
     126,   127,   128,   129,   130,   131,   132,   185,   134,    94,
     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
     146,   147,   148,   259,    92,    93,   152,   153,   328,   340,
      94,    62,    94,    62,   334,   346,   176,   348,    94,   275,
      94,   167,   190,     4,     4,   171,   172,   173,   359,    92,
      99,     7,   192,     9,    10,   181,    12,    47,   184,   185,
      94,    62,    92,    93,   190,   191,    96,    94,    94,   195,
       9,   382,   372,    47,     0,   311,    99,     3,     4,     5,
      99,    94,    99,   383,   384,    11,    92,    99,    99,    15,
      16,    17,    18,     4,    20,    21,    22,   333,    94,    25,
      26,    27,    28,    29,    30,    31,    32,    33,     8,     4,
      36,    77,    78,    79,    80,    81,    82,    83,    84,    45,
      99,   247,    99,    94,    94,     6,    92,    93,    32,    92,
      99,    99,    96,   259,    80,    81,    82,    83,    84,    97,
     266,    65,    99,    92,    99,    99,    92,    93,   274,   275,
      24,    99,    62,     5,    80,    81,   377,   264,   168,     9,
      86,    87,    88,    89,    90,    91,   320,    93,    94,    31,
      96,    97,    72,    73,    74,    75,   339,    77,    78,    79,
      80,    81,    82,    83,    84,   311,     9,   187,    -1,    -1,
      -1,    -1,    92,    93,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   327,    -1,   329,    -1,    -1,     8,   333,    -1,    -1,
      -1,    -1,    -1,     0,    -1,    -1,     3,     4,     5,    -1,
      -1,    -1,    -1,   349,    11,   351,    -1,    -1,    15,    16,
      17,    18,    -1,    20,    21,    22,    -1,    -1,    25,    26,
      27,    28,    29,    30,    31,    32,    33,   387,   374,    36,
     387,    -1,    -1,    -1,   394,   395,   396,   394,    45,    61,
      -1,    63,    64,    65,    66,    67,    68,    69,    70,    71,
      72,    73,    74,    75,    -1,    77,    78,    79,    80,    81,
      82,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      92,    93,    -1,    80,    81,     3,     4,    -1,    -1,    86,
      87,    88,    89,    90,    91,    -1,    93,    94,    16,    96,
      97,    -1,    20,    -1,    -1,    -1,    -1,    -1,    -1,    27,
      28,    29,    30,    31,    32,    33,    -1,    -1,    36,    -1,
      -1,    -1,     3,     4,     5,    -1,    -1,    45,    -1,    -1,
      11,    -1,    13,    14,    15,    16,    17,    18,    -1,    20,
      21,    22,    -1,    -1,    25,    26,    27,    28,    29,    30,
      31,    32,    33,    -1,    -1,    36,    -1,    -1,    -1,    -1,
      -1,    -1,    80,    81,    45,    -1,    -1,    -1,    86,    87,
      88,    89,    90,    91,    -1,    93,    94,    -1,    -1,    97,
      -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,
      81,    -1,    -1,    -1,    -1,    86,    87,    88,    89,    90,
      91,    -1,    93,    94,    -1,    96,    97,    98,     3,     4,
       5,    -1,    -1,    -1,    -1,    -1,    11,    -1,    13,    14,
      15,    16,    17,    18,    -1,    20,    21,    22,    -1,    -1,
      25,    26,    27,    28,    29,    30,    31,    32,    33,    -1,
      -1,    36,    -1,    -1,    -1,     3,     4,     5,    -1,    -1,
      45,    -1,    -1,    11,    -1,    13,    14,    15,    16,    17,
      18,    -1,    20,    21,    22,    -1,    -1,    25,    26,    27,
      28,    29,    30,    31,    32,    33,    -1,    -1,    36,    -1,
      -1,    -1,    -1,    -1,    -1,    80,    81,    45,    -1,    -1,
      -1,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
      -1,    96,    97,    98,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    80,    81,    -1,    -1,    -1,    -1,    86,    87,
      88,    89,    90,    91,    -1,    93,    94,    -1,    96,    97,
      98,     3,     4,     5,    -1,    -1,    -1,    -1,    -1,    11,
      -1,    13,    14,    15,    16,    17,    18,    -1,    20,    21,
      22,    -1,    -1,    25,    26,    27,    28,    29,    30,    31,
      32,    33,    -1,    -1,    36,    -1,    -1,    -1,     3,     4,
       5,    -1,    -1,    45,    -1,    -1,    11,    -1,    -1,    -1,
      15,    16,    17,    18,    -1,    20,    21,    22,    -1,     8,
      25,    26,    27,    28,    29,    30,    31,    32,    33,    -1,
      19,    36,    -1,    -1,    -1,    -1,    -1,    -1,    80,    81,
      45,    -1,    47,    -1,    86,    87,    88,    89,    90,    91,
      -1,    93,    94,    -1,    96,    97,    98,    -1,    -1,    -1,
      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
      59,    60,    -1,    -1,    -1,    80,    81,    -1,    -1,    -1,
      -1,    86,    87,    88,    89,    90,    91,    76,    93,    94,
      -1,    96,    97,    98,     3,     4,     5,    -1,    87,    88,
      -1,    -1,    11,    92,    93,    94,    15,    16,    17,    18,
      -1,    20,    21,    22,    -1,    -1,    25,    26,    27,    28,
      29,    30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,
      -1,     3,     4,     5,    -1,    -1,    45,    -1,    47,    11,
      -1,    -1,    -1,    15,    16,    17,    18,    -1,    20,    21,
      22,    -1,    -1,    25,    26,    27,    28,    29,    30,    31,
      32,    33,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,
      -1,    80,    81,    45,    -1,    -1,    -1,    86,    87,    88,
      89,    90,    91,    -1,    93,    94,    -1,    96,    97,    98,
      -1,    -1,    -1,    49,    50,    51,    52,    53,    54,    55,
      56,    57,    58,    59,    60,    -1,    -1,    -1,    80,    81,
      -1,    -1,    -1,    -1,    86,    87,    88,    89,    90,    91,
      76,    93,    94,    -1,    96,    97,    98,     3,     4,     5,
      -1,    87,    88,    -1,    -1,    11,    92,    93,    94,    15,
      16,    17,    18,    -1,    20,    21,    22,    -1,    -1,    25,
      26,    27,    28,    29,    30,    31,    32,    33,    -1,    -1,
      36,    -1,    -1,    -1,     3,     4,     5,    -1,    -1,    45,
      -1,    -1,    11,    -1,    -1,    -1,    15,    16,    17,    18,
      -1,    20,    21,    22,    -1,    -1,    25,    26,    27,    28,
      29,    30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,
      -1,    -1,    -1,    -1,    80,    81,    45,    -1,    -1,    -1,
      86,    87,    88,    89,    90,    91,    -1,    93,    94,    -1,
      96,    97,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    80,    81,    -1,    -1,    -1,    -1,    86,    87,    88,
      89,    90,    91,    -1,    93,    94,    -1,    96,    97,    98,
       3,     4,     5,    -1,    -1,    -1,    -1,    -1,    11,    -1,
      -1,    -1,    15,    16,    17,    18,    -1,    20,    21,    22,
      -1,    -1,    25,    26,    27,    28,    29,    30,    31,    32,
      33,    -1,    -1,    36,    -1,    -1,    -1,     3,     4,     5,
      -1,    -1,    45,    -1,    -1,    11,    -1,    -1,    -1,    15,
      16,    17,    18,    -1,    20,    21,    22,    -1,    -1,    25,
      26,    27,    28,    29,    30,    31,    32,    33,    -1,    -1,
      36,    -1,    -1,    -1,    -1,    -1,    -1,    80,    81,    45,
      -1,    -1,    -1,    86,    87,    88,    89,    90,    91,    -1,
      93,    94,    -1,    96,    97,    -1,    -1,    -1,    -1,    -1,













      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    80,    81,    -1,    -1,    -1,    -1,










      86,    87,    88,    89,    90,    91,    -1,    93,    94,    -1,
      96,    97,     3,     4,    -1,    -1,    -1,    -1,    -1,    -1,




      -1,    -1,    -1,    -1,    -1,    16,    -1,    18,    -1,    20,
      -1,     3,     4,    -1,    -1,    -1,    27,    28,    29,    30,
      31,    32,    33,    -1,    16,    36,    -1,    -1,    20,    -1,
       3,     4,    -1,    -1,    45,    27,    28,    29,    30,    31,
      32,    33,    -1,    16,    36,    -1,    -1,    20,    -1,    -1,
      -1,    -1,    -1,    45,    27,    28,    29,    30,    31,    32,
      33,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,    80,
      81,    -1,    45,    -1,    -1,    86,    87,    88,    89,    90,
      91,    -1,    93,    94,    -1,    96,    97,    -1,    80,    81,
       8,    -1,    -1,    -1,    86,    87,    88,    89,    90,    91,
      -1,    93,    94,    -1,    96,    97,    -1,    80,    81,     3,
       4,    -1,    -1,    86,    87,    88,    89,    90,    91,    -1,
      93,    94,    16,    -1,    97,    -1,    -1,    -1,    -1,    47,
      -1,    -1,    -1,    27,    28,    29,    30,    31,    32,    33,
      -1,    -1,    36,    61,    -1,    63,    64,    65,    66,    67,
      68,    69,    70,    71,    72,    73,    74,    75,     8,    77,
      78,    79,    80,    81,    82,    83,    84,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    92,    93,    -1,    -1,    -1,    -1,
      -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,     8,    47,    -1,    93,
      94,    -1,    -1,    97,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    61,    -1,    63,    64,    65,    66,    67,    68,    69,
      70,    71,    72,    73,    74,    75,    -1,    77,    78,    79,
      80,    81,    82,    83,    84,    47,     8,    -1,    -1,    -1,
      -1,    -1,    92,    93,    -1,    -1,    -1,    -1,    -1,    61,
     100,    63,    64,    65,    66,    67,    68,    69,    70,    71,
      72,    73,    74,    75,    -1,    77,    78,    79,    80,    81,
      82,    83,    84,    -1,    -1,    47,     8,    -1,    -1,    -1,
      92,    93,    -1,    -1,    -1,    -1,    -1,    99,    -1,    61,
      -1,    63,    64,    65,    66,    67,    68,    69,    70,    71,
      72,    73,    74,    75,    -1,    77,    78,    79,    80,    81,
      82,    83,    84,    -1,    -1,    47,     8,    -1,    -1,    -1,
      92,    93,    -1,    -1,    -1,    -1,    -1,    99,    -1,    61,
      -1,    63,    64,    65,    66,    67,    68,    69,    70,    71,
      72,    73,    74,    75,    -1,    77,    78,    79,    80,    81,
      82,    83,    84,    -1,    -1,    47,     8,    -1,    -1,    -1,
      92,    93,    -1,    -1,    -1,    -1,    -1,    99,    -1,    61,
      -1,    63,    64,    65,    66,    67,    68,    69,    70,    71,
      72,    73,    74,    75,    -1,    77,    78,    79,    80,    81,
      82,    83,    84,    -1,    -1,    47,     8,    -1,    -1,    -1,
      92,    93,    -1,    -1,    -1,    -1,    -1,    99,    -1,    61,
      -1,    63,    64,    65,    66,    67,    68,    69,    70,    71,
      72,    73,    74,    75,    -1,    77,    78,    79,    80,    81,
      82,    83,    84,    -1,    -1,    47,     8,    -1,    -1,    -1,
      92,    93,    -1,    -1,    -1,    -1,    -1,    99,    -1,    61,
      -1,    63,    64,    65,    66,    67,    68,    69,    70,    71,
      72,    73,    74,    75,    -1,    77,    78,    79,    80,    81,
      82,    83,    84,    -1,    -1,    47,     8,    -1,    -1,    -1,
      92,    93,    -1,    -1,    -1,    -1,    -1,    99,    -1,    61,
      -1,    63,    64,    65,    66,    67,    68,    69,    70,    71,
      72,    73,    74,    75,    -1,    77,    78,    79,    80,    81,
      82,    83,    84,    -1,    -1,    47,     8,    -1,    -1,    -1,
      92,    93,    -1,    -1,    -1,    -1,    -1,    99,    -1,    61,
      -1,    63,    64,    65,    66,    67,    68,    69,    70,    71,
      72,    73,    74,    75,    -1,    77,    78,    79,    80,    81,
      82,    83,    84,    -1,    -1,    47,     8,    -1,    -1,    -1,
      92,    93,    -1,    -1,    -1,    -1,    -1,    99,    -1,    61,
      -1,    63,    64,    65,    66,    67,    68,    69,    70,    71,
      72,    73,    74,    75,    -1,    77,    78,    79,    80,    81,
      82,    83,    84,    -1,     8,    47,    -1,    -1,    -1,    -1,
      92,    93,    -1,    -1,    -1,    -1,    -1,    99,    -1,    61,
      -1,    63,    64,    65,    66,    67,    68,    69,    70,    71,
      72,    73,    74,    75,    -1,    77,    78,    79,    80,    81,
      82,    83,    84,    47,     8,    -1,    -1,    -1,    -1,    -1,
      92,    93,    -1,    -1,    96,    -1,    -1,    61,    -1,    63,
      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
      74,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
      84,    -1,     8,    47,    -1,    -1,    -1,    -1,    92,    93,
      -1,    -1,    96,    -1,    -1,    -1,    -1,    61,    -1,    63,
      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
      74,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
      84,    47,     8,    -1,    -1,    -1,    -1,    -1,    92,    93,
      -1,    -1,    96,    -1,    -1,    61,    -1,    63,    64,    65,
      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
      -1,    77,    78,    79,    80,    81,    82,    83,    84,    -1,
       8,    -1,    -1,    -1,    -1,    -1,    92,    93,    -1,    -1,
      96,    -1,    -1,    -1,    -1,    61,    -1,    63,    64,    65,
      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
      -1,    77,    78,    79,    80,    81,    82,    83,    84,    47,
       8,    -1,    -1,    -1,    -1,    -1,    92,    93,    -1,    -1,
      96,    -1,    -1,    61,    62,    63,    64,    65,    66,    67,
      68,    69,    70,    71,    72,    73,    74,    75,    -1,    77,
      78,    79,    80,    81,    82,    83,    84,    -1,     8,    47,
      -1,    -1,    -1,    -1,    92,    93,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    61,    62,    63,    64,    65,    66,    67,
      68,    69,    70,    71,    72,    73,    74,    75,     8,    77,
      78,    79,    80,    81,    82,    83,    84,    47,    -1,    -1,
      -1,    -1,    -1,    -1,    92,    93,    -1,    -1,    -1,    -1,
      -1,    61,    -1,    63,    64,    65,    66,    67,    68,    69,
      70,    71,    72,    73,    74,    75,     8,    77,    78,    79,
      80,    81,    82,    83,    84,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    92,    93,    64,    65,    66,    67,    68,    69,
      70,    71,    72,    73,    74,    75,     8,    77,    78,    79,
      80,    81,    82,    83,    84,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    92,    93,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    65,    66,    67,    68,    69,    70,    71,
      72,    73,    74,    75,     8,    77,    78,    79,    80,    81,
      82,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      92,    93,    -1,    -1,    66,    67,    68,    69,    70,    71,
      72,    73,    74,    75,     8,    77,    78,    79,    80,    81,
      82,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      92,    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    67,    68,    69,    70,    71,    72,    73,
      74,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
      84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    92,    93,
      -1,    -1,    -1,    -1,    68,    69,    70,    71,    72,    73,
      74,    75,    16,    77,    78,    79,    80,    81,    82,    83,
      84,    -1,    -1,    27,    -1,    -1,    -1,    -1,    92,    93,
      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
      -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,    91

};

  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
     symbol of state STATE-NUM.  */
static const yytype_uint8 yystos[] =
{
       0,     3,     4,     5,    11,    15,    16,    17,    18,    20,
................................................................................
      33,    36,    45,    80,    81,    86,    87,    88,    89,    90,
      91,    93,    94,    96,    97,   102,   103,   104,   105,   106,
     107,   108,   110,   112,   113,   116,   119,   120,   122,   126,
     127,   128,   136,   137,   138,   141,   142,   145,    62,    94,
       4,   109,   109,     4,    94,     4,    16,    96,    97,   136,
       4,   117,   118,    94,   128,   138,   141,   138,    97,   135,
     136,    94,   136,   136,   136,   138,   138,   136,   136,   136,
     100,   136,   140,   136,     3,     4,   103,   136,   143,   144,
       0,   104,   136,    94,     7,     9,    10,    12,    94,     8,
      47,    61,    63,    64,    65,    66,    67,    68,    69,    70,
      71,    72,    73,    74,    75,    77,    78,    79,    80,    81,
      82,    83,    84,    92,    93,    96,    49,    50,    51,    52,
      53,    54,    55,    56,    57,    58,    59,    60,    76,    87,
      88,    92,    93,    94,   105,   136,    96,    96,    94,     4,
      92,   129,   134,     4,     3,     4,    96,    49,    47,    96,

     136,    94,    94,    94,    96,    98,   103,    23,    24,    96,
     136,    47,   100,    99,    62,    62,    98,    47,    98,   129,
      94,    94,    97,   104,   111,    94,   139,   140,   136,   136,
     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
     136,   136,     4,   136,   136,   136,   136,   136,   136,   136,
     136,   136,   136,   136,   136,   136,   136,     4,   136,   139,
      99,   129,    49,    62,    92,    99,    47,    62,   136,   118,
      99,   139,   139,   139,    98,    94,   135,    99,   136,    94,

     136,   136,   144,    99,    18,    96,   123,   136,   138,   136,
      98,     9,   136,    99,    62,    94,   100,   100,    99,   111,
      99,     3,    27,    28,    29,    32,    36,    81,    91,   133,
      16,    27,    34,    35,    36,    37,    38,    39,    40,    41,
      42,    43,    91,   130,   132,    92,    62,   135,     4,    92,
     136,    94,    99,    99,    99,     4,   111,   139,    62,   135,
       4,   117,   124,   136,    96,     8,    19,   121,    99,    94,
      99,   136,   139,    94,     6,    62,   135,    32,    49,    65,
     131,   132,    49,    62,    92,   139,    99,    99,   131,   121,
      96,    96,   136,   111,   136,    97,    99,   139,   111,   131,
     133,   130,   135,   133,   132,    92,    99,   135,   135,   136,
     125,   136,    99,    99,    13,    14,    98,   114,   115,    99,
     135,    49,    24,    99,    99,   111,   136,    62,    98,   115,
     133,   135,   111,   111,    62,   103,   103
};

  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
static const yytype_uint8 yyr1[] =
{
       0,   101,   102,   102,   102,   102,   103,   103,   104,   104,
     104,   105,   105,   105,   105,   105,   105,   105,   105,   105,
................................................................................
     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
     136,   136,   136,   136,   136,   136,   136,   137,   137,   137,
     137,   138,   138,   138,   138,   138,   139,   139,   140,   140,
     141,   141,   141,   141,   141,   141,   141,   141,   141,   142,
     143,   143,   143,   144,   144,   145,   145

};

  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
static const yytype_uint8 yyr2[] =
{
       0,     2,     0,     1,     2,     1,     1,     2,     1,     1,
       3,     2,     1,     1,     3,     3,     3,     2,     3,     3,
................................................................................
       2,     2,     2,     2,     2,     3,     3,     3,     3,     3,
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
       3,     3,     3,     3,     3,     1,     2,     2,     4,     2,
       5,     5,     7,     5,     4,     5,     1,     6,     7,     6,
       4,     1,     1,     1,     4,     3,     0,     1,     1,     3,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
       0,     1,     3,     3,     3,     3,     2

};


#define yyerrok         (yyerrstatus = 0)
#define yyclearin       (yychar = YYEMPTY)
#define YYEMPTY         (-2)
#define YYEOF           0
................................................................................
    break;

  case 204:
    { (yyval.opcodes) = codes_join(code_push_string(pstate,&(yylsp[-2]), (yyvsp[-2].str)), (yyvsp[0].opcodes)); }
    break;

  case 205:
    { (yyval.opcodes) = codes_join((yyvsp[-1].opcodes), code_array(pstate, &(yylsp[-1]), ((yyvsp[-1].opcodes))->expr_counter)); }
    break;

  case 206:
















    { (yyval.opcodes) = code_array(pstate, &(yylsp[-1]), 0); }
    break;


      default: break;
    }
  /* User semantic actions sometimes alter yychar, and that requires






|







 







|

|






|

|







 







|
>







 







|


|










|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>
>







 







|
|
|

|
|
|
>
|
|
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|





<
<
|
|
|
>
>





|
|
|
|
|







|
|
|
|
|
|
|
|
|
|
|
|
|
<
|
|
>
|
|
|
|
|
|
|
|
>
|
<
|
|
|
|
>
|
<
>
|
<
|
|
|
<
<
<
<
<
<
<
<
<
<
|
|

<
<
<
>
>
>
>
|
<
|
|
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
|
|

|
|
|
<
>
|
|
<
<
>
>


|
|



|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<
<
<
<
<
<
<
<




|
|

|
|




|
|
|

|
|

|
|
|


|




|
>
>
>
>
>
>
>
>
>
>
>
>
>

|
>
>
>
>
>
>
>
>
>
>
|
|
>
>
>
>
|
|
|
|
|
|
|
|
|
|
|
|
<
<
|
|
|
|
<
<
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<
<
<
<
<
<
|
>







 







|
|
|
|
|
|
|
|
>
|
|
|


|
|
|
|
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|







 







|
>







 







|
>







 







|



>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
.....
64229
64230
64231
64232
64233
64234
64235
64236
64237
64238
64239
64240
64241
64242
64243
64244
64245
64246
64247
64248
64249
64250
64251
64252
64253
64254
.....
64314
64315
64316
64317
64318
64319
64320
64321
64322
64323
64324
64325
64326
64327
64328
64329
.....
64368
64369
64370
64371
64372
64373
64374
64375
64376
64377
64378
64379
64380
64381
64382
64383
64384
64385
64386
64387
64388
64389
64390
64391
64392
64393
64394
64395
64396
64397
64398
64399
64400
64401
64402
64403
64404
64405
64406
64407
64408
64409
64410
64411
64412
64413
64414
64415
64416
64417
64418
64419
64420
64421
64422
64423
64424
64425
64426
64427
64428
64429
64430
64431
64432
64433
64434
64435
64436
64437
.....
64440
64441
64442
64443
64444
64445
64446
64447
64448
64449
64450
64451
64452
64453
64454
64455
64456
64457
64458
64459
64460
64461
64462
64463
64464
64465
64466
64467
64468
64469
64470
64471
64472
64473
64474
64475
64476
64477
64478
64479
64480
64481
64482
64483
64484


64485
64486
64487
64488
64489
64490
64491
64492
64493
64494
64495
64496
64497
64498
64499
64500
64501
64502
64503
64504
64505
64506
64507
64508
64509
64510
64511
64512
64513
64514
64515
64516
64517
64518
64519

64520
64521
64522
64523
64524
64525
64526
64527
64528
64529
64530
64531
64532

64533
64534
64535
64536
64537
64538

64539
64540

64541
64542
64543










64544
64545
64546



64547
64548
64549
64550
64551

64552
64553
64554















64555
64556
64557
64558
64559
64560
64561

64562
64563
64564


64565
64566
64567
64568
64569
64570
64571
64572
64573
64574
64575
64576
64577
64578
64579
64580
64581
64582
64583
64584
64585
64586
64587
64588
64589
64590
64591
64592
64593
64594
64595
64596
64597
64598
64599
64600
64601
64602
64603
64604
64605
64606
64607
64608
64609
64610
64611
64612
64613
64614
64615
64616
64617
64618
64619
64620
64621
64622
64623
64624
64625
64626
64627
64628
64629
64630
64631
64632
64633
64634
64635
64636
64637
64638
64639
64640
64641
64642
64643
64644
64645
64646
64647
64648
64649
64650
64651
64652
64653
64654
64655
64656
64657
64658
64659
64660
64661
64662
64663
64664
64665
64666
64667
64668
64669
64670
64671
64672
64673
64674
64675
64676
64677
64678
64679
64680
64681
64682
64683
64684
64685
64686
64687
64688
64689
64690
64691
64692
64693
64694
64695
64696
64697
64698
64699
64700
64701
64702
64703
64704
64705
64706
64707
64708
64709
64710
64711
64712
64713
64714
64715
64716
64717
64718
64719
64720
64721
64722
64723
64724
64725
64726
64727
64728
64729
64730
64731
64732
64733
64734
64735
64736
64737
64738
64739
64740
64741
64742
64743
64744
64745
64746
64747
64748
64749
64750
64751
64752
64753
64754
64755
64756
64757
64758
64759
64760
64761
64762
64763
64764
64765
64766
64767
64768
64769
64770
64771
64772
64773
64774
64775
64776
64777
64778
64779
64780
64781
64782
64783
64784
64785
64786
64787
64788
64789
64790
64791
64792
64793
64794
64795
64796
64797
64798
64799
64800
64801
64802
64803
64804








64805
64806
64807
64808
64809
64810
64811
64812
64813
64814
64815
64816
64817
64818
64819
64820
64821
64822
64823
64824
64825
64826
64827
64828
64829
64830
64831
64832
64833
64834
64835
64836
64837
64838
64839
64840
64841
64842
64843
64844
64845
64846
64847
64848
64849
64850
64851
64852
64853
64854
64855
64856
64857
64858
64859
64860
64861
64862
64863
64864
64865
64866
64867
64868
64869
64870
64871
64872
64873
64874
64875
64876
64877
64878


64879
64880
64881
64882



64883
64884
64885
64886
64887
64888
64889
64890
64891
64892
64893
64894
64895
64896
64897
64898
64899
64900
64901
64902
64903
64904
64905
64906
64907
64908
64909
64910
64911
64912
64913
64914
64915
64916
64917
64918
64919
64920
64921
64922
64923
64924
64925
64926
64927
64928
64929
64930
64931
64932
64933
64934
64935
64936
64937
64938
64939
64940
64941
64942
64943
64944
64945
64946
64947
64948
64949
64950
64951
64952
64953
64954
64955
64956
64957
64958
64959
64960
64961
64962
64963
64964
64965
64966
64967
64968






64969
64970
64971
64972
64973
64974
64975
64976
64977
.....
64979
64980
64981
64982
64983
64984
64985
64986
64987
64988
64989
64990
64991
64992
64993
64994
64995
64996
64997
64998
64999
65000
65001
65002
65003
65004
65005
65006
65007
65008
65009
65010
65011
65012
65013
65014
65015
65016
65017
65018
65019
65020
65021
65022
65023
65024
65025
.....
65037
65038
65039
65040
65041
65042
65043
65044
65045
65046
65047
65048
65049
65050
65051
65052
.....
65064
65065
65066
65067
65068
65069
65070
65071
65072
65073
65074
65075
65076
65077
65078
65079
.....
67149
67150
67151
67152
67153
67154
67155
67156
67157
67158
67159
67160
67161
67162
67163
67164
67165
67166
67167
67168
67169
67170
67171
67172
67173
67174
67175
67176
67177
67178
67179
67180
67181
67182
/* jsi.h : External API header file for Jsi. */
#ifndef __JSI_H__
#define __JSI_H__

#define JSI_VERSION_MAJOR   2
#define JSI_VERSION_MINOR   8
#define JSI_VERSION_RELEASE 24

#define JSI_VERSION (JSI_VERSION_MAJOR + ((Jsi_Number)JSI_VERSION_MINOR/100.0) + ((Jsi_Number)JSI_VERSION_RELEASE/10000.0))

#ifndef JSI_EXTERN
#define JSI_EXTERN extern
#endif

................................................................................
        }                                       \
      while (0)
#  endif
# endif
#endif /* !YYCOPY_NEEDED */

/* YYFINAL -- State number of the termination state.  */
#define YYFINAL  104
/* YYLAST -- Last index in YYTABLE.  */
#define YYLAST   2290

/* YYNTOKENS -- Number of terminals.  */
#define YYNTOKENS  101
/* YYNNTS -- Number of nonterminals.  */
#define YYNNTS  45
/* YYNRULES -- Number of rules.  */
#define YYNRULES  210
/* YYNSTATES -- Number of states.  */
#define YYNSTATES  413

/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
   by yylex, with out-of-bounds checking.  */
#define YYUNDEFTOK  2
#define YYMAXUTOK   331

#define YYTRANSLATE(YYX)                                                \
................................................................................
     570,   574,   578,   582,   586,   590,   591,   595,   599,   600,
     601,   602,   603,   604,   605,   606,   607,   608,   609,   610,
     611,   612,   613,   614,   615,   616,   617,   618,   619,   620,
     621,   622,   623,   624,   625,   626,   628,   629,   632,   633,
     634,   640,   648,   653,   658,   663,   667,   671,   680,   686,
     691,   719,   725,   726,   727,   732,   739,   740,   744,   745,
     752,   753,   754,   755,   756,   757,   758,   759,   760,   764,
     768,   769,   770,   778,   779,   780,   781,   782,   783,   787,
     788
};
#endif

#if YYDEBUG || YYERROR_VERBOSE || 1
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
static const char *const yytname[] =
................................................................................
     318,   319,    62,    60,   320,   321,   322,   323,   324,   325,
      43,    45,    42,    47,    37,   326,    33,   327,   328,   126,
     329,   330,    46,    91,    40,   331,    59,   123,   125,    41,
      93
};
# endif

#define YYPACT_NINF -331

#define yypact_value_is_default(Yystate) \
  (!!((Yystate) == (-331)))

#define YYTABLE_NINF -201

#define yytable_value_is_error(Yytable_value) \
  0

  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
     STATE-NUM.  */
static const yytype_int16 yypact[] =
{
     222,  -331,   -35,   -46,    47,    47,    -3,  1264,    61,    82,
      26,   -28,  1283,   -22,  -331,  -331,  -331,  -331,  -331,  -331,
    -331,  -331,  -331,  1283,  1283,  1283,    26,    26,  1283,  1283,
    1283,   448,  1283,  -331,   751,    74,   369,  -331,  -331,  -331,
     -14,  -331,   190,  -331,  -331,  -331,  -331,  -331,  -331,  -331,
    -331,    -6,  1759,  -331,   900,  -331,  -331,  -331,  1113,  1283,
    -331,    -7,    25,  -331,     4,  -331,     7,  -331,   317,  1797,
      41,   -34,  -331,  1283,    23,   120,    59,    27,   884,    31,
    1837,  1283,    15,    15,    15,    32,    32,    15,    15,    15,
    -331,   354,   -40,  1399,   106,   107,   110,   111,   115,   116,
     980,  1759,   -37,  -331,  -331,  -331,  1759,     4,    87,    89,
    1150,    91,  1283,  1283,  1283,  1283,  1283,  1283,  1283,  1283,
    1283,  1283,  1283,  1283,  1283,  1283,  1283,  1283,  1283,  1283,
    1283,  1283,  1283,  1283,  1283,  1283,  1283,   182,  1283,  -331,
    1283,  1283,  1283,  1283,  1283,  1283,  1283,  1283,  1283,  1283,
    1283,  1283,  1283,  -331,  -331,   187,  1283,  1283,  -331,  1439,
    -331,  -331,     4,     9,   100,    97,   158,   121,   106,   157,
     110,   111,   115,   116,  -331,  1283,    61,  -331,  1479,  1283,
    1283,  1283,  -331,  -331,  1017,   126,   -28,  -331,  1519,  1283,
    -331,   134,  1283,  1113,  1283,  1283,  1283,  1283,  -331,   317,
    -331,   132,  1245,  1283,   847,  -331,   223,  1283,   135,   188,
     475,   354,  1953,  2061,  2099,  2129,  2167,  2197,   255,   255,
     255,   255,   475,   475,   475,   475,   284,   284,   284,    10,
      10,    15,    15,    15,   147,  1321,   354,   354,   354,   354,
     354,   354,   354,   354,   354,   354,   354,   354,   475,  -331,
    1359,   160,  1150,   165,   233,   252,   154,   -45,     5,  1283,
     354,  -331,   162,   167,   171,   172,  -331,   253,  -331,  1150,
     354,  1283,   354,  1915,   354,   354,   354,   354,  -331,   -29,
     268,  -331,  1283,  1875,   767,  1559,  -331,   180,  1599,  -331,
    1283,  1283,   181,  -331,  -331,   270,   -13,  -331,  -331,  -331,
    -331,  -331,  -331,   245,  -331,  -331,  -331,  -331,  -331,  -331,
    -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,
     -24,  -331,   252,  -331,    17,   186,   354,  1283,  -331,  -331,
    -331,   183,  -331,   184,   252,  -331,    21,   -32,   185,  2031,
    -331,  -331,  -331,  1283,  1150,  1283,   200,   354,   199,  1283,
    1150,   252,  -331,  -331,   233,   252,   -28,   215,   233,   252,
     192,   201,   -28,  -331,   -28,  1283,  -331,  1283,  1639,  -331,
    1679,     6,  -331,   202,  -331,   -28,  -331,  -331,  -331,  -331,
      -2,  -331,  -331,   275,  -331,  1719,   207,  2031,  1150,  -331,
    1283,   260,  -331,    18,  -331,  -331,  -331,   233,   -28,  1150,
    1150,  -331,  1993,   485,  -331,  -331,  -331,  -331,  -331,  -331,
     581,   618,   714
};

  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
     Performed when YYTABLE does not specify something else to do.  Zero
     means the default is an error.  */
static const yytype_uint8 yydefact[] =
{
................................................................................
     196,   191,   176,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,    22,    34,     0,    34,     6,     9,    24,
       0,     8,     0,    21,    31,    20,    13,    12,    28,    29,
      30,   114,     5,   165,   115,   113,   197,   198,    35,     0,
      33,     0,     0,    27,    75,   181,     0,    17,   200,     0,
      52,     0,    50,     0,   169,   167,   166,     0,    34,     0,
       0,     0,   120,   119,   122,   132,   134,   121,   133,   123,
     210,   188,     0,     0,   190,   181,   193,   194,   195,   191,
      34,     0,     0,   201,     1,     7,     4,    75,     0,     0,
      34,     0,   186,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,    11,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   130,   131,     0,     0,   186,    10,     0,
      15,    14,    75,   103,     0,     0,    76,     0,     0,     0,
       0,     0,     0,     0,    16,     0,     0,    18,     0,   186,
     186,   186,    54,   112,    34,     0,     0,    19,     0,     0,
     209,   135,     0,    35,     0,     0,     0,     0,    23,     0,
     199,     0,     0,     0,    34,    36,     0,     0,     0,   187,
     129,   116,     0,   137,   136,   147,   148,   146,   142,   143,
     144,   145,   139,   138,   140,   141,   149,   150,   151,   127,
     128,   124,   125,   126,   118,     0,   152,   153,   154,   155,
     156,   157,   158,   159,   160,   161,   162,   163,   164,   185,
       0,     0,    34,     0,     0,     0,     0,     0,     0,     0,
      53,    51,   168,     0,     0,     0,   111,     0,    48,    34,
     189,   186,   204,   203,   206,   207,   205,   208,   202,     0,
       0,    62,    65,     0,   115,     0,    37,     0,     0,   174,
       0,   186,   117,   184,   180,    55,     0,   102,    95,    99,
     100,    98,   101,     0,    96,   104,    89,    90,    79,    80,
      88,    83,    81,    84,    85,    82,    86,    87,    91,    93,
     105,    77,     0,    71,   107,     0,   203,   186,   173,   171,
     170,     0,    38,     0,     0,    26,    52,     0,     0,    66,
      63,    57,    58,     0,    34,     0,     0,   175,     0,   186,
      34,     0,    73,    97,     0,     0,     0,    92,     0,     0,
       0,     0,     0,   179,     0,     0,    64,    67,     0,    69,
       0,     0,   177,     0,    56,     0,   106,    94,    72,   108,
     109,    78,   172,    47,    25,     0,     0,    68,    34,    70,
       0,     0,    39,     0,    41,   178,    74,     0,     0,    34,
      34,    61,     0,    34,    40,    42,   110,    49,    60,    59,
      34,    34,    34
};

  /* YYPGOTO[NTERM-NUM].  */
static const yytype_int16 yypgoto[] =
{


    -331,  -331,     3,     0,   -42,  -331,  -331,  -331,   302,  -331,
    -170,  -331,  -331,  -331,   -76,  -331,    43,   149,  -331,  -331,
     -10,  -331,  -331,  -331,  -331,  -331,  -331,   322,  -103,   -15,
    -316,  -253,  -330,  -331,  -174,    14,  -331,    -4,  -104,   311,
     335,  -331,  -331,   151,  -331
};

  /* YYDEFGOTO[NTERM-NUM].  */
static const yytype_int16 yydefgoto[] =
{
      -1,    35,   100,   205,    38,    39,    40,    41,    61,    42,
     206,    43,    44,   393,   394,    45,    71,    72,    46,    47,
     343,    48,   282,   338,   386,    49,    50,    51,   165,   319,
     356,   357,   305,   166,    79,   101,    53,    54,   208,   209,
      55,    56,   102,   103,    57
};

  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
     positive, shift that token.  If negative, reduce the rule whose
     number is the opposite.  If YYTABLE_NINF, syntax error.  */
static const yytype_int16 yytable[] =
{
      37,    63,   320,    36,   201,    75,    77,   189,   163,   324,
     199,   167,   268,   176,    52,   176,   158,   322,   364,   390,
     391,    69,    85,    86,   376,   354,    80,    58,   379,   341,
      65,   390,   391,   334,    37,   375,   105,    82,    83,    84,
     342,   355,    87,    88,    89,    91,    93,   397,    59,   351,
     106,    60,    78,   251,   185,   186,    17,    18,   254,   253,
     190,   200,   177,   355,   366,    70,   358,   406,    78,    78,
     175,   255,    81,   159,   104,   263,   264,   265,    37,   359,
     107,   184,   295,   323,    78,     1,    65,   178,   112,   160,
     175,    64,   134,   135,   136,   188,   164,   325,    66,   332,
     105,    64,   137,   138,   392,   335,   380,   137,   138,    14,
      15,    16,    17,    18,    19,    20,   404,   179,    21,   155,
     156,   161,   352,   182,   155,   156,    91,   210,   211,   212,

     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     233,   158,   235,   181,   236,   237,   238,   239,   240,   241,
     242,   243,   244,   245,   246,   247,   248,   333,   192,   193,
     250,    91,   194,   195,   369,    31,    73,   196,   197,    68,
     374,   202,   378,   203,   105,   207,   234,   348,   383,   260,
     384,   249,   256,    91,    91,    91,   257,   108,   284,   109,
     110,   396,   111,   270,    37,   258,   272,   273,   274,   275,
     276,   277,   155,   156,   180,   162,   283,   285,   401,   259,
     267,   288,    -2,   361,   407,     1,     2,     3,   271,   408,
     409,   279,   287,     4,   289,   189,   297,     5,     6,     7,
       8,   291,     9,    10,    11,   373,   321,    12,    13,    14,
      15,    16,    17,    18,    19,    20,   327,   331,    21,   294,

     298,   299,   300,   113,   296,   301,   328,    22,   306,   302,
     329,   330,   336,   326,   345,   349,   350,   353,   360,   307,
     355,   367,   362,   363,   381,    91,   308,   309,   310,   311,
     312,   313,   314,   315,   316,   317,   339,   371,   372,   398,
     382,   395,    23,    24,   347,    91,   400,    62,    25,    26,
      27,    28,    29,    30,   303,    31,    32,   405,    33,    34,

     168,   169,   403,   337,   304,   261,   365,   125,   126,   127,
     128,    74,   129,   130,   131,   132,   133,   134,   135,   136,

     377,    91,    92,   318,    76,   170,   171,   137,   138,   172,
     278,     0,     0,   173,     0,     0,     0,   368,     0,   370,
       0,     0,   113,    91,   132,   133,   134,   135,   136,    -3,










       0,     0,     1,     2,     3,     0,   137,   138,     0,   385,
       4,   387,     0,     0,     5,     6,     7,     8,     0,     9,
      10,    11,     0,     0,    12,    13,    14,    15,    16,    17,



      18,    19,    20,    37,   402,    21,   411,     0,     0,     0,
      37,   105,   105,   412,    22,   115,     0,   116,   117,   118,
     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
       0,   129,   130,   131,   132,   133,   134,   135,   136,     0,
       0,     0,     0,     0,     0,     0,   137,   138,     0,    23,

      24,     1,    65,     0,     0,    25,    26,    27,    28,    29,
      30,     0,    31,    32,    66,    33,    34,     0,     9,     0,
       0,     0,     0,     0,     0,    14,    15,    16,    17,    18,















      19,    20,     0,     0,    21,     0,     0,     0,     1,     2,
       3,     0,     0,    22,     0,     0,     4,     0,   -45,   -45,
       5,     6,     7,     8,     0,     9,    10,    11,     0,     0,
      12,    13,    14,    15,    16,    17,    18,    19,    20,     0,
       0,    21,     0,     0,     0,     0,     0,     0,    23,    24,
      22,     0,     0,     0,    25,    26,    27,    28,    29,    30,
       0,    31,    32,     0,     0,    68,     0,     0,    90,     0,

       0,     0,   129,   130,   131,   132,   133,   134,   135,   136,
       0,     0,     0,     0,     0,    23,    24,   137,   138,     0,
       0,    25,    26,    27,    28,    29,    30,     0,    31,    32,


       0,    33,    34,   -45,     1,     2,     3,     0,     0,     0,
       0,     0,     4,     0,   -46,   -46,     5,     6,     7,     8,
       0,     9,    10,    11,     0,     0,    12,    13,    14,    15,
      16,    17,    18,    19,    20,     0,     0,    21,     0,     0,
       0,     1,     2,     3,     0,     0,    22,     0,     0,     4,
       0,   -44,   -44,     5,     6,     7,     8,     0,     9,    10,
      11,     0,     0,    12,    13,    14,    15,    16,    17,    18,
      19,    20,     0,     0,    21,     0,     0,     0,     0,     0,
       0,    23,    24,    22,     0,     0,     0,    25,    26,    27,
      28,    29,    30,     0,    31,    32,     0,    33,    34,   -46,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,    23,    24,
       0,     0,     0,     0,    25,    26,    27,    28,    29,    30,
       0,    31,    32,     0,    33,    34,   -44,     1,     2,     3,
       0,     0,     0,     0,     0,     4,     0,   -43,   -43,     5,
       6,     7,     8,     0,     9,    10,    11,     0,     0,    12,
      13,    14,    15,    16,    17,    18,    19,    20,     0,     0,
      21,     0,     0,     0,    94,    95,     3,     0,     0,    22,
       0,     0,     4,     0,     0,     0,     5,     6,     7,     8,
       0,     9,    10,    11,     0,   341,    12,    13,    14,    96,
      97,    17,    18,    98,    20,     0,   342,    99,     0,     0,
       0,     0,     0,     0,    23,    24,    22,     0,  -200,     0,
      25,    26,    27,    28,    29,    30,     0,    31,    32,     0,
      33,    34,   -43,     0,     0,     0,   140,   141,   142,   143,
     144,   145,   146,   147,   148,   149,   150,   151,     0,     0,
       0,    23,    24,     0,     0,     0,     0,    25,    26,    27,
      28,    29,    30,   152,    31,    32,     0,    33,    34,  -200,
      94,    95,     3,     0,   153,   154,     0,     0,     4,   155,
     156,   157,     5,     6,     7,     8,     0,     9,    10,    11,
       0,     0,    12,    13,    14,    96,    97,    17,    18,    98,
      20,     0,     0,    99,     0,     0,     0,     1,     2,     3,
       0,     0,    22,     0,  -200,     4,     0,     0,     0,     5,
       6,     7,     8,     0,     9,    10,    11,     0,     0,    12,
      13,    14,    15,    16,    17,    18,    19,    20,     0,     0,
      21,     0,     0,     0,     0,     0,     0,    23,    24,    22,
       0,     0,     0,    25,    26,    27,    28,    29,    30,     0,
      31,    32,     0,    33,    34,   286,     0,     0,     0,   140,
     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
     151,     0,     0,     0,    23,    24,     0,     0,     0,     0,
      25,    26,    27,    28,    29,    30,   152,    31,    32,     0,
      33,    34,   183,     1,     2,     3,     0,   153,   154,     0,
       0,     4,   155,   156,   157,     5,     6,     7,     8,     0,
       9,    10,    11,     0,     0,    12,    13,    14,    15,    16,
      17,    18,    19,    20,     0,     0,    21,     0,     0,     0,
       1,     2,     3,     0,     0,    22,     0,     0,     4,     0,
       0,     0,     5,     6,     7,     8,     0,     9,    10,    11,
       0,     0,    12,    13,    14,    15,    16,    17,    18,    19,
      20,     0,     0,    21,     0,     0,     0,     0,     0,     0,
      23,    24,    22,     0,     0,     0,    25,    26,    27,    28,
      29,    30,     0,    31,    32,     0,    33,    34,   198,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,    23,    24,     0,
       0,     0,     0,    25,    26,    27,    28,    29,    30,     0,
      31,    32,     0,    33,    34,   266,     1,    65,     3,     0,
       0,     0,     0,     0,     4,     0,     0,     0,     5,     6,
       7,     8,     0,     9,    10,    11,     0,     0,    12,    13,
      14,    15,    16,    17,    18,    19,    20,     0,     0,    21,
       0,     0,     0,     1,     2,     3,     0,     0,    22,     0,
       0,     4,     0,     0,     0,     5,     6,     7,     8,     0,
       9,    10,    11,     0,     0,    12,    13,    14,    15,    16,
      17,    18,    19,    20,     0,     0,    21,     0,     0,     0,
       0,     0,     0,    23,    24,    22,     0,     0,     0,    25,
      26,    27,    28,    29,    30,     0,    31,    32,     0,    33,
      34,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      23,    24,     0,     0,     0,     0,    25,    26,    27,    28,
      29,    30,     0,    31,    32,     0,    33,   204,     1,    65,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,    66,     0,   280,     0,     9,     0,     1,    65,     0,
       0,     0,    14,    15,    16,    17,    18,    19,    20,     0,
      66,    21,     0,     0,     9,     0,     1,    65,     0,     0,
      22,    14,    15,    16,    17,    18,    19,    20,     0,    66,
      21,     0,     0,     9,     0,     0,     0,     0,     0,    22,
      14,    15,    16,    17,    18,    19,    20,     0,     0,    21,
       0,     0,     0,     0,     0,    23,    24,     0,    22,   113,
       0,    25,    26,    27,    28,    29,    30,     0,    31,    32,
       0,   281,    68,     0,    23,    24,     0,     0,     0,     0,
      25,    26,    27,    28,    29,    30,     0,    31,    32,     0,
      67,    68,     0,    23,    24,     0,     0,   113,   114,    25,
      26,    27,    28,    29,    30,     0,    31,    32,     0,     0,
      68,     0,   115,     0,   116,   117,   118,   119,   120,   121,
     122,   123,   124,   125,   126,   127,   128,     0,   129,   130,
     131,   132,   133,   134,   135,   136,   114,   113,     0,     0,
       0,     0,     0,   137,   138,     0,     0,     0,     0,     0,
     115,   292,   116,   117,   118,   119,   120,   121,   122,   123,
     124,   125,   126,   127,   128,     0,   129,   130,   131,   132,
     133,   134,   135,   136,     0,     0,   114,   113,     0,     0,
       0,   137,   138,     0,     0,     0,     0,     0,     0,   293,
     115,     0,   116,   117,   118,   119,   120,   121,   122,   123,
     124,   125,   126,   127,   128,     0,   129,   130,   131,   132,
     133,   134,   135,   136,     0,     0,   114,   113,     0,     0,
       0,   137,   138,     0,     0,     0,     0,     0,   191,     0,
     115,     0,   116,   117,   118,   119,   120,   121,   122,   123,
     124,   125,   126,   127,   128,     0,   129,   130,   131,   132,
     133,   134,   135,   136,     0,     0,   114,   113,     0,     0,
       0,   137,   138,     0,     0,     0,     0,     0,   252,     0,
     115,     0,   116,   117,   118,   119,   120,   121,   122,   123,
     124,   125,   126,   127,   128,     0,   129,   130,   131,   132,
     133,   134,   135,   136,     0,     0,   114,   113,     0,     0,
       0,   137,   138,     0,     0,     0,     0,     0,   262,     0,
     115,     0,   116,   117,   118,   119,   120,   121,   122,   123,
     124,   125,   126,   127,   128,     0,   129,   130,   131,   132,
     133,   134,   135,   136,     0,     0,   114,   113,     0,     0,
       0,   137,   138,     0,     0,     0,     0,     0,   269,     0,
     115,     0,   116,   117,   118,   119,   120,   121,   122,   123,
     124,   125,   126,   127,   128,     0,   129,   130,   131,   132,
     133,   134,   135,   136,     0,     0,   114,   113,     0,     0,
       0,   137,   138,     0,     0,     0,     0,     0,   344,     0,
     115,     0,   116,   117,   118,   119,   120,   121,   122,   123,
     124,   125,   126,   127,   128,     0,   129,   130,   131,   132,
     133,   134,   135,   136,     0,     0,   114,   113,     0,     0,
       0,   137,   138,     0,     0,     0,     0,     0,   346,     0,
     115,     0,   116,   117,   118,   119,   120,   121,   122,   123,
     124,   125,   126,   127,   128,     0,   129,   130,   131,   132,
     133,   134,   135,   136,     0,     0,   114,   113,     0,     0,
       0,   137,   138,     0,     0,     0,     0,     0,   388,     0,
     115,     0,   116,   117,   118,   119,   120,   121,   122,   123,
     124,   125,   126,   127,   128,     0,   129,   130,   131,   132,
     133,   134,   135,   136,     0,     0,   114,   113,     0,     0,
       0,   137,   138,     0,     0,     0,     0,     0,   389,     0,
     115,     0,   116,   117,   118,   119,   120,   121,   122,   123,
     124,   125,   126,   127,   128,     0,   129,   130,   131,   132,
     133,   134,   135,   136,     0,   113,   114,     0,     0,     0,
       0,   137,   138,     0,     0,     0,     0,     0,   399,     0,
     115,     0,   116,   117,   118,   119,   120,   121,   122,   123,
     124,   125,   126,   127,   128,     0,   129,   130,   131,   132,
     133,   134,   135,   136,   114,   113,     0,     0,     0,     0,
       0,   137,   138,     0,     0,   139,     0,     0,   115,     0,
     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
     126,   127,   128,     0,   129,   130,   131,   132,   133,   134,
     135,   136,     0,   113,   114,     0,     0,     0,     0,   137,
     138,     0,     0,   174,     0,     0,     0,     0,   115,     0,
     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
     126,   127,   128,     0,   129,   130,   131,   132,   133,   134,
     135,   136,   114,   113,     0,     0,     0,     0,     0,   137,
     138,     0,     0,   187,     0,     0,   115,     0,   116,   117,
     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
     128,     0,   129,   130,   131,   132,   133,   134,   135,   136,
       0,   113,     0,     0,     0,     0,     0,   137,   138,     0,
       0,   340,     0,     0,     0,     0,   115,     0,   116,   117,
     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
     128,     0,   129,   130,   131,   132,   133,   134,   135,   136,
     114,   113,     0,     0,     0,     0,     0,   137,   138,     0,
       0,   139,     0,     0,   115,   290,   116,   117,   118,   119,
     120,   121,   122,   123,   124,   125,   126,   127,   128,     0,
     129,   130,   131,   132,   133,   134,   135,   136,     0,   113,
     114,     0,     0,     0,     0,   137,   138,     0,     0,     0,
       0,     0,     0,     0,   115,   410,   116,   117,   118,   119,
     120,   121,   122,   123,   124,   125,   126,   127,   128,   113,
     129,   130,   131,   132,   133,   134,   135,   136,   114,     0,
       0,     0,     0,     0,     0,   137,   138,     0,     0,     0,
       0,     0,   115,     0,   116,   117,   118,   119,   120,   121,
     122,   123,   124,   125,   126,   127,   128,   113,   129,   130,
     131,   132,   133,   134,   135,   136,     0,     0,     0,     0,
       0,     0,     0,   137,   138,   117,   118,   119,   120,   121,
     122,   123,   124,   125,   126,   127,   128,   113,   129,   130,
     131,   132,   133,   134,   135,   136,     0,     0,     0,     0,
       0,     0,     0,   137,   138,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   118,   119,   120,   121,   122,   123,
     124,   125,   126,   127,   128,   113,   129,   130,   131,   132,
     133,   134,   135,   136,     0,     0,     0,     0,     0,     0,
       0,   137,   138,     0,     0,   119,   120,   121,   122,   123,
     124,   125,   126,   127,   128,   113,   129,   130,   131,   132,
     133,   134,   135,   136,     0,     0,     0,     0,     0,     0,
       0,   137,   138,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   120,   121,   122,   123,   124,   125,
     126,   127,   128,     0,   129,   130,   131,   132,   133,   134,
     135,   136,     0,     0,     0,     0,     0,     0,     0,   137,
     138,     0,     0,     0,     0,   121,   122,   123,   124,   125,
     126,   127,   128,     0,   129,   130,   131,   132,   133,   134,
     135,   136,     0,     0,     0,     0,     0,     0,     0,   137,
     138
};

static const yytype_int16 yycheck[] =
{
       0,     4,   255,     0,   107,     9,    10,    47,     4,     4,
      47,     4,   186,    47,     0,    47,    58,    62,   334,    13,
      14,     7,    26,    27,   354,    49,    12,    62,   358,     8,
       4,    13,    14,    62,    34,   351,    36,    23,    24,    25,
      19,    65,    28,    29,    30,    31,    32,    49,    94,    62,
      36,     4,    97,   157,    23,    24,    30,    31,    49,   162,
     100,    98,    96,    65,    96,     4,    49,   397,    97,    97,
      49,    62,    94,    59,     0,   179,   180,   181,    78,    62,
      94,    78,   252,   257,    97,     3,     4,    73,    94,    96,
      49,    94,    82,    83,    84,    81,    92,    92,    16,   269,
     100,    94,    92,    93,    98,   279,   359,    92,    93,    27,
      28,    29,    30,    31,    32,    33,    98,    94,    36,    92,
      93,    96,   296,    96,    92,    93,   112,   113,   114,   115,
     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
     136,   193,   138,    94,   140,   141,   142,   143,   144,   145,
     146,   147,   148,   149,   150,   151,   152,   271,    62,    62,
     156,   157,    62,    62,   344,    93,    94,    62,    62,    97,
     350,    94,   356,    94,   184,    94,     4,   291,   362,   175,
     364,     4,    92,   179,   180,   181,    99,     7,   202,     9,
      10,   375,    12,   189,   204,    47,   192,   193,   194,   195,
     196,   197,    92,    93,    94,    94,   202,   203,   388,    62,
      94,   207,     0,   327,   398,     3,     4,     5,    94,   399,
     400,    99,     9,    11,    99,    47,     3,    15,    16,    17,
      18,    94,    20,    21,    22,   349,    92,    25,    26,    27,
      28,    29,    30,    31,    32,    33,    94,     4,    36,    99,
      27,    28,    29,     8,    99,    32,    99,    45,    16,    36,
      99,    99,     4,   259,    94,    94,     6,    32,    92,    27,
      65,    96,    99,    99,    92,   271,    34,    35,    36,    37,
      38,    39,    40,    41,    42,    43,   282,    97,    99,    24,
      99,    99,    80,    81,   290,   291,    99,     5,    86,    87,
      88,    89,    90,    91,    81,    93,    94,   393,    96,    97,
       3,     4,    62,   280,    91,   176,   336,    72,    73,    74,
      75,     9,    77,    78,    79,    80,    81,    82,    83,    84,
     355,   327,    31,    91,     9,    28,    29,    92,    93,    32,
     199,    -1,    -1,    36,    -1,    -1,    -1,   343,    -1,   345,
      -1,    -1,     8,   349,    80,    81,    82,    83,    84,     0,
      -1,    -1,     3,     4,     5,    -1,    92,    93,    -1,   365,
      11,   367,    -1,    -1,    15,    16,    17,    18,    -1,    20,
      21,    22,    -1,    -1,    25,    26,    27,    28,    29,    30,
      31,    32,    33,   403,   390,    36,   403,    -1,    -1,    -1,
     410,   411,   412,   410,    45,    61,    -1,    63,    64,    65,
      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
      -1,    77,    78,    79,    80,    81,    82,    83,    84,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    92,    93,    -1,    80,
      81,     3,     4,    -1,    -1,    86,    87,    88,    89,    90,
      91,    -1,    93,    94,    16,    96,    97,    -1,    20,    -1,
      -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
      32,    33,    -1,    -1,    36,    -1,    -1,    -1,     3,     4,
       5,    -1,    -1,    45,    -1,    -1,    11,    -1,    13,    14,
      15,    16,    17,    18,    -1,    20,    21,    22,    -1,    -1,
      25,    26,    27,    28,    29,    30,    31,    32,    33,    -1,
      -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,    80,    81,
      45,    -1,    -1,    -1,    86,    87,    88,    89,    90,    91,
      -1,    93,    94,    -1,    -1,    97,    -1,    -1,   100,    -1,
      -1,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
      -1,    -1,    -1,    -1,    -1,    80,    81,    92,    93,    -1,
      -1,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
      -1,    96,    97,    98,     3,     4,     5,    -1,    -1,    -1,
      -1,    -1,    11,    -1,    13,    14,    15,    16,    17,    18,
      -1,    20,    21,    22,    -1,    -1,    25,    26,    27,    28,
      29,    30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,
      -1,     3,     4,     5,    -1,    -1,    45,    -1,    -1,    11,
      -1,    13,    14,    15,    16,    17,    18,    -1,    20,    21,








      22,    -1,    -1,    25,    26,    27,    28,    29,    30,    31,
      32,    33,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,
      -1,    80,    81,    45,    -1,    -1,    -1,    86,    87,    88,
      89,    90,    91,    -1,    93,    94,    -1,    96,    97,    98,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,    81,
      -1,    -1,    -1,    -1,    86,    87,    88,    89,    90,    91,
      -1,    93,    94,    -1,    96,    97,    98,     3,     4,     5,
      -1,    -1,    -1,    -1,    -1,    11,    -1,    13,    14,    15,
      16,    17,    18,    -1,    20,    21,    22,    -1,    -1,    25,
      26,    27,    28,    29,    30,    31,    32,    33,    -1,    -1,
      36,    -1,    -1,    -1,     3,     4,     5,    -1,    -1,    45,
      -1,    -1,    11,    -1,    -1,    -1,    15,    16,    17,    18,
      -1,    20,    21,    22,    -1,     8,    25,    26,    27,    28,
      29,    30,    31,    32,    33,    -1,    19,    36,    -1,    -1,
      -1,    -1,    -1,    -1,    80,    81,    45,    -1,    47,    -1,
      86,    87,    88,    89,    90,    91,    -1,    93,    94,    -1,
      96,    97,    98,    -1,    -1,    -1,    49,    50,    51,    52,
      53,    54,    55,    56,    57,    58,    59,    60,    -1,    -1,
      -1,    80,    81,    -1,    -1,    -1,    -1,    86,    87,    88,
      89,    90,    91,    76,    93,    94,    -1,    96,    97,    98,
       3,     4,     5,    -1,    87,    88,    -1,    -1,    11,    92,
      93,    94,    15,    16,    17,    18,    -1,    20,    21,    22,
      -1,    -1,    25,    26,    27,    28,    29,    30,    31,    32,
      33,    -1,    -1,    36,    -1,    -1,    -1,     3,     4,     5,
      -1,    -1,    45,    -1,    47,    11,    -1,    -1,    -1,    15,
      16,    17,    18,    -1,    20,    21,    22,    -1,    -1,    25,
      26,    27,    28,    29,    30,    31,    32,    33,    -1,    -1,
      36,    -1,    -1,    -1,    -1,    -1,    -1,    80,    81,    45,
      -1,    -1,    -1,    86,    87,    88,    89,    90,    91,    -1,
      93,    94,    -1,    96,    97,    98,    -1,    -1,    -1,    49,
      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
      60,    -1,    -1,    -1,    80,    81,    -1,    -1,    -1,    -1,
      86,    87,    88,    89,    90,    91,    76,    93,    94,    -1,
      96,    97,    98,     3,     4,     5,    -1,    87,    88,    -1,
      -1,    11,    92,    93,    94,    15,    16,    17,    18,    -1,
      20,    21,    22,    -1,    -1,    25,    26,    27,    28,    29,
      30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,    -1,
       3,     4,     5,    -1,    -1,    45,    -1,    -1,    11,    -1,
      -1,    -1,    15,    16,    17,    18,    -1,    20,    21,    22,
      -1,    -1,    25,    26,    27,    28,    29,    30,    31,    32,
      33,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,
      80,    81,    45,    -1,    -1,    -1,    86,    87,    88,    89,
      90,    91,    -1,    93,    94,    -1,    96,    97,    98,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,    81,    -1,
      -1,    -1,    -1,    86,    87,    88,    89,    90,    91,    -1,
      93,    94,    -1,    96,    97,    98,     3,     4,     5,    -1,
      -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    15,    16,
      17,    18,    -1,    20,    21,    22,    -1,    -1,    25,    26,
      27,    28,    29,    30,    31,    32,    33,    -1,    -1,    36,
      -1,    -1,    -1,     3,     4,     5,    -1,    -1,    45,    -1,
      -1,    11,    -1,    -1,    -1,    15,    16,    17,    18,    -1,
      20,    21,    22,    -1,    -1,    25,    26,    27,    28,    29,
      30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,    -1,
      -1,    -1,    -1,    80,    81,    45,    -1,    -1,    -1,    86,
      87,    88,    89,    90,    91,    -1,    93,    94,    -1,    96,
      97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      80,    81,    -1,    -1,    -1,    -1,    86,    87,    88,    89,
      90,    91,    -1,    93,    94,    -1,    96,    97,     3,     4,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    16,    -1,    18,    -1,    20,    -1,     3,     4,    -1,
      -1,    -1,    27,    28,    29,    30,    31,    32,    33,    -1,
      16,    36,    -1,    -1,    20,    -1,     3,     4,    -1,    -1,
      45,    27,    28,    29,    30,    31,    32,    33,    -1,    16,
      36,    -1,    -1,    20,    -1,    -1,    -1,    -1,    -1,    45,
      27,    28,    29,    30,    31,    32,    33,    -1,    -1,    36,
      -1,    -1,    -1,    -1,    -1,    80,    81,    -1,    45,     8,
      -1,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
      -1,    96,    97,    -1,    80,    81,    -1,    -1,    -1,    -1,
      86,    87,    88,    89,    90,    91,    -1,    93,    94,    -1,
      96,    97,    -1,    80,    81,    -1,    -1,     8,    47,    86,
      87,    88,    89,    90,    91,    -1,    93,    94,    -1,    -1,


      97,    -1,    61,    -1,    63,    64,    65,    66,    67,    68,
      69,    70,    71,    72,    73,    74,    75,    -1,    77,    78,
      79,    80,    81,    82,    83,    84,    47,     8,    -1,    -1,
      -1,    -1,    -1,    92,    93,    -1,    -1,    -1,    -1,    -1,



      61,   100,    63,    64,    65,    66,    67,    68,    69,    70,
      71,    72,    73,    74,    75,    -1,    77,    78,    79,    80,
      81,    82,    83,    84,    -1,    -1,    47,     8,    -1,    -1,
      -1,    92,    93,    -1,    -1,    -1,    -1,    -1,    -1,   100,
      61,    -1,    63,    64,    65,    66,    67,    68,    69,    70,
      71,    72,    73,    74,    75,    -1,    77,    78,    79,    80,
      81,    82,    83,    84,    -1,    -1,    47,     8,    -1,    -1,
      -1,    92,    93,    -1,    -1,    -1,    -1,    -1,    99,    -1,
      61,    -1,    63,    64,    65,    66,    67,    68,    69,    70,
      71,    72,    73,    74,    75,    -1,    77,    78,    79,    80,
      81,    82,    83,    84,    -1,    -1,    47,     8,    -1,    -1,
      -1,    92,    93,    -1,    -1,    -1,    -1,    -1,    99,    -1,
      61,    -1,    63,    64,    65,    66,    67,    68,    69,    70,
      71,    72,    73,    74,    75,    -1,    77,    78,    79,    80,
      81,    82,    83,    84,    -1,    -1,    47,     8,    -1,    -1,
      -1,    92,    93,    -1,    -1,    -1,    -1,    -1,    99,    -1,
      61,    -1,    63,    64,    65,    66,    67,    68,    69,    70,
      71,    72,    73,    74,    75,    -1,    77,    78,    79,    80,
      81,    82,    83,    84,    -1,    -1,    47,     8,    -1,    -1,
      -1,    92,    93,    -1,    -1,    -1,    -1,    -1,    99,    -1,
      61,    -1,    63,    64,    65,    66,    67,    68,    69,    70,
      71,    72,    73,    74,    75,    -1,    77,    78,    79,    80,
      81,    82,    83,    84,    -1,    -1,    47,     8,    -1,    -1,
      -1,    92,    93,    -1,    -1,    -1,    -1,    -1,    99,    -1,
      61,    -1,    63,    64,    65,    66,    67,    68,    69,    70,
      71,    72,    73,    74,    75,    -1,    77,    78,    79,    80,
      81,    82,    83,    84,    -1,    -1,    47,     8,    -1,    -1,
      -1,    92,    93,    -1,    -1,    -1,    -1,    -1,    99,    -1,
      61,    -1,    63,    64,    65,    66,    67,    68,    69,    70,
      71,    72,    73,    74,    75,    -1,    77,    78,    79,    80,
      81,    82,    83,    84,    -1,    -1,    47,     8,    -1,    -1,
      -1,    92,    93,    -1,    -1,    -1,    -1,    -1,    99,    -1,
      61,    -1,    63,    64,    65,    66,    67,    68,    69,    70,
      71,    72,    73,    74,    75,    -1,    77,    78,    79,    80,
      81,    82,    83,    84,    -1,    -1,    47,     8,    -1,    -1,
      -1,    92,    93,    -1,    -1,    -1,    -1,    -1,    99,    -1,
      61,    -1,    63,    64,    65,    66,    67,    68,    69,    70,
      71,    72,    73,    74,    75,    -1,    77,    78,    79,    80,
      81,    82,    83,    84,    -1,     8,    47,    -1,    -1,    -1,
      -1,    92,    93,    -1,    -1,    -1,    -1,    -1,    99,    -1,
      61,    -1,    63,    64,    65,    66,    67,    68,    69,    70,
      71,    72,    73,    74,    75,    -1,    77,    78,    79,    80,
      81,    82,    83,    84,    47,     8,    -1,    -1,    -1,    -1,
      -1,    92,    93,    -1,    -1,    96,    -1,    -1,    61,    -1,
      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
      73,    74,    75,    -1,    77,    78,    79,    80,    81,    82,
      83,    84,    -1,     8,    47,    -1,    -1,    -1,    -1,    92,
      93,    -1,    -1,    96,    -1,    -1,    -1,    -1,    61,    -1,
      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
      73,    74,    75,    -1,    77,    78,    79,    80,    81,    82,
      83,    84,    47,     8,    -1,    -1,    -1,    -1,    -1,    92,
      93,    -1,    -1,    96,    -1,    -1,    61,    -1,    63,    64,
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
      75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
      -1,     8,    -1,    -1,    -1,    -1,    -1,    92,    93,    -1,
      -1,    96,    -1,    -1,    -1,    -1,    61,    -1,    63,    64,
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
      75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
      47,     8,    -1,    -1,    -1,    -1,    -1,    92,    93,    -1,
      -1,    96,    -1,    -1,    61,    62,    63,    64,    65,    66,
      67,    68,    69,    70,    71,    72,    73,    74,    75,    -1,
      77,    78,    79,    80,    81,    82,    83,    84,    -1,     8,
      47,    -1,    -1,    -1,    -1,    92,    93,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    61,    62,    63,    64,    65,    66,
      67,    68,    69,    70,    71,    72,    73,    74,    75,     8,
      77,    78,    79,    80,    81,    82,    83,    84,    47,    -1,
      -1,    -1,    -1,    -1,    -1,    92,    93,    -1,    -1,    -1,
      -1,    -1,    61,    -1,    63,    64,    65,    66,    67,    68,
      69,    70,    71,    72,    73,    74,    75,     8,    77,    78,
      79,    80,    81,    82,    83,    84,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    92,    93,    64,    65,    66,    67,    68,
      69,    70,    71,    72,    73,    74,    75,     8,    77,    78,
      79,    80,    81,    82,    83,    84,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    92,    93,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    65,    66,    67,    68,    69,    70,
      71,    72,    73,    74,    75,     8,    77,    78,    79,    80,
      81,    82,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    92,    93,    -1,    -1,    66,    67,    68,    69,    70,
      71,    72,    73,    74,    75,     8,    77,    78,    79,    80,
      81,    82,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    92,    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    67,    68,    69,    70,    71,    72,
      73,    74,    75,    -1,    77,    78,    79,    80,    81,    82,
      83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    92,
      93,    -1,    -1,    -1,    -1,    68,    69,    70,    71,    72,
      73,    74,    75,    -1,    77,    78,    79,    80,    81,    82,






      83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    92,
      93
};

  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
     symbol of state STATE-NUM.  */
static const yytype_uint8 yystos[] =
{
       0,     3,     4,     5,    11,    15,    16,    17,    18,    20,
................................................................................
      33,    36,    45,    80,    81,    86,    87,    88,    89,    90,
      91,    93,    94,    96,    97,   102,   103,   104,   105,   106,
     107,   108,   110,   112,   113,   116,   119,   120,   122,   126,
     127,   128,   136,   137,   138,   141,   142,   145,    62,    94,
       4,   109,   109,     4,    94,     4,    16,    96,    97,   136,
       4,   117,   118,    94,   128,   138,   141,   138,    97,   135,
     136,    94,   136,   136,   136,   138,   138,   136,   136,   136,
     100,   136,   140,   136,     3,     4,    28,    29,    32,    36,
     103,   136,   143,   144,     0,   104,   136,    94,     7,     9,
      10,    12,    94,     8,    47,    61,    63,    64,    65,    66,
      67,    68,    69,    70,    71,    72,    73,    74,    75,    77,
      78,    79,    80,    81,    82,    83,    84,    92,    93,    96,
      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
      59,    60,    76,    87,    88,    92,    93,    94,   105,   136,
      96,    96,    94,     4,    92,   129,   134,     4,     3,     4,
      28,    29,    32,    36,    96,    49,    47,    96,   136,    94,
      94,    94,    96,    98,   103,    23,    24,    96,   136,    47,
     100,    99,    62,    62,    62,    62,    62,    62,    98,    47,
      98,   129,    94,    94,    97,   104,   111,    94,   139,   140,
     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
     136,   136,   136,   136,     4,   136,   136,   136,   136,   136,
     136,   136,   136,   136,   136,   136,   136,   136,   136,     4,
     136,   139,    99,   129,    49,    62,    92,    99,    47,    62,
     136,   118,    99,   139,   139,   139,    98,    94,   135,    99,
     136,    94,   136,   136,   136,   136,   136,   136,   144,    99,
      18,    96,   123,   136,   138,   136,    98,     9,   136,    99,
      62,    94,   100,   100,    99,   111,    99,     3,    27,    28,
      29,    32,    36,    81,    91,   133,    16,    27,    34,    35,
      36,    37,    38,    39,    40,    41,    42,    43,    91,   130,
     132,    92,    62,   135,     4,    92,   136,    94,    99,    99,
      99,     4,   111,   139,    62,   135,     4,   117,   124,   136,
      96,     8,    19,   121,    99,    94,    99,   136,   139,    94,
       6,    62,   135,    32,    49,    65,   131,   132,    49,    62,
      92,   139,    99,    99,   131,   121,    96,    96,   136,   111,
     136,    97,    99,   139,   111,   131,   133,   130,   135,   133,
     132,    92,    99,   135,   135,   136,   125,   136,    99,    99,
      13,    14,    98,   114,   115,    99,   135,    49,    24,    99,
      99,   111,   136,    62,    98,   115,   133,   135,   111,   111,
      62,   103,   103
};

  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
static const yytype_uint8 yyr1[] =
{
       0,   101,   102,   102,   102,   102,   103,   103,   104,   104,
     104,   105,   105,   105,   105,   105,   105,   105,   105,   105,
................................................................................
     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
     136,   136,   136,   136,   136,   136,   136,   137,   137,   137,
     137,   138,   138,   138,   138,   138,   139,   139,   140,   140,
     141,   141,   141,   141,   141,   141,   141,   141,   141,   142,
     143,   143,   143,   144,   144,   144,   144,   144,   144,   145,
     145
};

  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
static const yytype_uint8 yyr2[] =
{
       0,     2,     0,     1,     2,     1,     1,     2,     1,     1,
       3,     2,     1,     1,     3,     3,     3,     2,     3,     3,
................................................................................
       2,     2,     2,     2,     2,     3,     3,     3,     3,     3,
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
       3,     3,     3,     3,     3,     1,     2,     2,     4,     2,
       5,     5,     7,     5,     4,     5,     1,     6,     7,     6,
       4,     1,     1,     1,     4,     3,     0,     1,     1,     3,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
       0,     1,     3,     3,     3,     3,     3,     3,     3,     3,
       2
};


#define yyerrok         (yyerrstatus = 0)
#define yyclearin       (yychar = YYEMPTY)
#define YYEMPTY         (-2)
#define YYEOF           0
................................................................................
    break;

  case 204:
    { (yyval.opcodes) = codes_join(code_push_string(pstate,&(yylsp[-2]), (yyvsp[-2].str)), (yyvsp[0].opcodes)); }
    break;

  case 205:
    { (yyval.opcodes) = codes_join(code_push_num((yyvsp[-2].num)), (yyvsp[0].opcodes));  }
    break;

  case 206:
    { (yyval.opcodes) = codes_join(code_push_bool(1), (yyvsp[0].opcodes));  }
    break;

  case 207:
    { (yyval.opcodes) = codes_join(code_push_bool(0), (yyvsp[0].opcodes));  }
    break;

  case 208:
    { (yyval.opcodes) = codes_join(code_push_null(), (yyvsp[0].opcodes));  }
    break;

  case 209:
    { (yyval.opcodes) = codes_join((yyvsp[-1].opcodes), code_array(pstate, &(yylsp[-1]), ((yyvsp[-1].opcodes))->expr_counter)); }
    break;

  case 210:
    { (yyval.opcodes) = code_array(pstate, &(yylsp[-1]), 0); }
    break;


      default: break;
    }
  /* User semantic actions sometimes alter yychar, and that requires

Changes to src/jsi.h.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* jsi.h : External API header file for Jsi. */
#ifndef __JSI_H__
#define __JSI_H__

#define JSI_VERSION_MAJOR   2
#define JSI_VERSION_MINOR   8
#define JSI_VERSION_RELEASE 23

#define JSI_VERSION (JSI_VERSION_MAJOR + ((Jsi_Number)JSI_VERSION_MINOR/100.0) + ((Jsi_Number)JSI_VERSION_RELEASE/10000.0))

#ifndef JSI_EXTERN
#define JSI_EXTERN extern
#endif







|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* jsi.h : External API header file for Jsi. */
#ifndef __JSI_H__
#define __JSI_H__

#define JSI_VERSION_MAJOR   2
#define JSI_VERSION_MINOR   8
#define JSI_VERSION_RELEASE 24

#define JSI_VERSION (JSI_VERSION_MAJOR + ((Jsi_Number)JSI_VERSION_MINOR/100.0) + ((Jsi_Number)JSI_VERSION_RELEASE/10000.0))

#ifndef JSI_EXTERN
#define JSI_EXTERN extern
#endif

Changes to src/parser.y.

773
774
775
776
777
778
779




780
781
782
783
784
785
786
787
788
789
        ($$)->expr_counter = cnt;
    }
;

item:
    IDENTIFIER ':' expr { $$ = codes_join(code_push_string(pstate,&@1, $1), $3); }
    | STRING ':' expr   { $$ = codes_join(code_push_string(pstate,&@1, $1), $3); }




;

array:
    '[' exprlist ']' { $$ = codes_join($2, code_array(pstate, &@2, ($2)->expr_counter)); }
    | '[' ']' { $$ = code_array(pstate, &@1, 0); }
;


%%








>
>
>
>










773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
        ($$)->expr_counter = cnt;
    }
;

item:
    IDENTIFIER ':' expr { $$ = codes_join(code_push_string(pstate,&@1, $1), $3); }
    | STRING ':' expr   { $$ = codes_join(code_push_string(pstate,&@1, $1), $3); }
    | FNUMBER ':' expr { $$ = codes_join(code_push_num($1), $3);  }
    | _TRUE ':' expr { $$ = codes_join(code_push_bool(1), $3);  }
    | _FALSE ':' expr { $$ = codes_join(code_push_bool(0), $3);  }
    | TYPENULL ':' expr { $$ = codes_join(code_push_null(), $3);  }
;

array:
    '[' exprlist ']' { $$ = codes_join($2, code_array(pstate, &@2, ($2)->expr_counter)); }
    | '[' ']' { $$ = code_array(pstate, &@1, 0); }
;


%%

Changes to tools/protos.jsi.

1
2
3
4
5
6
7
8
//JSI Command Prototypes: version 2.8.23
throw("NOT EXECUTABLE: USE FILE IN GEANY EDITOR FOR CMD LINE COMPLETION + GOTO TAG");

var Array = function(cmd,args) {};
Array.prototype.concat = function(...):array {};
Array.prototype.every = function(callback:function):any {};
Array.prototype.fill = function(value:any, start:number=0, end:number=-1):array {};
Array.prototype.filter = function(callback:function, this:object=void):array {};
|







1
2
3
4
5
6
7
8
//JSI Command Prototypes: version 2.8.24
throw("NOT EXECUTABLE: USE FILE IN GEANY EDITOR FOR CMD LINE COMPLETION + GOTO TAG");

var Array = function(cmd,args) {};
Array.prototype.concat = function(...):array {};
Array.prototype.every = function(callback:function):any {};
Array.prototype.fill = function(value:any, start:number=0, end:number=-1):array {};
Array.prototype.filter = function(callback:function, this:object=void):array {};