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