-
Notifications
You must be signed in to change notification settings - Fork 21
/
jssm.es5.cjs.js
881 lines (736 loc) · 213 KB
/
jssm.es5.cjs.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
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
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
/*
* Generated by PEG.js 0.10.0.
*
* http://pegjs.org/
*/"use strict";function peg$subclass(child,parent){function ctor(){this.constructor=child;}ctor.prototype=parent.prototype;child.prototype=new ctor();}function peg$SyntaxError(message,expected,found,location){this.message=message;this.expected=expected;this.found=found;this.location=location;this.name="SyntaxError";if(typeof Error.captureStackTrace==="function"){Error.captureStackTrace(this,peg$SyntaxError);}}peg$subclass(peg$SyntaxError,Error);peg$SyntaxError.buildMessage=function(expected,found){var DESCRIBE_EXPECTATION_FNS={literal:function literal(expectation){return"\""+literalEscape(expectation.text)+"\"";},"class":function _class(expectation){var escapedParts="",i;for(i=0;i<expectation.parts.length;i++){escapedParts+=expectation.parts[i]instanceof Array?classEscape(expectation.parts[i][0])+"-"+classEscape(expectation.parts[i][1]):classEscape(expectation.parts[i]);}return"["+(expectation.inverted?"^":"")+escapedParts+"]";},any:function any(expectation){return"any character";},end:function end(expectation){return"end of input";},other:function other(expectation){return expectation.description;}};function hex(ch){return ch.charCodeAt(0).toString(16).toUpperCase();}function literalEscape(s){return s.replace(/\\/g,'\\\\').replace(/"/g,'\\"').replace(/\0/g,'\\0').replace(/\t/g,'\\t').replace(/\n/g,'\\n').replace(/\r/g,'\\r').replace(/[\x00-\x0F]/g,function(ch){return'\\x0'+hex(ch);}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(ch){return'\\x'+hex(ch);});}function classEscape(s){return s.replace(/\\/g,'\\\\').replace(/\]/g,'\\]').replace(/\^/g,'\\^').replace(/-/g,'\\-').replace(/\0/g,'\\0').replace(/\t/g,'\\t').replace(/\n/g,'\\n').replace(/\r/g,'\\r').replace(/[\x00-\x0F]/g,function(ch){return'\\x0'+hex(ch);}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(ch){return'\\x'+hex(ch);});}function describeExpectation(expectation){return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);}function describeExpected(expected){var descriptions=new Array(expected.length),i,j;for(i=0;i<expected.length;i++){descriptions[i]=describeExpectation(expected[i]);}descriptions.sort();if(descriptions.length>0){for(i=1,j=1;i<descriptions.length;i++){if(descriptions[i-1]!==descriptions[i]){descriptions[j]=descriptions[i];j++;}}descriptions.length=j;}switch(descriptions.length){case 1:return descriptions[0];case 2:return descriptions[0]+" or "+descriptions[1];default:return descriptions.slice(0,-1).join(", ")+", or "+descriptions[descriptions.length-1];}}function describeFound(found){return found?"\""+literalEscape(found)+"\"":"end of input";}return"Expected "+describeExpected(expected)+" but "+describeFound(found)+" found.";};function peg$parse(input,options){options=options!==void 0?options:{};var peg$FAILED={},peg$startRuleFunctions={Document:peg$parseDocument},peg$startRuleFunction=peg$parseDocument,peg$c0=function peg$c0(e){return e;},peg$c1="square",peg$c2=peg$literalExpectation("square",false),peg$c3="rectangle",peg$c4=peg$literalExpectation("rectangle",false),peg$c5="circle",peg$c6=peg$literalExpectation("circle",false),peg$c7=peg$otherExpectation("forward light arrow ->"),peg$c8="->",peg$c9=peg$literalExpectation("->",false),peg$c10=peg$otherExpectation("two way light arrow <->"),peg$c11="<->",peg$c12=peg$literalExpectation("<->",false),peg$c13=peg$otherExpectation("back light arrow <-"),peg$c14="<-",peg$c15=peg$literalExpectation("<-",false),peg$c16=peg$otherExpectation("forward fat arrow =>"),peg$c17="=>",peg$c18=peg$literalExpectation("=>",false),peg$c19=peg$otherExpectation("two way fat arrow <=>"),peg$c20="<=>",peg$c21=peg$literalExpectation("<=>",false),peg$c22=peg$otherExpectation("back fat arrow <="),peg$c23="<=",peg$c24=peg$literalExpectation("<=",false),peg$c25=peg$otherExpectation("forward tilde arrow ~>"),peg$c26="~>",peg$c27=peg$literalExpectation("~>",false),peg$c28=peg$otherExpectation("two way tilde arrow <~>"),peg$c29="<~>",peg$c30=peg$literalExpectation("<~>",false),peg$c31=peg$otherExpectation("back tilde arrow <~"),peg$c32="<~",peg$c33=peg$literalExpectation("<~",false),peg$c34=peg$otherExpectation("light fat arrow <-=>"),peg$c35="<-=>",peg$c36=peg$literalExpectation("<-=>",false),peg$c37=peg$otherExpectation("light tilde arrow <-~>"),peg$c38="<-~>",peg$c39=peg$literalExpectation("<-~>",false),peg$c40=peg$otherExpectation("fat light arrow <=->"),peg$c41="<=->",peg$c42=peg$literalExpectation("<=->",false),peg$c43=peg$otherExpectation("fat tilde arrow <=~>"),peg$c44="<=~>",peg$c45=peg$literalExpectation("<=~>",false),peg$c46=peg$otherExpectation("tilde light arrow <~->"),peg$c47="<~->",peg$c48=peg$literalExpectation("<~->",false),peg$c49=peg$otherExpectation("tilde fat arrow <~=>"),peg$c50="<~=>",peg$c51=peg$literalExpectation("<~=>",false),peg$c52=peg$otherExpectation("light arrow"),peg$c53=peg$otherExpectation("fat arrow"),peg$c54=peg$otherExpectation("tilde arrow"),peg$c55=peg$otherExpectation("mixed arrow"),peg$c56=peg$otherExpectation("arrow"),peg$c57=/^[0-9a-fA-F]/,peg$c58=peg$classExpectation([["0","9"],["a","f"],["A","F"]],false,false),peg$c59="\"",peg$c60=peg$literalExpectation("\"",false),peg$c61="\\",peg$c62=peg$literalExpectation("\\",false),peg$c63="/",peg$c64=peg$literalExpectation("/",false),peg$c65="b",peg$c66=peg$literalExpectation("b",false),peg$c67=function peg$c67(){return"\b";},peg$c68="f",peg$c69=peg$literalExpectation("f",false),peg$c70=function peg$c70(){return"\f";},peg$c71="n",peg$c72=peg$literalExpectation("n",false),peg$c73=function peg$c73(){return"\n";},peg$c74="r",peg$c75=peg$literalExpectation("r",false),peg$c76=function peg$c76(){return"\r";},peg$c77="t",peg$c78=peg$literalExpectation("t",false),peg$c79=function peg$c79(){return"\t";},peg$c80="v",peg$c81=peg$literalExpectation("v",false),peg$c82=function peg$c82(){return"\v";},peg$c83="u",peg$c84=peg$literalExpectation("u",false),peg$c85=function peg$c85(digits){return String.fromCharCode(parseInt(digits,16));},peg$c86=function peg$c86(Sequence){return Sequence;},peg$c87=/^[ -!#-[\]-\u10FFFF]/,peg$c88=peg$classExpectation([[" ","!"],["#","["],["]","\u10FF"],"F","F"],false,false),peg$c89="'",peg$c90=peg$literalExpectation("'",false),peg$c91=/^[ -&(-[\]-\u10FFFF]/,peg$c92=peg$classExpectation([[" ","&"],["(","["],["]","\u10FF"],"F","F"],false,false),peg$c93=peg$otherExpectation("action label"),peg$c94=function peg$c94(chars){return chars.join("");},peg$c95=/^[\n\r\u2028\u2029]/,peg$c96=peg$classExpectation(["\n","\r","\u2028","\u2029"],false,false),peg$c97=/^[ \t\n\r\x0B]/,peg$c98=peg$classExpectation([" ","\t","\n","\r","\x0B"],false,false),peg$c99="*/",peg$c100=peg$literalExpectation("*/",false),peg$c101=peg$anyExpectation(),peg$c102="/*",peg$c103=peg$literalExpectation("/*",false),peg$c104="//",peg$c105=peg$literalExpectation("//",false),peg$c106=/^[ \t\r\n\x0B]/,peg$c107=peg$classExpectation([" ","\t","\r","\n","\x0B"],false,false),peg$c108=peg$otherExpectation("string"),peg$c109=peg$otherExpectation("atom"),peg$c110=/^[0-9a-zA-Z.+_&()$#@!?,]/,peg$c111=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","_","&","(",")","$","#","@","!","?",","],false,false),peg$c112=function peg$c112(text){return text.join('');},peg$c113=peg$otherExpectation("label"),peg$c114="0",peg$c115=peg$literalExpectation("0",false),peg$c116=/^[0-9]/,peg$c117=peg$classExpectation([["0","9"]],false,false),peg$c118=/^[1-9]/,peg$c119=peg$classExpectation([["1","9"]],false,false),peg$c120=peg$otherExpectation("nonneg number"),peg$c121=".",peg$c122=peg$literalExpectation(".",false),peg$c123=function peg$c123(){return parseFloat(text());},peg$c124=function peg$c124(major,minor,patch){return{major:parseInt(major,10),minor:parseInt(minor,10),patch:parseInt(patch,10),full:text()};},peg$c125="^",peg$c126=peg$literalExpectation("^",false),peg$c127="~",peg$c128=peg$literalExpectation("~",false),peg$c129=">=",peg$c130=peg$literalExpectation(">=",false),peg$c131="<",peg$c132=peg$literalExpectation("<",false),peg$c133=">",peg$c134=peg$literalExpectation(">",false),peg$c135="http://",peg$c136=peg$literalExpectation("http://",false),peg$c137="https://",peg$c138=peg$literalExpectation("https://",false),peg$c139=/^[a-zA-Z0-9!*'():;@&=+$,\/?#[\]_.~\-]/,peg$c140=peg$classExpectation([["a","z"],["A","Z"],["0","9"],"!","*","'","(",")",":",";","@","&","=","+","$",",","/","?","#","[","]","_",".","~","-"],false,false),peg$c141=function peg$c141(protocol){return text();},peg$c142="aliceblue",peg$c143=peg$literalExpectation("aliceblue",false),peg$c144=function peg$c144(){return'#f0f8ffff';},peg$c145="AliceBlue",peg$c146=peg$literalExpectation("AliceBlue",false),peg$c147="antiquewhite",peg$c148=peg$literalExpectation("antiquewhite",false),peg$c149=function peg$c149(){return'#faebd7ff';},peg$c150="AntiqueWhite",peg$c151=peg$literalExpectation("AntiqueWhite",false),peg$c152="aqua",peg$c153=peg$literalExpectation("aqua",false),peg$c154=function peg$c154(){return'#00ffffff';},peg$c155="Aqua",peg$c156=peg$literalExpectation("Aqua",false),peg$c157="aquamarine",peg$c158=peg$literalExpectation("aquamarine",false),peg$c159=function peg$c159(){return'#7fffd4ff';},peg$c160="Aquamarine",peg$c161=peg$literalExpectation("Aquamarine",false),peg$c162="azure",peg$c163=peg$literalExpectation("azure",false),peg$c164=function peg$c164(){return'#f0ffffff';},peg$c165="Azure",peg$c166=peg$literalExpectation("Azure",false),peg$c167="beige",peg$c168=peg$literalExpectation("beige",false),peg$c169=function peg$c169(){return'#f5f5dcff';},peg$c170="Beige",peg$c171=peg$literalExpectation("Beige",false),peg$c172="bisque",peg$c173=peg$literalExpectation("bisque",false),peg$c174=function peg$c174(){return'#ffe4c4ff';},peg$c175="Bisque",peg$c176=peg$literalExpectation("Bisque",false),peg$c177="black",peg$c178=peg$literalExpectation("black",false),peg$c179=function peg$c179(){return'#000000ff';},peg$c180="Black",peg$c181=peg$literalExpectation("Black",false),peg$c182="blanchedalmond",peg$c183=peg$literalExpectation("blanchedalmond",false),peg$c184=function peg$c184(){return'#ffebcdff';},peg$c185="BlanchedAlmond",peg$c186=peg$literalExpectation("BlanchedAlmond",false),peg$c187="blue",peg$c188=peg$literalExpectation("blue",false),peg$c189=function peg$c189(){return'#0000ffff';},peg$c190="Blue",peg$c191=peg$literalExpectation("Blue",false),peg$c192="blueviolet",peg$c193=peg$literalExpectation("blueviolet",false),peg$c194=function peg$c194(){return'#8a2be2ff';},peg$c195="BlueViolet",peg$c196=peg$literalExpectation("BlueViolet",false),peg$c197="brown",peg$c198=peg$literalExpectation("brown",false),peg$c199=function peg$c199(){return'#a52a2aff';},peg$c200="Brown",peg$c201=peg$literalExpectation("Brown",false),peg$c202="burlywood",peg$c203=peg$literalExpectation("burlywood",false),peg$c204=function peg$c204(){return'#deb887ff';},peg$c205="BurlyWood",peg$c206=peg$literalExpectation("BurlyWood",false),peg$c207="cadetblue",peg$c208=peg$literalExpectation("cadetblue",false),peg$c209=function peg$c209(){return'#5f9ea0ff';},peg$c210="CadetBlue",peg$c211=peg$literalExpectation("CadetBlue",false),peg$c212="chartreuse",peg$c213=peg$literalExpectation("chartreuse",false),peg$c214=function peg$c214(){return'#7fff00ff';},peg$c215="Chartreuse",peg$c216=peg$literalExpectation("Chartreuse",false),peg$c217="chocolate",peg$c218=peg$literalExpectation("chocolate",false),peg$c219=function peg$c219(){return'#d2691eff';},peg$c220="Chocolate",peg$c221=peg$literalExpectation("Chocolate",false),peg$c222="coral",peg$c223=peg$literalExpectation("coral",false),peg$c224=function peg$c224(){return'#ff7f50ff';},peg$c225="Coral",peg$c226=peg$literalExpectation("Coral",false),peg$c227="cornflowerblue",peg$c228=peg$literalExpectation("cornflowerblue",false),peg$c229=function peg$c229(){return'#6495edff';},peg$c230="CornflowerBlue",peg$c231=peg$literalExpectation("CornflowerBlue",false),peg$c232="cornsilk",peg$c233=peg$literalExpectation("cornsilk",false),peg$c234=function peg$c234(){return'#fff8dcff';},peg$c235="Cornsilk",peg$c236=peg$literalExpectation("Cornsilk",false),peg$c237="crimson",peg$c238=peg$literalExpectation("crimson",false),peg$c239=function peg$c239(){return'#dc143cff';},peg$c240="Crimson",peg$c241=peg$literalExpectation("Crimson",false),peg$c242="cyan",peg$c243=peg$literalExpectation("cyan",false),peg$c244="Cyan",peg$c245=peg$literalExpectation("Cyan",false),peg$c246="darkblue",peg$c247=peg$literalExpectation("darkblue",false),peg$c248=function peg$c248(){return'#00008bff';},peg$c249="DarkBlue",peg$c250=peg$literalExpectation("DarkBlue",false),peg$c251="darkcyan",peg$c252=peg$literalExpectation("darkcyan",false),peg$c253=function peg$c253(){return'#008b8bff';},peg$c254="DarkCyan",peg$c255=peg$literalExpectation("DarkCyan",false),peg$c256="darkgoldenrod",peg$c257=peg$literalExpectation("darkgoldenrod",false),peg$c258=function peg$c258(){return'#b8860bff';},peg$c259="DarkGoldenRod",peg$c260=peg$literalExpectation("DarkGoldenRod",false),peg$c261="darkgray",peg$c262=peg$literalExpectation("darkgray",false),peg$c263=function peg$c263(){return'#a9a9a9ff';},peg$c264="DarkGray",peg$c265=peg$literalExpectation("DarkGray",false),peg$c266="darkgrey",peg$c267=peg$literalExpectation("darkgrey",false),peg$c268="DarkGrey",peg$c269=peg$literalExpectation("DarkGrey",false),peg$c270="darkgreen",peg$c271=peg$literalExpectation("darkgreen",false),peg$c272=function peg$c272(){return'#006400ff';},peg$c273="DarkGreen",peg$c274=peg$literalExpectation("DarkGreen",false),peg$c275="darkkhaki",peg$c276=peg$literalExpectation("darkkhaki",false),peg$c277=function peg$c277(){return'#bdb76bff';},peg$c278="DarkKhaki",peg$c279=peg$literalExpectation("DarkKhaki",false),peg$c280="darkmagenta",peg$c281=peg$literalExpectation("darkmagenta",false),peg$c282=function peg$c282(){return'#8b008bff';},peg$c283="DarkMagenta",peg$c284=peg$literalExpectation("DarkMagenta",false),peg$c285="darkolivegreen",peg$c286=peg$literalExpectation("darkolivegreen",false),peg$c287=function peg$c287(){return'#556b2fff';},peg$c288="DarkOliveGreen",peg$c289=peg$literalExpectation("DarkOliveGreen",false),peg$c290="darkorange",peg$c291=peg$literalExpectation("darkorange",false),peg$c292=function peg$c292(){return'#ff8c00ff';},peg$c293="Darkorange",peg$c294=peg$literalExpectation("Darkorange",false),peg$c295="darkorchid",peg$c296=peg$literalExpectation("darkorchid",false),peg$c297=function peg$c297(){return'#9932ccff';},peg$c298="DarkOrchid",peg$c299=peg$literalExpectation("DarkOrchid",false),peg$c300="darkred",peg$c301=peg$literalExpectation("darkred",false),peg$c302=function peg$c302(){return'#8b0000ff';},peg$c303="DarkRed",peg$c304=peg$literalExpectation("DarkRed",false),peg$c305="darksalmon",peg$c306=peg$literalExpectation("darksalmon",false),peg$c307=function peg$c307(){return'#e9967aff';},peg$c308="DarkSalmon",peg$c309=peg$literalExpectation("DarkSalmon",false),peg$c310="darkseagreen",peg$c311=peg$literalExpectation("darkseagreen",false),peg$c312=function peg$c312(){return'#8fbc8fff';},peg$c313="DarkSeaGreen",peg$c314=peg$literalExpectation("DarkSeaGreen",false),peg$c315="darkslateblue",peg$c316=peg$literalExpectation("darkslateblue",false),peg$c317=function peg$c317(){return'#483d8bff';},peg$c318="DarkSlateBlue",peg$c319=peg$literalExpectation("DarkSlateBlue",false),peg$c320="darkslategray",peg$c321=peg$literalExpectation("darkslategray",false),peg$c322=function peg$c322(){return'#2f4f4fff';},peg$c323="DarkSlateGray",peg$c324=peg$literalExpectation("DarkSlateGray",false),peg$c325="darkslategrey",peg$c326=peg$literalExpectation("darkslategrey",false),peg$c327="DarkSlateGrey",peg$c328=peg$literalExpectation("DarkSlateGrey",false),peg$c329="darkturquoise",peg$c330=peg$literalExpectation("darkturquoise",false),peg$c331=function peg$c331(){return'#00ced1ff';},peg$c332="DarkTurquoise",peg$c333=peg$literalExpectation("DarkTurquoise",false),peg$c334="darkviolet",peg$c335=peg$literalExpectation("darkviolet",false),peg$c336=function peg$c336(){return'#9400d3ff';},peg$c337="DarkViolet",peg$c338=peg$literalExpectation("DarkViolet",false),peg$c339="deeppink",peg$c340=peg$literalExpectation("deeppink",false),peg$c341=function peg$c341(){return'#ff1493ff';},peg$c342="DeepPink",peg$c343=peg$literalExpectation("DeepPink",false),peg$c344="deepskyblue",peg$c345=peg$literalExpectation("deepskyblue",false),peg$c346=function peg$c346(){return'#00bfffff';},peg$c347="DeepSkyBlue",peg$c348=peg$literalExpectation("DeepSkyBlue",false),peg$c349="dimgray",peg$c350=peg$literalExpectation("dimgray",false),peg$c351=function peg$c351(){return'#696969ff';},peg$c352="DimGray",peg$c353=peg$literalExpectation("DimGray",false),peg$c354="dimgrey",peg$c355=peg$literalExpectation("dimgrey",false),peg$c356="DimGrey",peg$c357=peg$literalExpectation("DimGrey",false),peg$c358="dodgerblue",peg$c359=peg$literalExpectation("dodgerblue",false),peg$c360=function peg$c360(){return'#1e90ffff';},peg$c361="DodgerBlue",peg$c362=peg$literalExpectation("DodgerBlue",false),peg$c363="firebrick",peg$c364=peg$literalExpectation("firebrick",false),peg$c365=function peg$c365(){return'#b22222ff';},peg$c366="FireBrick",peg$c367=peg$literalExpectation("FireBrick",false),peg$c368="floralwhite",peg$c369=peg$literalExpectation("floralwhite",false),peg$c370=function peg$c370(){return'#fffaf0ff';},peg$c371="FloralWhite",peg$c372=peg$literalExpectation("FloralWhite",false),peg$c373="forestgreen",peg$c374=peg$literalExpectation("forestgreen",false),peg$c375=function peg$c375(){return'#228b22ff';},peg$c376="ForestGreen",peg$c377=peg$literalExpectation("ForestGreen",false),peg$c378="fuchsia",peg$c379=peg$literalExpectation("fuchsia",false),peg$c380=function peg$c380(){return'#ff00ffff';},peg$c381="Fuchsia",peg$c382=peg$literalExpectation("Fuchsia",false),peg$c383="gainsboro",peg$c384=peg$literalExpectation("gainsboro",false),peg$c385=function peg$c385(){return'#dcdcdcff';},peg$c386="Gainsboro",peg$c387=peg$literalExpectation("Gainsboro",false),peg$c388="ghostwhite",peg$c389=peg$literalExpectation("ghostwhite",false),peg$c390=function peg$c390(){return'#f8f8ffff';},peg$c391="GhostWhite",peg$c392=peg$literalExpectation("GhostWhite",false),peg$c393="gold",peg$c394=peg$literalExpectation("gold",false),peg$c395=function peg$c395(){return'#ffd700ff';},peg$c396="Gold",peg$c397=peg$literalExpectation("Gold",false),peg$c398="goldenrod",peg$c399=peg$literalExpectation("goldenrod",false),peg$c400=function peg$c400(){return'#daa520ff';},peg$c401="GoldenRod",peg$c402=peg$literalExpectation("GoldenRod",false),peg$c403="gray",peg$c404=peg$literalExpectation("gray",false),peg$c405=function peg$c405(){return'#808080ff';},peg$c406="Gray",peg$c407=peg$literalExpectation("Gray",false),peg$c408="grey",peg$c409=peg$literalExpectation("grey",false),peg$c410="Grey",peg$c411=peg$literalExpectation("Grey",false),peg$c412="green",peg$c413=peg$literalExpectation("green",false),peg$c414=function peg$c414(){return'#008000ff';},peg$c415="Green",peg$c416=peg$literalExpectation("Green",false),peg$c417="greenyellow",peg$c418=peg$literalExpectation("greenyellow",false),peg$c419=function peg$c419(){return'#adff2fff';},peg$c420="GreenYellow",peg$c421=peg$literalExpectation("GreenYellow",false),peg$c422="honeydew",peg$c423=peg$literalExpectation("honeydew",false),peg$c424=function peg$c424(){return'#f0fff0ff';},peg$c425="HoneyDew",peg$c426=peg$literalExpectation("HoneyDew",false),peg$c427="hotpink",peg$c428=peg$literalExpectation("hotpink",false),peg$c429=function peg$c429(){return'#ff69b4ff';},peg$c430="HotPink",peg$c431=peg$literalExpectation("HotPink",false),peg$c432="indianred",peg$c433=peg$literalExpectation("indianred",false),peg$c434=function peg$c434(){return'#cd5c5cff';},peg$c435="IndianRed",peg$c436=peg$literalExpectation("IndianRed",false),peg$c437="indigo",peg$c438=peg$literalExpectation("indigo",false),peg$c439=function peg$c439(){return'#4b0082ff';},peg$c440="Indigo",peg$c441=peg$literalExpectation("Indigo",false),peg$c442="ivory",peg$c443=peg$literalExpectation("ivory",false),peg$c444=function peg$c444(){return'#fffff0ff';},peg$c445="Ivory",peg$c446=peg$literalExpectation("Ivory",false),peg$c447="khaki",peg$c448=peg$literalExpectation("khaki",false),peg$c449=function peg$c449(){return'#f0e68cff';},peg$c450="Khaki",peg$c451=peg$literalExpectation("Khaki",false),peg$c452="lavender",peg$c453=peg$literalExpectation("lavender",false),peg$c454=function peg$c454(){return'#e6e6faff';},peg$c455="Lavender",peg$c456=peg$literalExpectation("Lavender",false),peg$c457="lavenderblush",peg$c458=peg$literalExpectation("lavenderblush",false),peg$c459=function peg$c459(){return'#fff0f5ff';},peg$c460="LavenderBlush",peg$c461=peg$literalExpectation("LavenderBlush",false),peg$c462="lawngreen",peg$c463=peg$literalExpectation("lawngreen",false),peg$c464=function peg$c464(){return'#7cfc00ff';},peg$c465="LawnGreen",peg$c466=peg$literalExpectation("LawnGreen",false),peg$c467="lemonchiffon",peg$c468=peg$literalExpectation("lemonchiffon",false),peg$c469=function peg$c469(){return'#fffacdff';},peg$c470="LemonChiffon",peg$c471=peg$literalExpectation("LemonChiffon",false),peg$c472="lightblue",peg$c473=peg$literalExpectation("lightblue",false),peg$c474=function peg$c474(){return'#add8e6ff';},peg$c475="LightBlue",peg$c476=peg$literalExpectation("LightBlue",false),peg$c477="lightcoral",peg$c478=peg$literalExpectation("lightcoral",false),peg$c479=function peg$c479(){return'#f08080ff';},peg$c480="LightCoral",peg$c481=peg$literalExpectation("LightCoral",false),peg$c482="lightcyan",peg$c483=peg$literalExpectation("lightcyan",false),peg$c484=function peg$c484(){return'#e0ffffff';},peg$c485="LightCyan",peg$c486=peg$literalExpectation("LightCyan",false),peg$c487="lightgoldenrodyellow",peg$c488=peg$literalExpectation("lightgoldenrodyellow",false),peg$c489=function peg$c489(){return'#fafad2ff';},peg$c490="LightGoldenRodYellow",peg$c491=peg$literalExpectation("LightGoldenRodYellow",false),peg$c492="lightgray",peg$c493=peg$literalExpectation("lightgray",false),peg$c494=function peg$c494(){return'#d3d3d3ff';},peg$c495="LightGray",peg$c496=peg$literalExpectation("LightGray",false),peg$c497="lightgrey",peg$c498=peg$literalExpectation("lightgrey",false),peg$c499="LightGrey",peg$c500=peg$literalExpectation("LightGrey",false),peg$c501="lightgreen",peg$c502=peg$literalExpectation("lightgreen",false),peg$c503=function peg$c503(){return'#90ee90ff';},peg$c504="LightGreen",peg$c505=peg$literalExpectation("LightGreen",false),peg$c506="lightpink",peg$c507=peg$literalExpectation("lightpink",false),peg$c508=function peg$c508(){return'#ffb6c1ff';},peg$c509="LightPink",peg$c510=peg$literalExpectation("LightPink",false),peg$c511="lightsalmon",peg$c512=peg$literalExpectation("lightsalmon",false),peg$c513=function peg$c513(){return'#ffa07aff';},peg$c514="LightSalmon",peg$c515=peg$literalExpectation("LightSalmon",false),peg$c516="lightseagreen",peg$c517=peg$literalExpectation("lightseagreen",false),peg$c518=function peg$c518(){return'#20b2aaff';},peg$c519="LightSeaGreen",peg$c520=peg$literalExpectation("LightSeaGreen",false),peg$c521="lightskyblue",peg$c522=peg$literalExpectation("lightskyblue",false),peg$c523=function peg$c523(){return'#87cefaff';},peg$c524="LightSkyBlue",peg$c525=peg$literalExpectation("LightSkyBlue",false),peg$c526="lightslategray",peg$c527=peg$literalExpectation("lightslategray",false),peg$c528=function peg$c528(){return'#778899ff';},peg$c529="LightSlateGray",peg$c530=peg$literalExpectation("LightSlateGray",false),peg$c531="lightslategrey",peg$c532=peg$literalExpectation("lightslategrey",false),peg$c533="LightSlateGrey",peg$c534=peg$literalExpectation("LightSlateGrey",false),peg$c535="lightsteelblue",peg$c536=peg$literalExpectation("lightsteelblue",false),peg$c537=function peg$c537(){return'#b0c4deff';},peg$c538="LightSteelBlue",peg$c539=peg$literalExpectation("LightSteelBlue",false),peg$c540="lightyellow",peg$c541=peg$literalExpectation("lightyellow",false),peg$c542=function peg$c542(){return'#ffffe0ff';},peg$c543="LightYellow",peg$c544=peg$literalExpectation("LightYellow",false),peg$c545="lime",peg$c546=peg$literalExpectation("lime",false),peg$c547=function peg$c547(){return'#00ff00ff';},peg$c548="Lime",peg$c549=peg$literalExpectation("Lime",false),peg$c550="limegreen",peg$c551=peg$literalExpectation("limegreen",false),peg$c552=function peg$c552(){return'#32cd32ff';},peg$c553="LimeGreen",peg$c554=peg$literalExpectation("LimeGreen",false),peg$c555="linen",peg$c556=peg$literalExpectation("linen",false),peg$c557=function peg$c557(){return'#faf0e6ff';},peg$c558="Linen",peg$c559=peg$literalExpectation("Linen",false),peg$c560="magenta",peg$c561=peg$literalExpectation("magenta",false),peg$c562="Magenta",peg$c563=peg$literalExpectation("Magenta",false),peg$c564="maroon",peg$c565=peg$literalExpectation("maroon",false),peg$c566=function peg$c566(){return'#800000ff';},peg$c567="Maroon",peg$c568=peg$literalExpectation("Maroon",false),peg$c569="mediumaquamarine",peg$c570=peg$literalExpectation("mediumaquamarine",false),peg$c571=function peg$c571(){return'#66cdaaff';},peg$c572="MediumAquaMarine",peg$c573=peg$literalExpectation("MediumAquaMarine",false),peg$c574="mediumblue",peg$c575=peg$literalExpectation("mediumblue",false),peg$c576=function peg$c576(){return'#0000cdff';},peg$c577="MediumBlue",peg$c578=peg$literalExpectation("MediumBlue",false),peg$c579="mediumorchid",peg$c580=peg$literalExpectation("mediumorchid",false),peg$c581=function peg$c581(){return'#ba55d3ff';},peg$c582="MediumOrchid",peg$c583=peg$literalExpectation("MediumOrchid",false),peg$c584="mediumpurple",peg$c585=peg$literalExpectation("mediumpurple",false),peg$c586=function peg$c586(){return'#9370d8ff';},peg$c587="MediumPurple",peg$c588=peg$literalExpectation("MediumPurple",false),peg$c589="mediumseagreen",peg$c590=peg$literalExpectation("mediumseagreen",false),peg$c591=function peg$c591(){return'#3cb371ff';},peg$c592="MediumSeaGreen",peg$c593=peg$literalExpectation("MediumSeaGreen",false),peg$c594="mediumslateblue",peg$c595=peg$literalExpectation("mediumslateblue",false),peg$c596=function peg$c596(){return'#7b68eeff';},peg$c597="MediumSlateBlue",peg$c598=peg$literalExpectation("MediumSlateBlue",false),peg$c599="mediumspringgreen",peg$c600=peg$literalExpectation("mediumspringgreen",false),peg$c601=function peg$c601(){return'#00fa9aff';},peg$c602="MediumSpringGreen",peg$c603=peg$literalExpectation("MediumSpringGreen",false),peg$c604="mediumturquoise",peg$c605=peg$literalExpectation("mediumturquoise",false),peg$c606=function peg$c606(){return'#48d1ccff';},peg$c607="MediumTurquoise",peg$c608=peg$literalExpectation("MediumTurquoise",false),peg$c609="mediumvioletred",peg$c610=peg$literalExpectation("mediumvioletred",false),peg$c611=function peg$c611(){return'#c71585ff';},peg$c612="MediumVioletRed",peg$c613=peg$literalExpectation("MediumVioletRed",false),peg$c614="midnightblue",peg$c615=peg$literalExpectation("midnightblue",false),peg$c616=function peg$c616(){return'#191970ff';},peg$c617="MidnightBlue",peg$c618=peg$literalExpectation("MidnightBlue",false),peg$c619="mintcream",peg$c620=peg$literalExpectation("mintcream",false),peg$c621=function peg$c621(){return'#f5fffaff';},peg$c622="MintCream",peg$c623=peg$literalExpectation("MintCream",false),peg$c624="mistyrose",peg$c625=peg$literalExpectation("mistyrose",false),peg$c626=function peg$c626(){return'#ffe4e1ff';},peg$c627="MistyRose",peg$c628=peg$literalExpectation("MistyRose",false),peg$c629="moccasin",peg$c630=peg$literalExpectation("moccasin",false),peg$c631=function peg$c631(){return'#ffe4b5ff';},peg$c632="Moccasin",peg$c633=peg$literalExpectation("Moccasin",false),peg$c634="navajowhite",peg$c635=peg$literalExpectation("navajowhite",false),peg$c636=function peg$c636(){return'#ffdeadff';},peg$c637="NavajoWhite",peg$c638=peg$literalExpectation("NavajoWhite",false),peg$c639="navy",peg$c640=peg$literalExpectation("navy",false),peg$c641=function peg$c641(){return'#000080ff';},peg$c642="Navy",peg$c643=peg$literalExpectation("Navy",false),peg$c644="oldlace",peg$c645=peg$literalExpectation("oldlace",false),peg$c646=function peg$c646(){return'#fdf5e6ff';},peg$c647="OldLace",peg$c648=peg$literalExpectation("OldLace",false),peg$c649="olive",peg$c650=peg$literalExpectation("olive",false),peg$c651=function peg$c651(){return'#808000ff';},peg$c652="Olive",peg$c653=peg$literalExpectation("Olive",false),peg$c654="olivedrab",peg$c655=peg$literalExpectation("olivedrab",false),peg$c656=function peg$c656(){return'#6b8e23ff';},peg$c657="OliveDrab",peg$c658=peg$literalExpectation("OliveDrab",false),peg$c659="orange",peg$c660=peg$literalExpectation("orange",false),peg$c661=function peg$c661(){return'#ffa500ff';},peg$c662="Orange",peg$c663=peg$literalExpectation("Orange",false),peg$c664="orangered",peg$c665=peg$literalExpectation("orangered",false),peg$c666=function peg$c666(){return'#ff4500ff';},peg$c667="OrangeRed",peg$c668=peg$literalExpectation("OrangeRed",false),peg$c669="orchid",peg$c670=peg$literalExpectation("orchid",false),peg$c671=function peg$c671(){return'#da70d6ff';},peg$c672="Orchid",peg$c673=peg$literalExpectation("Orchid",false),peg$c674="palegoldenrod",peg$c675=peg$literalExpectation("palegoldenrod",false),peg$c676=function peg$c676(){return'#eee8aaff';},peg$c677="PaleGoldenRod",peg$c678=peg$literalExpectation("PaleGoldenRod",false),peg$c679="palegreen",peg$c680=peg$literalExpectation("palegreen",false),peg$c681=function peg$c681(){return'#98fb98ff';},peg$c682="PaleGreen",peg$c683=peg$literalExpectation("PaleGreen",false),peg$c684="paleturquoise",peg$c685=peg$literalExpectation("paleturquoise",false),peg$c686=function peg$c686(){return'#afeeeeff';},peg$c687="PaleTurquoise",peg$c688=peg$literalExpectation("PaleTurquoise",false),peg$c689="palevioletred",peg$c690=peg$literalExpectation("palevioletred",false),peg$c691=function peg$c691(){return'#d87093ff';},peg$c692="PaleVioletRed",peg$c693=peg$literalExpectation("PaleVioletRed",false),peg$c694="papayawhip",peg$c695=peg$literalExpectation("papayawhip",false),peg$c696=function peg$c696(){return'#ffefd5ff';},peg$c697="PapayaWhip",peg$c698=peg$literalExpectation("PapayaWhip",false),peg$c699="peachpuff",peg$c700=peg$literalExpectation("peachpuff",false),peg$c701=function peg$c701(){return'#ffdab9ff';},peg$c702="PeachPuff",peg$c703=peg$literalExpectation("PeachPuff",false),peg$c704="peru",peg$c705=peg$literalExpectation("peru",false),peg$c706=function peg$c706(){return'#cd853fff';},peg$c707="Peru",peg$c708=peg$literalExpectation("Peru",false),peg$c709="pink",peg$c710=peg$literalExpectation("pink",false),peg$c711=function peg$c711(){return'#ffc0cbff';},peg$c712="Pink",peg$c713=peg$literalExpectation("Pink",false),peg$c714="plum",peg$c715=peg$literalExpectation("plum",false),peg$c716=function peg$c716(){return'#dda0ddff';},peg$c717="Plum",peg$c718=peg$literalExpectation("Plum",false),peg$c719="powderblue",peg$c720=peg$literalExpectation("powderblue",false),peg$c721=function peg$c721(){return'#b0e0e6ff';},peg$c722="PowderBlue",peg$c723=peg$literalExpectation("PowderBlue",false),peg$c724="purple",peg$c725=peg$literalExpectation("purple",false),peg$c726=function peg$c726(){return'#800080ff';},peg$c727="Purple",peg$c728=peg$literalExpectation("Purple",false),peg$c729="red",peg$c730=peg$literalExpectation("red",false),peg$c731=function peg$c731(){return'#ff0000ff';},peg$c732="Red",peg$c733=peg$literalExpectation("Red",false),peg$c734="rosybrown",peg$c735=peg$literalExpectation("rosybrown",false),peg$c736=function peg$c736(){return'#bc8f8fff';},peg$c737="RosyBrown",peg$c738=peg$literalExpectation("RosyBrown",false),peg$c739="royalblue",peg$c740=peg$literalExpectation("royalblue",false),peg$c741=function peg$c741(){return'#4169e1ff';},peg$c742="RoyalBlue",peg$c743=peg$literalExpectation("RoyalBlue",false),peg$c744="saddlebrown",peg$c745=peg$literalExpectation("saddlebrown",false),peg$c746=function peg$c746(){return'#8b4513ff';},peg$c747="SaddleBrown",peg$c748=peg$literalExpectation("SaddleBrown",false),peg$c749="salmon",peg$c750=peg$literalExpectation("salmon",false),peg$c751=function peg$c751(){return'#fa8072ff';},peg$c752="Salmon",peg$c753=peg$literalExpectation("Salmon",false),peg$c754="sandybrown",peg$c755=peg$literalExpectation("sandybrown",false),peg$c756=function peg$c756(){return'#f4a460ff';},peg$c757="SandyBrown",peg$c758=peg$literalExpectation("SandyBrown",false),peg$c759="seagreen",peg$c760=peg$literalExpectation("seagreen",false),peg$c761=function peg$c761(){return'#2e8b57ff';},peg$c762="SeaGreen",peg$c763=peg$literalExpectation("SeaGreen",false),peg$c764="seashell",peg$c765=peg$literalExpectation("seashell",false),peg$c766=function peg$c766(){return'#fff5eeff';},peg$c767="SeaShell",peg$c768=peg$literalExpectation("SeaShell",false),peg$c769="sienna",peg$c770=peg$literalExpectation("sienna",false),peg$c771=function peg$c771(){return'#a0522dff';},peg$c772="Sienna",peg$c773=peg$literalExpectation("Sienna",false),peg$c774="silver",peg$c775=peg$literalExpectation("silver",false),peg$c776=function peg$c776(){return'#c0c0c0ff';},peg$c777="Silver",peg$c778=peg$literalExpectation("Silver",false),peg$c779="skyblue",peg$c780=peg$literalExpectation("skyblue",false),peg$c781=function peg$c781(){return'#87ceebff';},peg$c782="SkyBlue",peg$c783=peg$literalExpectation("SkyBlue",false),peg$c784="slateblue",peg$c785=peg$literalExpectation("slateblue",false),peg$c786=function peg$c786(){return'#6a5acdff';},peg$c787="SlateBlue",peg$c788=peg$literalExpectation("SlateBlue",false),peg$c789="slategray",peg$c790=peg$literalExpectation("slategray",false),peg$c791=function peg$c791(){return'#708090ff';},peg$c792="SlateGray",peg$c793=peg$literalExpectation("SlateGray",false),peg$c794="slategrey",peg$c795=peg$literalExpectation("slategrey",false),peg$c796="SlateGrey",peg$c797=peg$literalExpectation("SlateGrey",false),peg$c798="snow",peg$c799=peg$literalExpectation("snow",false),peg$c800=function peg$c800(){return'#fffafaff';},peg$c801="Snow",peg$c802=peg$literalExpectation("Snow",false),peg$c803="springgreen",peg$c804=peg$literalExpectation("springgreen",false),peg$c805=function peg$c805(){return'#00ff7fff';},peg$c806="SpringGreen",peg$c807=peg$literalExpectation("SpringGreen",false),peg$c808="steelblue",peg$c809=peg$literalExpectation("steelblue",false),peg$c810=function peg$c810(){return'#4682b4ff';},peg$c811="SteelBlue",peg$c812=peg$literalExpectation("SteelBlue",false),peg$c813="tan",peg$c814=peg$literalExpectation("tan",false),peg$c815=function peg$c815(){return'#d2b48cff';},peg$c816="Tan",peg$c817=peg$literalExpectation("Tan",false),peg$c818="teal",peg$c819=peg$literalExpectation("teal",false),peg$c820=function peg$c820(){return'#008080ff';},peg$c821="Teal",peg$c822=peg$literalExpectation("Teal",false),peg$c823="thistle",peg$c824=peg$literalExpectation("thistle",false),peg$c825=function peg$c825(){return'#d8bfd8ff';},peg$c826="Thistle",peg$c827=peg$literalExpectation("Thistle",false),peg$c828="tomato",peg$c829=peg$literalExpectation("tomato",false),peg$c830=function peg$c830(){return'#ff6347ff';},peg$c831="Tomato",peg$c832=peg$literalExpectation("Tomato",false),peg$c833="turquoise",peg$c834=peg$literalExpectation("turquoise",false),peg$c835=function peg$c835(){return'#40e0d0ff';},peg$c836="Turquoise",peg$c837=peg$literalExpectation("Turquoise",false),peg$c838="violet",peg$c839=peg$literalExpectation("violet",false),peg$c840=function peg$c840(){return'#ee82eeff';},peg$c841="Violet",peg$c842=peg$literalExpectation("Violet",false),peg$c843="wheat",peg$c844=peg$literalExpectation("wheat",false),peg$c845=function peg$c845(){return'#f5deb3ff';},peg$c846="Wheat",peg$c847=peg$literalExpectation("Wheat",false),peg$c848="white",peg$c849=peg$literalExpectation("white",false),peg$c850=function peg$c850(){return'#ffffffff';},peg$c851="White",peg$c852=peg$literalExpectation("White",false),peg$c853="whitesmoke",peg$c854=peg$literalExpectation("whitesmoke",false),peg$c855=function peg$c855(){return'#f5f5f5ff';},peg$c856="WhiteSmoke",peg$c857=peg$literalExpectation("WhiteSmoke",false),peg$c858="yellow",peg$c859=peg$literalExpectation("yellow",false),peg$c860=function peg$c860(){return'#ffff00ff';},peg$c861="Yellow",peg$c862=peg$literalExpectation("Yellow",false),peg$c863="yellowgreen",peg$c864=peg$literalExpectation("yellowgreen",false),peg$c865=function peg$c865(){return'#9acd32ff';},peg$c866="YellowGreen",peg$c867=peg$literalExpectation("YellowGreen",false),peg$c868="#",peg$c869=peg$literalExpectation("#",false),peg$c870=function peg$c870(r,g,b){return""+r+r+g+g+b+b+"ff";},peg$c871=function peg$c871(r1,r2,g1,g2,b1,b2){return""+r1+r2+g1+g2+b1+b2+"ff";},peg$c872=function peg$c872(r,g,b,a){return""+r+r+g+g+b+b+a+a;},peg$c873=function peg$c873(r1,r2,g1,g2,b1,b2,a1,a2){return""+r1+r2+g1+g2+b1+b2+a1+a2;},peg$c874=peg$otherExpectation("color"),peg$c875="arc_label",peg$c876=peg$literalExpectation("arc_label",false),peg$c877="head_label",peg$c878=peg$literalExpectation("head_label",false),peg$c879="tail_label",peg$c880=peg$literalExpectation("tail_label",false),peg$c881=":",peg$c882=peg$literalExpectation(":",false),peg$c883=";",peg$c884=peg$literalExpectation(";",false),peg$c885=function peg$c885(key,value){return{key:key,value:value};},peg$c886=peg$otherExpectation("single edge color"),peg$c887="edge_color",peg$c888=peg$literalExpectation("edge_color",false),peg$c889=function peg$c889(value){return{key:'single_edge_color',value:value};},peg$c890="{",peg$c891=peg$literalExpectation("{",false),peg$c892="}",peg$c893=peg$literalExpectation("}",false),peg$c894=function peg$c894(items){return items;},peg$c895="%",peg$c896=peg$literalExpectation("%",false),peg$c897=function peg$c897(value){return{key:'arrow probability',value:value};},peg$c898="[",peg$c899=peg$literalExpectation("[",false),peg$c900="]",peg$c901=peg$literalExpectation("]",false),peg$c902=function peg$c902(names){return names.map(function(i){return i[0];});},peg$c903=function peg$c903(r_action,r_prob,l_desc,arrow,r_desc,l_prob,l_action,label,tail){var base={kind:arrow,to:label};if(tail&&tail!==[]){base.se=tail;}if(l_desc){base.l_desc=l_desc;}if(r_desc){base.r_desc=r_desc;}if(l_action){base.l_action=l_action;}if(r_action){base.r_action=r_action;}if(l_prob){base.l_probability=l_prob.value;}if(r_prob){base.r_probability=r_prob.value;}return base;},peg$c904=function peg$c904(label,se){var base={key:'transition',from:label};if(se&&se!==[]){base.se=se;}return base;},peg$c905="whargarbl",peg$c906=peg$literalExpectation("whargarbl",false),peg$c907="todo",peg$c908=peg$literalExpectation("todo",false),peg$c909=function peg$c909(validationkey,value){return{key:validationkey,value:value};},peg$c910="validation",peg$c911=peg$literalExpectation("validation",false),peg$c912="};",peg$c913=peg$literalExpectation("};",false),peg$c914=function peg$c914(validation_items){return{config_kind:"validation",config_items:validation_items||[]};},peg$c915="dot",peg$c916=peg$literalExpectation("dot",false),peg$c917="circo",peg$c918=peg$literalExpectation("circo",false),peg$c919="fdp",peg$c920=peg$literalExpectation("fdp",false),peg$c921="neato",peg$c922=peg$literalExpectation("neato",false),peg$c923="in_shape",peg$c924=peg$literalExpectation("in_shape",false),peg$c925="out_shape",peg$c926=peg$literalExpectation("out_shape",false),peg$c927="node_shape",peg$c928=peg$literalExpectation("node_shape",false),peg$c929="state",peg$c930=peg$literalExpectation("state",false),peg$c931=function peg$c931(state_items){return{config_kind:"state",config_items:state_items||[]};},peg$c932=function peg$c932(actionkey,value){return{key:actionkey,value:value};},peg$c933="action",peg$c934=peg$literalExpectation("action",false),peg$c935=function peg$c935(action_items){return{config_kind:"action",config_items:action_items||[]};},peg$c936=function peg$c936(transitionkey,value){return{key:transitionkey,value:value};},peg$c937=peg$otherExpectation("graph default edge color"),peg$c938=function peg$c938(value){return{key:'graph_default_edge_color',value:value};},peg$c939="transition",peg$c940=peg$literalExpectation("transition",false),peg$c941=function peg$c941(transition_items){return{config_kind:"transition",config_items:transition_items||[]};},peg$c942="graph_layout",peg$c943=peg$literalExpectation("graph_layout",false),peg$c944=function peg$c944(value){return{key:"graph_layout",value:value};},peg$c945="start_states",peg$c946=peg$literalExpectation("start_states",false),peg$c947=function peg$c947(value){return{key:"start_states",value:value};},peg$c948="end_states",peg$c949=peg$literalExpectation("end_states",false),peg$c950=function peg$c950(value){return{key:"end_states",value:value};},peg$c951="graph_bg_color",peg$c952=peg$literalExpectation("graph_bg_color",false),peg$c953=function peg$c953(value){return{key:"graph_bg_color",value:value};},peg$c954=peg$otherExpectation("configuration"),peg$c955="MIT",peg$c956=peg$literalExpectation("MIT",false),peg$c957="BSD 2-clause",peg$c958=peg$literalExpectation("BSD 2-clause",false),peg$c959="BSD 3-clause",peg$c960=peg$literalExpectation("BSD 3-clause",false),peg$c961="Apache 2.0",peg$c962=peg$literalExpectation("Apache 2.0",false),peg$c963="Mozilla 2.0",peg$c964=peg$literalExpectation("Mozilla 2.0",false),peg$c965="Public domain",peg$c966=peg$literalExpectation("Public domain",false),peg$c967="GPL v2",peg$c968=peg$literalExpectation("GPL v2",false),peg$c969="GPL v3",peg$c970=peg$literalExpectation("GPL v3",false),peg$c971="LGPL v2.1",peg$c972=peg$literalExpectation("LGPL v2.1",false),peg$c973="LGPL v3.0",peg$c974=peg$literalExpectation("LGPL v3.0",false),peg$c975="color",peg$c976=peg$literalExpectation("color",false),peg$c977=function peg$c977(value){return{key:"state color",value:value};},peg$c978=peg$otherExpectation("state quality"),peg$c979=function peg$c979(name,value){return{key:"state quality",name:name,value:value};},peg$c980=peg$otherExpectation("state definition"),peg$c981=function peg$c981(name,sq){return{key:"State qualities",value:sq};},peg$c982="machine_author",peg$c983=peg$literalExpectation("machine_author",false),peg$c984=function peg$c984(author){return{key:"machine_author",value:author};},peg$c985="machine_contributor",peg$c986=peg$literalExpectation("machine_contributor",false),peg$c987=function peg$c987(contributor){return{key:"machine_contributor",value:contributor};},peg$c988="machine_comment",peg$c989=peg$literalExpectation("machine_comment",false),peg$c990=function peg$c990(comment){return{key:"machine_comment",value:comment};},peg$c991="machine_definition",peg$c992=peg$literalExpectation("machine_definition",false),peg$c993=function peg$c993(definition){return{key:"machine_definition",value:definition};},peg$c994="machine_name",peg$c995=peg$literalExpectation("machine_name",false),peg$c996=function peg$c996(name){return{key:"machine_name",value:name};},peg$c997="machine_reference",peg$c998=peg$literalExpectation("machine_reference",false),peg$c999=function peg$c999(reference){return{key:"machine_reference",value:reference};},peg$c1000="machine_version",peg$c1001=peg$literalExpectation("machine_version",false),peg$c1002=function peg$c1002(version){return{key:"machine_version",value:version};},peg$c1003="machine_license",peg$c1004=peg$literalExpectation("machine_license",false),peg$c1005=function peg$c1005(license){return{key:"machine_license",value:license};},peg$c1006="fsl_version",peg$c1007=peg$literalExpectation("fsl_version",false),peg$c1008=function peg$c1008(fsl_version){return{key:"fsl_version",value:fsl_version};},peg$c1009="group",peg$c1010=peg$literalExpectation("group",false),peg$c1011=function peg$c1011(name,nl){return{key:"group definition",value:{name:name,list:nl}};},peg$currPos=0,peg$savedPos=0,peg$posDetailsCache=[{line:1,column:1}],peg$maxFailPos=0,peg$maxFailExpected=[],peg$silentFails=0,peg$result;if("startRule"in options){if(!(options.startRule in peg$startRuleFunctions)){throw new Error("Can't start parsing from rule \""+options.startRule+"\".");}peg$startRuleFunction=peg$startRuleFunctions[options.startRule];}function text(){return input.substring(peg$savedPos,peg$currPos);}function location(){return peg$computeLocation(peg$savedPos,peg$currPos);}function expected(description,location){location=location!==void 0?location:peg$computeLocation(peg$savedPos,peg$currPos);throw peg$buildStructuredError([peg$otherExpectation(description)],input.substring(peg$savedPos,peg$currPos),location);}function error(message,location){location=location!==void 0?location:peg$computeLocation(peg$savedPos,peg$currPos);throw peg$buildSimpleError(message,location);}function peg$literalExpectation(text,ignoreCase){return{type:"literal",text:text,ignoreCase:ignoreCase};}function peg$classExpectation(parts,inverted,ignoreCase){return{type:"class",parts:parts,inverted:inverted,ignoreCase:ignoreCase};}function peg$anyExpectation(){return{type:"any"};}function peg$endExpectation(){return{type:"end"};}function peg$otherExpectation(description){return{type:"other",description:description};}function peg$computePosDetails(pos){var details=peg$posDetailsCache[pos],p;if(details){return details;}else{p=pos-1;while(!peg$posDetailsCache[p]){p--;}details=peg$posDetailsCache[p];details={line:details.line,column:details.column};while(p<pos){if(input.charCodeAt(p)===10){details.line++;details.column=1;}else{details.column++;}p++;}peg$posDetailsCache[pos]=details;return details;}}function peg$computeLocation(startPos,endPos){var startPosDetails=peg$computePosDetails(startPos),endPosDetails=peg$computePosDetails(endPos);return{start:{offset:startPos,line:startPosDetails.line,column:startPosDetails.column},end:{offset:endPos,line:endPosDetails.line,column:endPosDetails.column}};}function peg$fail(expected){if(peg$currPos<peg$maxFailPos){return;}if(peg$currPos>peg$maxFailPos){peg$maxFailPos=peg$currPos;peg$maxFailExpected=[];}peg$maxFailExpected.push(expected);}function peg$buildSimpleError(message,location){return new peg$SyntaxError(message,null,null,location);}function peg$buildStructuredError(expected,found,location){return new peg$SyntaxError(peg$SyntaxError.buildMessage(expected,found),expected,found,location);}function peg$parseDocument(){var s0,s1,s2,s3;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){s2=peg$parseTermList();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c0(s2);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseGvizShape(){var s0;if(input.substr(peg$currPos,6)===peg$c1){s0=peg$c1;peg$currPos+=6;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c2);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c3){s0=peg$c3;peg$currPos+=9;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c4);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c5){s0=peg$c5;peg$currPos+=6;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c6);}}}}return s0;}function peg$parseForwardLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c8){s0=peg$c8;peg$currPos+=2;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c9);}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c7);}}return s0;}function peg$parseTwoWayLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,3)===peg$c11){s0=peg$c11;peg$currPos+=3;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c12);}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c10);}}return s0;}function peg$parseBackLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c14){s0=peg$c14;peg$currPos+=2;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c15);}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c13);}}return s0;}function peg$parseForwardFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c17){s0=peg$c17;peg$currPos+=2;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c18);}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c16);}}return s0;}function peg$parseTwoWayFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,3)===peg$c20){s0=peg$c20;peg$currPos+=3;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c21);}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c19);}}return s0;}function peg$parseBackFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c23){s0=peg$c23;peg$currPos+=2;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c24);}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c22);}}return s0;}function peg$parseForwardTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c26){s0=peg$c26;peg$currPos+=2;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c27);}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c25);}}return s0;}function peg$parseTwoWayTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,3)===peg$c29){s0=peg$c29;peg$currPos+=3;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c30);}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c28);}}return s0;}function peg$parseBackTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,2)===peg$c32){s0=peg$c32;peg$currPos+=2;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c33);}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c31);}}return s0;}function peg$parseLightFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c35){s0=peg$c35;peg$currPos+=4;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c36);}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c34);}}return s0;}function peg$parseLightTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c38){s0=peg$c38;peg$currPos+=4;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c39);}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c37);}}return s0;}function peg$parseFatLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c41){s0=peg$c41;peg$currPos+=4;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c42);}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c40);}}return s0;}function peg$parseFatTildeArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c44){s0=peg$c44;peg$currPos+=4;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c45);}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c43);}}return s0;}function peg$parseTildeLightArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c47){s0=peg$c47;peg$currPos+=4;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c48);}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c46);}}return s0;}function peg$parseTildeFatArrow(){var s0,s1;peg$silentFails++;if(input.substr(peg$currPos,4)===peg$c50){s0=peg$c50;peg$currPos+=4;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c51);}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c49);}}return s0;}function peg$parseLightArrow(){var s0,s1;peg$silentFails++;s0=peg$parseForwardLightArrow();if(s0===peg$FAILED){s0=peg$parseTwoWayLightArrow();if(s0===peg$FAILED){s0=peg$parseBackLightArrow();}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c52);}}return s0;}function peg$parseFatArrow(){var s0,s1;peg$silentFails++;s0=peg$parseForwardFatArrow();if(s0===peg$FAILED){s0=peg$parseTwoWayFatArrow();if(s0===peg$FAILED){s0=peg$parseBackFatArrow();}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c53);}}return s0;}function peg$parseTildeArrow(){var s0,s1;peg$silentFails++;s0=peg$parseForwardTildeArrow();if(s0===peg$FAILED){s0=peg$parseTwoWayTildeArrow();if(s0===peg$FAILED){s0=peg$parseBackTildeArrow();}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c54);}}return s0;}function peg$parseMixedArrow(){var s0,s1;peg$silentFails++;s0=peg$parseLightFatArrow();if(s0===peg$FAILED){s0=peg$parseLightTildeArrow();if(s0===peg$FAILED){s0=peg$parseFatLightArrow();if(s0===peg$FAILED){s0=peg$parseFatTildeArrow();if(s0===peg$FAILED){s0=peg$parseTildeLightArrow();if(s0===peg$FAILED){s0=peg$parseTildeFatArrow();}}}}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c55);}}return s0;}function peg$parseArrow(){var s0,s1;peg$silentFails++;s0=peg$parseMixedArrow();if(s0===peg$FAILED){s0=peg$parseLightArrow();if(s0===peg$FAILED){s0=peg$parseFatArrow();if(s0===peg$FAILED){s0=peg$parseTildeArrow();}}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c56);}}return s0;}function peg$parseHexDigit(){var s0;if(peg$c57.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c58);}}return s0;}function peg$parseChar(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$parseUnescaped();if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseEscape();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===34){s2=peg$c59;peg$currPos++;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c60);}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===92){s2=peg$c61;peg$currPos++;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c62);}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===47){s2=peg$c63;peg$currPos++;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c64);}}if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===98){s3=peg$c65;peg$currPos++;}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c66);}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c67();}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===102){s3=peg$c68;peg$currPos++;}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c69);}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c70();}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===110){s3=peg$c71;peg$currPos++;}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c72);}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c73();}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===114){s3=peg$c74;peg$currPos++;}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c75);}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c76();}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===116){s3=peg$c77;peg$currPos++;}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c78);}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c79();}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===118){s3=peg$c80;peg$currPos++;}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c81);}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c82();}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===117){s3=peg$c83;peg$currPos++;}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c84);}}if(s3!==peg$FAILED){s4=peg$currPos;s5=peg$currPos;s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseHexDigit();if(s8!==peg$FAILED){s9=peg$parseHexDigit();if(s9!==peg$FAILED){s6=[s6,s7,s8,s9];s5=s6;}else{peg$currPos=s5;s5=peg$FAILED;}}else{peg$currPos=s5;s5=peg$FAILED;}}else{peg$currPos=s5;s5=peg$FAILED;}}else{peg$currPos=s5;s5=peg$FAILED;}if(s5!==peg$FAILED){s4=input.substring(s4,peg$currPos);}else{s4=s5;}if(s4!==peg$FAILED){peg$savedPos=s2;s3=peg$c85(s4);s2=s3;}else{peg$currPos=s2;s2=peg$FAILED;}}else{peg$currPos=s2;s2=peg$FAILED;}}}}}}}}}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c86(s2);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}return s0;}function peg$parseEscape(){var s0;if(input.charCodeAt(peg$currPos)===92){s0=peg$c61;peg$currPos++;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c62);}}return s0;}function peg$parseQuoteMark(){var s0;if(input.charCodeAt(peg$currPos)===34){s0=peg$c59;peg$currPos++;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c60);}}return s0;}function peg$parseUnescaped(){var s0;if(peg$c87.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c88);}}return s0;}function peg$parseActionLabelChar(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$parseActionLabelUnescaped();if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseEscape();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===39){s2=peg$c89;peg$currPos++;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c90);}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===92){s2=peg$c61;peg$currPos++;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c62);}}if(s2===peg$FAILED){if(input.charCodeAt(peg$currPos)===47){s2=peg$c63;peg$currPos++;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c64);}}if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===98){s3=peg$c65;peg$currPos++;}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c66);}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c67();}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===102){s3=peg$c68;peg$currPos++;}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c69);}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c70();}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===110){s3=peg$c71;peg$currPos++;}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c72);}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c73();}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===114){s3=peg$c74;peg$currPos++;}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c75);}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c76();}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===116){s3=peg$c77;peg$currPos++;}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c78);}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c79();}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===118){s3=peg$c80;peg$currPos++;}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c81);}}if(s3!==peg$FAILED){peg$savedPos=s2;s3=peg$c82();}s2=s3;if(s2===peg$FAILED){s2=peg$currPos;if(input.charCodeAt(peg$currPos)===117){s3=peg$c83;peg$currPos++;}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c84);}}if(s3!==peg$FAILED){s4=peg$currPos;s5=peg$currPos;s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseHexDigit();if(s8!==peg$FAILED){s9=peg$parseHexDigit();if(s9!==peg$FAILED){s6=[s6,s7,s8,s9];s5=s6;}else{peg$currPos=s5;s5=peg$FAILED;}}else{peg$currPos=s5;s5=peg$FAILED;}}else{peg$currPos=s5;s5=peg$FAILED;}}else{peg$currPos=s5;s5=peg$FAILED;}if(s5!==peg$FAILED){s4=input.substring(s4,peg$currPos);}else{s4=s5;}if(s4!==peg$FAILED){peg$savedPos=s2;s3=peg$c85(s4);s2=s3;}else{peg$currPos=s2;s2=peg$FAILED;}}else{peg$currPos=s2;s2=peg$FAILED;}}}}}}}}}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c86(s2);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}return s0;}function peg$parseActionLabelQuoteMark(){var s0;if(input.charCodeAt(peg$currPos)===39){s0=peg$c89;peg$currPos++;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c90);}}return s0;}function peg$parseActionLabelUnescaped(){var s0;if(peg$c91.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c92);}}return s0;}function peg$parseActionLabel(){var s0,s1,s2,s3;peg$silentFails++;s0=peg$currPos;s1=peg$parseActionLabelQuoteMark();if(s1!==peg$FAILED){s2=[];s3=peg$parseActionLabelChar();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseActionLabelChar();}if(s2!==peg$FAILED){s3=peg$parseActionLabelQuoteMark();if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c94(s2);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c93);}}return s0;}function peg$parseLineTerminator(){var s0;if(peg$c95.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c96);}}return s0;}function peg$parseWhitespace(){var s0,s1;s0=[];if(peg$c97.test(input.charAt(peg$currPos))){s1=input.charAt(peg$currPos);peg$currPos++;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c98);}}if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);if(peg$c97.test(input.charAt(peg$currPos))){s1=input.charAt(peg$currPos);peg$currPos++;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c98);}}}}else{s0=peg$FAILED;}return s0;}function peg$parseBlockCommentTail(){var s0,s1,s2;if(input.substr(peg$currPos,2)===peg$c99){s0=peg$c99;peg$currPos+=2;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c100);}}if(s0===peg$FAILED){s0=peg$currPos;if(input.length>peg$currPos){s1=input.charAt(peg$currPos);peg$currPos++;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c101);}}if(s1!==peg$FAILED){s2=peg$parseBlockCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}return s0;}function peg$parseBlockComment(){var s0,s1,s2;s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c102){s1=peg$c102;peg$currPos+=2;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c103);}}if(s1!==peg$FAILED){s2=peg$parseBlockCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseEOF(){var s0,s1;s0=peg$currPos;peg$silentFails++;if(input.length>peg$currPos){s1=input.charAt(peg$currPos);peg$currPos++;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c101);}}peg$silentFails--;if(s1===peg$FAILED){s0=void 0;}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseLineCommentTail(){var s0,s1,s2;s0=peg$parseLineTerminator();if(s0===peg$FAILED){s0=peg$parseEOF();if(s0===peg$FAILED){s0=peg$currPos;if(input.length>peg$currPos){s1=input.charAt(peg$currPos);peg$currPos++;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c101);}}if(s1!==peg$FAILED){s2=peg$parseLineCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}}return s0;}function peg$parseLineComment(){var s0,s1,s2;s0=peg$currPos;if(input.substr(peg$currPos,2)===peg$c104){s1=peg$c104;peg$currPos+=2;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c105);}}if(s1!==peg$FAILED){s2=peg$parseLineCommentTail();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseWS(){var s0,s1,s2;s0=peg$currPos;s1=peg$parseBlockComment();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null;}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseLineComment();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null;}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}if(s0===peg$FAILED){s0=peg$currPos;s1=[];if(peg$c106.test(input.charAt(peg$currPos))){s2=input.charAt(peg$currPos);peg$currPos++;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c107);}}if(s2!==peg$FAILED){while(s2!==peg$FAILED){s1.push(s2);if(peg$c106.test(input.charAt(peg$currPos))){s2=input.charAt(peg$currPos);peg$currPos++;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c107);}}}}else{s1=peg$FAILED;}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null;}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}}return s0;}function peg$parseString(){var s0,s1,s2,s3;peg$silentFails++;s0=peg$currPos;s1=peg$parseQuoteMark();if(s1!==peg$FAILED){s2=[];s3=peg$parseChar();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseChar();}if(s2!==peg$FAILED){s3=peg$parseQuoteMark();if(s3!==peg$FAILED){peg$savedPos=s0;s1=peg$c94(s2);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c108);}}return s0;}function peg$parseAtom(){var s0,s1,s2;peg$silentFails++;s0=peg$currPos;s1=[];if(peg$c110.test(input.charAt(peg$currPos))){s2=input.charAt(peg$currPos);peg$currPos++;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c111);}}if(s2!==peg$FAILED){while(s2!==peg$FAILED){s1.push(s2);if(peg$c110.test(input.charAt(peg$currPos))){s2=input.charAt(peg$currPos);peg$currPos++;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c111);}}}}else{s1=peg$FAILED;}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c112(s1);}s0=s1;peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c109);}}return s0;}function peg$parseLabel(){var s0,s1;peg$silentFails++;s0=peg$parseAtom();if(s0===peg$FAILED){s0=peg$parseString();}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c113);}}return s0;}function peg$parseIntegerLiteral(){var s0,s1,s2,s3;if(input.charCodeAt(peg$currPos)===48){s0=peg$c114;peg$currPos++;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c115);}}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseNonZeroDigit();if(s1!==peg$FAILED){s2=[];s3=peg$parseDecimalDigit();while(s3!==peg$FAILED){s2.push(s3);s3=peg$parseDecimalDigit();}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}return s0;}function peg$parseDecimalDigit(){var s0;if(peg$c116.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c117);}}return s0;}function peg$parseNonZeroDigit(){var s0;if(peg$c118.test(input.charAt(peg$currPos))){s0=input.charAt(peg$currPos);peg$currPos++;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c119);}}return s0;}function peg$parseNonNegNumber(){var s0,s1,s2,s3,s4;peg$silentFails++;s0=peg$currPos;s1=peg$parseIntegerLiteral();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s2=peg$c121;peg$currPos++;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c122);}}if(s2!==peg$FAILED){s3=[];s4=peg$parseDecimalDigit();while(s4!==peg$FAILED){s3.push(s4);s4=peg$parseDecimalDigit();}if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null;}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c123();s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}if(s0===peg$FAILED){s0=peg$currPos;s1=peg$parseIntegerLiteral();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null;}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c123();s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c120);}}return s0;}function peg$parseSemVer(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;s1=peg$parseIntegerLiteral();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s2=peg$c121;peg$currPos++;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c122);}}if(s2!==peg$FAILED){s3=peg$parseIntegerLiteral();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===46){s4=peg$c121;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c122);}}if(s4!==peg$FAILED){s5=peg$parseIntegerLiteral();if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c124(s1,s3,s5);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseSemVerOper(){var s0;if(input.charCodeAt(peg$currPos)===94){s0=peg$c125;peg$currPos++;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c126);}}if(s0===peg$FAILED){if(input.charCodeAt(peg$currPos)===126){s0=peg$c127;peg$currPos++;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c128);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,2)===peg$c129){s0=peg$c129;peg$currPos+=2;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c130);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,2)===peg$c23){s0=peg$c23;peg$currPos+=2;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c24);}}if(s0===peg$FAILED){if(input.charCodeAt(peg$currPos)===60){s0=peg$c131;peg$currPos++;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c132);}}if(s0===peg$FAILED){if(input.charCodeAt(peg$currPos)===62){s0=peg$c133;peg$currPos++;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c134);}}}}}}}return s0;}function peg$parseSemVerRule(){var s0,s1,s2;s0=peg$currPos;s1=peg$parseSemVerOper();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){s2=peg$parseSemVer();if(s2!==peg$FAILED){s1=[s1,s2];s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseSemVerRange(){var s0,s1,s2;s0=peg$currPos;s1=peg$parseSemVerRule();if(s1!==peg$FAILED){s2=peg$parseSemVerRule();if(s2===peg$FAILED){s2=null;}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseUrlProtocol(){var s0;if(input.substr(peg$currPos,7)===peg$c135){s0=peg$c135;peg$currPos+=7;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c136);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,8)===peg$c137){s0=peg$c137;peg$currPos+=8;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c138);}}}return s0;}function peg$parseURL(){var s0,s1,s2,s3;s0=peg$currPos;s1=peg$parseUrlProtocol();if(s1!==peg$FAILED){s2=[];if(peg$c139.test(input.charAt(peg$currPos))){s3=input.charAt(peg$currPos);peg$currPos++;}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c140);}}if(s3!==peg$FAILED){while(s3!==peg$FAILED){s2.push(s3);if(peg$c139.test(input.charAt(peg$currPos))){s3=input.charAt(peg$currPos);peg$currPos++;}else{s3=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c140);}}}}else{s2=peg$FAILED;}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c141(s1);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseSvgColorLabel(){var s0,s1;s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c142){s1=peg$c142;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c143);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c144();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c145){s1=peg$c145;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c146);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c144();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c147){s1=peg$c147;peg$currPos+=12;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c148);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c149();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c150){s1=peg$c150;peg$currPos+=12;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c151);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c149();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c152){s1=peg$c152;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c153);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c154();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c155){s1=peg$c155;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c156);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c154();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c157){s1=peg$c157;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c158);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c159();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c160){s1=peg$c160;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c161);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c159();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c162){s1=peg$c162;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c163);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c164();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c165){s1=peg$c165;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c166);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c164();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c167){s1=peg$c167;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c168);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c169();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c170){s1=peg$c170;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c171);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c169();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c172){s1=peg$c172;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c173);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c174();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c175){s1=peg$c175;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c176);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c174();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c177){s1=peg$c177;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c178);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c179();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c180){s1=peg$c180;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c181);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c179();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c182){s1=peg$c182;peg$currPos+=14;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c183);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c184();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c185){s1=peg$c185;peg$currPos+=14;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c186);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c184();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c187){s1=peg$c187;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c188);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c189();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c190){s1=peg$c190;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c191);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c189();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c192){s1=peg$c192;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c193);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c194();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c195){s1=peg$c195;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c196);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c194();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c197){s1=peg$c197;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c198);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c199();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c200){s1=peg$c200;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c201);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c199();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c202){s1=peg$c202;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c203);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c204();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c205){s1=peg$c205;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c206);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c204();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c207){s1=peg$c207;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c208);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c209();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c210){s1=peg$c210;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c211);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c209();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c212){s1=peg$c212;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c213);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c214();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c215){s1=peg$c215;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c216);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c214();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c217){s1=peg$c217;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c218);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c219();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c220){s1=peg$c220;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c221);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c219();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c222){s1=peg$c222;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c223);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c224();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c225){s1=peg$c225;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c226);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c224();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c227){s1=peg$c227;peg$currPos+=14;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c228);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c229();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c230){s1=peg$c230;peg$currPos+=14;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c231);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c229();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c232){s1=peg$c232;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c233);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c234();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c235){s1=peg$c235;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c236);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c234();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c237){s1=peg$c237;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c238);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c239();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c240){s1=peg$c240;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c241);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c239();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c242){s1=peg$c242;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c243);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c154();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c244){s1=peg$c244;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c245);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c154();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c246){s1=peg$c246;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c247);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c248();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c249){s1=peg$c249;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c250);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c248();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c251){s1=peg$c251;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c252);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c253();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c254){s1=peg$c254;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c255);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c253();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c256){s1=peg$c256;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c257);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c258();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c259){s1=peg$c259;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c260);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c258();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c261){s1=peg$c261;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c262);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c263();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c264){s1=peg$c264;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c265);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c263();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c266){s1=peg$c266;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c267);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c263();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c268){s1=peg$c268;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c269);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c263();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c270){s1=peg$c270;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c271);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c272();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c273){s1=peg$c273;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c274);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c272();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c275){s1=peg$c275;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c276);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c277();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c278){s1=peg$c278;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c279);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c277();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c280){s1=peg$c280;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c281);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c282();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c283){s1=peg$c283;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c284);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c282();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c285){s1=peg$c285;peg$currPos+=14;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c286);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c287();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c288){s1=peg$c288;peg$currPos+=14;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c289);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c287();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c290){s1=peg$c290;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c291);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c292();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c293){s1=peg$c293;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c294);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c292();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c295){s1=peg$c295;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c296);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c297();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c298){s1=peg$c298;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c299);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c297();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c300){s1=peg$c300;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c301);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c302();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c303){s1=peg$c303;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c304);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c302();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c305){s1=peg$c305;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c306);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c307();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c308){s1=peg$c308;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c309);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c307();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c310){s1=peg$c310;peg$currPos+=12;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c311);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c312();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c313){s1=peg$c313;peg$currPos+=12;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c314);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c312();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c315){s1=peg$c315;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c316);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c317();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c318){s1=peg$c318;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c319);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c317();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c320){s1=peg$c320;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c321);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c322();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c323){s1=peg$c323;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c324);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c322();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c325){s1=peg$c325;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c326);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c322();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c327){s1=peg$c327;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c328);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c322();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c329){s1=peg$c329;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c330);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c331();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c332){s1=peg$c332;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c333);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c331();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c334){s1=peg$c334;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c335);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c336();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c337){s1=peg$c337;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c338);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c336();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c339){s1=peg$c339;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c340);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c341();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c342){s1=peg$c342;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c343);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c341();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c344){s1=peg$c344;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c345);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c346();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c347){s1=peg$c347;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c348);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c346();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c349){s1=peg$c349;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c350);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c351();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c352){s1=peg$c352;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c353);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c351();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c354){s1=peg$c354;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c355);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c351();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c356){s1=peg$c356;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c357);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c351();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c358){s1=peg$c358;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c359);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c360();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c361){s1=peg$c361;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c362);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c360();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c363){s1=peg$c363;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c364);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c365();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c366){s1=peg$c366;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c367);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c365();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c368){s1=peg$c368;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c369);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c370();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c371){s1=peg$c371;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c372);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c370();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c373){s1=peg$c373;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c374);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c375();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c376){s1=peg$c376;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c377);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c375();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c378){s1=peg$c378;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c379);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c380();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c381){s1=peg$c381;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c382);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c380();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c383){s1=peg$c383;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c384);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c385();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c386){s1=peg$c386;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c387);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c385();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c388){s1=peg$c388;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c389);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c390();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c391){s1=peg$c391;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c392);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c390();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c393){s1=peg$c393;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c394);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c395();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c396){s1=peg$c396;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c397);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c395();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c398){s1=peg$c398;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c399);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c400();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c401){s1=peg$c401;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c402);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c400();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c403){s1=peg$c403;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c404);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c405();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c406){s1=peg$c406;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c407);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c405();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c408){s1=peg$c408;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c409);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c405();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c410){s1=peg$c410;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c411);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c405();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c412){s1=peg$c412;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c413);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c414();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c415){s1=peg$c415;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c416);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c414();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c417){s1=peg$c417;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c418);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c419();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c420){s1=peg$c420;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c421);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c419();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c422){s1=peg$c422;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c423);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c424();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c425){s1=peg$c425;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c426);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c424();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c427){s1=peg$c427;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c428);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c429();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c430){s1=peg$c430;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c431);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c429();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c432){s1=peg$c432;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c433);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c434();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c435){s1=peg$c435;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c436);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c434();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c437){s1=peg$c437;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c438);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c439();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c440){s1=peg$c440;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c441);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c439();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c442){s1=peg$c442;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c443);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c444();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c445){s1=peg$c445;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c446);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c444();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c447){s1=peg$c447;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c448);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c449();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c450){s1=peg$c450;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c451);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c449();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c452){s1=peg$c452;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c453);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c454();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c455){s1=peg$c455;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c456);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c454();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c457){s1=peg$c457;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c458);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c459();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c460){s1=peg$c460;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c461);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c459();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c462){s1=peg$c462;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c463);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c464();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c465){s1=peg$c465;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c466);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c464();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c467){s1=peg$c467;peg$currPos+=12;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c468);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c469();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c470){s1=peg$c470;peg$currPos+=12;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c471);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c469();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c472){s1=peg$c472;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c473);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c474();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c475){s1=peg$c475;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c476);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c474();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c477){s1=peg$c477;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c478);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c479();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c480){s1=peg$c480;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c481);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c479();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c482){s1=peg$c482;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c483);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c484();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c485){s1=peg$c485;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c486);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c484();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,20)===peg$c487){s1=peg$c487;peg$currPos+=20;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c488);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c489();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,20)===peg$c490){s1=peg$c490;peg$currPos+=20;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c491);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c489();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c492){s1=peg$c492;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c493);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c494();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c495){s1=peg$c495;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c496);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c494();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c497){s1=peg$c497;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c498);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c494();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c499){s1=peg$c499;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c500);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c494();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c501){s1=peg$c501;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c502);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c503();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c504){s1=peg$c504;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c505);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c503();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c506){s1=peg$c506;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c507);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c508();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c509){s1=peg$c509;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c510);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c508();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c511){s1=peg$c511;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c512);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c513();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c514){s1=peg$c514;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c515);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c513();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c516){s1=peg$c516;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c517);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c518();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c519){s1=peg$c519;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c520);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c518();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c521){s1=peg$c521;peg$currPos+=12;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c522);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c523();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c524){s1=peg$c524;peg$currPos+=12;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c525);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c523();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c526){s1=peg$c526;peg$currPos+=14;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c527);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c528();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c529){s1=peg$c529;peg$currPos+=14;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c530);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c528();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c531){s1=peg$c531;peg$currPos+=14;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c532);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c528();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c533){s1=peg$c533;peg$currPos+=14;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c534);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c528();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c535){s1=peg$c535;peg$currPos+=14;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c536);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c537();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c538){s1=peg$c538;peg$currPos+=14;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c539);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c537();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c540){s1=peg$c540;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c541);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c542();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c543){s1=peg$c543;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c544);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c542();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c545){s1=peg$c545;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c546);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c547();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c548){s1=peg$c548;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c549);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c547();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c550){s1=peg$c550;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c551);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c552();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c553){s1=peg$c553;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c554);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c552();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c555){s1=peg$c555;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c556);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c557();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c558){s1=peg$c558;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c559);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c557();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c560){s1=peg$c560;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c561);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c380();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c562){s1=peg$c562;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c563);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c380();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c564){s1=peg$c564;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c565);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c566();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c567){s1=peg$c567;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c568);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c566();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,16)===peg$c569){s1=peg$c569;peg$currPos+=16;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c570);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c571();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,16)===peg$c572){s1=peg$c572;peg$currPos+=16;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c573);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c571();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c574){s1=peg$c574;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c575);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c576();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c577){s1=peg$c577;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c578);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c576();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c579){s1=peg$c579;peg$currPos+=12;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c580);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c581();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c582){s1=peg$c582;peg$currPos+=12;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c583);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c581();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c584){s1=peg$c584;peg$currPos+=12;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c585);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c586();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c587){s1=peg$c587;peg$currPos+=12;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c588);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c586();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c589){s1=peg$c589;peg$currPos+=14;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c590);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c591();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,14)===peg$c592){s1=peg$c592;peg$currPos+=14;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c593);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c591();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c594){s1=peg$c594;peg$currPos+=15;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c595);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c596();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c597){s1=peg$c597;peg$currPos+=15;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c598);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c596();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,17)===peg$c599){s1=peg$c599;peg$currPos+=17;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c600);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c601();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,17)===peg$c602){s1=peg$c602;peg$currPos+=17;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c603);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c601();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c604){s1=peg$c604;peg$currPos+=15;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c605);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c606();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c607){s1=peg$c607;peg$currPos+=15;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c608);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c606();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c609){s1=peg$c609;peg$currPos+=15;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c610);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c611();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,15)===peg$c612){s1=peg$c612;peg$currPos+=15;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c613);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c611();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c614){s1=peg$c614;peg$currPos+=12;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c615);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c616();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,12)===peg$c617){s1=peg$c617;peg$currPos+=12;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c618);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c616();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c619){s1=peg$c619;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c620);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c621();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c622){s1=peg$c622;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c623);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c621();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c624){s1=peg$c624;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c625);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c626();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c627){s1=peg$c627;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c628);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c626();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c629){s1=peg$c629;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c630);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c631();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c632){s1=peg$c632;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c633);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c631();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c634){s1=peg$c634;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c635);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c636();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c637){s1=peg$c637;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c638);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c636();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c639){s1=peg$c639;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c640);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c641();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c642){s1=peg$c642;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c643);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c641();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c644){s1=peg$c644;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c645);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c646();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c647){s1=peg$c647;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c648);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c646();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c649){s1=peg$c649;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c650);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c651();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c652){s1=peg$c652;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c653);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c651();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c654){s1=peg$c654;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c655);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c656();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c657){s1=peg$c657;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c658);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c656();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c659){s1=peg$c659;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c660);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c661();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c662){s1=peg$c662;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c663);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c661();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c664){s1=peg$c664;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c665);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c666();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c667){s1=peg$c667;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c668);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c666();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c669){s1=peg$c669;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c670);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c671();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c672){s1=peg$c672;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c673);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c671();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c674){s1=peg$c674;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c675);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c676();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c677){s1=peg$c677;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c678);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c676();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c679){s1=peg$c679;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c680);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c681();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c682){s1=peg$c682;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c683);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c681();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c684){s1=peg$c684;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c685);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c686();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c687){s1=peg$c687;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c688);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c686();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c689){s1=peg$c689;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c690);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c691();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,13)===peg$c692){s1=peg$c692;peg$currPos+=13;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c693);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c691();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c694){s1=peg$c694;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c695);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c696();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c697){s1=peg$c697;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c698);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c696();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c699){s1=peg$c699;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c700);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c701();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c702){s1=peg$c702;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c703);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c701();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c704){s1=peg$c704;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c705);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c706();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c707){s1=peg$c707;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c708);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c706();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c709){s1=peg$c709;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c710);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c711();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c712){s1=peg$c712;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c713);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c711();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c714){s1=peg$c714;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c715);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c716();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c717){s1=peg$c717;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c718);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c716();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c719){s1=peg$c719;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c720);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c721();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c722){s1=peg$c722;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c723);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c721();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c724){s1=peg$c724;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c725);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c726();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c727){s1=peg$c727;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c728);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c726();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c729){s1=peg$c729;peg$currPos+=3;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c730);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c731();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c732){s1=peg$c732;peg$currPos+=3;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c733);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c731();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c734){s1=peg$c734;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c735);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c736();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c737){s1=peg$c737;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c738);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c736();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c739){s1=peg$c739;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c740);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c741();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c742){s1=peg$c742;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c743);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c741();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c744){s1=peg$c744;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c745);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c746();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c747){s1=peg$c747;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c748);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c746();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c749){s1=peg$c749;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c750);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c751();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c752){s1=peg$c752;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c753);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c751();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c754){s1=peg$c754;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c755);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c756();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c757){s1=peg$c757;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c758);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c756();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c759){s1=peg$c759;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c760);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c761();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c762){s1=peg$c762;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c763);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c761();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c764){s1=peg$c764;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c765);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c766();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,8)===peg$c767){s1=peg$c767;peg$currPos+=8;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c768);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c766();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c769){s1=peg$c769;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c770);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c771();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c772){s1=peg$c772;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c773);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c771();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c774){s1=peg$c774;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c775);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c776();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c777){s1=peg$c777;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c778);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c776();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c779){s1=peg$c779;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c780);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c781();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c782){s1=peg$c782;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c783);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c781();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c784){s1=peg$c784;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c785);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c786();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c787){s1=peg$c787;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c788);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c786();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c789){s1=peg$c789;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c790);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c791();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c792){s1=peg$c792;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c793);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c791();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c794){s1=peg$c794;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c795);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c791();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c796){s1=peg$c796;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c797);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c791();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c798){s1=peg$c798;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c799);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c800();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c801){s1=peg$c801;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c802);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c800();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c803){s1=peg$c803;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c804);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c805();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c806){s1=peg$c806;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c807);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c805();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c808){s1=peg$c808;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c809);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c810();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c811){s1=peg$c811;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c812);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c810();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c813){s1=peg$c813;peg$currPos+=3;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c814);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c815();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,3)===peg$c816){s1=peg$c816;peg$currPos+=3;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c817);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c815();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c818){s1=peg$c818;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c819);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c820();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,4)===peg$c821){s1=peg$c821;peg$currPos+=4;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c822);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c820();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c823){s1=peg$c823;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c824);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c825();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,7)===peg$c826){s1=peg$c826;peg$currPos+=7;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c827);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c825();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c828){s1=peg$c828;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c829);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c830();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c831){s1=peg$c831;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c832);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c830();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c833){s1=peg$c833;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c834);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c835();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,9)===peg$c836){s1=peg$c836;peg$currPos+=9;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c837);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c835();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c838){s1=peg$c838;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c839);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c840();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c841){s1=peg$c841;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c842);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c840();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c843){s1=peg$c843;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c844);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c845();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c846){s1=peg$c846;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c847);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c845();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c848){s1=peg$c848;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c849);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c850();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,5)===peg$c851){s1=peg$c851;peg$currPos+=5;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c852);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c850();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c853){s1=peg$c853;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c854);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c855();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,10)===peg$c856){s1=peg$c856;peg$currPos+=10;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c857);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c855();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c858){s1=peg$c858;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c859);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c860();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,6)===peg$c861){s1=peg$c861;peg$currPos+=6;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c862);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c860();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c863){s1=peg$c863;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c864);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c865();}s0=s1;if(s0===peg$FAILED){s0=peg$currPos;if(input.substr(peg$currPos,11)===peg$c866){s1=peg$c866;peg$currPos+=11;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c867);}}if(s1!==peg$FAILED){peg$savedPos=s0;s1=peg$c865();}s0=s1;}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}return s0;}function peg$parseSvgColor(){var s0,s1,s2;s0=peg$currPos;s1=peg$parseSvgColorLabel();if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null;}if(s2!==peg$FAILED){s1=[s1,s2];s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseRgb3(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c868;peg$currPos++;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c869);}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c870(s2,s3,s4);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseRgb6(){var s0,s1,s2,s3,s4,s5,s6,s7,s8;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c868;peg$currPos++;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c869);}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseHexDigit();if(s5!==peg$FAILED){s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseWS();if(s8===peg$FAILED){s8=null;}if(s8!==peg$FAILED){peg$savedPos=s0;s1=peg$c871(s2,s3,s4,s5,s6,s7);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseRgba4(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c868;peg$currPos++;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c869);}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseHexDigit();if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null;}if(s6!==peg$FAILED){peg$savedPos=s0;s1=peg$c872(s2,s3,s4,s5);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseRgba8(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===35){s1=peg$c868;peg$currPos++;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c869);}}if(s1!==peg$FAILED){s2=peg$parseHexDigit();if(s2!==peg$FAILED){s3=peg$parseHexDigit();if(s3!==peg$FAILED){s4=peg$parseHexDigit();if(s4!==peg$FAILED){s5=peg$parseHexDigit();if(s5!==peg$FAILED){s6=peg$parseHexDigit();if(s6!==peg$FAILED){s7=peg$parseHexDigit();if(s7!==peg$FAILED){s8=peg$parseHexDigit();if(s8!==peg$FAILED){s9=peg$parseHexDigit();if(s9!==peg$FAILED){s10=peg$parseWS();if(s10===peg$FAILED){s10=null;}if(s10!==peg$FAILED){peg$savedPos=s0;s1=peg$c873(s2,s3,s4,s5,s6,s7,s8,s9);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseColor(){var s0,s1;peg$silentFails++;s0=peg$parseSvgColor();if(s0===peg$FAILED){s0=peg$parseRgb3();if(s0===peg$FAILED){s0=peg$parseRgb6();if(s0===peg$FAILED){s0=peg$parseRgba4();if(s0===peg$FAILED){s0=peg$parseRgba8();}}}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c874);}}return s0;}function peg$parseArrowItemKey(){var s0;if(input.substr(peg$currPos,9)===peg$c875){s0=peg$c875;peg$currPos+=9;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c876);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c877){s0=peg$c877;peg$currPos+=10;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c878);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c879){s0=peg$c879;peg$currPos+=10;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c880);}}}}return s0;}function peg$parseArrowItem(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){s2=peg$parseArrowItemKey();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseLabel();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c885(s2,s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseSingleEdgeColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c887){s2=peg$c887;peg$currPos+=10;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c888);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c889(s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c886);}}return s0;}function peg$parseArrowItems(){var s0,s1;s0=peg$parseSingleEdgeColor();if(s0===peg$FAILED){s0=[];s1=peg$parseArrowItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseArrowItem();}}else{s0=peg$FAILED;}}return s0;}function peg$parseArrowDesc(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===123){s1=peg$c890;peg$currPos++;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c891);}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null;}if(s2!==peg$FAILED){s3=peg$parseArrowItems();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){s4=peg$parseWS();if(s4===peg$FAILED){s4=null;}if(s4!==peg$FAILED){if(input.charCodeAt(peg$currPos)===125){s5=peg$c892;peg$currPos++;}else{s5=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c893);}}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c894(s3);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseArrowProbability(){var s0,s1,s2;s0=peg$currPos;s1=peg$parseNonNegNumber();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===37){s2=peg$c895;peg$currPos++;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c896);}}if(s2!==peg$FAILED){peg$savedPos=s0;s1=peg$c897(s1);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseLabelList(){var s0,s1,s2,s3,s4,s5,s6;s0=peg$currPos;if(input.charCodeAt(peg$currPos)===91){s1=peg$c898;peg$currPos++;}else{s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c899);}}if(s1!==peg$FAILED){s2=peg$parseWS();if(s2===peg$FAILED){s2=null;}if(s2!==peg$FAILED){s3=[];s4=peg$currPos;s5=peg$parseLabel();if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null;}if(s6!==peg$FAILED){s5=[s5,s6];s4=s5;}else{peg$currPos=s4;s4=peg$FAILED;}}else{peg$currPos=s4;s4=peg$FAILED;}while(s4!==peg$FAILED){s3.push(s4);s4=peg$currPos;s5=peg$parseLabel();if(s5!==peg$FAILED){s6=peg$parseWS();if(s6===peg$FAILED){s6=null;}if(s6!==peg$FAILED){s5=[s5,s6];s4=s5;}else{peg$currPos=s4;s4=peg$FAILED;}}else{peg$currPos=s4;s4=peg$FAILED;}}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===93){s4=peg$c900;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c901);}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c902(s3);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseLabelOrLabelList(){var s0;s0=peg$parseLabelList();if(s0===peg$FAILED){s0=peg$parseLabel();}return s0;}function peg$parseSubexp(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){s2=peg$parseActionLabel();if(s2===peg$FAILED){s2=null;}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){s4=peg$parseArrowProbability();if(s4===peg$FAILED){s4=null;}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseArrowDesc();if(s6===peg$FAILED){s6=null;}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){s8=peg$parseArrow();if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){s10=peg$parseArrowDesc();if(s10===peg$FAILED){s10=null;}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null;}if(s11!==peg$FAILED){s12=peg$parseArrowProbability();if(s12===peg$FAILED){s12=null;}if(s12!==peg$FAILED){s13=peg$parseWS();if(s13===peg$FAILED){s13=null;}if(s13!==peg$FAILED){s14=peg$parseActionLabel();if(s14===peg$FAILED){s14=null;}if(s14!==peg$FAILED){s15=peg$parseWS();if(s15===peg$FAILED){s15=null;}if(s15!==peg$FAILED){s16=peg$parseLabelOrLabelList();if(s16!==peg$FAILED){s17=peg$parseWS();if(s17===peg$FAILED){s17=null;}if(s17!==peg$FAILED){s18=peg$parseSubexp();if(s18===peg$FAILED){s18=null;}if(s18!==peg$FAILED){peg$savedPos=s0;s1=peg$c903(s2,s4,s6,s8,s10,s12,s14,s16,s18);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseExp(){var s0,s1,s2,s3,s4,s5;s0=peg$currPos;s1=peg$parseLabelOrLabelList();if(s1!==peg$FAILED){s2=peg$parseSubexp();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c883;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){peg$savedPos=s0;s1=peg$c904(s1,s2);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseValidationKey(){var s0;if(input.substr(peg$currPos,9)===peg$c905){s0=peg$c905;peg$currPos+=9;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c906);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c907){s0=peg$c907;peg$currPos+=4;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c908);}}}return s0;}function peg$parseValidationItem(){var s0,s1,s2,s3,s4;s0=peg$currPos;s1=peg$parseValidationKey();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s2=peg$c881;peg$currPos++;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s2!==peg$FAILED){s3=peg$parseLabel();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c883;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c909(s1,s3);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseValidationItems(){var s0,s1;s0=[];s1=peg$parseValidationItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseValidationItem();}}else{s0=peg$FAILED;}return s0;}function peg$parseConfigValidation(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c910){s2=peg$c910;peg$currPos+=10;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c911);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c890;peg$currPos++;}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c891);}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){s8=peg$parseValidationItems();if(s8===peg$FAILED){s8=null;}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c912){s10=peg$c912;peg$currPos+=2;}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c913);}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null;}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c914(s8);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseGvizLayout(){var s0;if(input.substr(peg$currPos,3)===peg$c915){s0=peg$c915;peg$currPos+=3;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c916);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c917){s0=peg$c917;peg$currPos+=5;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c918);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,3)===peg$c919){s0=peg$c919;peg$currPos+=3;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c920);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,5)===peg$c921){s0=peg$c921;peg$currPos+=5;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c922);}}}}}return s0;}function peg$parseStateItemShapeKey(){var s0;if(input.substr(peg$currPos,8)===peg$c923){s0=peg$c923;peg$currPos+=8;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c924);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c925){s0=peg$c925;peg$currPos+=9;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c926);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c927){s0=peg$c927;peg$currPos+=10;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c928);}}}}return s0;}function peg$parseStateItemShape(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){s2=peg$parseStateItemShapeKey();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseGvizShape();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c885(s2,s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseStateItems(){var s0,s1;s0=[];s1=peg$parseStateItemShape();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseStateItemShape();}}else{s0=peg$FAILED;}return s0;}function peg$parseConfigState(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c929){s2=peg$c929;peg$currPos+=5;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c930);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c890;peg$currPos++;}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c891);}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){s8=peg$parseStateItems();if(s8===peg$FAILED){s8=null;}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c912){s10=peg$c912;peg$currPos+=2;}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c913);}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null;}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c931(s8);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseActionKey(){var s0;if(input.substr(peg$currPos,9)===peg$c905){s0=peg$c905;peg$currPos+=9;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c906);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c907){s0=peg$c907;peg$currPos+=4;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c908);}}}return s0;}function peg$parseActionItem(){var s0,s1,s2,s3,s4;s0=peg$currPos;s1=peg$parseActionKey();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s2=peg$c881;peg$currPos++;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s2!==peg$FAILED){s3=peg$parseLabel();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c883;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c932(s1,s3);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseActionItems(){var s0,s1;s0=[];s1=peg$parseActionItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseActionItem();}}else{s0=peg$FAILED;}return s0;}function peg$parseConfigAction(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,6)===peg$c933){s2=peg$c933;peg$currPos+=6;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c934);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c890;peg$currPos++;}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c891);}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){s8=peg$parseActionItems();if(s8===peg$FAILED){s8=null;}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c912){s10=peg$c912;peg$currPos+=2;}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c913);}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null;}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c935(s8);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseTransitionKey(){var s0;if(input.substr(peg$currPos,9)===peg$c905){s0=peg$c905;peg$currPos+=9;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c906);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,4)===peg$c907){s0=peg$c907;peg$currPos+=4;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c908);}}}return s0;}function peg$parseTransitionItem(){var s0,s1,s2,s3,s4;s0=peg$currPos;s1=peg$parseTransitionKey();if(s1!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s2=peg$c881;peg$currPos++;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s2!==peg$FAILED){s3=peg$parseLabel();if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s4=peg$c883;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s4!==peg$FAILED){peg$savedPos=s0;s1=peg$c936(s1,s3);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseTransitionItems(){var s0,s1;s0=peg$parseGraphDefaultEdgeColor();if(s0===peg$FAILED){s0=[];s1=peg$parseTransitionItem();if(s1!==peg$FAILED){while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseTransitionItem();}}else{s0=peg$FAILED;}}return s0;}function peg$parseGraphDefaultEdgeColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c887){s2=peg$c887;peg$currPos+=10;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c888);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c938(s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c937);}}return s0;}function peg$parseConfigTransition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c939){s2=peg$c939;peg$currPos+=10;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c940);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===123){s6=peg$c890;peg$currPos++;}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c891);}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){s8=peg$parseTransitionItems();if(s8===peg$FAILED){s8=null;}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){if(input.substr(peg$currPos,2)===peg$c912){s10=peg$c912;peg$currPos+=2;}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c913);}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null;}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c941(s8);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseConfigGraphLayout(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c942){s2=peg$c942;peg$currPos+=12;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c943);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseGvizLayout();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c944(s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseConfigStartNodes(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c945){s2=peg$c945;peg$currPos+=12;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c946);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c947(s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseConfigEndNodes(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,10)===peg$c948){s2=peg$c948;peg$currPos+=10;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c949);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c950(s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseConfigGraphBgColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,14)===peg$c951){s2=peg$c951;peg$currPos+=14;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c952);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c953(s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseConfig(){var s0,s1;peg$silentFails++;s0=peg$parseConfigGraphLayout();if(s0===peg$FAILED){s0=peg$parseConfigStartNodes();if(s0===peg$FAILED){s0=peg$parseConfigEndNodes();if(s0===peg$FAILED){s0=peg$parseConfigTransition();if(s0===peg$FAILED){s0=peg$parseConfigAction();if(s0===peg$FAILED){s0=peg$parseConfigState();if(s0===peg$FAILED){s0=peg$parseConfigValidation();if(s0===peg$FAILED){s0=peg$parseConfigGraphBgColor();}}}}}}}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c954);}}return s0;}function peg$parseLicenseOrLabelOrList(){var s0;if(input.substr(peg$currPos,3)===peg$c955){s0=peg$c955;peg$currPos+=3;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c956);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c957){s0=peg$c957;peg$currPos+=12;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c958);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,12)===peg$c959){s0=peg$c959;peg$currPos+=12;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c960);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,10)===peg$c961){s0=peg$c961;peg$currPos+=10;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c962);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,11)===peg$c963){s0=peg$c963;peg$currPos+=11;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c964);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,13)===peg$c965){s0=peg$c965;peg$currPos+=13;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c966);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c967){s0=peg$c967;peg$currPos+=6;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c968);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,6)===peg$c969){s0=peg$c969;peg$currPos+=6;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c970);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c971){s0=peg$c971;peg$currPos+=9;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c972);}}if(s0===peg$FAILED){if(input.substr(peg$currPos,9)===peg$c973){s0=peg$c973;peg$currPos+=9;}else{s0=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c974);}}if(s0===peg$FAILED){s0=peg$parseLabel();if(s0===peg$FAILED){s0=peg$parseLabelList();}}}}}}}}}}}return s0;}function peg$parseStateColor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c975){s2=peg$c975;peg$currPos+=5;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c976);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseColor();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c977(s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseArbitraryStateQuality(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){s2=peg$parseLabel();if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseLabel();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c979(s2,s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c978);}}return s0;}function peg$parseStateQuality(){var s0;s0=peg$parseStateColor();if(s0===peg$FAILED){s0=peg$parseArbitraryStateQuality();}return s0;}function peg$parseStateDef(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13;peg$silentFails++;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c929){s2=peg$c929;peg$currPos+=5;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c930);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){s4=peg$parseLabel();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===91){s6=peg$c898;peg$currPos++;}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c899);}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){s8=[];s9=peg$parseStateQuality();while(s9!==peg$FAILED){s8.push(s9);s9=peg$parseStateQuality();}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){if(input.charCodeAt(peg$currPos)===93){s10=peg$c900;peg$currPos++;}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c901);}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null;}if(s11!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s12=peg$c883;peg$currPos++;}else{s12=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s12!==peg$FAILED){s13=peg$parseWS();if(s13===peg$FAILED){s13=null;}if(s13!==peg$FAILED){peg$savedPos=s0;s1=peg$c981(s4,s8);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}peg$silentFails--;if(s0===peg$FAILED){s1=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c980);}}return s0;}function peg$parseMachineAuthor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,14)===peg$c982){s2=peg$c982;peg$currPos+=14;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c983);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseLabelOrLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c984(s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseMachineContributor(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,19)===peg$c985){s2=peg$c985;peg$currPos+=19;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c986);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseLabelOrLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c987(s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseMachineComment(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,15)===peg$c988){s2=peg$c988;peg$currPos+=15;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c989);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseLabelOrLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c990(s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseMachineDefinition(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,18)===peg$c991){s2=peg$c991;peg$currPos+=18;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c992);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseURL();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c993(s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseMachineName(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,12)===peg$c994){s2=peg$c994;peg$currPos+=12;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c995);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseLabel();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c996(s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseMachineReference(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,17)===peg$c997){s2=peg$c997;peg$currPos+=17;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c998);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseLabelOrLabelList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c999(s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseMachineVersion(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,15)===peg$c1000){s2=peg$c1000;peg$currPos+=15;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1001);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseSemVer();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1002(s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseMachineLicense(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,15)===peg$c1003){s2=peg$c1003;peg$currPos+=15;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1004);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseLicenseOrLabelOrList();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1005(s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseFslVersion(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,11)===peg$c1006){s2=peg$c1006;peg$currPos+=11;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1007);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s4=peg$c881;peg$currPos++;}else{s4=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){s6=peg$parseSemVer();if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s8=peg$c883;peg$currPos++;}else{s8=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){peg$savedPos=s0;s1=peg$c1008(s6);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseStateGroupDef(){var s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11;s0=peg$currPos;s1=peg$parseWS();if(s1===peg$FAILED){s1=null;}if(s1!==peg$FAILED){if(input.substr(peg$currPos,5)===peg$c1009){s2=peg$c1009;peg$currPos+=5;}else{s2=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c1010);}}if(s2!==peg$FAILED){s3=peg$parseWS();if(s3===peg$FAILED){s3=null;}if(s3!==peg$FAILED){s4=peg$parseLabel();if(s4!==peg$FAILED){s5=peg$parseWS();if(s5===peg$FAILED){s5=null;}if(s5!==peg$FAILED){if(input.charCodeAt(peg$currPos)===58){s6=peg$c881;peg$currPos++;}else{s6=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c882);}}if(s6!==peg$FAILED){s7=peg$parseWS();if(s7===peg$FAILED){s7=null;}if(s7!==peg$FAILED){s8=peg$parseLabelOrLabelList();if(s8!==peg$FAILED){s9=peg$parseWS();if(s9===peg$FAILED){s9=null;}if(s9!==peg$FAILED){if(input.charCodeAt(peg$currPos)===59){s10=peg$c883;peg$currPos++;}else{s10=peg$FAILED;if(peg$silentFails===0){peg$fail(peg$c884);}}if(s10!==peg$FAILED){s11=peg$parseWS();if(s11===peg$FAILED){s11=null;}if(s11!==peg$FAILED){peg$savedPos=s0;s1=peg$c1011(s4,s8);s0=s1;}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}}else{peg$currPos=s0;s0=peg$FAILED;}return s0;}function peg$parseTerm(){var s0;s0=peg$parseExp();if(s0===peg$FAILED){s0=peg$parseStateDef();if(s0===peg$FAILED){s0=peg$parseFslVersion();if(s0===peg$FAILED){s0=peg$parseMachineName();if(s0===peg$FAILED){s0=peg$parseMachineAuthor();if(s0===peg$FAILED){s0=peg$parseMachineContributor();if(s0===peg$FAILED){s0=peg$parseMachineComment();if(s0===peg$FAILED){s0=peg$parseMachineDefinition();if(s0===peg$FAILED){s0=peg$parseMachineVersion();if(s0===peg$FAILED){s0=peg$parseMachineLicense();if(s0===peg$FAILED){s0=peg$parseStateGroupDef();if(s0===peg$FAILED){s0=peg$parseConfig();}}}}}}}}}}}return s0;}function peg$parseTermList(){var s0,s1;s0=[];s1=peg$parseTerm();while(s1!==peg$FAILED){s0.push(s1);s1=peg$parseTerm();}return s0;}peg$result=peg$startRuleFunction();if(peg$result!==peg$FAILED&&peg$currPos===input.length){return peg$result;}else{if(peg$result!==peg$FAILED&&peg$currPos<input.length){peg$fail(peg$endExpectation());}throw peg$buildStructuredError(peg$maxFailExpected,peg$maxFailPos<input.length?input.charAt(peg$maxFailPos):null,peg$maxFailPos<input.length?peg$computeLocation(peg$maxFailPos,peg$maxFailPos+1):peg$computeLocation(peg$maxFailPos,peg$maxFailPos));}}module.exports={SyntaxError:peg$SyntaxError,parse:peg$parse};
},{}],2:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var weighted_rand_select = function weighted_rand_select(options) {
var probability_property = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'probability';
if (!Array.isArray(options)) {
throw new TypeError('options must be a non-empty array of objects');
}
if (!(_typeof(options[0]) === 'object')) {
throw new TypeError('options must be a non-empty array of objects');
}
var frand = function frand(cap) {
return Math.random() * cap;
},
or_one = function or_one(item) {
return item === undefined ? 1 : item;
},
prob_sum = options.reduce(function (acc, val) {
return acc + or_one(val[probability_property]);
}, 0),
rnd = frand(prob_sum);
var cursor = 0,
cursor_sum = 0;
while ((cursor_sum += or_one(options[cursor++][probability_property])) <= rnd) {}
return options[cursor - 1];
};
var seq = function seq(n) {
return new Array(n).fill(true).map(function (_, i) {
return i;
});
};
var histograph = function histograph(a) {
return a.sort().reduce(function (m, v) {
return m.set(v, m.has(v) ? m.get(v) + 1 : 1), m;
}, new Map());
};
var weighted_sample_select = function weighted_sample_select(n, options, probability_property) {
return seq(n).map(function (i) {
return weighted_rand_select(options, probability_property);
});
};
var weighted_histo_key = function weighted_histo_key(n, options, probability_property, extract) {
return histograph(weighted_sample_select(n, options, probability_property).map(function (s) {
return s[extract];
}));
};
exports.seq = seq;
exports.histograph = histograph;
exports.weighted_histo_key = weighted_histo_key;
exports.weighted_rand_select = weighted_rand_select;
exports.weighted_sample_select = weighted_sample_select;
},{}],"jssm":[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.weighted_histo_key = exports.weighted_sample_select = exports.histograph = exports.weighted_rand_select = exports.seq = exports.arrow_right_kind = exports.arrow_left_kind = exports.arrow_direction = exports.sm = exports.compile = exports.parse = exports.make = exports.Machine = exports.version = undefined;
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _jssmUtil = require('./jssm-util.js');
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
// whargarbl lots of these return arrays could/should be sets
var parse = require('./jssm-dot.js').parse; // eslint-disable-line flowtype/no-weak-types // todo whargarbl remove any
var version = '5.6.0'; // replaced from package.js in build
function arrow_direction(arrow) {
switch (String(arrow)) {
case '->':case '=>':case '~>':
return 'right';
case '<-':case '<=':case '<~':
return 'left';
case '<->':case '<-=>':case '<-~>':
case '<=>':case '<=->':case '<=~>':
case '<~>':case '<~->':case '<~=>':
return 'both';
default:
throw new Error('arrow_direction: unknown arrow type ' + arrow);
}
}
function arrow_left_kind(arrow) {
switch (String(arrow)) {
case '->':case '=>':case '~>':
return 'none';
case '<-':case '<->':case '<-=>':case '<-~>':
return 'legal';
case '<=':case '<=>':case '<=->':case '<=~>':
return 'main';
case '<~':case '<~>':case '<~->':case '<~=>':
return 'forced';
default:
throw new Error('arrow_direction: unknown arrow type ' + arrow);
}
}
function arrow_right_kind(arrow) {
switch (String(arrow)) {
case '<-':case '<=':case '<~':
return 'none';
case '->':case '<->':case '<=->':case '<~->':
return 'legal';
case '=>':case '<=>':case '<-=>':case '<~=>':
return 'main';
case '~>':case '<~>':case '<-~>':case '<=~>':
return 'forced';
default:
throw new Error('arrow_direction: unknown arrow type ' + arrow);
}
}
function compile_rule_transition_step(acc, from, to, this_se, next_se) {
// todo flow describe the parser representation of a transition step extension
var edges = [];
var uFrom = Array.isArray(from) ? from : [from],
uTo = Array.isArray(to) ? to : [to];
uFrom.map(function (f) {
uTo.map(function (t) {
var rk = arrow_right_kind(this_se.kind),
lk = arrow_left_kind(this_se.kind);
var right = {
from: f,
to: t,
kind: rk,
forced_only: rk === 'forced',
main_path: rk === 'main'
};
if (this_se.r_action) {
right.action = this_se.r_action;
}
if (this_se.r_probability) {
right.probability = this_se.r_probability;
}
if (right.kind !== 'none') {
edges.push(right);
}
var left = {
from: t,
to: f,
kind: lk,
forced_only: lk === 'forced',
main_path: lk === 'main'
};
if (this_se.l_action) {
left.action = this_se.l_action;
}
if (this_se.l_probability) {
left.probability = this_se.l_probability;
}
if (left.kind !== 'none') {
edges.push(left);
}
});
});
var new_acc = acc.concat(edges);
if (next_se) {
return compile_rule_transition_step(new_acc, to, next_se.to, next_se, next_se.se);
} else {
return new_acc;
}
}
function compile_rule_handle_transition(rule) {
// todo flow describe the parser representation of a transition
return compile_rule_transition_step([], rule.from, rule.se.to, rule.se, rule.se.se);
}
function compile_rule_handler(rule) {
// todo flow describe the output of the parser
if (rule.key === 'transition') {
return { agg_as: 'transition', val: compile_rule_handle_transition(rule) };
}
var tautologies = ['graph_layout', 'start_states', 'end_states', 'machine_name', 'machine_version', 'machine_comment', 'machine_author', 'machine_contributor', 'machine_definition', 'machine_reference', 'machine_license', 'fsl_version'];
if (tautologies.includes(rule.key)) {
return { agg_as: rule.key, val: rule.value };
}
throw new Error('compile_rule_handler: Unknown rule: ' + JSON.stringify(rule));
}
function compile(tree) {
var _ref;
// todo flow describe the output of the parser
var results = {
graph_layout: [],
transition: [],
start_states: [],
end_states: [],
fsl_version: [],
machine_author: [],
machine_comment: [],
machine_contributor: [],
machine_definition: [],
machine_license: [],
machine_name: [],
machine_version: []
};
tree.map(function (tr) {
var rule = compile_rule_handler(tr),
agg_as = rule.agg_as,
val = rule.val; // todo better types
results[agg_as] = results[agg_as].concat(val);
});
var assembled_transitions = (_ref = []).concat.apply(_ref, _toConsumableArray(results['transition']));
var result_cfg = {
start_states: results.start_states.length ? results.start_states : [assembled_transitions[0].from],
transitions: assembled_transitions
};
var oneOnlyKeys = ['graph_layout', 'machine_name', 'machine_version', 'machine_comment', 'fsl_version', 'machine_license'];
oneOnlyKeys.map(function (oneOnlyKey) {
if (results[oneOnlyKey].length > 1) {
throw new Error('May only have one ' + oneOnlyKey + ' statement maximum: ' + JSON.stringify(results[oneOnlyKey]));
} else {
if (results[oneOnlyKey].length) {
result_cfg[oneOnlyKey] = results[oneOnlyKey][0];
}
}
});
['machine_author'].map(function (multiKey) {
if (results[multiKey].length) {
result_cfg[multiKey] = results[multiKey];
}
});
return result_cfg;
}
function make(plan) {
return compile(parse(plan));
}
var Machine = function () {
// whargarbl this badly needs to be broken up, monolith master
function Machine(_ref2) {
var _this = this;
var start_states = _ref2.start_states,
_ref2$complete = _ref2.complete,
complete = _ref2$complete === undefined ? [] : _ref2$complete,
transitions = _ref2.transitions,
_ref2$graph_layout = _ref2.graph_layout,
graph_layout = _ref2$graph_layout === undefined ? 'dot' : _ref2$graph_layout;
_classCallCheck(this, Machine);
this._state = start_states[0];
this._states = new Map();
this._edges = [];
this._edge_map = new Map();
this._named_transitions = new Map();
this._actions = new Map();
this._reverse_actions = new Map();
this._reverse_action_targets = new Map(); // todo
this._graph_layout = graph_layout;
transitions.map(function (tr) {
if (tr.from === undefined) {
throw new Error('transition must define \'from\': ' + JSON.stringify(tr));
}
if (tr.to === undefined) {
throw new Error('transition must define \'to\': ' + JSON.stringify(tr));
}
// get the cursors. what a mess
var cursor_from = _this._states.get(tr.from) || { name: tr.from, from: [], to: [], complete: complete.includes(tr.from) };
if (!_this._states.has(tr.from)) {
_this._new_state(cursor_from);
}
var cursor_to = _this._states.get(tr.to) || { name: tr.to, from: [], to: [], complete: complete.includes(tr.to) };
if (!_this._states.has(tr.to)) {
_this._new_state(cursor_to);
}
// guard against existing connections being re-added
if (cursor_from.to.includes(tr.to)) {
throw new Error('already has ' + JSON.stringify(tr.from) + ' to ' + JSON.stringify(tr.to));
} else {
cursor_from.to.push(tr.to);
cursor_to.from.push(tr.from);
}
// add the edge; note its id
_this._edges.push(tr);
var thisEdgeId = _this._edges.length - 1;
// guard against repeating a transition name
if (tr.name) {
if (_this._named_transitions.has(tr.name)) {
throw new Error('named transition "' + JSON.stringify(tr.name) + '" already created');
} else {
_this._named_transitions.set(tr.name, thisEdgeId);
}
}
// set up the mapping, so that edges can be looked up by endpoint pairs
var from_mapping = _this._edge_map.get(tr.from) || new Map();
if (!_this._edge_map.has(tr.from)) {
_this._edge_map.set(tr.from, from_mapping);
}
// const to_mapping = from_mapping.get(tr.to);
from_mapping.set(tr.to, thisEdgeId); // already checked that this mapping doesn't exist, above
// set up the action mapping, so that actions can be looked up by origin
if (tr.action) {
// forward mapping first by action name
var actionMap = _this._actions.get(tr.action);
if (!actionMap) {
actionMap = new Map();
_this._actions.set(tr.action, actionMap);
}
if (actionMap.has(tr.from)) {
throw new Error('action ' + JSON.stringify(tr.action) + ' already attached to origin ' + JSON.stringify(tr.from));
} else {
actionMap.set(tr.from, thisEdgeId);
}
// reverse mapping first by state origin name
var rActionMap = _this._reverse_actions.get(tr.from);
if (!rActionMap) {
rActionMap = new Map();
_this._reverse_actions.set(tr.from, rActionMap);
}
// no need to test for reverse mapping pre-presence;
// forward mapping already covers collisions
rActionMap.set(tr.action, thisEdgeId);
// reverse mapping first by state target name
if (!_this._reverse_action_targets.has(tr.to)) {
_this._reverse_action_targets.set(tr.to, new Map());
}
/* todo comeback
fundamental problem is roActionMap needs to be a multimap
const roActionMap = this._reverse_action_targets.get(tr.to); // wasteful - already did has - refactor
if (roActionMap) {
if (roActionMap.has(tr.action)) {
throw new Error(`ro-action ${tr.to} already attached to action ${tr.action}`);
} else {
roActionMap.set(tr.action, thisEdgeId);
}
} else {
throw new Error('should be impossible - flow doesn\'t know .set precedes .get yet again. severe error?');
}
*/
}
});
}
_createClass(Machine, [{
key: '_new_state',
value: function _new_state(state_config) {
// whargarbl get that state_config any under control
if (this._states.has(state_config.name)) {
throw new Error('state ' + JSON.stringify(state_config.name) + ' already exists');
}
this._states.set(state_config.name, state_config);
return state_config.name;
}
}, {
key: 'state',
value: function state() {
return this._state;
}
/* whargarbl todo major
when we reimplement this, reintroduce this change to the is_final call
is_changing() : boolean {
return true; // todo whargarbl
}
*/
}, {
key: 'state_is_final',
value: function state_is_final(whichState) {
return this.state_is_terminal(whichState) && this.state_is_complete(whichState);
}
}, {
key: 'is_final',
value: function is_final() {
// return ((!this.is_changing()) && this.state_is_final(this.state()));
return this.state_is_final(this.state());
}
}, {
key: 'graph_layout',
value: function graph_layout() {
return String(this._graph_layout);
}
}, {
key: 'machine_state',
value: function machine_state() {
return {
internal_state_impl_version: 1,
actions: this._actions,
edge_map: this._edge_map,
edges: this._edges,
named_transitions: this._named_transitions,
reverse_actions: this._reverse_actions,
// reverse_action_targets : this._reverse_action_targets,
state: this._state,
states: this._states
};
}
/*
load_machine_state() : boolean {
return false; // todo whargarbl
}
*/
}, {
key: 'states',
value: function states() {
return [].concat(_toConsumableArray(this._states.keys()));
}
}, {
key: 'state_for',
value: function state_for(whichState) {
var state = this._states.get(whichState);
if (state) {
return state;
} else {
throw new Error('no such state ' + JSON.stringify(state));
}
}
}, {
key: 'list_edges',
value: function list_edges() {
return this._edges;
}
}, {
key: 'list_named_transitions',
value: function list_named_transitions() {
return this._named_transitions;
}
}, {
key: 'list_actions',
value: function list_actions() {
return [].concat(_toConsumableArray(this._actions.keys()));
}
}, {
key: 'get_transition_by_state_names',
value: function get_transition_by_state_names(from, to) {
var emg = this._edge_map.get(from);
if (emg) {
return emg.get(to);
} else {
return undefined;
}
}
}, {
key: 'lookup_transition_for',
value: function lookup_transition_for(from, to) {
var id = this.get_transition_by_state_names(from, to);
return id === undefined || id === null ? undefined : this._edges[id];
}
}, {
key: 'list_transitions',
value: function list_transitions() {
var whichState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.state();
return { entrances: this.list_entrances(whichState), exits: this.list_exits(whichState) };
}
}, {
key: 'list_entrances',
value: function list_entrances() {
var whichState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.state();
return (this._states.get(whichState) || {}).from || [];
}
}, {
key: 'list_exits',
value: function list_exits() {
var whichState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.state();
return (this._states.get(whichState) || {}).to || [];
}
}, {
key: 'probable_exits_for',
value: function probable_exits_for(whichState) {
var _this2 = this;
var wstate = this._states.get(whichState);
if (!wstate) {
throw new Error('No such state ' + JSON.stringify(whichState) + ' in probable_exits_for');
}
var wstate_to = wstate.to,
wtf // wstate_to_filtered -> wtf
= wstate_to.map(function (ws) {
return _this2.lookup_transition_for(_this2.state(), ws);
}).filter(Boolean);
return wtf;
}
}, {
key: 'probabilistic_transition',
value: function probabilistic_transition() {
var selected = (0, _jssmUtil.weighted_rand_select)(this.probable_exits_for(this.state()));
return this.transition(selected.to);
}
}, {
key: 'probabilistic_walk',
value: function probabilistic_walk(n) {
var _this3 = this;
return (0, _jssmUtil.seq)(n).map(function () {
var state_was = _this3.state();
_this3.probabilistic_transition();
return state_was;
}).concat([this.state()]);
}
}, {
key: 'probabilistic_histo_walk',
value: function probabilistic_histo_walk(n) {
return (0, _jssmUtil.histograph)(this.probabilistic_walk(n));
}
}, {
key: 'actions',
value: function actions() {
var whichState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.state();
var wstate = this._reverse_actions.get(whichState);
if (wstate) {
return [].concat(_toConsumableArray(wstate.keys()));
} else {
throw new Error('No such state ' + JSON.stringify(whichState));
}
}
}, {
key: 'list_states_having_action',
value: function list_states_having_action(whichState) {
var wstate = this._actions.get(whichState);
if (wstate) {
return [].concat(_toConsumableArray(wstate.keys()));
} else {
throw new Error('No such state ' + JSON.stringify(whichState));
}
}
// comeback
/*
list_entrance_actions(whichState : mNT = this.state() ) : Array<mNT> {
return [... (this._reverse_action_targets.get(whichState) || new Map()).values()] // wasteful
.map( (edgeId:any) => (this._edges[edgeId] : any)) // whargarbl burn out any
.filter( (o:any) => o.to === whichState)
.map( filtered => filtered.from );
}
*/
}, {
key: 'list_exit_actions',
value: function list_exit_actions() {
var _this4 = this;
var whichState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.state();
// these are mNT, not ?mNT
var ra_base = this._reverse_actions.get(whichState);
if (!ra_base) {
throw new Error('No such state ' + JSON.stringify(whichState));
}
return [].concat(_toConsumableArray(ra_base.values())).map(function (edgeId) {
return _this4._edges[edgeId];
}).filter(function (o) {
return o.from === whichState;
}).map(function (filtered) {
return filtered.action;
});
}
}, {
key: 'probable_action_exits',
value: function probable_action_exits() {
var _this5 = this;
var whichState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.state();
// these are mNT
var ra_base = this._reverse_actions.get(whichState);
if (!ra_base) {
throw new Error('No such state ' + JSON.stringify(whichState));
}
return [].concat(_toConsumableArray(ra_base.values())).map(function (edgeId) {
return _this5._edges[edgeId];
}).filter(function (o) {
return o.from === whichState;
}).map(function (filtered) {
return { action: filtered.action,
probability: filtered.probability };
});
}
}, {
key: 'is_unenterable',
value: function is_unenterable(whichState) {
// whargarbl should throw on unknown state
return this.list_entrances(whichState).length === 0;
}
}, {
key: 'has_unenterables',
value: function has_unenterables() {
var _this6 = this;
return this.states().some(function (x) {
return _this6.is_unenterable(x);
});
}
}, {
key: 'is_terminal',
value: function is_terminal() {
return this.state_is_terminal(this.state());
}
}, {
key: 'state_is_terminal',
value: function state_is_terminal(whichState) {
// whargarbl should throw on unknown state
return this.list_exits(whichState).length === 0;
}
}, {
key: 'has_terminals',
value: function has_terminals() {
var _this7 = this;
return this.states().some(function (x) {
return _this7.state_is_terminal(x);
});
}
}, {
key: 'is_complete',
value: function is_complete() {
return this.state_is_complete(this.state());
}
}, {
key: 'state_is_complete',
value: function state_is_complete(whichState) {
var wstate = this._states.get(whichState);
if (wstate) {
return wstate.complete;
} else {
throw new Error('No such state ' + JSON.stringify(whichState));
}
}
}, {
key: 'has_completes',
value: function has_completes() {
var _this8 = this;
return this.states().some(function (x) {
return _this8.state_is_complete(x);
});
}
}, {
key: 'action',
value: function action(name, newData) {
// todo whargarbl implement hooks
// todo whargarbl implement data stuff
// todo major incomplete whargarbl comeback
if (this.valid_action(name, newData)) {
var edge = this.current_action_edge_for(name);
this._state = edge.to;
return true;
} else {
return false;
}
}
}, {
key: 'transition',
value: function transition(newState, newData) {
// todo whargarbl implement hooks
// todo whargarbl implement data stuff
// todo major incomplete whargarbl comeback
if (this.valid_transition(newState, newData)) {
this._state = newState;
return true;
} else {
return false;
}
}
// can leave machine in inconsistent state. generally do not use
}, {
key: 'force_transition',
value: function force_transition(newState, newData) {
// todo whargarbl implement hooks
// todo whargarbl implement data stuff
// todo major incomplete whargarbl comeback
if (this.valid_force_transition(newState, newData)) {
this._state = newState;
return true;
} else {
return false;
}
}
}, {
key: 'current_action_for',
value: function current_action_for(action) {
var action_base = this._actions.get(action);
return action_base ? action_base.get(this.state()) : undefined;
}
}, {
key: 'current_action_edge_for',
value: function current_action_edge_for(action) {
var idx = this.current_action_for(action);
if (idx === undefined || idx === null) {
throw new Error('No such action ' + JSON.stringify(action));
}
return this._edges[idx];
}
}, {
key: 'valid_action',
value: function valid_action(action, _newData) {
// todo comeback unignore newData
// todo whargarbl implement hooks
// todo whargarbl implement data stuff
// todo major incomplete whargarbl comeback
return this.current_action_for(action) !== undefined;
}
}, {
key: 'valid_transition',
value: function valid_transition(newState, _newData) {
// todo comeback unignore newData
// todo whargarbl implement hooks
// todo whargarbl implement data stuff
var transition_for = this.lookup_transition_for(this.state(), newState);
if (!transition_for) {
return false;
}
if (transition_for.forced_only) {
return false;
}
return true;
}
}, {
key: 'valid_force_transition',
value: function valid_force_transition(newState, _newData) {
// todo comeback unignore newData
// todo whargarbl implement hooks
// todo whargarbl implement data stuff
// todo major incomplete whargarbl comeback
return this.lookup_transition_for(this.state(), newState) !== undefined;
}
}]);
return Machine;
}();
function sm(template_strings /* , arguments */) {
var _arguments = arguments;
// foo`a${1}b${2}c` will come in as (['a','b','c'],1,2)
// this includes when a and c are empty strings
// therefore template_strings will always have one more el than template_args
// therefore map the smaller container and toss the last one on on the way out
return new Machine(make(template_strings.reduce(
// in general avoiding `arguments` is smart. however with the template
// string notation, as designed, it's not really worth the hassle
/* eslint-disable fp/no-arguments */
/* eslint-disable prefer-rest-params */
function (acc, val, idx) {
return '' + acc + _arguments[idx] + val;
} // arguments[0] is never loaded, so args doesn't need to be gated
/* eslint-enable prefer-rest-params */
/* eslint-enable fp/no-arguments */
)));
}
exports.version = version;
exports.Machine = Machine;
exports.make = make;
exports.parse = parse;
exports.compile = compile;
exports.sm = sm;
exports.arrow_direction = arrow_direction;
exports.arrow_left_kind = arrow_left_kind;
exports.arrow_right_kind = arrow_right_kind;
exports.seq = _jssmUtil.seq;
exports.weighted_rand_select = _jssmUtil.weighted_rand_select;
exports.histograph = _jssmUtil.histograph;
exports.weighted_sample_select = _jssmUtil.weighted_sample_select;
exports.weighted_histo_key = _jssmUtil.weighted_histo_key;
},{"./jssm-dot.js":1,"./jssm-util.js":2}]},{},[]);