{
  "type": "Program",
  "start": 0,
  "end": 10452,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 256,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 0,
      "end": 48,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 48
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 7,
          "end": 17,
          "loc": {
            "start": {
              "line": 1,
              "column": 7
            },
            "end": {
              "line": 1,
              "column": 17
            }
          },
          "local": {
            "type": "Identifier",
            "start": 7,
            "end": 17,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 17
              }
            },
            "name": "Statements"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 23,
        "end": 47,
        "loc": {
          "start": {
            "line": 1,
            "column": 23
          },
          "end": {
            "line": 1,
            "column": 47
          }
        },
        "value": "../sketcher/statements",
        "rawValue": "../sketcher/statements",
        "raw": "'../sketcher/statements'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 50,
      "end": 115,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 65
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 58,
          "end": 72,
          "loc": {
            "start": {
              "line": 2,
              "column": 8
            },
            "end": {
              "line": 2,
              "column": 22
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 58,
            "end": 72,
            "loc": {
              "start": {
                "line": 2,
                "column": 8
              },
              "end": {
                "line": 2,
                "column": 22
              }
            },
            "name": "ClassCadObject"
          },
          "local": {
            "type": "Identifier",
            "start": 58,
            "end": 72,
            "loc": {
              "start": {
                "line": 2,
                "column": 8
              },
              "end": {
                "line": 2,
                "column": 22
              }
            },
            "name": "ClassCadObject"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 74,
          "end": 84,
          "loc": {
            "start": {
              "line": 2,
              "column": 24
            },
            "end": {
              "line": 2,
              "column": 34
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 74,
            "end": 84,
            "loc": {
              "start": {
                "line": 2,
                "column": 24
              },
              "end": {
                "line": 2,
                "column": 34
              }
            },
            "name": "RootObject"
          },
          "local": {
            "type": "Identifier",
            "start": 74,
            "end": 84,
            "loc": {
              "start": {
                "line": 2,
                "column": 24
              },
              "end": {
                "line": 2,
                "column": 34
              }
            },
            "name": "RootObject"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 91,
        "end": 114,
        "loc": {
          "start": {
            "line": 2,
            "column": 41
          },
          "end": {
            "line": 2,
            "column": 64
          }
        },
        "value": "../sketcher/ccobjects",
        "rawValue": "../sketcher/ccobjects",
        "raw": "'../sketcher/ccobjects'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 117,
      "end": 143,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 124,
          "end": 129,
          "loc": {
            "start": {
              "line": 3,
              "column": 7
            },
            "end": {
              "line": 3,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 124,
            "end": 129,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 12
              }
            },
            "name": "THREE"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 135,
        "end": 142,
        "loc": {
          "start": {
            "line": 3,
            "column": 18
          },
          "end": {
            "line": 3,
            "column": 25
          }
        },
        "value": "three",
        "rawValue": "three",
        "raw": "'three'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 145,
      "end": 184,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 39
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 152,
          "end": 159,
          "loc": {
            "start": {
              "line": 4,
              "column": 7
            },
            "end": {
              "line": 4,
              "column": 14
            }
          },
          "local": {
            "type": "Identifier",
            "start": 152,
            "end": 159,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 14
              }
            },
            "name": "Object3"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 165,
        "end": 183,
        "loc": {
          "start": {
            "line": 4,
            "column": 20
          },
          "end": {
            "line": 4,
            "column": 38
          }
        },
        "value": "../three/object3",
        "rawValue": "../three/object3",
        "raw": "'../three/object3'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 186,
      "end": 233,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 47
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 194,
          "end": 197,
          "loc": {
            "start": {
              "line": 5,
              "column": 8
            },
            "end": {
              "line": 5,
              "column": 11
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 194,
            "end": 197,
            "loc": {
              "start": {
                "line": 5,
                "column": 8
              },
              "end": {
                "line": 5,
                "column": 11
              }
            },
            "name": "url"
          },
          "local": {
            "type": "Identifier",
            "start": 194,
            "end": 197,
            "loc": {
              "start": {
                "line": 5,
                "column": 8
              },
              "end": {
                "line": 5,
                "column": 11
              }
            },
            "name": "url"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 199,
          "end": 208,
          "loc": {
            "start": {
              "line": 5,
              "column": 13
            },
            "end": {
              "line": 5,
              "column": 22
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 199,
            "end": 208,
            "loc": {
              "start": {
                "line": 5,
                "column": 13
              },
              "end": {
                "line": 5,
                "column": 22
              }
            },
            "name": "Timestamp"
          },
          "local": {
            "type": "Identifier",
            "start": 199,
            "end": 208,
            "loc": {
              "start": {
                "line": 5,
                "column": 13
              },
              "end": {
                "line": 5,
                "column": 22
              }
            },
            "name": "Timestamp"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 215,
        "end": 232,
        "loc": {
          "start": {
            "line": 5,
            "column": 29
          },
          "end": {
            "line": 5,
            "column": 46
          }
        },
        "value": "../core/helpers",
        "rawValue": "../core/helpers",
        "raw": "'../core/helpers'"
      },
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": " helper functions to interact with ClassCad",
          "start": 235,
          "end": 280,
          "loc": {
            "start": {
              "line": 6,
              "column": 0
            },
            "end": {
              "line": 6,
              "column": 45
            }
          },
          "range": [
            235,
            280
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 284,
      "end": 332,
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 48
        }
      },
      "declaration": {
        "type": "VariableDeclaration",
        "start": 291,
        "end": 332,
        "loc": {
          "start": {
            "line": 8,
            "column": 7
          },
          "end": {
            "line": 8,
            "column": 48
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 297,
            "end": 331,
            "loc": {
              "start": {
                "line": 8,
                "column": 13
              },
              "end": {
                "line": 8,
                "column": 47
              }
            },
            "id": {
              "type": "Identifier",
              "start": 297,
              "end": 305,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 13
                },
                "end": {
                  "line": 8,
                  "column": 21
                }
              },
              "name": "logLevel",
              "leadingComments": null
            },
            "init": {
              "type": "CallExpression",
              "start": 308,
              "end": 331,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 24
                },
                "end": {
                  "line": 8,
                  "column": 47
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 308,
                "end": 314,
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 24
                  },
                  "end": {
                    "line": 8,
                    "column": 30
                  }
                },
                "name": "Number"
              },
              "arguments": [
                {
                  "type": "CallExpression",
                  "start": 315,
                  "end": 330,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 31
                    },
                    "end": {
                      "line": 8,
                      "column": 46
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 315,
                    "end": 318,
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 31
                      },
                      "end": {
                        "line": 8,
                        "column": 34
                      }
                    },
                    "name": "url"
                  },
                  "arguments": [
                    {
                      "type": "Literal",
                      "start": 319,
                      "end": 329,
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 35
                        },
                        "end": {
                          "line": 8,
                          "column": 45
                        }
                      },
                      "value": "logLevel",
                      "rawValue": "logLevel",
                      "raw": "'logLevel'"
                    }
                  ]
                }
              ]
            },
            "leadingComments": null
          }
        ],
        "kind": "const",
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " helper functions to interact with ClassCad",
            "start": 235,
            "end": 280,
            "loc": {
              "start": {
                "line": 6,
                "column": 0
              },
              "end": {
                "line": 6,
                "column": 45
              }
            },
            "range": [
              235,
              280
            ]
          }
        ],
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": " execute one ClassCad command and return its result in a Promise",
            "start": 336,
            "end": 402,
            "loc": {
              "start": {
                "line": 10,
                "column": 0
              },
              "end": {
                "line": 10,
                "column": 66
              }
            },
            "range": [
              336,
              402
            ]
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": " helper functions to interact with ClassCad",
          "start": 235,
          "end": 280,
          "loc": {
            "start": {
              "line": 6,
              "column": 0
            },
            "end": {
              "line": 6,
              "column": 45
            }
          },
          "range": [
            235,
            280
          ]
        }
      ],
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": " execute one ClassCad command and return its result in a Promise",
          "start": 336,
          "end": 402,
          "loc": {
            "start": {
              "line": 10,
              "column": 0
            },
            "end": {
              "line": 10,
              "column": 66
            }
          },
          "range": [
            336,
            402
          ]
        }
      ]
    },
    {
      "type": "Identifier",
      "start": 404,
      "end": 736,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 17,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 413,
        "end": 420,
        "loc": {
          "start": {
            "line": 11,
            "column": 9
          },
          "end": {
            "line": 11,
            "column": 16
          }
        },
        "name": "execute",
        "leadingComments": null
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 421,
          "end": 427,
          "loc": {
            "start": {
              "line": 11,
              "column": 17
            },
            "end": {
              "line": 11,
              "column": 23
            }
          },
          "name": "socket"
        },
        {
          "type": "Identifier",
          "start": 429,
          "end": 432,
          "loc": {
            "start": {
              "line": 11,
              "column": 25
            },
            "end": {
              "line": 11,
              "column": 28
            }
          },
          "name": "cmd"
        },
        {
          "type": "Identifier",
          "start": 434,
          "end": 441,
          "loc": {
            "start": {
              "line": 11,
              "column": 30
            },
            "end": {
              "line": 11,
              "column": 37
            }
          },
          "name": "factory"
        },
        {
          "type": "Identifier",
          "start": 443,
          "end": 453,
          "loc": {
            "start": {
              "line": 11,
              "column": 39
            },
            "end": {
              "line": 11,
              "column": 49
            }
          },
          "name": "attributes"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 455,
        "end": 736,
        "loc": {
          "start": {
            "line": 11,
            "column": 51
          },
          "end": {
            "line": 17,
            "column": 1
          }
        },
        "body": [
          {
            "type": "IfStatement",
            "start": 462,
            "end": 517,
            "loc": {
              "start": {
                "line": 12,
                "column": 4
              },
              "end": {
                "line": 13,
                "column": 24
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 466,
              "end": 490,
              "loc": {
                "start": {
                  "line": 12,
                  "column": 8
                },
                "end": {
                  "line": 12,
                  "column": 32
                }
              },
              "left": {
                "type": "Identifier",
                "start": 466,
                "end": 476,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 8
                  },
                  "end": {
                    "line": 12,
                    "column": 18
                  }
                },
                "name": "attributes"
              },
              "operator": "===",
              "right": {
                "type": "Identifier",
                "start": 481,
                "end": 490,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 23
                  },
                  "end": {
                    "line": 12,
                    "column": 32
                  }
                },
                "name": "undefined"
              }
            },
            "consequent": {
              "type": "ExpressionStatement",
              "start": 501,
              "end": 517,
              "loc": {
                "start": {
                  "line": 13,
                  "column": 8
                },
                "end": {
                  "line": 13,
                  "column": 24
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 501,
                "end": 516,
                "loc": {
                  "start": {
                    "line": 13,
                    "column": 8
                  },
                  "end": {
                    "line": 13,
                    "column": 23
                  }
                },
                "operator": "=",
                "left": {
                  "type": "Identifier",
                  "start": 501,
                  "end": 511,
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 8
                    },
                    "end": {
                      "line": 13,
                      "column": 18
                    }
                  },
                  "name": "attributes"
                },
                "right": {
                  "type": "ObjectExpression",
                  "start": 514,
                  "end": 516,
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 21
                    },
                    "end": {
                      "line": 13,
                      "column": 23
                    }
                  },
                  "properties": []
                }
              }
            },
            "alternate": null
          },
          {
            "type": "IfStatement",
            "start": 523,
            "end": 624,
            "loc": {
              "start": {
                "line": 14,
                "column": 4
              },
              "end": {
                "line": 15,
                "column": 48
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 527,
              "end": 573,
              "loc": {
                "start": {
                  "line": 14,
                  "column": 8
                },
                "end": {
                  "line": 14,
                  "column": 54
                }
              },
              "left": {
                "type": "MemberExpression",
                "start": 527,
                "end": 559,
                "loc": {
                  "start": {
                    "line": 14,
                    "column": 8
                  },
                  "end": {
                    "line": 14,
                    "column": 40
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 527,
                  "end": 537,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 8
                    },
                    "end": {
                      "line": 14,
                      "column": 18
                    }
                  },
                  "name": "attributes"
                },
                "property": {
                  "type": "Identifier",
                  "start": 538,
                  "end": 559,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 19
                    },
                    "end": {
                      "line": 14,
                      "column": 40
                    }
                  },
                  "name": "ignoreNumberOfResults"
                },
                "computed": false
              },
              "operator": "===",
              "right": {
                "type": "Identifier",
                "start": 564,
                "end": 573,
                "loc": {
                  "start": {
                    "line": 14,
                    "column": 45
                  },
                  "end": {
                    "line": 14,
                    "column": 54
                  }
                },
                "name": "undefined"
              }
            },
            "consequent": {
              "type": "ExpressionStatement",
              "start": 584,
              "end": 624,
              "loc": {
                "start": {
                  "line": 15,
                  "column": 8
                },
                "end": {
                  "line": 15,
                  "column": 48
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 584,
                "end": 623,
                "loc": {
                  "start": {
                    "line": 15,
                    "column": 8
                  },
                  "end": {
                    "line": 15,
                    "column": 47
                  }
                },
                "operator": "=",
                "left": {
                  "type": "MemberExpression",
                  "start": 584,
                  "end": 616,
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 8
                    },
                    "end": {
                      "line": 15,
                      "column": 40
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 584,
                    "end": 594,
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 8
                      },
                      "end": {
                        "line": 15,
                        "column": 18
                      }
                    },
                    "name": "attributes"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 595,
                    "end": 616,
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 19
                      },
                      "end": {
                        "line": 15,
                        "column": 40
                      }
                    },
                    "name": "ignoreNumberOfResults"
                  },
                  "computed": false
                },
                "right": {
                  "type": "Literal",
                  "start": 619,
                  "end": 623,
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 43
                    },
                    "end": {
                      "line": 15,
                      "column": 47
                    }
                  },
                  "value": true,
                  "rawValue": true,
                  "raw": "true"
                }
              }
            },
            "alternate": null
          },
          {
            "type": "ReturnStatement",
            "start": 630,
            "end": 733,
            "loc": {
              "start": {
                "line": 16,
                "column": 4
              },
              "end": {
                "line": 16,
                "column": 107
              }
            },
            "argument": {
              "type": "CallExpression",
              "start": 637,
              "end": 732,
              "loc": {
                "start": {
                  "line": 16,
                  "column": 11
                },
                "end": {
                  "line": 16,
                  "column": 106
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 637,
                "end": 721,
                "loc": {
                  "start": {
                    "line": 16,
                    "column": 11
                  },
                  "end": {
                    "line": 16,
                    "column": 95
                  }
                },
                "object": {
                  "type": "CallExpression",
                  "start": 637,
                  "end": 716,
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 11
                    },
                    "end": {
                      "line": 16,
                      "column": 90
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 637,
                    "end": 652,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 11
                      },
                      "end": {
                        "line": 16,
                        "column": 26
                      }
                    },
                    "name": "executePrepared"
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 653,
                      "end": 659,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 27
                        },
                        "end": {
                          "line": 16,
                          "column": 33
                        }
                      },
                      "name": "socket"
                    },
                    {
                      "type": "ArrayExpression",
                      "start": 661,
                      "end": 694,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 35
                        },
                        "end": {
                          "line": 16,
                          "column": 68
                        }
                      },
                      "elements": [
                        {
                          "type": "ObjectExpression",
                          "start": 662,
                          "end": 693,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 36
                            },
                            "end": {
                              "line": 16,
                              "column": 67
                            }
                          },
                          "properties": [
                            {
                              "type": "Property",
                              "start": 663,
                              "end": 681,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 37
                                },
                                "end": {
                                  "line": 16,
                                  "column": 55
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 663,
                                "end": 670,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 44
                                  }
                                },
                                "name": "command"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 672,
                                "end": 681,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 55
                                  }
                                },
                                "value": "Execute",
                                "rawValue": "Execute",
                                "raw": "'Execute'"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 683,
                              "end": 692,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 57
                                },
                                "end": {
                                  "line": 16,
                                  "column": 66
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 683,
                                "end": 687,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 61
                                  }
                                },
                                "name": "task"
                              },
                              "value": {
                                "type": "Identifier",
                                "start": 689,
                                "end": 692,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 66
                                  }
                                },
                                "name": "cmd"
                              },
                              "kind": "init"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "Identifier",
                      "start": 696,
                      "end": 703,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 70
                        },
                        "end": {
                          "line": 16,
                          "column": 77
                        }
                      },
                      "name": "factory"
                    },
                    {
                      "type": "Identifier",
                      "start": 705,
                      "end": 715,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 79
                        },
                        "end": {
                          "line": 16,
                          "column": 89
                        }
                      },
                      "name": "attributes"
                    }
                  ]
                },
                "property": {
                  "type": "Identifier",
                  "start": 717,
                  "end": 721,
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 91
                    },
                    "end": {
                      "line": 16,
                      "column": 95
                    }
                  },
                  "name": "then"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "ArrowFunctionExpression",
                  "start": 722,
                  "end": 731,
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 96
                    },
                    "end": {
                      "line": 16,
                      "column": 105
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": true,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 722,
                      "end": 723,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 96
                        },
                        "end": {
                          "line": 16,
                          "column": 97
                        }
                      },
                      "name": "x"
                    }
                  ],
                  "body": {
                    "type": "MemberExpression",
                    "start": 727,
                    "end": 731,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 101
                      },
                      "end": {
                        "line": 16,
                        "column": 105
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 727,
                      "end": 728,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 101
                        },
                        "end": {
                          "line": 16,
                          "column": 102
                        }
                      },
                      "name": "x"
                    },
                    "property": {
                      "type": "Literal",
                      "start": 729,
                      "end": 730,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 103
                        },
                        "end": {
                          "line": 16,
                          "column": 104
                        }
                      },
                      "value": 0,
                      "rawValue": 0,
                      "raw": "0"
                    },
                    "computed": true
                  }
                }
              ]
            }
          }
        ]
      },
      "leadingComments": [],
      "name": "_",
      "trailingComments": []
    },
    {
      "type": "Identifier",
      "start": 740,
      "end": 914,
      "loc": {
        "start": {
          "line": 19,
          "column": 0
        },
        "end": {
          "line": 21,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 749,
        "end": 762,
        "loc": {
          "start": {
            "line": 19,
            "column": 9
          },
          "end": {
            "line": 19,
            "column": 22
          }
        },
        "name": "executeModels"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 763,
          "end": 769,
          "loc": {
            "start": {
              "line": 19,
              "column": 23
            },
            "end": {
              "line": 19,
              "column": 29
            }
          },
          "name": "socket"
        },
        {
          "type": "Identifier",
          "start": 771,
          "end": 774,
          "loc": {
            "start": {
              "line": 19,
              "column": 31
            },
            "end": {
              "line": 19,
              "column": 34
            }
          },
          "name": "cmd"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 776,
        "end": 914,
        "loc": {
          "start": {
            "line": 19,
            "column": 36
          },
          "end": {
            "line": 21,
            "column": 1
          }
        },
        "body": [
          {
            "type": "ReturnStatement",
            "start": 783,
            "end": 911,
            "loc": {
              "start": {
                "line": 20,
                "column": 4
              },
              "end": {
                "line": 20,
                "column": 132
              }
            },
            "argument": {
              "type": "CallExpression",
              "start": 790,
              "end": 910,
              "loc": {
                "start": {
                  "line": 20,
                  "column": 11
                },
                "end": {
                  "line": 20,
                  "column": 131
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 790,
                "end": 895,
                "loc": {
                  "start": {
                    "line": 20,
                    "column": 11
                  },
                  "end": {
                    "line": 20,
                    "column": 116
                  }
                },
                "object": {
                  "type": "CallExpression",
                  "start": 790,
                  "end": 890,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 11
                    },
                    "end": {
                      "line": 20,
                      "column": 111
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 790,
                    "end": 805,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 11
                      },
                      "end": {
                        "line": 20,
                        "column": 26
                      }
                    },
                    "name": "executePrepared"
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 806,
                      "end": 812,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 27
                        },
                        "end": {
                          "line": 20,
                          "column": 33
                        }
                      },
                      "name": "socket"
                    },
                    {
                      "type": "ArrayExpression",
                      "start": 814,
                      "end": 847,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 35
                        },
                        "end": {
                          "line": 20,
                          "column": 68
                        }
                      },
                      "elements": [
                        {
                          "type": "ObjectExpression",
                          "start": 815,
                          "end": 846,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 36
                            },
                            "end": {
                              "line": 20,
                              "column": 67
                            }
                          },
                          "properties": [
                            {
                              "type": "Property",
                              "start": 816,
                              "end": 834,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 37
                                },
                                "end": {
                                  "line": 20,
                                  "column": 55
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 816,
                                "end": 823,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 44
                                  }
                                },
                                "name": "command"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 825,
                                "end": 834,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 55
                                  }
                                },
                                "value": "Execute",
                                "rawValue": "Execute",
                                "raw": "'Execute'"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 836,
                              "end": 845,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 57
                                },
                                "end": {
                                  "line": 20,
                                  "column": 66
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 836,
                                "end": 840,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 61
                                  }
                                },
                                "name": "task"
                              },
                              "value": {
                                "type": "Identifier",
                                "start": 842,
                                "end": 845,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 66
                                  }
                                },
                                "name": "cmd"
                              },
                              "kind": "init"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "Identifier",
                      "start": 849,
                      "end": 858,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 70
                        },
                        "end": {
                          "line": 20,
                          "column": 79
                        }
                      },
                      "name": "undefined"
                    },
                    {
                      "type": "ObjectExpression",
                      "start": 860,
                      "end": 889,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 81
                        },
                        "end": {
                          "line": 20,
                          "column": 110
                        }
                      },
                      "properties": [
                        {
                          "type": "Property",
                          "start": 861,
                          "end": 888,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 82
                            },
                            "end": {
                              "line": 20,
                              "column": 109
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 861,
                            "end": 882,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 82
                              },
                              "end": {
                                "line": 20,
                                "column": 103
                              }
                            },
                            "name": "ignoreNumberOfResults"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 884,
                            "end": 888,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 105
                              },
                              "end": {
                                "line": 20,
                                "column": 109
                              }
                            },
                            "value": true,
                            "rawValue": true,
                            "raw": "true"
                          },
                          "kind": "init"
                        }
                      ]
                    }
                  ]
                },
                "property": {
                  "type": "Identifier",
                  "start": 891,
                  "end": 895,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 112
                    },
                    "end": {
                      "line": 20,
                      "column": 116
                    }
                  },
                  "name": "then"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "ArrowFunctionExpression",
                  "start": 896,
                  "end": 909,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 117
                    },
                    "end": {
                      "line": 20,
                      "column": 130
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": true,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 896,
                      "end": 897,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 117
                        },
                        "end": {
                          "line": 20,
                          "column": 118
                        }
                      },
                      "name": "x"
                    }
                  ],
                  "body": {
                    "type": "MemberExpression",
                    "start": 901,
                    "end": 909,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 122
                      },
                      "end": {
                        "line": 20,
                        "column": 130
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 901,
                      "end": 902,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 122
                        },
                        "end": {
                          "line": 20,
                          "column": 123
                        }
                      },
                      "name": "x"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 903,
                      "end": 909,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 124
                        },
                        "end": {
                          "line": 20,
                          "column": 130
                        }
                      },
                      "name": "models"
                    },
                    "computed": false
                  }
                }
              ]
            }
          }
        ],
        "trailingComments": null
      },
      "trailingComments": [],
      "name": "_",
      "leadingComments": []
    },
    {
      "type": "FunctionDeclaration",
      "start": 1013,
      "end": 2522,
      "loc": {
        "start": {
          "line": 24,
          "column": 0
        },
        "end": {
          "line": 54,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 1022,
        "end": 1037,
        "loc": {
          "start": {
            "line": 24,
            "column": 9
          },
          "end": {
            "line": 24,
            "column": 24
          }
        },
        "name": "executePrepared",
        "leadingComments": null
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 1038,
          "end": 1044,
          "loc": {
            "start": {
              "line": 24,
              "column": 25
            },
            "end": {
              "line": 24,
              "column": 31
            }
          },
          "name": "socket"
        },
        {
          "type": "Identifier",
          "start": 1046,
          "end": 1054,
          "loc": {
            "start": {
              "line": 24,
              "column": 33
            },
            "end": {
              "line": 24,
              "column": 41
            }
          },
          "name": "commands"
        },
        {
          "type": "Identifier",
          "start": 1056,
          "end": 1063,
          "loc": {
            "start": {
              "line": 24,
              "column": 43
            },
            "end": {
              "line": 24,
              "column": 50
            }
          },
          "name": "factory"
        },
        {
          "type": "Identifier",
          "start": 1065,
          "end": 1075,
          "loc": {
            "start": {
              "line": 24,
              "column": 52
            },
            "end": {
              "line": 24,
              "column": 62
            }
          },
          "name": "attributes"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 1077,
        "end": 2522,
        "loc": {
          "start": {
            "line": 24,
            "column": 64
          },
          "end": {
            "line": 54,
            "column": 1
          }
        },
        "body": [
          {
            "type": "IfStatement",
            "start": 1084,
            "end": 1147,
            "loc": {
              "start": {
                "line": 25,
                "column": 4
              },
              "end": {
                "line": 26,
                "column": 35
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 1088,
              "end": 1109,
              "loc": {
                "start": {
                  "line": 25,
                  "column": 8
                },
                "end": {
                  "line": 25,
                  "column": 29
                }
              },
              "left": {
                "type": "MemberExpression",
                "start": 1088,
                "end": 1103,
                "loc": {
                  "start": {
                    "line": 25,
                    "column": 8
                  },
                  "end": {
                    "line": 25,
                    "column": 23
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 1088,
                  "end": 1096,
                  "loc": {
                    "start": {
                      "line": 25,
                      "column": 8
                    },
                    "end": {
                      "line": 25,
                      "column": 16
                    }
                  },
                  "name": "commands"
                },
                "property": {
                  "type": "Identifier",
                  "start": 1097,
                  "end": 1103,
                  "loc": {
                    "start": {
                      "line": 25,
                      "column": 17
                    },
                    "end": {
                      "line": 25,
                      "column": 23
                    }
                  },
                  "name": "length"
                },
                "computed": false
              },
              "operator": "===",
              "right": {
                "type": "Literal",
                "start": 1108,
                "end": 1109,
                "loc": {
                  "start": {
                    "line": 25,
                    "column": 28
                  },
                  "end": {
                    "line": 25,
                    "column": 29
                  }
                },
                "value": 0,
                "rawValue": 0,
                "raw": "0"
              }
            },
            "consequent": {
              "type": "ReturnStatement",
              "start": 1120,
              "end": 1147,
              "loc": {
                "start": {
                  "line": 26,
                  "column": 8
                },
                "end": {
                  "line": 26,
                  "column": 35
                }
              },
              "argument": {
                "type": "CallExpression",
                "start": 1127,
                "end": 1146,
                "loc": {
                  "start": {
                    "line": 26,
                    "column": 15
                  },
                  "end": {
                    "line": 26,
                    "column": 34
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 1127,
                  "end": 1142,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 15
                    },
                    "end": {
                      "line": 26,
                      "column": 30
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 1127,
                    "end": 1134,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 15
                      },
                      "end": {
                        "line": 26,
                        "column": 22
                      }
                    },
                    "name": "Promise"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 1135,
                    "end": 1142,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 23
                      },
                      "end": {
                        "line": 26,
                        "column": 30
                      }
                    },
                    "name": "resolve"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "ArrayExpression",
                    "start": 1143,
                    "end": 1145,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 31
                      },
                      "end": {
                        "line": 26,
                        "column": 33
                      }
                    },
                    "elements": []
                  }
                ]
              }
            },
            "alternate": null
          },
          {
            "type": "IfStatement",
            "start": 1153,
            "end": 1208,
            "loc": {
              "start": {
                "line": 27,
                "column": 4
              },
              "end": {
                "line": 28,
                "column": 24
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 1157,
              "end": 1181,
              "loc": {
                "start": {
                  "line": 27,
                  "column": 8
                },
                "end": {
                  "line": 27,
                  "column": 32
                }
              },
              "left": {
                "type": "Identifier",
                "start": 1157,
                "end": 1167,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 8
                  },
                  "end": {
                    "line": 27,
                    "column": 18
                  }
                },
                "name": "attributes"
              },
              "operator": "===",
              "right": {
                "type": "Identifier",
                "start": 1172,
                "end": 1181,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 23
                  },
                  "end": {
                    "line": 27,
                    "column": 32
                  }
                },
                "name": "undefined"
              }
            },
            "consequent": {
              "type": "ExpressionStatement",
              "start": 1192,
              "end": 1208,
              "loc": {
                "start": {
                  "line": 28,
                  "column": 8
                },
                "end": {
                  "line": 28,
                  "column": 24
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 1192,
                "end": 1207,
                "loc": {
                  "start": {
                    "line": 28,
                    "column": 8
                  },
                  "end": {
                    "line": 28,
                    "column": 23
                  }
                },
                "operator": "=",
                "left": {
                  "type": "Identifier",
                  "start": 1192,
                  "end": 1202,
                  "loc": {
                    "start": {
                      "line": 28,
                      "column": 8
                    },
                    "end": {
                      "line": 28,
                      "column": 18
                    }
                  },
                  "name": "attributes"
                },
                "right": {
                  "type": "ObjectExpression",
                  "start": 1205,
                  "end": 1207,
                  "loc": {
                    "start": {
                      "line": 28,
                      "column": 21
                    },
                    "end": {
                      "line": 28,
                      "column": 23
                    }
                  },
                  "properties": []
                }
              }
            },
            "alternate": null
          },
          {
            "type": "IfStatement",
            "start": 1214,
            "end": 1391,
            "loc": {
              "start": {
                "line": 29,
                "column": 4
              },
              "end": {
                "line": 33,
                "column": 5
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 1218,
              "end": 1231,
              "loc": {
                "start": {
                  "line": 29,
                  "column": 8
                },
                "end": {
                  "line": 29,
                  "column": 21
                }
              },
              "left": {
                "type": "Identifier",
                "start": 1218,
                "end": 1226,
                "loc": {
                  "start": {
                    "line": 29,
                    "column": 8
                  },
                  "end": {
                    "line": 29,
                    "column": 16
                  }
                },
                "name": "logLevel"
              },
              "operator": ">=",
              "right": {
                "type": "Literal",
                "start": 1230,
                "end": 1231,
                "loc": {
                  "start": {
                    "line": 29,
                    "column": 20
                  },
                  "end": {
                    "line": 29,
                    "column": 21
                  }
                },
                "value": 5,
                "rawValue": 5,
                "raw": "5"
              }
            },
            "consequent": {
              "type": "BlockStatement",
              "start": 1233,
              "end": 1391,
              "loc": {
                "start": {
                  "line": 29,
                  "column": 23
                },
                "end": {
                  "line": 33,
                  "column": 5
                }
              },
              "body": [
                {
                  "type": "IfStatement",
                  "start": 1244,
                  "end": 1292,
                  "loc": {
                    "start": {
                      "line": 30,
                      "column": 8
                    },
                    "end": {
                      "line": 31,
                      "column": 28
                    }
                  },
                  "test": {
                    "type": "BinaryExpression",
                    "start": 1248,
                    "end": 1261,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 12
                      },
                      "end": {
                        "line": 30,
                        "column": 25
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 1248,
                      "end": 1256,
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 12
                        },
                        "end": {
                          "line": 30,
                          "column": 20
                        }
                      },
                      "name": "logLevel"
                    },
                    "operator": ">=",
                    "right": {
                      "type": "Literal",
                      "start": 1260,
                      "end": 1261,
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 24
                        },
                        "end": {
                          "line": 30,
                          "column": 25
                        }
                      },
                      "value": 6,
                      "rawValue": 6,
                      "raw": "6"
                    }
                  },
                  "consequent": {
                    "type": "ExpressionStatement",
                    "start": 1276,
                    "end": 1292,
                    "loc": {
                      "start": {
                        "line": 31,
                        "column": 12
                      },
                      "end": {
                        "line": 31,
                        "column": 28
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 1276,
                      "end": 1291,
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 12
                        },
                        "end": {
                          "line": 31,
                          "column": 27
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1276,
                        "end": 1289,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 12
                          },
                          "end": {
                            "line": 31,
                            "column": 25
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1276,
                          "end": 1283,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 12
                            },
                            "end": {
                              "line": 31,
                              "column": 19
                            }
                          },
                          "name": "console"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1284,
                          "end": 1289,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 20
                            },
                            "end": {
                              "line": 31,
                              "column": 25
                            }
                          },
                          "name": "trace"
                        },
                        "computed": false
                      },
                      "arguments": []
                    }
                  },
                  "alternate": null
                },
                {
                  "type": "ExpressionStatement",
                  "start": 1302,
                  "end": 1384,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 8
                    },
                    "end": {
                      "line": 32,
                      "column": 90
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 1302,
                    "end": 1383,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 8
                      },
                      "end": {
                        "line": 32,
                        "column": 89
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1302,
                      "end": 1318,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 8
                        },
                        "end": {
                          "line": 32,
                          "column": 24
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 1302,
                        "end": 1310,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 8
                          },
                          "end": {
                            "line": 32,
                            "column": 16
                          }
                        },
                        "name": "commands"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1311,
                        "end": 1318,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 17
                          },
                          "end": {
                            "line": 32,
                            "column": 24
                          }
                        },
                        "name": "forEach"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "ArrowFunctionExpression",
                        "start": 1319,
                        "end": 1382,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 25
                          },
                          "end": {
                            "line": 32,
                            "column": 88
                          }
                        },
                        "id": null,
                        "generator": false,
                        "expression": true,
                        "async": false,
                        "params": [
                          {
                            "type": "Identifier",
                            "start": 1319,
                            "end": 1322,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 25
                              },
                              "end": {
                                "line": 32,
                                "column": 28
                              }
                            },
                            "name": "cmd"
                          }
                        ],
                        "body": {
                          "type": "CallExpression",
                          "start": 1326,
                          "end": 1382,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 32
                            },
                            "end": {
                              "line": 32,
                              "column": 88
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1326,
                            "end": 1337,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 32
                              },
                              "end": {
                                "line": 32,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1326,
                              "end": 1333,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 32
                                },
                                "end": {
                                  "line": 32,
                                  "column": 39
                                }
                              },
                              "name": "console"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1334,
                              "end": 1337,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 40
                                },
                                "end": {
                                  "line": 32,
                                  "column": 43
                                }
                              },
                              "name": "log"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 1338,
                              "end": 1353,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 44
                                },
                                "end": {
                                  "line": 32,
                                  "column": 59
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1338,
                                "end": 1351,
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 57
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1338,
                                  "end": 1347,
                                  "loc": {
                                    "start": {
                                      "line": 32,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 32,
                                      "column": 53
                                    }
                                  },
                                  "name": "Timestamp"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1348,
                                  "end": 1351,
                                  "loc": {
                                    "start": {
                                      "line": 32,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 32,
                                      "column": 57
                                    }
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            {
                              "type": "Literal",
                              "start": 1355,
                              "end": 1363,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 61
                                },
                                "end": {
                                  "line": 32,
                                  "column": 69
                                }
                              },
                              "value": "[c->s]",
                              "rawValue": "[c->s]",
                              "raw": "\"[c->s]\""
                            },
                            {
                              "type": "Literal",
                              "start": 1365,
                              "end": 1371,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 71
                                },
                                "end": {
                                  "line": 32,
                                  "column": 77
                                }
                              },
                              "value": "task",
                              "rawValue": "task",
                              "raw": "\"task\""
                            },
                            {
                              "type": "MemberExpression",
                              "start": 1373,
                              "end": 1381,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 79
                                },
                                "end": {
                                  "line": 32,
                                  "column": 87
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1373,
                                "end": 1376,
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 79
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 82
                                  }
                                },
                                "name": "cmd"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1377,
                                "end": 1381,
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 87
                                  }
                                },
                                "name": "task"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "alternate": null
          },
          {
            "type": "IfStatement",
            "start": 1397,
            "end": 1445,
            "loc": {
              "start": {
                "line": 34,
                "column": 4
              },
              "end": {
                "line": 35,
                "column": 24
              }
            },
            "test": {
              "type": "UnaryExpression",
              "start": 1401,
              "end": 1418,
              "loc": {
                "start": {
                  "line": 34,
                  "column": 8
                },
                "end": {
                  "line": 34,
                  "column": 25
                }
              },
              "operator": "!",
              "prefix": true,
              "argument": {
                "type": "MemberExpression",
                "start": 1402,
                "end": 1418,
                "loc": {
                  "start": {
                    "line": 34,
                    "column": 9
                  },
                  "end": {
                    "line": 34,
                    "column": 25
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 1402,
                  "end": 1413,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 9
                    },
                    "end": {
                      "line": 34,
                      "column": 20
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 1402,
                    "end": 1410,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 9
                      },
                      "end": {
                        "line": 34,
                        "column": 17
                      }
                    },
                    "name": "commands"
                  },
                  "property": {
                    "type": "Literal",
                    "start": 1411,
                    "end": 1412,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 18
                      },
                      "end": {
                        "line": 34,
                        "column": 19
                      }
                    },
                    "value": 0,
                    "rawValue": 0,
                    "raw": "0"
                  },
                  "computed": true
                },
                "property": {
                  "type": "Identifier",
                  "start": 1414,
                  "end": 1418,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 21
                    },
                    "end": {
                      "line": 34,
                      "column": 25
                    }
                  },
                  "name": "task"
                },
                "computed": false
              }
            },
            "consequent": {
              "type": "ExpressionStatement",
              "start": 1429,
              "end": 1445,
              "loc": {
                "start": {
                  "line": 35,
                  "column": 8
                },
                "end": {
                  "line": 35,
                  "column": 24
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 1429,
                "end": 1444,
                "loc": {
                  "start": {
                    "line": 35,
                    "column": 8
                  },
                  "end": {
                    "line": 35,
                    "column": 23
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 1429,
                  "end": 1442,
                  "loc": {
                    "start": {
                      "line": 35,
                      "column": 8
                    },
                    "end": {
                      "line": 35,
                      "column": 21
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 1429,
                    "end": 1436,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 8
                      },
                      "end": {
                        "line": 35,
                        "column": 15
                      }
                    },
                    "name": "console"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 1437,
                    "end": 1442,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 16
                      },
                      "end": {
                        "line": 35,
                        "column": 21
                      }
                    },
                    "name": "trace"
                  },
                  "computed": false
                },
                "arguments": []
              }
            },
            "alternate": null
          },
          {
            "type": "ReturnStatement",
            "start": 1451,
            "end": 2519,
            "loc": {
              "start": {
                "line": 36,
                "column": 4
              },
              "end": {
                "line": 53,
                "column": 7
              }
            },
            "argument": {
              "type": "CallExpression",
              "start": 1458,
              "end": 2518,
              "loc": {
                "start": {
                  "line": 36,
                  "column": 11
                },
                "end": {
                  "line": 53,
                  "column": 6
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 1458,
                "end": 1496,
                "loc": {
                  "start": {
                    "line": 36,
                    "column": 11
                  },
                  "end": {
                    "line": 36,
                    "column": 49
                  }
                },
                "object": {
                  "type": "CallExpression",
                  "start": 1458,
                  "end": 1491,
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 11
                    },
                    "end": {
                      "line": 36,
                      "column": 44
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 1458,
                    "end": 1472,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 11
                      },
                      "end": {
                        "line": 36,
                        "column": 25
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 1458,
                      "end": 1464,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 11
                        },
                        "end": {
                          "line": 36,
                          "column": 17
                        }
                      },
                      "name": "socket"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 1465,
                      "end": 1472,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 18
                        },
                        "end": {
                          "line": 36,
                          "column": 25
                        }
                      },
                      "name": "request"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 1473,
                      "end": 1481,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 26
                        },
                        "end": {
                          "line": 36,
                          "column": 34
                        }
                      },
                      "name": "commands"
                    },
                    {
                      "type": "Identifier",
                      "start": 1483,
                      "end": 1490,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 36
                        },
                        "end": {
                          "line": 36,
                          "column": 43
                        }
                      },
                      "name": "factory"
                    }
                  ]
                },
                "property": {
                  "type": "Identifier",
                  "start": 1492,
                  "end": 1496,
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 45
                    },
                    "end": {
                      "line": 36,
                      "column": 49
                    }
                  },
                  "name": "then"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "FunctionExpression",
                  "start": 1497,
                  "end": 2517,
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 50
                    },
                    "end": {
                      "line": 53,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 1506,
                      "end": 1509,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 59
                        },
                        "end": {
                          "line": 36,
                          "column": 62
                        }
                      },
                      "name": "res"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 1511,
                    "end": 2517,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 64
                      },
                      "end": {
                        "line": 53,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "IfStatement",
                        "start": 1522,
                        "end": 1755,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 8
                          },
                          "end": {
                            "line": 40,
                            "column": 9
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 1526,
                          "end": 1539,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 12
                            },
                            "end": {
                              "line": 37,
                              "column": 25
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 1526,
                            "end": 1534,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 12
                              },
                              "end": {
                                "line": 37,
                                "column": 20
                              }
                            },
                            "name": "logLevel"
                          },
                          "operator": ">=",
                          "right": {
                            "type": "Literal",
                            "start": 1538,
                            "end": 1539,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 24
                              },
                              "end": {
                                "line": 37,
                                "column": 25
                              }
                            },
                            "value": 5,
                            "rawValue": 5,
                            "raw": "5"
                          }
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 1541,
                          "end": 1755,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 27
                            },
                            "end": {
                              "line": 40,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 1556,
                              "end": 1645,
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 12
                                },
                                "end": {
                                  "line": 38,
                                  "column": 101
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 1556,
                                "end": 1644,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 100
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 1556,
                                  "end": 1574,
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 1556,
                                    "end": 1566,
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 22
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1556,
                                      "end": 1559,
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 15
                                        }
                                      },
                                      "name": "res"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1560,
                                      "end": 1566,
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 22
                                        }
                                      },
                                      "name": "errors"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1567,
                                    "end": 1574,
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 30
                                      }
                                    },
                                    "name": "forEach"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ArrowFunctionExpression",
                                    "start": 1575,
                                    "end": 1643,
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 99
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": true,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 1575,
                                        "end": 1576,
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 32
                                          }
                                        },
                                        "name": "e"
                                      }
                                    ],
                                    "body": {
                                      "type": "CallExpression",
                                      "start": 1580,
                                      "end": 1643,
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 99
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 1580,
                                        "end": 1591,
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 47
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 1580,
                                          "end": 1587,
                                          "loc": {
                                            "start": {
                                              "line": 38,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 38,
                                              "column": 43
                                            }
                                          },
                                          "name": "console"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1588,
                                          "end": 1591,
                                          "loc": {
                                            "start": {
                                              "line": 38,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 38,
                                              "column": 47
                                            }
                                          },
                                          "name": "log"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "CallExpression",
                                          "start": 1592,
                                          "end": 1607,
                                          "loc": {
                                            "start": {
                                              "line": 38,
                                              "column": 48
                                            },
                                            "end": {
                                              "line": 38,
                                              "column": 63
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 1592,
                                            "end": 1605,
                                            "loc": {
                                              "start": {
                                                "line": 38,
                                                "column": 48
                                              },
                                              "end": {
                                                "line": 38,
                                                "column": 61
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 1592,
                                              "end": 1601,
                                              "loc": {
                                                "start": {
                                                  "line": 38,
                                                  "column": 48
                                                },
                                                "end": {
                                                  "line": 38,
                                                  "column": 57
                                                }
                                              },
                                              "name": "Timestamp"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 1602,
                                              "end": 1605,
                                              "loc": {
                                                "start": {
                                                  "line": 38,
                                                  "column": 58
                                                },
                                                "end": {
                                                  "line": 38,
                                                  "column": 61
                                                }
                                              },
                                              "name": "get"
                                            },
                                            "computed": false
                                          },
                                          "arguments": []
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 1609,
                                          "end": 1617,
                                          "loc": {
                                            "start": {
                                              "line": 38,
                                              "column": 65
                                            },
                                            "end": {
                                              "line": 38,
                                              "column": 73
                                            }
                                          },
                                          "value": "[s->c]",
                                          "rawValue": "[s->c]",
                                          "raw": "\"[s->c]\""
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 1619,
                                          "end": 1626,
                                          "loc": {
                                            "start": {
                                              "line": 38,
                                              "column": 75
                                            },
                                            "end": {
                                              "line": 38,
                                              "column": 82
                                            }
                                          },
                                          "value": "error",
                                          "rawValue": "error",
                                          "raw": "\"error\""
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 1628,
                                          "end": 1642,
                                          "loc": {
                                            "start": {
                                              "line": 38,
                                              "column": 84
                                            },
                                            "end": {
                                              "line": 38,
                                              "column": 98
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 1628,
                                            "end": 1629,
                                            "loc": {
                                              "start": {
                                                "line": 38,
                                                "column": 84
                                              },
                                              "end": {
                                                "line": 38,
                                                "column": 85
                                              }
                                            },
                                            "name": "e"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1630,
                                            "end": 1642,
                                            "loc": {
                                              "start": {
                                                "line": 38,
                                                "column": 86
                                              },
                                              "end": {
                                                "line": 38,
                                                "column": 98
                                              }
                                            },
                                            "name": "errorMessage"
                                          },
                                          "computed": false
                                        }
                                      ]
                                    }
                                  }
                                ]
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 1659,
                              "end": 1744,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 12
                                },
                                "end": {
                                  "line": 39,
                                  "column": 97
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 1659,
                                "end": 1743,
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 39,
                                    "column": 96
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 1659,
                                  "end": 1678,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 1659,
                                    "end": 1670,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1659,
                                      "end": 1662,
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 39,
                                          "column": 15
                                        }
                                      },
                                      "name": "res"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1663,
                                      "end": 1670,
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 39,
                                          "column": 23
                                        }
                                      },
                                      "name": "results"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1671,
                                    "end": 1678,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 31
                                      }
                                    },
                                    "name": "forEach"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ArrowFunctionExpression",
                                    "start": 1679,
                                    "end": 1742,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 95
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": true,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 1679,
                                        "end": 1680,
                                        "loc": {
                                          "start": {
                                            "line": 39,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 39,
                                            "column": 33
                                          }
                                        },
                                        "name": "r"
                                      }
                                    ],
                                    "body": {
                                      "type": "CallExpression",
                                      "start": 1684,
                                      "end": 1742,
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 39,
                                          "column": 95
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 1684,
                                        "end": 1695,
                                        "loc": {
                                          "start": {
                                            "line": 39,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 39,
                                            "column": 48
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 1684,
                                          "end": 1691,
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 44
                                            }
                                          },
                                          "name": "console"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1692,
                                          "end": 1695,
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 48
                                            }
                                          },
                                          "name": "log"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "CallExpression",
                                          "start": 1696,
                                          "end": 1711,
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 64
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 1696,
                                            "end": 1709,
                                            "loc": {
                                              "start": {
                                                "line": 39,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 39,
                                                "column": 62
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 1696,
                                              "end": 1705,
                                              "loc": {
                                                "start": {
                                                  "line": 39,
                                                  "column": 49
                                                },
                                                "end": {
                                                  "line": 39,
                                                  "column": 58
                                                }
                                              },
                                              "name": "Timestamp"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 1706,
                                              "end": 1709,
                                              "loc": {
                                                "start": {
                                                  "line": 39,
                                                  "column": 59
                                                },
                                                "end": {
                                                  "line": 39,
                                                  "column": 62
                                                }
                                              },
                                              "name": "get"
                                            },
                                            "computed": false
                                          },
                                          "arguments": []
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 1713,
                                          "end": 1721,
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 66
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 74
                                            }
                                          },
                                          "value": "[s->c]",
                                          "rawValue": "[s->c]",
                                          "raw": "\"[s->c]\""
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 1723,
                                          "end": 1731,
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 76
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 84
                                            }
                                          },
                                          "value": "result",
                                          "rawValue": "result",
                                          "raw": "\"result\""
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 1733,
                                          "end": 1741,
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 86
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 94
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 1733,
                                            "end": 1734,
                                            "loc": {
                                              "start": {
                                                "line": 39,
                                                "column": 86
                                              },
                                              "end": {
                                                "line": 39,
                                                "column": 87
                                              }
                                            },
                                            "name": "r"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1735,
                                            "end": 1741,
                                            "loc": {
                                              "start": {
                                                "line": 39,
                                                "column": 88
                                              },
                                              "end": {
                                                "line": 39,
                                                "column": 94
                                              }
                                            },
                                            "name": "result"
                                          },
                                          "computed": false
                                        }
                                      ]
                                    }
                                  }
                                ]
                              }
                            }
                          ],
                          "trailingComments": null
                        },
                        "alternate": null,
                        "trailingComments": [
                          {
                            "type": "CommentLine",
                            "value": " check for classcad errors and mismatched return values",
                            "start": 1765,
                            "end": 1822,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 8
                              },
                              "end": {
                                "line": 41,
                                "column": 65
                              }
                            },
                            "range": [
                              1765,
                              1822
                            ]
                          }
                        ]
                      },
                      {
                        "type": "IfStatement",
                        "start": 1832,
                        "end": 1888,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 8
                          },
                          "end": {
                            "line": 43,
                            "column": 32
                          }
                        },
                        "test": {
                          "type": "MemberExpression",
                          "start": 1836,
                          "end": 1853,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 12
                            },
                            "end": {
                              "line": 42,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1836,
                            "end": 1846,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 12
                              },
                              "end": {
                                "line": 42,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1836,
                              "end": 1839,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 12
                                },
                                "end": {
                                  "line": 42,
                                  "column": 15
                                }
                              },
                              "name": "res",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1840,
                              "end": 1846,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 16
                                },
                                "end": {
                                  "line": 42,
                                  "column": 22
                                }
                              },
                              "name": "errors"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1847,
                            "end": 1853,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 23
                              },
                              "end": {
                                "line": 42,
                                "column": 29
                              }
                            },
                            "name": "length"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "consequent": {
                          "type": "ThrowStatement",
                          "start": 1868,
                          "end": 1888,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 12
                            },
                            "end": {
                              "line": 43,
                              "column": 32
                            }
                          },
                          "argument": {
                            "type": "MemberExpression",
                            "start": 1874,
                            "end": 1887,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 18
                              },
                              "end": {
                                "line": 43,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1874,
                              "end": 1884,
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 18
                                },
                                "end": {
                                  "line": 43,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1874,
                                "end": 1877,
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 21
                                  }
                                },
                                "name": "res"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1878,
                                "end": 1884,
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 28
                                  }
                                },
                                "name": "errors"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Literal",
                              "start": 1885,
                              "end": 1886,
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 29
                                },
                                "end": {
                                  "line": 43,
                                  "column": 30
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "computed": true
                          }
                        },
                        "alternate": null,
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": " check for classcad errors and mismatched return values",
                            "start": 1765,
                            "end": 1822,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 8
                              },
                              "end": {
                                "line": 41,
                                "column": 65
                              }
                            },
                            "range": [
                              1765,
                              1822
                            ]
                          }
                        ]
                      },
                      {
                        "type": "IfStatement",
                        "start": 1898,
                        "end": 2115,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 8
                          },
                          "end": {
                            "line": 45,
                            "column": 135
                          }
                        },
                        "test": {
                          "type": "LogicalExpression",
                          "start": 1902,
                          "end": 1977,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 12
                            },
                            "end": {
                              "line": 44,
                              "column": 87
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 1902,
                            "end": 1935,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 12
                              },
                              "end": {
                                "line": 44,
                                "column": 45
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "MemberExpression",
                              "start": 1903,
                              "end": 1935,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 13
                                },
                                "end": {
                                  "line": 44,
                                  "column": 45
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1903,
                                "end": 1913,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 23
                                  }
                                },
                                "name": "attributes"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1914,
                                "end": 1935,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 45
                                  }
                                },
                                "name": "ignoreNumberOfResults"
                              },
                              "computed": false
                            }
                          },
                          "operator": "&&",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 1939,
                            "end": 1977,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 49
                              },
                              "end": {
                                "line": 44,
                                "column": 87
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 1939,
                              "end": 1957,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 49
                                },
                                "end": {
                                  "line": 44,
                                  "column": 67
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1939,
                                "end": 1950,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 60
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1939,
                                  "end": 1942,
                                  "loc": {
                                    "start": {
                                      "line": 44,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 44,
                                      "column": 52
                                    }
                                  },
                                  "name": "res"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1943,
                                  "end": 1950,
                                  "loc": {
                                    "start": {
                                      "line": 44,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 44,
                                      "column": 60
                                    }
                                  },
                                  "name": "results"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1951,
                                "end": 1957,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 67
                                  }
                                },
                                "name": "length"
                              },
                              "computed": false
                            },
                            "operator": "!==",
                            "right": {
                              "type": "MemberExpression",
                              "start": 1962,
                              "end": 1977,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 72
                                },
                                "end": {
                                  "line": 44,
                                  "column": 87
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1962,
                                "end": 1970,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 72
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 80
                                  }
                                },
                                "name": "commands"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1971,
                                "end": 1977,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 81
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 87
                                  }
                                },
                                "name": "length"
                              },
                              "computed": false
                            }
                          }
                        },
                        "consequent": {
                          "type": "ThrowStatement",
                          "start": 1992,
                          "end": 2115,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 12
                            },
                            "end": {
                              "line": 45,
                              "column": 135
                            }
                          },
                          "argument": {
                            "type": "ObjectExpression",
                            "start": 1998,
                            "end": 2114,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 18
                              },
                              "end": {
                                "line": 45,
                                "column": 134
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 1999,
                                "end": 2061,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 81
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1999,
                                  "end": 2011,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 31
                                    }
                                  },
                                  "name": "errorMessage"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 2013,
                                  "end": 2061,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 81
                                    }
                                  },
                                  "value": "ClassCad returned unexpected number of results",
                                  "rawValue": "ClassCad returned unexpected number of results",
                                  "raw": "'ClassCad returned unexpected number of results'"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 2063,
                                "end": 2086,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 106
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 2063,
                                  "end": 2066,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 83
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 86
                                    }
                                  },
                                  "name": "got"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 2068,
                                  "end": 2086,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 88
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 106
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 2068,
                                    "end": 2079,
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 88
                                      },
                                      "end": {
                                        "line": 45,
                                        "column": 99
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 2068,
                                      "end": 2071,
                                      "loc": {
                                        "start": {
                                          "line": 45,
                                          "column": 88
                                        },
                                        "end": {
                                          "line": 45,
                                          "column": 91
                                        }
                                      },
                                      "name": "res"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2072,
                                      "end": 2079,
                                      "loc": {
                                        "start": {
                                          "line": 45,
                                          "column": 92
                                        },
                                        "end": {
                                          "line": 45,
                                          "column": 99
                                        }
                                      },
                                      "name": "results"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2080,
                                    "end": 2086,
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 100
                                      },
                                      "end": {
                                        "line": 45,
                                        "column": 106
                                      }
                                    },
                                    "name": "length"
                                  },
                                  "computed": false
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 2088,
                                "end": 2113,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 108
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 133
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 2088,
                                  "end": 2096,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 108
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 116
                                    }
                                  },
                                  "name": "expected"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 2098,
                                  "end": 2113,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 118
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 133
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2098,
                                    "end": 2106,
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 118
                                      },
                                      "end": {
                                        "line": 45,
                                        "column": 126
                                      }
                                    },
                                    "name": "commands"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2107,
                                    "end": 2113,
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 127
                                      },
                                      "end": {
                                        "line": 45,
                                        "column": 133
                                      }
                                    },
                                    "name": "length"
                                  },
                                  "computed": false
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        },
                        "alternate": null
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 2125,
                        "end": 2411,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 8
                          },
                          "end": {
                            "line": 50,
                            "column": 11
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 2129,
                            "end": 2410,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 12
                              },
                              "end": {
                                "line": 50,
                                "column": 10
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 2129,
                              "end": 2136,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 12
                                },
                                "end": {
                                  "line": 46,
                                  "column": 19
                                }
                              },
                              "name": "results"
                            },
                            "init": {
                              "type": "CallExpression",
                              "start": 2139,
                              "end": 2410,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 22
                                },
                                "end": {
                                  "line": 50,
                                  "column": 10
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2139,
                                "end": 2154,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 37
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 2139,
                                  "end": 2150,
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2139,
                                    "end": 2142,
                                    "loc": {
                                      "start": {
                                        "line": 46,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 46,
                                        "column": 25
                                      }
                                    },
                                    "name": "res"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2143,
                                    "end": 2150,
                                    "loc": {
                                      "start": {
                                        "line": 46,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 46,
                                        "column": 33
                                      }
                                    },
                                    "name": "results"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2151,
                                  "end": 2154,
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 37
                                    }
                                  },
                                  "name": "map"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "FunctionExpression",
                                  "start": 2155,
                                  "end": 2409,
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 9
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 2164,
                                      "end": 2170,
                                      "loc": {
                                        "start": {
                                          "line": 46,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 46,
                                          "column": 53
                                        }
                                      },
                                      "name": "result"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 2172,
                                      "end": 2173,
                                      "loc": {
                                        "start": {
                                          "line": 46,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 46,
                                          "column": 56
                                        }
                                      },
                                      "name": "i"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 2175,
                                    "end": 2409,
                                    "loc": {
                                      "start": {
                                        "line": 46,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 50,
                                        "column": 9
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "IfStatement",
                                        "start": 2190,
                                        "end": 2363,
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 48,
                                            "column": 134
                                          }
                                        },
                                        "test": {
                                          "type": "BinaryExpression",
                                          "start": 2194,
                                          "end": 2226,
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 48
                                            }
                                          },
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 2194,
                                            "end": 2205,
                                            "loc": {
                                              "start": {
                                                "line": 47,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 47,
                                                "column": 27
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2194,
                                              "end": 2200,
                                              "loc": {
                                                "start": {
                                                  "line": 47,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 47,
                                                  "column": 22
                                                }
                                              },
                                              "name": "result"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2201,
                                              "end": 2205,
                                              "loc": {
                                                "start": {
                                                  "line": 47,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 47,
                                                  "column": 27
                                                }
                                              },
                                              "name": "hint"
                                            },
                                            "computed": false
                                          },
                                          "operator": "!==",
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 2210,
                                            "end": 2226,
                                            "loc": {
                                              "start": {
                                                "line": 47,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 47,
                                                "column": 48
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 2210,
                                              "end": 2221,
                                              "loc": {
                                                "start": {
                                                  "line": 47,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 47,
                                                  "column": 43
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 2210,
                                                "end": 2218,
                                                "loc": {
                                                  "start": {
                                                    "line": 47,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 47,
                                                    "column": 40
                                                  }
                                                },
                                                "name": "commands"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2219,
                                                "end": 2220,
                                                "loc": {
                                                  "start": {
                                                    "line": 47,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 47,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "i"
                                              },
                                              "computed": true
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2222,
                                              "end": 2226,
                                              "loc": {
                                                "start": {
                                                  "line": 47,
                                                  "column": 44
                                                },
                                                "end": {
                                                  "line": 47,
                                                  "column": 48
                                                }
                                              },
                                              "name": "task"
                                            },
                                            "computed": false
                                          }
                                        },
                                        "consequent": {
                                          "type": "ThrowStatement",
                                          "start": 2245,
                                          "end": 2363,
                                          "loc": {
                                            "start": {
                                              "line": 48,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 48,
                                              "column": 134
                                            }
                                          },
                                          "argument": {
                                            "type": "ObjectExpression",
                                            "start": 2251,
                                            "end": 2362,
                                            "loc": {
                                              "start": {
                                                "line": 48,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 48,
                                                "column": 133
                                              }
                                            },
                                            "properties": [
                                              {
                                                "type": "Property",
                                                "start": 2252,
                                                "end": 2315,
                                                "loc": {
                                                  "start": {
                                                    "line": 48,
                                                    "column": 23
                                                  },
                                                  "end": {
                                                    "line": 48,
                                                    "column": 86
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 2252,
                                                  "end": 2264,
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 23
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 35
                                                    }
                                                  },
                                                  "name": "errorMessage"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 2266,
                                                  "end": 2315,
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 37
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 86
                                                    }
                                                  },
                                                  "value": "ClassCad returned result for unexpected command",
                                                  "rawValue": "ClassCad returned result for unexpected command",
                                                  "raw": "'ClassCad returned result for unexpected command'"
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 2317,
                                                "end": 2333,
                                                "loc": {
                                                  "start": {
                                                    "line": 48,
                                                    "column": 88
                                                  },
                                                  "end": {
                                                    "line": 48,
                                                    "column": 104
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 2317,
                                                  "end": 2320,
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 88
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 91
                                                    }
                                                  },
                                                  "name": "got"
                                                },
                                                "value": {
                                                  "type": "MemberExpression",
                                                  "start": 2322,
                                                  "end": 2333,
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 93
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 104
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 2322,
                                                    "end": 2328,
                                                    "loc": {
                                                      "start": {
                                                        "line": 48,
                                                        "column": 93
                                                      },
                                                      "end": {
                                                        "line": 48,
                                                        "column": 99
                                                      }
                                                    },
                                                    "name": "result"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 2329,
                                                    "end": 2333,
                                                    "loc": {
                                                      "start": {
                                                        "line": 48,
                                                        "column": 100
                                                      },
                                                      "end": {
                                                        "line": 48,
                                                        "column": 104
                                                      }
                                                    },
                                                    "name": "hint"
                                                  },
                                                  "computed": false
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 2335,
                                                "end": 2361,
                                                "loc": {
                                                  "start": {
                                                    "line": 48,
                                                    "column": 106
                                                  },
                                                  "end": {
                                                    "line": 48,
                                                    "column": 132
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 2335,
                                                  "end": 2343,
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 106
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 114
                                                    }
                                                  },
                                                  "name": "expected"
                                                },
                                                "value": {
                                                  "type": "MemberExpression",
                                                  "start": 2345,
                                                  "end": 2361,
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 116
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 132
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 2345,
                                                    "end": 2356,
                                                    "loc": {
                                                      "start": {
                                                        "line": 48,
                                                        "column": 116
                                                      },
                                                      "end": {
                                                        "line": 48,
                                                        "column": 127
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 2345,
                                                      "end": 2353,
                                                      "loc": {
                                                        "start": {
                                                          "line": 48,
                                                          "column": 116
                                                        },
                                                        "end": {
                                                          "line": 48,
                                                          "column": 124
                                                        }
                                                      },
                                                      "name": "commands"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 2354,
                                                      "end": 2355,
                                                      "loc": {
                                                        "start": {
                                                          "line": 48,
                                                          "column": 125
                                                        },
                                                        "end": {
                                                          "line": 48,
                                                          "column": 126
                                                        }
                                                      },
                                                      "name": "i"
                                                    },
                                                    "computed": true
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 2357,
                                                    "end": 2361,
                                                    "loc": {
                                                      "start": {
                                                        "line": 48,
                                                        "column": 128
                                                      },
                                                      "end": {
                                                        "line": 48,
                                                        "column": 132
                                                      }
                                                    },
                                                    "name": "task"
                                                  },
                                                  "computed": false
                                                },
                                                "kind": "init"
                                              }
                                            ]
                                          }
                                        },
                                        "alternate": null
                                      },
                                      {
                                        "type": "ReturnStatement",
                                        "start": 2377,
                                        "end": 2398,
                                        "loc": {
                                          "start": {
                                            "line": 49,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 49,
                                            "column": 33
                                          }
                                        },
                                        "argument": {
                                          "type": "MemberExpression",
                                          "start": 2384,
                                          "end": 2397,
                                          "loc": {
                                            "start": {
                                              "line": 49,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 49,
                                              "column": 32
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2384,
                                            "end": 2390,
                                            "loc": {
                                              "start": {
                                                "line": 49,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 49,
                                                "column": 25
                                              }
                                            },
                                            "name": "result"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2391,
                                            "end": 2397,
                                            "loc": {
                                              "start": {
                                                "line": 49,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 49,
                                                "column": 32
                                              }
                                            },
                                            "name": "result"
                                          },
                                          "computed": false
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ],
                        "kind": "let"
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 2421,
                        "end": 2449,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 8
                          },
                          "end": {
                            "line": 51,
                            "column": 36
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 2421,
                          "end": 2448,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 8
                            },
                            "end": {
                              "line": 51,
                              "column": 35
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 2421,
                            "end": 2435,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 8
                              },
                              "end": {
                                "line": 51,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2421,
                              "end": 2428,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 8
                                },
                                "end": {
                                  "line": 51,
                                  "column": 15
                                }
                              },
                              "name": "results"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2429,
                              "end": 2435,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 16
                                },
                                "end": {
                                  "line": 51,
                                  "column": 22
                                }
                              },
                              "name": "models"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "MemberExpression",
                            "start": 2438,
                            "end": 2448,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 25
                              },
                              "end": {
                                "line": 51,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2438,
                              "end": 2441,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 25
                                },
                                "end": {
                                  "line": 51,
                                  "column": 28
                                }
                              },
                              "name": "res"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2442,
                              "end": 2448,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 29
                                },
                                "end": {
                                  "line": 51,
                                  "column": 35
                                }
                              },
                              "name": "models"
                            },
                            "computed": false
                          }
                        },
                        "trailingComments": [
                          {
                            "type": "CommentLine",
                            "value": " FIXME bad design: array property",
                            "start": 2450,
                            "end": 2485,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 37
                              },
                              "end": {
                                "line": 51,
                                "column": 72
                              }
                            },
                            "range": [
                              2450,
                              2485
                            ]
                          }
                        ]
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 2495,
                        "end": 2510,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 8
                          },
                          "end": {
                            "line": 52,
                            "column": 23
                          }
                        },
                        "argument": {
                          "type": "Identifier",
                          "start": 2502,
                          "end": 2509,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 15
                            },
                            "end": {
                              "line": 52,
                              "column": 22
                            }
                          },
                          "name": "results",
                          "leadingComments": null
                        },
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": " FIXME bad design: array property",
                            "start": 2450,
                            "end": 2485,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 37
                              },
                              "end": {
                                "line": 51,
                                "column": 72
                              }
                            },
                            "range": [
                              2450,
                              2485
                            ]
                          }
                        ]
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      },
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": " execute prepared (see NOTE0) ClassCad commands and return an array of results in a Promise",
          "start": 918,
          "end": 1011,
          "loc": {
            "start": {
              "line": 23,
              "column": 0
            },
            "end": {
              "line": 23,
              "column": 93
            }
          },
          "range": [
            918,
            1011
          ]
        }
      ]
    },
    {
      "type": "FunctionDeclaration",
      "start": 2526,
      "end": 3307,
      "loc": {
        "start": {
          "line": 56,
          "column": 0
        },
        "end": {
          "line": 77,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 2535,
        "end": 2546,
        "loc": {
          "start": {
            "line": 56,
            "column": 9
          },
          "end": {
            "line": 56,
            "column": 20
          }
        },
        "name": "formatValue"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 2547,
          "end": 2548,
          "loc": {
            "start": {
              "line": 56,
              "column": 21
            },
            "end": {
              "line": 56,
              "column": 22
            }
          },
          "name": "x"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 2550,
        "end": 3307,
        "loc": {
          "start": {
            "line": 56,
            "column": 24
          },
          "end": {
            "line": 77,
            "column": 1
          }
        },
        "body": [
          {
            "type": "SwitchStatement",
            "start": 2557,
            "end": 2708,
            "loc": {
              "start": {
                "line": 57,
                "column": 4
              },
              "end": {
                "line": 62,
                "column": 5
              }
            },
            "discriminant": {
              "type": "Identifier",
              "start": 2565,
              "end": 2566,
              "loc": {
                "start": {
                  "line": 57,
                  "column": 12
                },
                "end": {
                  "line": 57,
                  "column": 13
                }
              },
              "name": "x"
            },
            "cases": [
              {
                "type": "SwitchCase",
                "start": 2579,
                "end": 2594,
                "loc": {
                  "start": {
                    "line": 58,
                    "column": 8
                  },
                  "end": {
                    "line": 58,
                    "column": 23
                  }
                },
                "consequent": [],
                "test": {
                  "type": "Identifier",
                  "start": 2584,
                  "end": 2593,
                  "loc": {
                    "start": {
                      "line": 58,
                      "column": 13
                    },
                    "end": {
                      "line": 58,
                      "column": 22
                    }
                  },
                  "name": "undefined"
                }
              },
              {
                "type": "SwitchCase",
                "start": 2604,
                "end": 2629,
                "loc": {
                  "start": {
                    "line": 59,
                    "column": 8
                  },
                  "end": {
                    "line": 59,
                    "column": 33
                  }
                },
                "consequent": [
                  {
                    "type": "ReturnStatement",
                    "start": 2615,
                    "end": 2629,
                    "loc": {
                      "start": {
                        "line": 59,
                        "column": 19
                      },
                      "end": {
                        "line": 59,
                        "column": 33
                      }
                    },
                    "argument": {
                      "type": "Literal",
                      "start": 2622,
                      "end": 2628,
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 26
                        },
                        "end": {
                          "line": 59,
                          "column": 32
                        }
                      },
                      "value": "VOID",
                      "rawValue": "VOID",
                      "raw": "\"VOID\""
                    }
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 2609,
                  "end": 2613,
                  "loc": {
                    "start": {
                      "line": 59,
                      "column": 13
                    },
                    "end": {
                      "line": 59,
                      "column": 17
                    }
                  },
                  "value": null,
                  "rawValue": null,
                  "raw": "null"
                }
              },
              {
                "type": "SwitchCase",
                "start": 2639,
                "end": 2666,
                "loc": {
                  "start": {
                    "line": 60,
                    "column": 8
                  },
                  "end": {
                    "line": 60,
                    "column": 35
                  }
                },
                "consequent": [
                  {
                    "type": "ReturnStatement",
                    "start": 2651,
                    "end": 2666,
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 20
                      },
                      "end": {
                        "line": 60,
                        "column": 35
                      }
                    },
                    "argument": {
                      "type": "Literal",
                      "start": 2658,
                      "end": 2665,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 27
                        },
                        "end": {
                          "line": 60,
                          "column": 34
                        }
                      },
                      "value": "FALSE",
                      "rawValue": "FALSE",
                      "raw": "\"FALSE\""
                    }
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 2644,
                  "end": 2649,
                  "loc": {
                    "start": {
                      "line": 60,
                      "column": 13
                    },
                    "end": {
                      "line": 60,
                      "column": 18
                    }
                  },
                  "value": false,
                  "rawValue": false,
                  "raw": "false"
                }
              },
              {
                "type": "SwitchCase",
                "start": 2676,
                "end": 2701,
                "loc": {
                  "start": {
                    "line": 61,
                    "column": 8
                  },
                  "end": {
                    "line": 61,
                    "column": 33
                  }
                },
                "consequent": [
                  {
                    "type": "ReturnStatement",
                    "start": 2687,
                    "end": 2701,
                    "loc": {
                      "start": {
                        "line": 61,
                        "column": 19
                      },
                      "end": {
                        "line": 61,
                        "column": 33
                      }
                    },
                    "argument": {
                      "type": "Literal",
                      "start": 2694,
                      "end": 2700,
                      "loc": {
                        "start": {
                          "line": 61,
                          "column": 26
                        },
                        "end": {
                          "line": 61,
                          "column": 32
                        }
                      },
                      "value": "TRUE",
                      "rawValue": "TRUE",
                      "raw": "\"TRUE\""
                    }
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 2681,
                  "end": 2685,
                  "loc": {
                    "start": {
                      "line": 61,
                      "column": 13
                    },
                    "end": {
                      "line": 61,
                      "column": 17
                    }
                  },
                  "value": true,
                  "rawValue": true,
                  "raw": "true"
                }
              }
            ]
          },
          {
            "type": "SwitchStatement",
            "start": 2714,
            "end": 2814,
            "loc": {
              "start": {
                "line": 63,
                "column": 4
              },
              "end": {
                "line": 66,
                "column": 5
              }
            },
            "discriminant": {
              "type": "UnaryExpression",
              "start": 2722,
              "end": 2730,
              "loc": {
                "start": {
                  "line": 63,
                  "column": 12
                },
                "end": {
                  "line": 63,
                  "column": 20
                }
              },
              "operator": "typeof",
              "prefix": true,
              "argument": {
                "type": "Identifier",
                "start": 2729,
                "end": 2730,
                "loc": {
                  "start": {
                    "line": 63,
                    "column": 19
                  },
                  "end": {
                    "line": 63,
                    "column": 20
                  }
                },
                "name": "x"
              }
            },
            "cases": [
              {
                "type": "SwitchCase",
                "start": 2743,
                "end": 2757,
                "loc": {
                  "start": {
                    "line": 64,
                    "column": 8
                  },
                  "end": {
                    "line": 64,
                    "column": 22
                  }
                },
                "consequent": [],
                "test": {
                  "type": "Literal",
                  "start": 2748,
                  "end": 2756,
                  "loc": {
                    "start": {
                      "line": 64,
                      "column": 13
                    },
                    "end": {
                      "line": 64,
                      "column": 21
                    }
                  },
                  "value": "string",
                  "rawValue": "string",
                  "raw": "'string'"
                }
              },
              {
                "type": "SwitchCase",
                "start": 2767,
                "end": 2807,
                "loc": {
                  "start": {
                    "line": 65,
                    "column": 8
                  },
                  "end": {
                    "line": 65,
                    "column": 48
                  }
                },
                "consequent": [
                  {
                    "type": "ReturnStatement",
                    "start": 2782,
                    "end": 2807,
                    "loc": {
                      "start": {
                        "line": 65,
                        "column": 23
                      },
                      "end": {
                        "line": 65,
                        "column": 48
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 2789,
                      "end": 2806,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 30
                        },
                        "end": {
                          "line": 65,
                          "column": 47
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2789,
                        "end": 2803,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 30
                          },
                          "end": {
                            "line": 65,
                            "column": 44
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 2789,
                          "end": 2793,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 30
                            },
                            "end": {
                              "line": 65,
                              "column": 34
                            }
                          },
                          "name": "JSON"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2794,
                          "end": 2803,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 35
                            },
                            "end": {
                              "line": 65,
                              "column": 44
                            }
                          },
                          "name": "stringify"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 2804,
                          "end": 2805,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 45
                            },
                            "end": {
                              "line": 65,
                              "column": 46
                            }
                          },
                          "name": "x"
                        }
                      ]
                    }
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 2772,
                  "end": 2780,
                  "loc": {
                    "start": {
                      "line": 65,
                      "column": 13
                    },
                    "end": {
                      "line": 65,
                      "column": 21
                    }
                  },
                  "value": "number",
                  "rawValue": "number",
                  "raw": "'number'"
                }
              }
            ]
          },
          {
            "type": "IfStatement",
            "start": 2820,
            "end": 3127,
            "loc": {
              "start": {
                "line": 67,
                "column": 4
              },
              "end": {
                "line": 74,
                "column": 22
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 2824,
              "end": 2842,
              "loc": {
                "start": {
                  "line": 67,
                  "column": 8
                },
                "end": {
                  "line": 67,
                  "column": 26
                }
              },
              "left": {
                "type": "Identifier",
                "start": 2824,
                "end": 2825,
                "loc": {
                  "start": {
                    "line": 67,
                    "column": 8
                  },
                  "end": {
                    "line": 67,
                    "column": 9
                  }
                },
                "name": "x"
              },
              "operator": "instanceof",
              "right": {
                "type": "Identifier",
                "start": 2837,
                "end": 2842,
                "loc": {
                  "start": {
                    "line": 67,
                    "column": 21
                  },
                  "end": {
                    "line": 67,
                    "column": 26
                  }
                },
                "name": "Array"
              }
            },
            "consequent": {
              "type": "ReturnStatement",
              "start": 2853,
              "end": 2902,
              "loc": {
                "start": {
                  "line": 68,
                  "column": 8
                },
                "end": {
                  "line": 68,
                  "column": 57
                }
              },
              "argument": {
                "type": "BinaryExpression",
                "start": 2860,
                "end": 2901,
                "loc": {
                  "start": {
                    "line": 68,
                    "column": 15
                  },
                  "end": {
                    "line": 68,
                    "column": 56
                  }
                },
                "left": {
                  "type": "BinaryExpression",
                  "start": 2860,
                  "end": 2895,
                  "loc": {
                    "start": {
                      "line": 68,
                      "column": 15
                    },
                    "end": {
                      "line": 68,
                      "column": 50
                    }
                  },
                  "left": {
                    "type": "Literal",
                    "start": 2860,
                    "end": 2863,
                    "loc": {
                      "start": {
                        "line": 68,
                        "column": 15
                      },
                      "end": {
                        "line": 68,
                        "column": 18
                      }
                    },
                    "value": "[",
                    "rawValue": "[",
                    "raw": "'['"
                  },
                  "operator": "+",
                  "right": {
                    "type": "CallExpression",
                    "start": 2866,
                    "end": 2895,
                    "loc": {
                      "start": {
                        "line": 68,
                        "column": 21
                      },
                      "end": {
                        "line": 68,
                        "column": 50
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2866,
                      "end": 2889,
                      "loc": {
                        "start": {
                          "line": 68,
                          "column": 21
                        },
                        "end": {
                          "line": 68,
                          "column": 44
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 2866,
                        "end": 2884,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 21
                          },
                          "end": {
                            "line": 68,
                            "column": 39
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2866,
                          "end": 2871,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 21
                            },
                            "end": {
                              "line": 68,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2866,
                            "end": 2867,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 21
                              },
                              "end": {
                                "line": 68,
                                "column": 22
                              }
                            },
                            "name": "x"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2868,
                            "end": 2871,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 23
                              },
                              "end": {
                                "line": 68,
                                "column": 26
                              }
                            },
                            "name": "map"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 2872,
                            "end": 2883,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 27
                              },
                              "end": {
                                "line": 68,
                                "column": 38
                              }
                            },
                            "name": "formatValue"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2885,
                        "end": 2889,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 40
                          },
                          "end": {
                            "line": 68,
                            "column": 44
                          }
                        },
                        "name": "join"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Literal",
                        "start": 2890,
                        "end": 2894,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 45
                          },
                          "end": {
                            "line": 68,
                            "column": 49
                          }
                        },
                        "value": ", ",
                        "rawValue": ", ",
                        "raw": "', '"
                      }
                    ]
                  }
                },
                "operator": "+",
                "right": {
                  "type": "Literal",
                  "start": 2898,
                  "end": 2901,
                  "loc": {
                    "start": {
                      "line": 68,
                      "column": 53
                    },
                    "end": {
                      "line": 68,
                      "column": 56
                    }
                  },
                  "value": "]",
                  "rawValue": "]",
                  "raw": "']'"
                }
              }
            },
            "alternate": {
              "type": "IfStatement",
              "start": 2913,
              "end": 3127,
              "loc": {
                "start": {
                  "line": 69,
                  "column": 9
                },
                "end": {
                  "line": 74,
                  "column": 22
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 2917,
                "end": 2943,
                "loc": {
                  "start": {
                    "line": 69,
                    "column": 13
                  },
                  "end": {
                    "line": 69,
                    "column": 39
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 2917,
                  "end": 2918,
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 13
                    },
                    "end": {
                      "line": 69,
                      "column": 14
                    }
                  },
                  "name": "x"
                },
                "operator": "instanceof",
                "right": {
                  "type": "MemberExpression",
                  "start": 2930,
                  "end": 2943,
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 26
                    },
                    "end": {
                      "line": 69,
                      "column": 39
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 2930,
                    "end": 2935,
                    "loc": {
                      "start": {
                        "line": 69,
                        "column": 26
                      },
                      "end": {
                        "line": 69,
                        "column": 31
                      }
                    },
                    "name": "THREE"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 2936,
                    "end": 2943,
                    "loc": {
                      "start": {
                        "line": 69,
                        "column": 32
                      },
                      "end": {
                        "line": 69,
                        "column": 39
                      }
                    },
                    "name": "Vector3"
                  },
                  "computed": false
                }
              },
              "consequent": {
                "type": "ReturnStatement",
                "start": 2954,
                "end": 2996,
                "loc": {
                  "start": {
                    "line": 70,
                    "column": 8
                  },
                  "end": {
                    "line": 70,
                    "column": 50
                  }
                },
                "argument": {
                  "type": "BinaryExpression",
                  "start": 2961,
                  "end": 2995,
                  "loc": {
                    "start": {
                      "line": 70,
                      "column": 15
                    },
                    "end": {
                      "line": 70,
                      "column": 49
                    }
                  },
                  "left": {
                    "type": "BinaryExpression",
                    "start": 2961,
                    "end": 2989,
                    "loc": {
                      "start": {
                        "line": 70,
                        "column": 15
                      },
                      "end": {
                        "line": 70,
                        "column": 43
                      }
                    },
                    "left": {
                      "type": "Literal",
                      "start": 2961,
                      "end": 2964,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 15
                        },
                        "end": {
                          "line": 70,
                          "column": 18
                        }
                      },
                      "value": "{",
                      "rawValue": "{",
                      "raw": "'{'"
                    },
                    "operator": "+",
                    "right": {
                      "type": "CallExpression",
                      "start": 2967,
                      "end": 2989,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 21
                        },
                        "end": {
                          "line": 70,
                          "column": 43
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2967,
                        "end": 2983,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 21
                          },
                          "end": {
                            "line": 70,
                            "column": 37
                          }
                        },
                        "object": {
                          "type": "CallExpression",
                          "start": 2967,
                          "end": 2978,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 21
                            },
                            "end": {
                              "line": 70,
                              "column": 32
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2967,
                            "end": 2976,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 21
                              },
                              "end": {
                                "line": 70,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2967,
                              "end": 2968,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 21
                                },
                                "end": {
                                  "line": 70,
                                  "column": 22
                                }
                              },
                              "name": "x"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2969,
                              "end": 2976,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 23
                                },
                                "end": {
                                  "line": 70,
                                  "column": 30
                                }
                              },
                              "name": "toArray"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2979,
                          "end": 2983,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 33
                            },
                            "end": {
                              "line": 70,
                              "column": 37
                            }
                          },
                          "name": "join"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Literal",
                          "start": 2984,
                          "end": 2988,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 38
                            },
                            "end": {
                              "line": 70,
                              "column": 42
                            }
                          },
                          "value": ", ",
                          "rawValue": ", ",
                          "raw": "', '"
                        }
                      ]
                    }
                  },
                  "operator": "+",
                  "right": {
                    "type": "Literal",
                    "start": 2992,
                    "end": 2995,
                    "loc": {
                      "start": {
                        "line": 70,
                        "column": 46
                      },
                      "end": {
                        "line": 70,
                        "column": 49
                      }
                    },
                    "value": "}",
                    "rawValue": "}",
                    "raw": "'}'"
                  }
                }
              },
              "alternate": {
                "type": "IfStatement",
                "start": 3007,
                "end": 3127,
                "loc": {
                  "start": {
                    "line": 71,
                    "column": 9
                  },
                  "end": {
                    "line": 74,
                    "column": 22
                  }
                },
                "test": {
                  "type": "BinaryExpression",
                  "start": 3011,
                  "end": 3038,
                  "loc": {
                    "start": {
                      "line": 71,
                      "column": 13
                    },
                    "end": {
                      "line": 71,
                      "column": 40
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 3011,
                    "end": 3012,
                    "loc": {
                      "start": {
                        "line": 71,
                        "column": 13
                      },
                      "end": {
                        "line": 71,
                        "column": 14
                      }
                    },
                    "name": "x"
                  },
                  "operator": "instanceof",
                  "right": {
                    "type": "Identifier",
                    "start": 3024,
                    "end": 3038,
                    "loc": {
                      "start": {
                        "line": 71,
                        "column": 26
                      },
                      "end": {
                        "line": 71,
                        "column": 40
                      }
                    },
                    "name": "ClassCadObject"
                  }
                },
                "consequent": {
                  "type": "ReturnStatement",
                  "start": 3049,
                  "end": 3067,
                  "loc": {
                    "start": {
                      "line": 72,
                      "column": 8
                    },
                    "end": {
                      "line": 72,
                      "column": 26
                    }
                  },
                  "argument": {
                    "type": "MemberExpression",
                    "start": 3056,
                    "end": 3066,
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 15
                      },
                      "end": {
                        "line": 72,
                        "column": 25
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 3056,
                      "end": 3057,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 15
                        },
                        "end": {
                          "line": 72,
                          "column": 16
                        }
                      },
                      "name": "x"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 3058,
                      "end": 3066,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 17
                        },
                        "end": {
                          "line": 72,
                          "column": 25
                        }
                      },
                      "name": "fullName"
                    },
                    "computed": false
                  }
                },
                "alternate": {
                  "type": "IfStatement",
                  "start": 3078,
                  "end": 3127,
                  "loc": {
                    "start": {
                      "line": 73,
                      "column": 9
                    },
                    "end": {
                      "line": 74,
                      "column": 22
                    }
                  },
                  "test": {
                    "type": "BinaryExpression",
                    "start": 3082,
                    "end": 3102,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 13
                      },
                      "end": {
                        "line": 73,
                        "column": 33
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 3082,
                      "end": 3083,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 13
                        },
                        "end": {
                          "line": 73,
                          "column": 14
                        }
                      },
                      "name": "x"
                    },
                    "operator": "instanceof",
                    "right": {
                      "type": "Identifier",
                      "start": 3095,
                      "end": 3102,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 26
                        },
                        "end": {
                          "line": 73,
                          "column": 33
                        }
                      },
                      "name": "Object3"
                    }
                  },
                  "consequent": {
                    "type": "ReturnStatement",
                    "start": 3113,
                    "end": 3127,
                    "loc": {
                      "start": {
                        "line": 74,
                        "column": 8
                      },
                      "end": {
                        "line": 74,
                        "column": 22
                      }
                    },
                    "argument": {
                      "type": "MemberExpression",
                      "start": 3120,
                      "end": 3126,
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 15
                        },
                        "end": {
                          "line": 74,
                          "column": 21
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 3120,
                        "end": 3121,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 15
                          },
                          "end": {
                            "line": 74,
                            "column": 16
                          }
                        },
                        "name": "x"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3122,
                        "end": 3126,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 17
                          },
                          "end": {
                            "line": 74,
                            "column": 21
                          }
                        },
                        "name": "name"
                      },
                      "computed": false
                    },
                    "trailingComments": null
                  },
                  "alternate": null,
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": null
            },
            "trailingComments": [
              {
                "type": "CommentLine",
                "value": " is fullName actually",
                "start": 3128,
                "end": 3151,
                "loc": {
                  "start": {
                    "line": 74,
                    "column": 23
                  },
                  "end": {
                    "line": 74,
                    "column": 46
                  }
                },
                "range": [
                  3128,
                  3151
                ]
              }
            ]
          },
          {
            "type": "ExpressionStatement",
            "start": 3157,
            "end": 3226,
            "loc": {
              "start": {
                "line": 75,
                "column": 4
              },
              "end": {
                "line": 75,
                "column": 73
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 3157,
              "end": 3225,
              "loc": {
                "start": {
                  "line": 75,
                  "column": 4
                },
                "end": {
                  "line": 75,
                  "column": 72
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 3157,
                "end": 3170,
                "loc": {
                  "start": {
                    "line": 75,
                    "column": 4
                  },
                  "end": {
                    "line": 75,
                    "column": 17
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 3157,
                  "end": 3164,
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 4
                    },
                    "end": {
                      "line": 75,
                      "column": 11
                    }
                  },
                  "name": "console",
                  "leadingComments": null
                },
                "property": {
                  "type": "Identifier",
                  "start": 3165,
                  "end": 3170,
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 12
                    },
                    "end": {
                      "line": 75,
                      "column": 17
                    }
                  },
                  "name": "error"
                },
                "computed": false,
                "leadingComments": null
              },
              "arguments": [
                {
                  "type": "Literal",
                  "start": 3171,
                  "end": 3221,
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 18
                    },
                    "end": {
                      "line": 75,
                      "column": 68
                    }
                  },
                  "value": "Unsupported value in a call to ClassCad function",
                  "rawValue": "Unsupported value in a call to ClassCad function",
                  "raw": "\"Unsupported value in a call to ClassCad function\""
                },
                {
                  "type": "Identifier",
                  "start": 3223,
                  "end": 3224,
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 70
                    },
                    "end": {
                      "line": 75,
                      "column": 71
                    }
                  },
                  "name": "x"
                }
              ],
              "leadingComments": null
            },
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " is fullName actually",
                "start": 3128,
                "end": 3151,
                "loc": {
                  "start": {
                    "line": 74,
                    "column": 23
                  },
                  "end": {
                    "line": 74,
                    "column": 46
                  }
                },
                "range": [
                  3128,
                  3151
                ]
              }
            ]
          },
          {
            "type": "ThrowStatement",
            "start": 3232,
            "end": 3304,
            "loc": {
              "start": {
                "line": 76,
                "column": 4
              },
              "end": {
                "line": 76,
                "column": 76
              }
            },
            "argument": {
              "type": "NewExpression",
              "start": 3238,
              "end": 3303,
              "loc": {
                "start": {
                  "line": 76,
                  "column": 10
                },
                "end": {
                  "line": 76,
                  "column": 75
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 3242,
                "end": 3251,
                "loc": {
                  "start": {
                    "line": 76,
                    "column": 14
                  },
                  "end": {
                    "line": 76,
                    "column": 23
                  }
                },
                "name": "TypeError"
              },
              "arguments": [
                {
                  "type": "Literal",
                  "start": 3252,
                  "end": 3302,
                  "loc": {
                    "start": {
                      "line": 76,
                      "column": 24
                    },
                    "end": {
                      "line": 76,
                      "column": 74
                    }
                  },
                  "value": "Unsupported value in a call to ClassCad function",
                  "rawValue": "Unsupported value in a call to ClassCad function",
                  "raw": "\"Unsupported value in a call to ClassCad function\""
                }
              ]
            }
          }
        ]
      }
    },
    {
      "type": "FunctionDeclaration",
      "start": 3311,
      "end": 3445,
      "loc": {
        "start": {
          "line": 79,
          "column": 0
        },
        "end": {
          "line": 81,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 3320,
        "end": 3336,
        "loc": {
          "start": {
            "line": 79,
            "column": 9
          },
          "end": {
            "line": 79,
            "column": 25
          }
        },
        "name": "formatExpression"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 3337,
          "end": 3341,
          "loc": {
            "start": {
              "line": 79,
              "column": 26
            },
            "end": {
              "line": 79,
              "column": 30
            }
          },
          "name": "expr"
        },
        {
          "type": "Identifier",
          "start": 3343,
          "end": 3347,
          "loc": {
            "start": {
              "line": 79,
              "column": 32
            },
            "end": {
              "line": 79,
              "column": 36
            }
          },
          "name": "args"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 3349,
        "end": 3445,
        "loc": {
          "start": {
            "line": 79,
            "column": 38
          },
          "end": {
            "line": 81,
            "column": 1
          }
        },
        "body": [
          {
            "type": "ReturnStatement",
            "start": 3356,
            "end": 3442,
            "loc": {
              "start": {
                "line": 80,
                "column": 4
              },
              "end": {
                "line": 80,
                "column": 90
              }
            },
            "argument": {
              "type": "ConditionalExpression",
              "start": 3363,
              "end": 3441,
              "loc": {
                "start": {
                  "line": 80,
                  "column": 11
                },
                "end": {
                  "line": 80,
                  "column": 89
                }
              },
              "test": {
                "type": "Identifier",
                "start": 3363,
                "end": 3367,
                "loc": {
                  "start": {
                    "line": 80,
                    "column": 11
                  },
                  "end": {
                    "line": 80,
                    "column": 15
                  }
                },
                "name": "args"
              },
              "consequent": {
                "type": "BinaryExpression",
                "start": 3370,
                "end": 3421,
                "loc": {
                  "start": {
                    "line": 80,
                    "column": 18
                  },
                  "end": {
                    "line": 80,
                    "column": 69
                  }
                },
                "left": {
                  "type": "BinaryExpression",
                  "start": 3370,
                  "end": 3415,
                  "loc": {
                    "start": {
                      "line": 80,
                      "column": 18
                    },
                    "end": {
                      "line": 80,
                      "column": 63
                    }
                  },
                  "left": {
                    "type": "BinaryExpression",
                    "start": 3370,
                    "end": 3380,
                    "loc": {
                      "start": {
                        "line": 80,
                        "column": 18
                      },
                      "end": {
                        "line": 80,
                        "column": 28
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 3370,
                      "end": 3374,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 18
                        },
                        "end": {
                          "line": 80,
                          "column": 22
                        }
                      },
                      "name": "expr"
                    },
                    "operator": "+",
                    "right": {
                      "type": "Literal",
                      "start": 3377,
                      "end": 3380,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 25
                        },
                        "end": {
                          "line": 80,
                          "column": 28
                        }
                      },
                      "value": "(",
                      "rawValue": "(",
                      "raw": "'('"
                    }
                  },
                  "operator": "+",
                  "right": {
                    "type": "CallExpression",
                    "start": 3383,
                    "end": 3415,
                    "loc": {
                      "start": {
                        "line": 80,
                        "column": 31
                      },
                      "end": {
                        "line": 80,
                        "column": 63
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3383,
                      "end": 3409,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 31
                        },
                        "end": {
                          "line": 80,
                          "column": 57
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 3383,
                        "end": 3404,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 31
                          },
                          "end": {
                            "line": 80,
                            "column": 52
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3383,
                          "end": 3391,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 31
                            },
                            "end": {
                              "line": 80,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3383,
                            "end": 3387,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 31
                              },
                              "end": {
                                "line": 80,
                                "column": 35
                              }
                            },
                            "name": "args"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3388,
                            "end": 3391,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 36
                              },
                              "end": {
                                "line": 80,
                                "column": 39
                              }
                            },
                            "name": "map"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 3392,
                            "end": 3403,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 40
                              },
                              "end": {
                                "line": 80,
                                "column": 51
                              }
                            },
                            "name": "formatValue"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3405,
                        "end": 3409,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 53
                          },
                          "end": {
                            "line": 80,
                            "column": 57
                          }
                        },
                        "name": "join"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Literal",
                        "start": 3410,
                        "end": 3414,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 58
                          },
                          "end": {
                            "line": 80,
                            "column": 62
                          }
                        },
                        "value": ", ",
                        "rawValue": ", ",
                        "raw": "', '"
                      }
                    ]
                  }
                },
                "operator": "+",
                "right": {
                  "type": "Literal",
                  "start": 3418,
                  "end": 3421,
                  "loc": {
                    "start": {
                      "line": 80,
                      "column": 66
                    },
                    "end": {
                      "line": 80,
                      "column": 69
                    }
                  },
                  "value": ")",
                  "rawValue": ")",
                  "raw": "')'"
                }
              },
              "alternate": {
                "type": "CallExpression",
                "start": 3424,
                "end": 3441,
                "loc": {
                  "start": {
                    "line": 80,
                    "column": 72
                  },
                  "end": {
                    "line": 80,
                    "column": 89
                  }
                },
                "callee": {
                  "type": "Identifier",
                  "start": 3424,
                  "end": 3435,
                  "loc": {
                    "start": {
                      "line": 80,
                      "column": 72
                    },
                    "end": {
                      "line": 80,
                      "column": 83
                    }
                  },
                  "name": "formatValue"
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 3436,
                    "end": 3440,
                    "loc": {
                      "start": {
                        "line": 80,
                        "column": 84
                      },
                      "end": {
                        "line": 80,
                        "column": 88
                      }
                    },
                    "name": "expr"
                  }
                ]
              }
            }
          }
        ]
      }
    },
    {
      "type": "Identifier",
      "start": 3449,
      "end": 3579,
      "loc": {
        "start": {
          "line": 83,
          "column": 0
        },
        "end": {
          "line": 85,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 3458,
        "end": 3465,
        "loc": {
          "start": {
            "line": 83,
            "column": 9
          },
          "end": {
            "line": 83,
            "column": 16
          }
        },
        "name": "parseTo"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 3466,
          "end": 3469,
          "loc": {
            "start": {
              "line": 83,
              "column": 17
            },
            "end": {
              "line": 83,
              "column": 20
            }
          },
          "name": "obj"
        },
        {
          "type": "RestElement",
          "start": 3471,
          "end": 3487,
          "loc": {
            "start": {
              "line": 83,
              "column": 22
            },
            "end": {
              "line": 83,
              "column": 38
            }
          },
          "argument": {
            "type": "Identifier",
            "start": 3474,
            "end": 3487,
            "loc": {
              "start": {
                "line": 83,
                "column": 25
              },
              "end": {
                "line": 83,
                "column": 38
              }
            },
            "name": "linkedObjects"
          }
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 3489,
        "end": 3579,
        "loc": {
          "start": {
            "line": 83,
            "column": 40
          },
          "end": {
            "line": 85,
            "column": 1
          }
        },
        "body": [
          {
            "type": "ReturnStatement",
            "start": 3496,
            "end": 3576,
            "loc": {
              "start": {
                "line": 84,
                "column": 4
              },
              "end": {
                "line": 84,
                "column": 84
              }
            },
            "argument": {
              "type": "ArrowFunctionExpression",
              "start": 3503,
              "end": 3575,
              "loc": {
                "start": {
                  "line": 84,
                  "column": 11
                },
                "end": {
                  "line": 84,
                  "column": 83
                }
              },
              "id": null,
              "generator": false,
              "expression": true,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 3503,
                  "end": 3507,
                  "loc": {
                    "start": {
                      "line": 84,
                      "column": 11
                    },
                    "end": {
                      "line": 84,
                      "column": 15
                    }
                  },
                  "name": "tree"
                }
              ],
              "body": {
                "type": "CallExpression",
                "start": 3511,
                "end": 3575,
                "loc": {
                  "start": {
                    "line": 84,
                    "column": 19
                  },
                  "end": {
                    "line": 84,
                    "column": 83
                  }
                },
                "callee": {
                  "type": "Identifier",
                  "start": 3511,
                  "end": 3526,
                  "loc": {
                    "start": {
                      "line": 84,
                      "column": 19
                    },
                    "end": {
                      "line": 84,
                      "column": 34
                    }
                  },
                  "name": "parseObjectTree"
                },
                "arguments": [
                  {
                    "type": "MemberExpression",
                    "start": 3527,
                    "end": 3534,
                    "loc": {
                      "start": {
                        "line": 84,
                        "column": 35
                      },
                      "end": {
                        "line": 84,
                        "column": 42
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 3527,
                      "end": 3531,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 35
                        },
                        "end": {
                          "line": 84,
                          "column": 39
                        }
                      },
                      "name": "tree"
                    },
                    "property": {
                      "type": "Literal",
                      "start": 3532,
                      "end": 3533,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 40
                        },
                        "end": {
                          "line": 84,
                          "column": 41
                        }
                      },
                      "value": 0,
                      "rawValue": 0,
                      "raw": "0"
                    },
                    "computed": true
                  },
                  {
                    "type": "Identifier",
                    "start": 3536,
                    "end": 3545,
                    "loc": {
                      "start": {
                        "line": 84,
                        "column": 44
                      },
                      "end": {
                        "line": 84,
                        "column": 53
                      }
                    },
                    "name": "undefined"
                  },
                  {
                    "type": "CallExpression",
                    "start": 3547,
                    "end": 3574,
                    "loc": {
                      "start": {
                        "line": 84,
                        "column": 55
                      },
                      "end": {
                        "line": 84,
                        "column": 82
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3547,
                      "end": 3559,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 55
                        },
                        "end": {
                          "line": 84,
                          "column": 67
                        }
                      },
                      "object": {
                        "type": "ArrayExpression",
                        "start": 3547,
                        "end": 3552,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 55
                          },
                          "end": {
                            "line": 84,
                            "column": 60
                          }
                        },
                        "elements": [
                          {
                            "type": "Identifier",
                            "start": 3548,
                            "end": 3551,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 56
                              },
                              "end": {
                                "line": 84,
                                "column": 59
                              }
                            },
                            "name": "obj"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3553,
                        "end": 3559,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 61
                          },
                          "end": {
                            "line": 84,
                            "column": 67
                          }
                        },
                        "name": "concat"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 3560,
                        "end": 3573,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 68
                          },
                          "end": {
                            "line": 84,
                            "column": 81
                          }
                        },
                        "name": "linkedObjects"
                      }
                    ]
                  }
                ]
              }
            }
          }
        ]
      },
      "name": "_",
      "leadingComments": [],
      "trailingComments": []
    },
    {
      "type": "Identifier",
      "start": 3583,
      "end": 3720,
      "loc": {
        "start": {
          "line": 87,
          "column": 0
        },
        "end": {
          "line": 89,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 3592,
        "end": 3606,
        "loc": {
          "start": {
            "line": 87,
            "column": 9
          },
          "end": {
            "line": 87,
            "column": 23
          }
        },
        "name": "parseToChildOf"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 3607,
          "end": 3610,
          "loc": {
            "start": {
              "line": 87,
              "column": 24
            },
            "end": {
              "line": 87,
              "column": 27
            }
          },
          "name": "obj"
        },
        {
          "type": "RestElement",
          "start": 3612,
          "end": 3628,
          "loc": {
            "start": {
              "line": 87,
              "column": 29
            },
            "end": {
              "line": 87,
              "column": 45
            }
          },
          "argument": {
            "type": "Identifier",
            "start": 3615,
            "end": 3628,
            "loc": {
              "start": {
                "line": 87,
                "column": 32
              },
              "end": {
                "line": 87,
                "column": 45
              }
            },
            "name": "linkedObjects"
          }
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 3630,
        "end": 3720,
        "loc": {
          "start": {
            "line": 87,
            "column": 47
          },
          "end": {
            "line": 89,
            "column": 1
          }
        },
        "body": [
          {
            "type": "ReturnStatement",
            "start": 3637,
            "end": 3717,
            "loc": {
              "start": {
                "line": 88,
                "column": 4
              },
              "end": {
                "line": 88,
                "column": 84
              }
            },
            "argument": {
              "type": "ArrowFunctionExpression",
              "start": 3644,
              "end": 3716,
              "loc": {
                "start": {
                  "line": 88,
                  "column": 11
                },
                "end": {
                  "line": 88,
                  "column": 83
                }
              },
              "id": null,
              "generator": false,
              "expression": true,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 3644,
                  "end": 3648,
                  "loc": {
                    "start": {
                      "line": 88,
                      "column": 11
                    },
                    "end": {
                      "line": 88,
                      "column": 15
                    }
                  },
                  "name": "tree"
                }
              ],
              "body": {
                "type": "CallExpression",
                "start": 3652,
                "end": 3716,
                "loc": {
                  "start": {
                    "line": 88,
                    "column": 19
                  },
                  "end": {
                    "line": 88,
                    "column": 83
                  }
                },
                "callee": {
                  "type": "Identifier",
                  "start": 3652,
                  "end": 3667,
                  "loc": {
                    "start": {
                      "line": 88,
                      "column": 19
                    },
                    "end": {
                      "line": 88,
                      "column": 34
                    }
                  },
                  "name": "parseObjectTree"
                },
                "arguments": [
                  {
                    "type": "MemberExpression",
                    "start": 3668,
                    "end": 3675,
                    "loc": {
                      "start": {
                        "line": 88,
                        "column": 35
                      },
                      "end": {
                        "line": 88,
                        "column": 42
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 3668,
                      "end": 3672,
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 35
                        },
                        "end": {
                          "line": 88,
                          "column": 39
                        }
                      },
                      "name": "tree"
                    },
                    "property": {
                      "type": "Literal",
                      "start": 3673,
                      "end": 3674,
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 40
                        },
                        "end": {
                          "line": 88,
                          "column": 41
                        }
                      },
                      "value": 0,
                      "rawValue": 0,
                      "raw": "0"
                    },
                    "computed": true
                  },
                  {
                    "type": "Identifier",
                    "start": 3677,
                    "end": 3680,
                    "loc": {
                      "start": {
                        "line": 88,
                        "column": 44
                      },
                      "end": {
                        "line": 88,
                        "column": 47
                      }
                    },
                    "name": "obj"
                  },
                  {
                    "type": "CallExpression",
                    "start": 3682,
                    "end": 3715,
                    "loc": {
                      "start": {
                        "line": 88,
                        "column": 49
                      },
                      "end": {
                        "line": 88,
                        "column": 82
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3682,
                      "end": 3700,
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 49
                        },
                        "end": {
                          "line": 88,
                          "column": 67
                        }
                      },
                      "object": {
                        "type": "ArrayExpression",
                        "start": 3682,
                        "end": 3693,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 49
                          },
                          "end": {
                            "line": 88,
                            "column": 60
                          }
                        },
                        "elements": [
                          {
                            "type": "Identifier",
                            "start": 3683,
                            "end": 3692,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 50
                              },
                              "end": {
                                "line": 88,
                                "column": 59
                              }
                            },
                            "name": "undefined"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3694,
                        "end": 3700,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 61
                          },
                          "end": {
                            "line": 88,
                            "column": 67
                          }
                        },
                        "name": "concat"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 3701,
                        "end": 3714,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 68
                          },
                          "end": {
                            "line": 88,
                            "column": 81
                          }
                        },
                        "name": "linkedObjects"
                      }
                    ]
                  }
                ]
              }
            }
          }
        ]
      },
      "name": "_",
      "leadingComments": [],
      "trailingComments": []
    },
    {
      "type": "Identifier",
      "start": 3724,
      "end": 3744,
      "loc": {
        "start": {
          "line": 91,
          "column": 0
        },
        "end": {
          "line": 91,
          "column": 20
        }
      },
      "declarations": [
        {
          "type": "VariableDeclarator",
          "start": 3728,
          "end": 3743,
          "loc": {
            "start": {
              "line": 91,
              "column": 4
            },
            "end": {
              "line": 91,
              "column": 19
            }
          },
          "id": {
            "type": "Identifier",
            "start": 3728,
            "end": 3738,
            "loc": {
              "start": {
                "line": 91,
                "column": 4
              },
              "end": {
                "line": 91,
                "column": 14
              }
            },
            "name": "Expression"
          },
          "init": {
            "type": "ObjectExpression",
            "start": 3741,
            "end": 3743,
            "loc": {
              "start": {
                "line": 91,
                "column": 17
              },
              "end": {
                "line": 91,
                "column": 19
              }
            },
            "properties": []
          }
        }
      ],
      "kind": "let",
      "name": "_",
      "leadingComments": [],
      "trailingComments": []
    },
    {
      "type": "ExpressionStatement",
      "start": 3746,
      "end": 4451,
      "loc": {
        "start": {
          "line": 92,
          "column": 0
        },
        "end": {
          "line": 120,
          "column": 3
        }
      },
      "expression": {
        "type": "CallExpression",
        "start": 3746,
        "end": 4450,
        "loc": {
          "start": {
            "line": 92,
            "column": 0
          },
          "end": {
            "line": 120,
            "column": 2
          }
        },
        "callee": {
          "type": "MemberExpression",
          "start": 3746,
          "end": 4284,
          "loc": {
            "start": {
              "line": 92,
              "column": 0
            },
            "end": {
              "line": 116,
              "column": 9
            }
          },
          "object": {
            "type": "ArrayExpression",
            "start": 3746,
            "end": 4276,
            "loc": {
              "start": {
                "line": 92,
                "column": 0
              },
              "end": {
                "line": 116,
                "column": 1
              }
            },
            "elements": [
              {
                "type": "Literal",
                "start": 3822,
                "end": 3833,
                "loc": {
                  "start": {
                    "line": 94,
                    "column": 4
                  },
                  "end": {
                    "line": 94,
                    "column": 15
                  }
                },
                "value": "AddSketch",
                "rawValue": "AddSketch",
                "raw": "'AddSketch'",
                "leadingComments": [
                  {
                    "type": "CommentLine",
                    "value": " keep in sync with SketcherCloudInterop.cclass public methods",
                    "start": 3753,
                    "end": 3816,
                    "loc": {
                      "start": {
                        "line": 93,
                        "column": 4
                      },
                      "end": {
                        "line": 93,
                        "column": 67
                      }
                    },
                    "range": [
                      3753,
                      3816
                    ]
                  }
                ]
              },
              {
                "type": "Literal",
                "start": 3840,
                "end": 3860,
                "loc": {
                  "start": {
                    "line": 95,
                    "column": 4
                  },
                  "end": {
                    "line": 95,
                    "column": 24
                  }
                },
                "value": "AddSketchFromPlane",
                "rawValue": "AddSketchFromPlane",
                "raw": "'AddSketchFromPlane'"
              },
              {
                "type": "Literal",
                "start": 3867,
                "end": 3877,
                "loc": {
                  "start": {
                    "line": 96,
                    "column": 4
                  },
                  "end": {
                    "line": 96,
                    "column": 14
                  }
                },
                "value": "AddPoint",
                "rawValue": "AddPoint",
                "raw": "'AddPoint'"
              },
              {
                "type": "Literal",
                "start": 3884,
                "end": 3893,
                "loc": {
                  "start": {
                    "line": 97,
                    "column": 4
                  },
                  "end": {
                    "line": 97,
                    "column": 13
                  }
                },
                "value": "AddLine",
                "rawValue": "AddLine",
                "raw": "'AddLine'"
              },
              {
                "type": "Literal",
                "start": 3900,
                "end": 3908,
                "loc": {
                  "start": {
                    "line": 98,
                    "column": 4
                  },
                  "end": {
                    "line": 98,
                    "column": 12
                  }
                },
                "value": "AddArc",
                "rawValue": "AddArc",
                "raw": "'AddArc'"
              },
              {
                "type": "Literal",
                "start": 3915,
                "end": 3930,
                "loc": {
                  "start": {
                    "line": 99,
                    "column": 4
                  },
                  "end": {
                    "line": 99,
                    "column": 19
                  }
                },
                "value": "AddConstraint",
                "rawValue": "AddConstraint",
                "raw": "'AddConstraint'"
              },
              {
                "type": "Literal",
                "start": 3937,
                "end": 3951,
                "loc": {
                  "start": {
                    "line": 100,
                    "column": 4
                  },
                  "end": {
                    "line": 100,
                    "column": 18
                  }
                },
                "value": "RemoveSketch",
                "rawValue": "RemoveSketch",
                "raw": "'RemoveSketch'"
              },
              {
                "type": "Literal",
                "start": 3958,
                "end": 3971,
                "loc": {
                  "start": {
                    "line": 101,
                    "column": 4
                  },
                  "end": {
                    "line": 101,
                    "column": 17
                  }
                },
                "value": "RemovePoint",
                "rawValue": "RemovePoint",
                "raw": "'RemovePoint'"
              },
              {
                "type": "Literal",
                "start": 3978,
                "end": 3990,
                "loc": {
                  "start": {
                    "line": 102,
                    "column": 4
                  },
                  "end": {
                    "line": 102,
                    "column": 16
                  }
                },
                "value": "RemoveLine",
                "rawValue": "RemoveLine",
                "raw": "'RemoveLine'"
              },
              {
                "type": "Literal",
                "start": 3997,
                "end": 4008,
                "loc": {
                  "start": {
                    "line": 103,
                    "column": 4
                  },
                  "end": {
                    "line": 103,
                    "column": 15
                  }
                },
                "value": "RemoveArc",
                "rawValue": "RemoveArc",
                "raw": "'RemoveArc'"
              },
              {
                "type": "Literal",
                "start": 4015,
                "end": 4033,
                "loc": {
                  "start": {
                    "line": 104,
                    "column": 4
                  },
                  "end": {
                    "line": 104,
                    "column": 22
                  }
                },
                "value": "RemoveConstraint",
                "rawValue": "RemoveConstraint",
                "raw": "'RemoveConstraint'"
              },
              {
                "type": "Literal",
                "start": 4040,
                "end": 4053,
                "loc": {
                  "start": {
                    "line": 105,
                    "column": 4
                  },
                  "end": {
                    "line": 105,
                    "column": 17
                  }
                },
                "value": "UpdatePoint",
                "rawValue": "UpdatePoint",
                "raw": "'UpdatePoint'"
              },
              {
                "type": "Literal",
                "start": 4060,
                "end": 4072,
                "loc": {
                  "start": {
                    "line": 106,
                    "column": 4
                  },
                  "end": {
                    "line": 106,
                    "column": 16
                  }
                },
                "value": "UpdateLine",
                "rawValue": "UpdateLine",
                "raw": "'UpdateLine'"
              },
              {
                "type": "Literal",
                "start": 4079,
                "end": 4090,
                "loc": {
                  "start": {
                    "line": 107,
                    "column": 4
                  },
                  "end": {
                    "line": 107,
                    "column": 15
                  }
                },
                "value": "UpdateArc",
                "rawValue": "UpdateArc",
                "raw": "'UpdateArc'"
              },
              {
                "type": "Literal",
                "start": 4097,
                "end": 4115,
                "loc": {
                  "start": {
                    "line": 108,
                    "column": 4
                  },
                  "end": {
                    "line": 108,
                    "column": 22
                  }
                },
                "value": "UpdateConstraint",
                "rawValue": "UpdateConstraint",
                "raw": "'UpdateConstraint'"
              },
              {
                "type": "Literal",
                "start": 4122,
                "end": 4133,
                "loc": {
                  "start": {
                    "line": 109,
                    "column": 4
                  },
                  "end": {
                    "line": 109,
                    "column": 15
                  }
                },
                "value": "AddFillet",
                "rawValue": "AddFillet",
                "raw": "'AddFillet'"
              },
              {
                "type": "Literal",
                "start": 4140,
                "end": 4161,
                "loc": {
                  "start": {
                    "line": 110,
                    "column": 4
                  },
                  "end": {
                    "line": 110,
                    "column": 25
                  }
                },
                "value": "UpdateExpressionSet",
                "rawValue": "UpdateExpressionSet",
                "raw": "'UpdateExpressionSet'"
              },
              {
                "type": "Literal",
                "start": 4168,
                "end": 4192,
                "loc": {
                  "start": {
                    "line": 111,
                    "column": 4
                  },
                  "end": {
                    "line": 111,
                    "column": 28
                  }
                },
                "value": "CreateSketchDimensions",
                "rawValue": "CreateSketchDimensions",
                "raw": "'CreateSketchDimensions'"
              },
              {
                "type": "Literal",
                "start": 4199,
                "end": 4212,
                "loc": {
                  "start": {
                    "line": 112,
                    "column": 4
                  },
                  "end": {
                    "line": 112,
                    "column": 17
                  }
                },
                "value": "CopyObjects",
                "rawValue": "CopyObjects",
                "raw": "'CopyObjects'"
              },
              {
                "type": "Literal",
                "start": 4219,
                "end": 4232,
                "loc": {
                  "start": {
                    "line": 113,
                    "column": 4
                  },
                  "end": {
                    "line": 113,
                    "column": 17
                  }
                },
                "value": "MoveObjects",
                "rawValue": "MoveObjects",
                "raw": "'MoveObjects'"
              },
              {
                "type": "Literal",
                "start": 4239,
                "end": 4247,
                "loc": {
                  "start": {
                    "line": 114,
                    "column": 4
                  },
                  "end": {
                    "line": 114,
                    "column": 12
                  }
                },
                "value": "Recalc",
                "rawValue": "Recalc",
                "raw": "'Recalc'"
              },
              {
                "type": "Literal",
                "start": 4254,
                "end": 4272,
                "loc": {
                  "start": {
                    "line": 115,
                    "column": 4
                  },
                  "end": {
                    "line": 115,
                    "column": 22
                  }
                },
                "value": "SolveConstraints",
                "rawValue": "SolveConstraints",
                "raw": "'SolveConstraints'"
              }
            ]
          },
          "property": {
            "type": "Identifier",
            "start": 4277,
            "end": 4284,
            "loc": {
              "start": {
                "line": 116,
                "column": 2
              },
              "end": {
                "line": 116,
                "column": 9
              }
            },
            "name": "forEach"
          },
          "computed": false
        },
        "arguments": [
          {
            "type": "FunctionExpression",
            "start": 4285,
            "end": 4449,
            "loc": {
              "start": {
                "line": 116,
                "column": 10
              },
              "end": {
                "line": 120,
                "column": 1
              }
            },
            "id": null,
            "generator": false,
            "expression": false,
            "async": false,
            "params": [
              {
                "type": "Identifier",
                "start": 4294,
                "end": 4298,
                "loc": {
                  "start": {
                    "line": 116,
                    "column": 19
                  },
                  "end": {
                    "line": 116,
                    "column": 23
                  }
                },
                "name": "name"
              }
            ],
            "body": {
              "type": "BlockStatement",
              "start": 4300,
              "end": 4449,
              "loc": {
                "start": {
                  "line": 116,
                  "column": 25
                },
                "end": {
                  "line": 120,
                  "column": 1
                }
              },
              "body": [
                {
                  "type": "ExpressionStatement",
                  "start": 4307,
                  "end": 4446,
                  "loc": {
                    "start": {
                      "line": 117,
                      "column": 4
                    },
                    "end": {
                      "line": 119,
                      "column": 6
                    }
                  },
                  "expression": {
                    "type": "AssignmentExpression",
                    "start": 4307,
                    "end": 4445,
                    "loc": {
                      "start": {
                        "line": 117,
                        "column": 4
                      },
                      "end": {
                        "line": 119,
                        "column": 5
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "MemberExpression",
                      "start": 4307,
                      "end": 4323,
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 4
                        },
                        "end": {
                          "line": 117,
                          "column": 20
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4307,
                        "end": 4317,
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 4
                          },
                          "end": {
                            "line": 117,
                            "column": 14
                          }
                        },
                        "name": "Expression"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4318,
                        "end": 4322,
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 15
                          },
                          "end": {
                            "line": 117,
                            "column": 19
                          }
                        },
                        "name": "name"
                      },
                      "computed": true
                    },
                    "right": {
                      "type": "FunctionExpression",
                      "start": 4326,
                      "end": 4445,
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 23
                        },
                        "end": {
                          "line": 119,
                          "column": 5
                        }
                      },
                      "id": null,
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [
                        {
                          "type": "RestElement",
                          "start": 4335,
                          "end": 4342,
                          "loc": {
                            "start": {
                              "line": 117,
                              "column": 32
                            },
                            "end": {
                              "line": 117,
                              "column": 39
                            }
                          },
                          "argument": {
                            "type": "Identifier",
                            "start": 4338,
                            "end": 4342,
                            "loc": {
                              "start": {
                                "line": 117,
                                "column": 35
                              },
                              "end": {
                                "line": 117,
                                "column": 39
                              }
                            },
                            "name": "args"
                          }
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "start": 4344,
                        "end": 4445,
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 41
                          },
                          "end": {
                            "line": 119,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "start": 4355,
                            "end": 4438,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 8
                              },
                              "end": {
                                "line": 118,
                                "column": 91
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 4362,
                              "end": 4437,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 15
                                },
                                "end": {
                                  "line": 118,
                                  "column": 90
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 4366,
                                "end": 4376,
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 29
                                  }
                                },
                                "name": "Statements"
                              },
                              "arguments": [
                                {
                                  "type": "ArrayExpression",
                                  "start": 4377,
                                  "end": 4436,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 89
                                    }
                                  },
                                  "elements": [
                                    {
                                      "type": "CallExpression",
                                      "start": 4378,
                                      "end": 4435,
                                      "loc": {
                                        "start": {
                                          "line": 118,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 118,
                                          "column": 88
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 4378,
                                        "end": 4394,
                                        "loc": {
                                          "start": {
                                            "line": 118,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 118,
                                            "column": 47
                                          }
                                        },
                                        "name": "formatExpression"
                                      },
                                      "arguments": [
                                        {
                                          "type": "TemplateLiteral",
                                          "start": 4395,
                                          "end": 4428,
                                          "loc": {
                                            "start": {
                                              "line": 118,
                                              "column": 48
                                            },
                                            "end": {
                                              "line": 118,
                                              "column": 81
                                            }
                                          },
                                          "expressions": [
                                            {
                                              "type": "Identifier",
                                              "start": 4422,
                                              "end": 4426,
                                              "loc": {
                                                "start": {
                                                  "line": 118,
                                                  "column": 75
                                                },
                                                "end": {
                                                  "line": 118,
                                                  "column": 79
                                                }
                                              },
                                              "name": "name"
                                            }
                                          ],
                                          "quasis": [
                                            {
                                              "type": "TemplateElement",
                                              "start": 4396,
                                              "end": 4420,
                                              "loc": {
                                                "start": {
                                                  "line": 118,
                                                  "column": 49
                                                },
                                                "end": {
                                                  "line": 118,
                                                  "column": 73
                                                }
                                              },
                                              "value": {
                                                "raw": "_C.SketcherCloudInterop.",
                                                "cooked": "_C.SketcherCloudInterop."
                                              },
                                              "tail": false
                                            },
                                            {
                                              "type": "TemplateElement",
                                              "start": 4427,
                                              "end": 4427,
                                              "loc": {
                                                "start": {
                                                  "line": 118,
                                                  "column": 80
                                                },
                                                "end": {
                                                  "line": 118,
                                                  "column": 80
                                                }
                                              },
                                              "value": {
                                                "raw": "",
                                                "cooked": ""
                                              },
                                              "tail": true
                                            }
                                          ]
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 4430,
                                          "end": 4434,
                                          "loc": {
                                            "start": {
                                              "line": 118,
                                              "column": 83
                                            },
                                            "end": {
                                              "line": 118,
                                              "column": 87
                                            }
                                          },
                                          "name": "args"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              ]
            }
          }
        ]
      }
    },
    {
      "type": "Identifier",
      "start": 4453,
      "end": 4938,
      "loc": {
        "start": {
          "line": 121,
          "column": 0
        },
        "end": {
          "line": 131,
          "column": 2
        }
      },
      "declarations": [
        {
          "type": "VariableDeclarator",
          "start": 4459,
          "end": 4937,
          "loc": {
            "start": {
              "line": 121,
              "column": 6
            },
            "end": {
              "line": 131,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 4459,
            "end": 4468,
            "loc": {
              "start": {
                "line": 121,
                "column": 6
              },
              "end": {
                "line": 121,
                "column": 15
              }
            },
            "name": "Statement"
          },
          "init": {
            "type": "ObjectExpression",
            "start": 4471,
            "end": 4937,
            "loc": {
              "start": {
                "line": 121,
                "column": 18
              },
              "end": {
                "line": 131,
                "column": 1
              }
            },
            "properties": [
              {
                "type": "Property",
                "start": 4478,
                "end": 4576,
                "loc": {
                  "start": {
                    "line": 122,
                    "column": 4
                  },
                  "end": {
                    "line": 124,
                    "column": 5
                  }
                },
                "method": true,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 4478,
                  "end": 4484,
                  "loc": {
                    "start": {
                      "line": 122,
                      "column": 4
                    },
                    "end": {
                      "line": 122,
                      "column": 10
                    }
                  },
                  "name": "Return"
                },
                "kind": "init",
                "value": {
                  "type": "FunctionExpression",
                  "start": 4484,
                  "end": 4576,
                  "loc": {
                    "start": {
                      "line": 122,
                      "column": 10
                    },
                    "end": {
                      "line": 124,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 4485,
                      "end": 4495,
                      "loc": {
                        "start": {
                          "line": 122,
                          "column": 11
                        },
                        "end": {
                          "line": 122,
                          "column": 21
                        }
                      },
                      "name": "expression"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 4497,
                    "end": 4576,
                    "loc": {
                      "start": {
                        "line": 122,
                        "column": 23
                      },
                      "end": {
                        "line": 124,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "ReturnStatement",
                        "start": 4508,
                        "end": 4569,
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 8
                          },
                          "end": {
                            "line": 123,
                            "column": 69
                          }
                        },
                        "argument": {
                          "type": "NewExpression",
                          "start": 4515,
                          "end": 4568,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 15
                            },
                            "end": {
                              "line": 123,
                              "column": 68
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 4519,
                            "end": 4529,
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 19
                              },
                              "end": {
                                "line": 123,
                                "column": 29
                              }
                            },
                            "name": "Statements"
                          },
                          "arguments": [
                            {
                              "type": "ArrayExpression",
                              "start": 4530,
                              "end": 4567,
                              "loc": {
                                "start": {
                                  "line": 123,
                                  "column": 30
                                },
                                "end": {
                                  "line": 123,
                                  "column": 67
                                }
                              },
                              "elements": [
                                {
                                  "type": "TemplateLiteral",
                                  "start": 4531,
                                  "end": 4566,
                                  "loc": {
                                    "start": {
                                      "line": 123,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 123,
                                      "column": 66
                                    }
                                  },
                                  "expressions": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 4541,
                                      "end": 4563,
                                      "loc": {
                                        "start": {
                                          "line": 123,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 123,
                                          "column": 63
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 4541,
                                        "end": 4560,
                                        "loc": {
                                          "start": {
                                            "line": 123,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 123,
                                            "column": 60
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 4541,
                                          "end": 4551,
                                          "loc": {
                                            "start": {
                                              "line": 123,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 123,
                                              "column": 51
                                            }
                                          },
                                          "name": "expression"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4552,
                                          "end": 4560,
                                          "loc": {
                                            "start": {
                                              "line": 123,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 123,
                                              "column": 60
                                            }
                                          },
                                          "name": "commands"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Literal",
                                        "start": 4561,
                                        "end": 4562,
                                        "loc": {
                                          "start": {
                                            "line": 123,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 123,
                                            "column": 62
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "computed": true
                                    }
                                  ],
                                  "quasis": [
                                    {
                                      "type": "TemplateElement",
                                      "start": 4532,
                                      "end": 4539,
                                      "loc": {
                                        "start": {
                                          "line": 123,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 123,
                                          "column": 39
                                        }
                                      },
                                      "value": {
                                        "raw": "RETURN ",
                                        "cooked": "RETURN "
                                      },
                                      "tail": false
                                    },
                                    {
                                      "type": "TemplateElement",
                                      "start": 4564,
                                      "end": 4565,
                                      "loc": {
                                        "start": {
                                          "line": 123,
                                          "column": 64
                                        },
                                        "end": {
                                          "line": 123,
                                          "column": 65
                                        }
                                      },
                                      "value": {
                                        "raw": ";",
                                        "cooked": ";"
                                      },
                                      "tail": true
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              },
              {
                "type": "Property",
                "start": 4583,
                "end": 4933,
                "loc": {
                  "start": {
                    "line": 125,
                    "column": 4
                  },
                  "end": {
                    "line": 130,
                    "column": 5
                  }
                },
                "method": true,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 4583,
                  "end": 4593,
                  "loc": {
                    "start": {
                      "line": 125,
                      "column": 4
                    },
                    "end": {
                      "line": 125,
                      "column": 14
                    }
                  },
                  "name": "JSONExport"
                },
                "kind": "init",
                "value": {
                  "type": "FunctionExpression",
                  "start": 4593,
                  "end": 4933,
                  "loc": {
                    "start": {
                      "line": 125,
                      "column": 14
                    },
                    "end": {
                      "line": 130,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 4594,
                      "end": 4604,
                      "loc": {
                        "start": {
                          "line": 125,
                          "column": 15
                        },
                        "end": {
                          "line": 125,
                          "column": 25
                        }
                      },
                      "name": "expression"
                    },
                    {
                      "type": "RestElement",
                      "start": 4606,
                      "end": 4622,
                      "loc": {
                        "start": {
                          "line": 125,
                          "column": 27
                        },
                        "end": {
                          "line": 125,
                          "column": 43
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 4609,
                        "end": 4622,
                        "loc": {
                          "start": {
                            "line": 125,
                            "column": 30
                          },
                          "end": {
                            "line": 125,
                            "column": 43
                          }
                        },
                        "name": "linkedObjects"
                      }
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 4624,
                    "end": 4933,
                    "loc": {
                      "start": {
                        "line": 125,
                        "column": 45
                      },
                      "end": {
                        "line": 130,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "IfStatement",
                        "start": 4635,
                        "end": 4744,
                        "loc": {
                          "start": {
                            "line": 126,
                            "column": 8
                          },
                          "end": {
                            "line": 127,
                            "column": 67
                          }
                        },
                        "test": {
                          "type": "UnaryExpression",
                          "start": 4639,
                          "end": 4674,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 12
                            },
                            "end": {
                              "line": 126,
                              "column": 47
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "BinaryExpression",
                            "start": 4641,
                            "end": 4673,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 14
                              },
                              "end": {
                                "line": 126,
                                "column": 46
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 4641,
                              "end": 4651,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 14
                                },
                                "end": {
                                  "line": 126,
                                  "column": 24
                                }
                              },
                              "name": "expression"
                            },
                            "operator": "instanceof",
                            "right": {
                              "type": "Identifier",
                              "start": 4663,
                              "end": 4673,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 36
                                },
                                "end": {
                                  "line": 126,
                                  "column": 46
                                }
                              },
                              "name": "Statements"
                            },
                            "parenthesizedExpression": true
                          }
                        },
                        "consequent": {
                          "type": "ExpressionStatement",
                          "start": 4689,
                          "end": 4744,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 12
                            },
                            "end": {
                              "line": 127,
                              "column": 67
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 4689,
                            "end": 4743,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 12
                              },
                              "end": {
                                "line": 127,
                                "column": 66
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 4689,
                              "end": 4699,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 12
                                },
                                "end": {
                                  "line": 127,
                                  "column": 22
                                }
                              },
                              "name": "expression"
                            },
                            "right": {
                              "type": "NewExpression",
                              "start": 4702,
                              "end": 4743,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 25
                                },
                                "end": {
                                  "line": 127,
                                  "column": 66
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 4706,
                                "end": 4716,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 39
                                  }
                                },
                                "name": "Statements"
                              },
                              "arguments": [
                                {
                                  "type": "ArrayExpression",
                                  "start": 4717,
                                  "end": 4742,
                                  "loc": {
                                    "start": {
                                      "line": 127,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 127,
                                      "column": 65
                                    }
                                  },
                                  "elements": [
                                    {
                                      "type": "CallExpression",
                                      "start": 4718,
                                      "end": 4741,
                                      "loc": {
                                        "start": {
                                          "line": 127,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 127,
                                          "column": 64
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 4718,
                                        "end": 4729,
                                        "loc": {
                                          "start": {
                                            "line": 127,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 127,
                                            "column": 52
                                          }
                                        },
                                        "name": "formatValue"
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 4730,
                                          "end": 4740,
                                          "loc": {
                                            "start": {
                                              "line": 127,
                                              "column": 53
                                            },
                                            "end": {
                                              "line": 127,
                                              "column": 63
                                            }
                                          },
                                          "name": "expression"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          }
                        },
                        "alternate": null
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 4754,
                        "end": 4833,
                        "loc": {
                          "start": {
                            "line": 128,
                            "column": 8
                          },
                          "end": {
                            "line": 128,
                            "column": 87
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 4760,
                            "end": 4832,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 14
                              },
                              "end": {
                                "line": 128,
                                "column": 86
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 4760,
                              "end": 4771,
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 14
                                },
                                "end": {
                                  "line": 128,
                                  "column": 25
                                }
                              },
                              "name": "expressions"
                            },
                            "init": {
                              "type": "CallExpression",
                              "start": 4774,
                              "end": 4832,
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 28
                                },
                                "end": {
                                  "line": 128,
                                  "column": 86
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4774,
                                "end": 4800,
                                "loc": {
                                  "start": {
                                    "line": 128,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 128,
                                    "column": 54
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4774,
                                  "end": 4793,
                                  "loc": {
                                    "start": {
                                      "line": 128,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 128,
                                      "column": 47
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4774,
                                    "end": 4784,
                                    "loc": {
                                      "start": {
                                        "line": 128,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 128,
                                        "column": 38
                                      }
                                    },
                                    "name": "expression"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4785,
                                    "end": 4793,
                                    "loc": {
                                      "start": {
                                        "line": 128,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 128,
                                        "column": 47
                                      }
                                    },
                                    "name": "commands"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4794,
                                  "end": 4800,
                                  "loc": {
                                    "start": {
                                      "line": 128,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 128,
                                      "column": 54
                                    }
                                  },
                                  "name": "concat"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "start": 4801,
                                  "end": 4831,
                                  "loc": {
                                    "start": {
                                      "line": 128,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 128,
                                      "column": 85
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 4801,
                                    "end": 4818,
                                    "loc": {
                                      "start": {
                                        "line": 128,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 128,
                                        "column": 72
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4801,
                                      "end": 4814,
                                      "loc": {
                                        "start": {
                                          "line": 128,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 128,
                                          "column": 68
                                        }
                                      },
                                      "name": "linkedObjects"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4815,
                                      "end": 4818,
                                      "loc": {
                                        "start": {
                                          "line": 128,
                                          "column": 69
                                        },
                                        "end": {
                                          "line": 128,
                                          "column": 72
                                        }
                                      },
                                      "name": "map"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 4819,
                                      "end": 4830,
                                      "loc": {
                                        "start": {
                                          "line": 128,
                                          "column": 73
                                        },
                                        "end": {
                                          "line": 128,
                                          "column": 84
                                        }
                                      },
                                      "name": "formatValue"
                                    }
                                  ]
                                }
                              ]
                            }
                          }
                        ],
                        "kind": "const"
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 4843,
                        "end": 4926,
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 8
                          },
                          "end": {
                            "line": 129,
                            "column": 91
                          }
                        },
                        "argument": {
                          "type": "NewExpression",
                          "start": 4850,
                          "end": 4925,
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 15
                            },
                            "end": {
                              "line": 129,
                              "column": 90
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 4854,
                            "end": 4864,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 19
                              },
                              "end": {
                                "line": 129,
                                "column": 29
                              }
                            },
                            "name": "Statements"
                          },
                          "arguments": [
                            {
                              "type": "ArrayExpression",
                              "start": 4865,
                              "end": 4924,
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 30
                                },
                                "end": {
                                  "line": 129,
                                  "column": 89
                                }
                              },
                              "elements": [
                                {
                                  "type": "TemplateLiteral",
                                  "start": 4866,
                                  "end": 4923,
                                  "loc": {
                                    "start": {
                                      "line": 129,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 129,
                                      "column": 88
                                    }
                                  },
                                  "expressions": [
                                    {
                                      "type": "CallExpression",
                                      "start": 4896,
                                      "end": 4918,
                                      "loc": {
                                        "start": {
                                          "line": 129,
                                          "column": 61
                                        },
                                        "end": {
                                          "line": 129,
                                          "column": 83
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 4896,
                                        "end": 4912,
                                        "loc": {
                                          "start": {
                                            "line": 129,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 129,
                                            "column": 77
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 4896,
                                          "end": 4907,
                                          "loc": {
                                            "start": {
                                              "line": 129,
                                              "column": 61
                                            },
                                            "end": {
                                              "line": 129,
                                              "column": 72
                                            }
                                          },
                                          "name": "expressions"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4908,
                                          "end": 4912,
                                          "loc": {
                                            "start": {
                                              "line": 129,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 129,
                                              "column": 77
                                            }
                                          },
                                          "name": "join"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Literal",
                                          "start": 4913,
                                          "end": 4917,
                                          "loc": {
                                            "start": {
                                              "line": 129,
                                              "column": 78
                                            },
                                            "end": {
                                              "line": 129,
                                              "column": 82
                                            }
                                          },
                                          "value": ", ",
                                          "rawValue": ", ",
                                          "raw": "', '"
                                        }
                                      ]
                                    }
                                  ],
                                  "quasis": [
                                    {
                                      "type": "TemplateElement",
                                      "start": 4867,
                                      "end": 4894,
                                      "loc": {
                                        "start": {
                                          "line": 129,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 129,
                                          "column": 59
                                        }
                                      },
                                      "value": {
                                        "raw": "RETURN CADH_JSONExportStr([",
                                        "cooked": "RETURN CADH_JSONExportStr(["
                                      },
                                      "tail": false
                                    },
                                    {
                                      "type": "TemplateElement",
                                      "start": 4919,
                                      "end": 4922,
                                      "loc": {
                                        "start": {
                                          "line": 129,
                                          "column": 84
                                        },
                                        "end": {
                                          "line": 129,
                                          "column": 87
                                        }
                                      },
                                      "value": {
                                        "raw": "]);",
                                        "cooked": "]);"
                                      },
                                      "tail": true
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              }
            ]
          }
        }
      ],
      "kind": "const",
      "name": "_",
      "leadingComments": [],
      "trailingComments": []
    },
    {
      "type": "FunctionDeclaration",
      "start": 4942,
      "end": 6622,
      "loc": {
        "start": {
          "line": 133,
          "column": 0
        },
        "end": {
          "line": 167,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 4951,
        "end": 4962,
        "loc": {
          "start": {
            "line": 133,
            "column": 9
          },
          "end": {
            "line": 133,
            "column": 20
          }
        },
        "name": "parseMember"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 4963,
          "end": 4977,
          "loc": {
            "start": {
              "line": 133,
              "column": 21
            },
            "end": {
              "line": 133,
              "column": 35
            }
          },
          "name": "objectTreeNode"
        },
        {
          "type": "Identifier",
          "start": 4979,
          "end": 4984,
          "loc": {
            "start": {
              "line": 133,
              "column": 37
            },
            "end": {
              "line": 133,
              "column": 42
            }
          },
          "name": "idMap"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 4986,
        "end": 6622,
        "loc": {
          "start": {
            "line": 133,
            "column": 44
          },
          "end": {
            "line": 167,
            "column": 1
          }
        },
        "body": [
          {
            "type": "VariableDeclaration",
            "start": 4993,
            "end": 5035,
            "loc": {
              "start": {
                "line": 134,
                "column": 4
              },
              "end": {
                "line": 134,
                "column": 46
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 4997,
                "end": 5034,
                "loc": {
                  "start": {
                    "line": 134,
                    "column": 8
                  },
                  "end": {
                    "line": 134,
                    "column": 45
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 4997,
                  "end": 5001,
                  "loc": {
                    "start": {
                      "line": 134,
                      "column": 8
                    },
                    "end": {
                      "line": 134,
                      "column": 12
                    }
                  },
                  "name": "type"
                },
                "init": {
                  "type": "MemberExpression",
                  "start": 5004,
                  "end": 5034,
                  "loc": {
                    "start": {
                      "line": 134,
                      "column": 15
                    },
                    "end": {
                      "line": 134,
                      "column": 45
                    }
                  },
                  "object": {
                    "type": "CallExpression",
                    "start": 5004,
                    "end": 5031,
                    "loc": {
                      "start": {
                        "line": 134,
                        "column": 15
                      },
                      "end": {
                        "line": 134,
                        "column": 42
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 5004,
                      "end": 5015,
                      "loc": {
                        "start": {
                          "line": 134,
                          "column": 15
                        },
                        "end": {
                          "line": 134,
                          "column": 26
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 5004,
                        "end": 5010,
                        "loc": {
                          "start": {
                            "line": 134,
                            "column": 15
                          },
                          "end": {
                            "line": 134,
                            "column": 21
                          }
                        },
                        "name": "Object"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5011,
                        "end": 5015,
                        "loc": {
                          "start": {
                            "line": 134,
                            "column": 22
                          },
                          "end": {
                            "line": 134,
                            "column": 26
                          }
                        },
                        "name": "keys"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 5016,
                        "end": 5030,
                        "loc": {
                          "start": {
                            "line": 134,
                            "column": 27
                          },
                          "end": {
                            "line": 134,
                            "column": 41
                          }
                        },
                        "name": "objectTreeNode"
                      }
                    ]
                  },
                  "property": {
                    "type": "Literal",
                    "start": 5032,
                    "end": 5033,
                    "loc": {
                      "start": {
                        "line": 134,
                        "column": 43
                      },
                      "end": {
                        "line": 134,
                        "column": 44
                      }
                    },
                    "value": 0,
                    "rawValue": 0,
                    "raw": "0"
                  },
                  "computed": true
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 5041,
            "end": 5079,
            "loc": {
              "start": {
                "line": 135,
                "column": 4
              },
              "end": {
                "line": 135,
                "column": 42
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 5045,
                "end": 5078,
                "loc": {
                  "start": {
                    "line": 135,
                    "column": 8
                  },
                  "end": {
                    "line": 135,
                    "column": 41
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 5045,
                  "end": 5055,
                  "loc": {
                    "start": {
                      "line": 135,
                      "column": 8
                    },
                    "end": {
                      "line": 135,
                      "column": 18
                    }
                  },
                  "name": "memberNode"
                },
                "init": {
                  "type": "MemberExpression",
                  "start": 5058,
                  "end": 5078,
                  "loc": {
                    "start": {
                      "line": 135,
                      "column": 21
                    },
                    "end": {
                      "line": 135,
                      "column": 41
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 5058,
                    "end": 5072,
                    "loc": {
                      "start": {
                        "line": 135,
                        "column": 21
                      },
                      "end": {
                        "line": 135,
                        "column": 35
                      }
                    },
                    "name": "objectTreeNode"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 5073,
                    "end": 5077,
                    "loc": {
                      "start": {
                        "line": 135,
                        "column": 36
                      },
                      "end": {
                        "line": 135,
                        "column": 40
                      }
                    },
                    "name": "type"
                  },
                  "computed": true
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 5085,
            "end": 5096,
            "loc": {
              "start": {
                "line": 136,
                "column": 4
              },
              "end": {
                "line": 136,
                "column": 15
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 5089,
                "end": 5095,
                "loc": {
                  "start": {
                    "line": 136,
                    "column": 8
                  },
                  "end": {
                    "line": 136,
                    "column": 14
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 5089,
                  "end": 5095,
                  "loc": {
                    "start": {
                      "line": 136,
                      "column": 8
                    },
                    "end": {
                      "line": 136,
                      "column": 14
                    }
                  },
                  "name": "member"
                },
                "init": null
              }
            ],
            "kind": "var"
          },
          {
            "type": "SwitchStatement",
            "start": 5102,
            "end": 5777,
            "loc": {
              "start": {
                "line": 137,
                "column": 4
              },
              "end": {
                "line": 146,
                "column": 5
              }
            },
            "discriminant": {
              "type": "Identifier",
              "start": 5110,
              "end": 5114,
              "loc": {
                "start": {
                  "line": 137,
                  "column": 12
                },
                "end": {
                  "line": 137,
                  "column": 16
                }
              },
              "name": "type"
            },
            "cases": [
              {
                "type": "SwitchCase",
                "start": 5127,
                "end": 5167,
                "loc": {
                  "start": {
                    "line": 138,
                    "column": 8
                  },
                  "end": {
                    "line": 138,
                    "column": 48
                  }
                },
                "consequent": [
                  {
                    "type": "ExpressionStatement",
                    "start": 5146,
                    "end": 5160,
                    "loc": {
                      "start": {
                        "line": 138,
                        "column": 27
                      },
                      "end": {
                        "line": 138,
                        "column": 41
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5146,
                      "end": 5159,
                      "loc": {
                        "start": {
                          "line": 138,
                          "column": 27
                        },
                        "end": {
                          "line": 138,
                          "column": 40
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 5146,
                        "end": 5152,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 27
                          },
                          "end": {
                            "line": 138,
                            "column": 33
                          }
                        },
                        "name": "member"
                      },
                      "right": {
                        "type": "Literal",
                        "start": 5155,
                        "end": 5159,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 36
                          },
                          "end": {
                            "line": 138,
                            "column": 40
                          }
                        },
                        "value": null,
                        "rawValue": null,
                        "raw": "null"
                      }
                    }
                  },
                  {
                    "type": "BreakStatement",
                    "start": 5161,
                    "end": 5167,
                    "loc": {
                      "start": {
                        "line": 138,
                        "column": 42
                      },
                      "end": {
                        "line": 138,
                        "column": 48
                      }
                    },
                    "label": null
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 5132,
                  "end": 5144,
                  "loc": {
                    "start": {
                      "line": 138,
                      "column": 13
                    },
                    "end": {
                      "line": 138,
                      "column": 25
                    }
                  },
                  "value": "nullMember",
                  "rawValue": "nullMember",
                  "raw": "'nullMember'"
                }
              },
              {
                "type": "SwitchCase",
                "start": 5177,
                "end": 5235,
                "loc": {
                  "start": {
                    "line": 139,
                    "column": 8
                  },
                  "end": {
                    "line": 139,
                    "column": 66
                  }
                },
                "consequent": [
                  {
                    "type": "ExpressionStatement",
                    "start": 5190,
                    "end": 5228,
                    "loc": {
                      "start": {
                        "line": 139,
                        "column": 21
                      },
                      "end": {
                        "line": 139,
                        "column": 59
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5190,
                      "end": 5227,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 21
                        },
                        "end": {
                          "line": 139,
                          "column": 58
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 5190,
                        "end": 5196,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 21
                          },
                          "end": {
                            "line": 139,
                            "column": 27
                          }
                        },
                        "name": "member"
                      },
                      "right": {
                        "type": "NewExpression",
                        "start": 5199,
                        "end": 5227,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 30
                          },
                          "end": {
                            "line": 139,
                            "column": 58
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 5203,
                          "end": 5209,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 34
                            },
                            "end": {
                              "line": 139,
                              "column": 40
                            }
                          },
                          "name": "Number"
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 5210,
                            "end": 5226,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 41
                              },
                              "end": {
                                "line": 139,
                                "column": 57
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5210,
                              "end": 5220,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 41
                                },
                                "end": {
                                  "line": 139,
                                  "column": 51
                                }
                              },
                              "name": "memberNode"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5221,
                              "end": 5226,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 52
                                },
                                "end": {
                                  "line": 139,
                                  "column": 57
                                }
                              },
                              "name": "value"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "BreakStatement",
                    "start": 5229,
                    "end": 5235,
                    "loc": {
                      "start": {
                        "line": 139,
                        "column": 60
                      },
                      "end": {
                        "line": 139,
                        "column": 66
                      }
                    },
                    "label": null
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 5182,
                  "end": 5188,
                  "loc": {
                    "start": {
                      "line": 139,
                      "column": 13
                    },
                    "end": {
                      "line": 139,
                      "column": 19
                    }
                  },
                  "value": "real",
                  "rawValue": "real",
                  "raw": "'real'"
                }
              },
              {
                "type": "SwitchCase",
                "start": 5245,
                "end": 5345,
                "loc": {
                  "start": {
                    "line": 140,
                    "column": 8
                  },
                  "end": {
                    "line": 140,
                    "column": 108
                  }
                },
                "consequent": [
                  {
                    "type": "ExpressionStatement",
                    "start": 5260,
                    "end": 5338,
                    "loc": {
                      "start": {
                        "line": 140,
                        "column": 23
                      },
                      "end": {
                        "line": 140,
                        "column": 101
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5260,
                      "end": 5337,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 23
                        },
                        "end": {
                          "line": 140,
                          "column": 100
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 5260,
                        "end": 5266,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 23
                          },
                          "end": {
                            "line": 140,
                            "column": 29
                          }
                        },
                        "name": "member"
                      },
                      "right": {
                        "type": "ConditionalExpression",
                        "start": 5269,
                        "end": 5337,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 32
                          },
                          "end": {
                            "line": 140,
                            "column": 100
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 5269,
                          "end": 5299,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 32
                            },
                            "end": {
                              "line": 140,
                              "column": 62
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 5269,
                            "end": 5284,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 32
                              },
                              "end": {
                                "line": 140,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5269,
                              "end": 5279,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 32
                                },
                                "end": {
                                  "line": 140,
                                  "column": 42
                                }
                              },
                              "name": "memberNode"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5280,
                              "end": 5284,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 43
                                },
                                "end": {
                                  "line": 140,
                                  "column": 47
                                }
                              },
                              "name": "name"
                            },
                            "computed": false
                          },
                          "operator": "===",
                          "right": {
                            "type": "Literal",
                            "start": 5289,
                            "end": 5299,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 52
                              },
                              "end": {
                                "line": 140,
                                "column": 62
                              }
                            },
                            "value": "_VERSION",
                            "rawValue": "_VERSION",
                            "raw": "'_VERSION'"
                          }
                        },
                        "consequent": {
                          "type": "Literal",
                          "start": 5302,
                          "end": 5306,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 65
                            },
                            "end": {
                              "line": 140,
                              "column": 69
                            }
                          },
                          "value": null,
                          "rawValue": null,
                          "raw": "null"
                        },
                        "alternate": {
                          "type": "NewExpression",
                          "start": 5309,
                          "end": 5337,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 72
                            },
                            "end": {
                              "line": 140,
                              "column": 100
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 5313,
                            "end": 5319,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 76
                              },
                              "end": {
                                "line": 140,
                                "column": 82
                              }
                            },
                            "name": "String"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 5320,
                              "end": 5336,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 83
                                },
                                "end": {
                                  "line": 140,
                                  "column": 99
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5320,
                                "end": 5330,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 93
                                  }
                                },
                                "name": "memberNode"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5331,
                                "end": 5336,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 94
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 99
                                  }
                                },
                                "name": "value"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    }
                  },
                  {
                    "type": "BreakStatement",
                    "start": 5339,
                    "end": 5345,
                    "loc": {
                      "start": {
                        "line": 140,
                        "column": 102
                      },
                      "end": {
                        "line": 140,
                        "column": 108
                      }
                    },
                    "label": null
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 5250,
                  "end": 5258,
                  "loc": {
                    "start": {
                      "line": 140,
                      "column": 13
                    },
                    "end": {
                      "line": 140,
                      "column": 21
                    }
                  },
                  "value": "string",
                  "rawValue": "string",
                  "raw": "'string'"
                }
              },
              {
                "type": "SwitchCase",
                "start": 5355,
                "end": 5462,
                "loc": {
                  "start": {
                    "line": 141,
                    "column": 8
                  },
                  "end": {
                    "line": 141,
                    "column": 115
                  }
                },
                "consequent": [
                  {
                    "type": "ExpressionStatement",
                    "start": 5369,
                    "end": 5455,
                    "loc": {
                      "start": {
                        "line": 141,
                        "column": 22
                      },
                      "end": {
                        "line": 141,
                        "column": 108
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5369,
                      "end": 5454,
                      "loc": {
                        "start": {
                          "line": 141,
                          "column": 22
                        },
                        "end": {
                          "line": 141,
                          "column": 107
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 5369,
                        "end": 5375,
                        "loc": {
                          "start": {
                            "line": 141,
                            "column": 22
                          },
                          "end": {
                            "line": 141,
                            "column": 28
                          }
                        },
                        "name": "member"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 5378,
                        "end": 5454,
                        "loc": {
                          "start": {
                            "line": 141,
                            "column": 31
                          },
                          "end": {
                            "line": 141,
                            "column": 107
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5378,
                          "end": 5406,
                          "loc": {
                            "start": {
                              "line": 141,
                              "column": 31
                            },
                            "end": {
                              "line": 141,
                              "column": 59
                            }
                          },
                          "object": {
                            "type": "LogicalExpression",
                            "start": 5379,
                            "end": 5401,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 32
                              },
                              "end": {
                                "line": 141,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 5379,
                              "end": 5397,
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 32
                                },
                                "end": {
                                  "line": 141,
                                  "column": 50
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5379,
                                "end": 5389,
                                "loc": {
                                  "start": {
                                    "line": 141,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 141,
                                    "column": 42
                                  }
                                },
                                "name": "memberNode"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5390,
                                "end": 5397,
                                "loc": {
                                  "start": {
                                    "line": 141,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 141,
                                    "column": 50
                                  }
                                },
                                "name": "members"
                              },
                              "computed": false
                            },
                            "operator": "||",
                            "right": {
                              "type": "ArrayExpression",
                              "start": 5399,
                              "end": 5401,
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 52
                                },
                                "end": {
                                  "line": 141,
                                  "column": 54
                                }
                              },
                              "elements": []
                            },
                            "parenthesizedExpression": true
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5403,
                            "end": 5406,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 56
                              },
                              "end": {
                                "line": 141,
                                "column": 59
                              }
                            },
                            "name": "map"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 5407,
                            "end": 5453,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 60
                              },
                              "end": {
                                "line": 141,
                                "column": 106
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 5407,
                                "end": 5418,
                                "loc": {
                                  "start": {
                                    "line": 141,
                                    "column": 60
                                  },
                                  "end": {
                                    "line": 141,
                                    "column": 71
                                  }
                                },
                                "name": "elementNode"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 5422,
                              "end": 5453,
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 75
                                },
                                "end": {
                                  "line": 141,
                                  "column": 106
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 5422,
                                "end": 5433,
                                "loc": {
                                  "start": {
                                    "line": 141,
                                    "column": 75
                                  },
                                  "end": {
                                    "line": 141,
                                    "column": 86
                                  }
                                },
                                "name": "parseMember"
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 5434,
                                  "end": 5445,
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 87
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 98
                                    }
                                  },
                                  "name": "elementNode"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 5447,
                                  "end": 5452,
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 100
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 105
                                    }
                                  },
                                  "name": "idMap"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "BreakStatement",
                    "start": 5456,
                    "end": 5462,
                    "loc": {
                      "start": {
                        "line": 141,
                        "column": 109
                      },
                      "end": {
                        "line": 141,
                        "column": 115
                      }
                    },
                    "label": null
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 5360,
                  "end": 5367,
                  "loc": {
                    "start": {
                      "line": 141,
                      "column": 13
                    },
                    "end": {
                      "line": 141,
                      "column": 20
                    }
                  },
                  "value": "array",
                  "rawValue": "array",
                  "raw": "'array'"
                }
              },
              {
                "type": "SwitchCase",
                "start": 5472,
                "end": 5562,
                "loc": {
                  "start": {
                    "line": 142,
                    "column": 8
                  },
                  "end": {
                    "line": 142,
                    "column": 98
                  }
                },
                "consequent": [
                  {
                    "type": "ExpressionStatement",
                    "start": 5486,
                    "end": 5555,
                    "loc": {
                      "start": {
                        "line": 142,
                        "column": 22
                      },
                      "end": {
                        "line": 142,
                        "column": 91
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5486,
                      "end": 5554,
                      "loc": {
                        "start": {
                          "line": 142,
                          "column": 22
                        },
                        "end": {
                          "line": 142,
                          "column": 90
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 5486,
                        "end": 5492,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 22
                          },
                          "end": {
                            "line": 142,
                            "column": 28
                          }
                        },
                        "name": "member"
                      },
                      "right": {
                        "type": "NewExpression",
                        "start": 5495,
                        "end": 5554,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 31
                          },
                          "end": {
                            "line": 142,
                            "column": 90
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5499,
                          "end": 5512,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 35
                            },
                            "end": {
                              "line": 142,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5499,
                            "end": 5504,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 35
                              },
                              "end": {
                                "line": 142,
                                "column": 40
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5505,
                            "end": 5512,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 41
                              },
                              "end": {
                                "line": 142,
                                "column": 48
                              }
                            },
                            "name": "Vector3"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 5513,
                            "end": 5525,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 49
                              },
                              "end": {
                                "line": 142,
                                "column": 61
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5513,
                              "end": 5523,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 49
                                },
                                "end": {
                                  "line": 142,
                                  "column": 59
                                }
                              },
                              "name": "memberNode"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5524,
                              "end": 5525,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 60
                                },
                                "end": {
                                  "line": 142,
                                  "column": 61
                                }
                              },
                              "name": "x"
                            },
                            "computed": false
                          },
                          {
                            "type": "MemberExpression",
                            "start": 5527,
                            "end": 5539,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 63
                              },
                              "end": {
                                "line": 142,
                                "column": 75
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5527,
                              "end": 5537,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 63
                                },
                                "end": {
                                  "line": 142,
                                  "column": 73
                                }
                              },
                              "name": "memberNode"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5538,
                              "end": 5539,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 74
                                },
                                "end": {
                                  "line": 142,
                                  "column": 75
                                }
                              },
                              "name": "y"
                            },
                            "computed": false
                          },
                          {
                            "type": "MemberExpression",
                            "start": 5541,
                            "end": 5553,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 77
                              },
                              "end": {
                                "line": 142,
                                "column": 89
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5541,
                              "end": 5551,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 77
                                },
                                "end": {
                                  "line": 142,
                                  "column": 87
                                }
                              },
                              "name": "memberNode"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5552,
                              "end": 5553,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 88
                                },
                                "end": {
                                  "line": 142,
                                  "column": 89
                                }
                              },
                              "name": "z"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "BreakStatement",
                    "start": 5556,
                    "end": 5562,
                    "loc": {
                      "start": {
                        "line": 142,
                        "column": 92
                      },
                      "end": {
                        "line": 142,
                        "column": 98
                      }
                    },
                    "label": null
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 5477,
                  "end": 5484,
                  "loc": {
                    "start": {
                      "line": 142,
                      "column": 13
                    },
                    "end": {
                      "line": 142,
                      "column": 20
                    }
                  },
                  "value": "point",
                  "rawValue": "point",
                  "raw": "'point'"
                }
              },
              {
                "type": "SwitchCase",
                "start": 5572,
                "end": 5631,
                "loc": {
                  "start": {
                    "line": 143,
                    "column": 8
                  },
                  "end": {
                    "line": 143,
                    "column": 67
                  }
                },
                "consequent": [
                  {
                    "type": "ExpressionStatement",
                    "start": 5590,
                    "end": 5624,
                    "loc": {
                      "start": {
                        "line": 143,
                        "column": 26
                      },
                      "end": {
                        "line": 143,
                        "column": 60
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5590,
                      "end": 5623,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 26
                        },
                        "end": {
                          "line": 143,
                          "column": 59
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 5590,
                        "end": 5596,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 26
                          },
                          "end": {
                            "line": 143,
                            "column": 32
                          }
                        },
                        "name": "member"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 5599,
                        "end": 5623,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 35
                          },
                          "end": {
                            "line": 143,
                            "column": 59
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5599,
                          "end": 5608,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 35
                            },
                            "end": {
                              "line": 143,
                              "column": 44
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5599,
                            "end": 5604,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 35
                              },
                              "end": {
                                "line": 143,
                                "column": 40
                              }
                            },
                            "name": "idMap"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5605,
                            "end": 5608,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 41
                              },
                              "end": {
                                "line": 143,
                                "column": 44
                              }
                            },
                            "name": "get"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 5609,
                            "end": 5622,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 45
                              },
                              "end": {
                                "line": 143,
                                "column": 58
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5609,
                              "end": 5619,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 45
                                },
                                "end": {
                                  "line": 143,
                                  "column": 55
                                }
                              },
                              "name": "memberNode"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5620,
                              "end": 5622,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 56
                                },
                                "end": {
                                  "line": 143,
                                  "column": 58
                                }
                              },
                              "name": "id"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "BreakStatement",
                    "start": 5625,
                    "end": 5631,
                    "loc": {
                      "start": {
                        "line": 143,
                        "column": 61
                      },
                      "end": {
                        "line": 143,
                        "column": 67
                      }
                    },
                    "label": null
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 5577,
                  "end": 5588,
                  "loc": {
                    "start": {
                      "line": 143,
                      "column": 13
                    },
                    "end": {
                      "line": 143,
                      "column": 24
                    }
                  },
                  "value": "objectMem",
                  "rawValue": "objectMem",
                  "raw": "'objectMem'"
                }
              },
              {
                "type": "SwitchCase",
                "start": 5641,
                "end": 5697,
                "loc": {
                  "start": {
                    "line": 144,
                    "column": 8
                  },
                  "end": {
                    "line": 144,
                    "column": 64
                  }
                },
                "consequent": [
                  {
                    "type": "ExpressionStatement",
                    "start": 5653,
                    "end": 5690,
                    "loc": {
                      "start": {
                        "line": 144,
                        "column": 20
                      },
                      "end": {
                        "line": 144,
                        "column": 57
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5653,
                      "end": 5689,
                      "loc": {
                        "start": {
                          "line": 144,
                          "column": 20
                        },
                        "end": {
                          "line": 144,
                          "column": 56
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 5653,
                        "end": 5659,
                        "loc": {
                          "start": {
                            "line": 144,
                            "column": 20
                          },
                          "end": {
                            "line": 144,
                            "column": 26
                          }
                        },
                        "name": "member"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 5662,
                        "end": 5689,
                        "loc": {
                          "start": {
                            "line": 144,
                            "column": 29
                          },
                          "end": {
                            "line": 144,
                            "column": 56
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5662,
                          "end": 5671,
                          "loc": {
                            "start": {
                              "line": 144,
                              "column": 29
                            },
                            "end": {
                              "line": 144,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5662,
                            "end": 5667,
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 29
                              },
                              "end": {
                                "line": 144,
                                "column": 34
                              }
                            },
                            "name": "idMap"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5668,
                            "end": 5671,
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 35
                              },
                              "end": {
                                "line": 144,
                                "column": 38
                              }
                            },
                            "name": "get"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 5672,
                            "end": 5688,
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 39
                              },
                              "end": {
                                "line": 144,
                                "column": 55
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5672,
                              "end": 5682,
                              "loc": {
                                "start": {
                                  "line": 144,
                                  "column": 39
                                },
                                "end": {
                                  "line": 144,
                                  "column": 49
                                }
                              },
                              "name": "memberNode"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5683,
                              "end": 5688,
                              "loc": {
                                "start": {
                                  "line": 144,
                                  "column": 50
                                },
                                "end": {
                                  "line": 144,
                                  "column": 55
                                }
                              },
                              "name": "value"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "BreakStatement",
                    "start": 5691,
                    "end": 5697,
                    "loc": {
                      "start": {
                        "line": 144,
                        "column": 58
                      },
                      "end": {
                        "line": 144,
                        "column": 64
                      }
                    },
                    "label": null
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 5646,
                  "end": 5651,
                  "loc": {
                    "start": {
                      "line": 144,
                      "column": 13
                    },
                    "end": {
                      "line": 144,
                      "column": 18
                    }
                  },
                  "value": "aid",
                  "rawValue": "aid",
                  "raw": "'aid'"
                }
              },
              {
                "type": "SwitchCase",
                "start": 5707,
                "end": 5770,
                "loc": {
                  "start": {
                    "line": 145,
                    "column": 8
                  },
                  "end": {
                    "line": 145,
                    "column": 71
                  }
                },
                "consequent": [
                  {
                    "type": "ThrowStatement",
                    "start": 5716,
                    "end": 5770,
                    "loc": {
                      "start": {
                        "line": 145,
                        "column": 17
                      },
                      "end": {
                        "line": 145,
                        "column": 71
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 5722,
                      "end": 5769,
                      "loc": {
                        "start": {
                          "line": 145,
                          "column": 23
                        },
                        "end": {
                          "line": 145,
                          "column": 70
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 5726,
                        "end": 5735,
                        "loc": {
                          "start": {
                            "line": 145,
                            "column": 27
                          },
                          "end": {
                            "line": 145,
                            "column": 36
                          }
                        },
                        "name": "TypeError"
                      },
                      "arguments": [
                        {
                          "type": "BinaryExpression",
                          "start": 5736,
                          "end": 5768,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 37
                            },
                            "end": {
                              "line": 145,
                              "column": 69
                            }
                          },
                          "left": {
                            "type": "Literal",
                            "start": 5736,
                            "end": 5761,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 37
                              },
                              "end": {
                                "line": 145,
                                "column": 62
                              }
                            },
                            "value": "Unexpected member type ",
                            "rawValue": "Unexpected member type ",
                            "raw": "\"Unexpected member type \""
                          },
                          "operator": "+",
                          "right": {
                            "type": "Identifier",
                            "start": 5764,
                            "end": 5768,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 65
                              },
                              "end": {
                                "line": 145,
                                "column": 69
                              }
                            },
                            "name": "type"
                          }
                        }
                      ]
                    }
                  }
                ],
                "test": null
              }
            ]
          },
          {
            "type": "EmptyStatement",
            "start": 5777,
            "end": 5778,
            "loc": {
              "start": {
                "line": 146,
                "column": 5
              },
              "end": {
                "line": 146,
                "column": 6
              }
            }
          },
          {
            "type": "IfStatement",
            "start": 5784,
            "end": 5820,
            "loc": {
              "start": {
                "line": 147,
                "column": 4
              },
              "end": {
                "line": 148,
                "column": 22
              }
            },
            "test": {
              "type": "UnaryExpression",
              "start": 5788,
              "end": 5795,
              "loc": {
                "start": {
                  "line": 147,
                  "column": 8
                },
                "end": {
                  "line": 147,
                  "column": 15
                }
              },
              "operator": "!",
              "prefix": true,
              "argument": {
                "type": "Identifier",
                "start": 5789,
                "end": 5795,
                "loc": {
                  "start": {
                    "line": 147,
                    "column": 9
                  },
                  "end": {
                    "line": 147,
                    "column": 15
                  }
                },
                "name": "member"
              }
            },
            "consequent": {
              "type": "ReturnStatement",
              "start": 5806,
              "end": 5820,
              "loc": {
                "start": {
                  "line": 148,
                  "column": 8
                },
                "end": {
                  "line": 148,
                  "column": 22
                }
              },
              "argument": {
                "type": "Identifier",
                "start": 5813,
                "end": 5819,
                "loc": {
                  "start": {
                    "line": 148,
                    "column": 15
                  },
                  "end": {
                    "line": 148,
                    "column": 21
                  }
                },
                "name": "member"
              }
            },
            "alternate": null
          },
          {
            "type": "IfStatement",
            "start": 5826,
            "end": 5948,
            "loc": {
              "start": {
                "line": 149,
                "column": 4
              },
              "end": {
                "line": 150,
                "column": 99
              }
            },
            "test": {
              "type": "UnaryExpression",
              "start": 5830,
              "end": 5846,
              "loc": {
                "start": {
                  "line": 149,
                  "column": 8
                },
                "end": {
                  "line": 149,
                  "column": 24
                }
              },
              "operator": "!",
              "prefix": true,
              "argument": {
                "type": "MemberExpression",
                "start": 5831,
                "end": 5846,
                "loc": {
                  "start": {
                    "line": 149,
                    "column": 9
                  },
                  "end": {
                    "line": 149,
                    "column": 24
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 5831,
                  "end": 5837,
                  "loc": {
                    "start": {
                      "line": 149,
                      "column": 9
                    },
                    "end": {
                      "line": 149,
                      "column": 15
                    }
                  },
                  "name": "member"
                },
                "property": {
                  "type": "Identifier",
                  "start": 5838,
                  "end": 5846,
                  "loc": {
                    "start": {
                      "line": 149,
                      "column": 16
                    },
                    "end": {
                      "line": 149,
                      "column": 24
                    }
                  },
                  "name": "userData"
                },
                "computed": false
              }
            },
            "consequent": {
              "type": "ExpressionStatement",
              "start": 5857,
              "end": 5948,
              "loc": {
                "start": {
                  "line": 150,
                  "column": 8
                },
                "end": {
                  "line": 150,
                  "column": 99
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 5857,
                "end": 5947,
                "loc": {
                  "start": {
                    "line": 150,
                    "column": 8
                  },
                  "end": {
                    "line": 150,
                    "column": 98
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 5857,
                  "end": 5878,
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 8
                    },
                    "end": {
                      "line": 150,
                      "column": 29
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 5857,
                    "end": 5863,
                    "loc": {
                      "start": {
                        "line": 150,
                        "column": 8
                      },
                      "end": {
                        "line": 150,
                        "column": 14
                      }
                    },
                    "name": "Object"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 5864,
                    "end": 5878,
                    "loc": {
                      "start": {
                        "line": 150,
                        "column": 15
                      },
                      "end": {
                        "line": 150,
                        "column": 29
                      }
                    },
                    "name": "defineProperty"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 5879,
                    "end": 5885,
                    "loc": {
                      "start": {
                        "line": 150,
                        "column": 30
                      },
                      "end": {
                        "line": 150,
                        "column": 36
                      }
                    },
                    "name": "member"
                  },
                  {
                    "type": "Literal",
                    "start": 5887,
                    "end": 5897,
                    "loc": {
                      "start": {
                        "line": 150,
                        "column": 38
                      },
                      "end": {
                        "line": 150,
                        "column": 48
                      }
                    },
                    "value": "userData",
                    "rawValue": "userData",
                    "raw": "'userData'"
                  },
                  {
                    "type": "ObjectExpression",
                    "start": 5899,
                    "end": 5946,
                    "loc": {
                      "start": {
                        "line": 150,
                        "column": 50
                      },
                      "end": {
                        "line": 150,
                        "column": 97
                      }
                    },
                    "properties": [
                      {
                        "type": "Property",
                        "start": 5900,
                        "end": 5909,
                        "loc": {
                          "start": {
                            "line": 150,
                            "column": 51
                          },
                          "end": {
                            "line": 150,
                            "column": 60
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 5900,
                          "end": 5905,
                          "loc": {
                            "start": {
                              "line": 150,
                              "column": 51
                            },
                            "end": {
                              "line": 150,
                              "column": 56
                            }
                          },
                          "name": "value"
                        },
                        "value": {
                          "type": "ObjectExpression",
                          "start": 5907,
                          "end": 5909,
                          "loc": {
                            "start": {
                              "line": 150,
                              "column": 58
                            },
                            "end": {
                              "line": 150,
                              "column": 60
                            }
                          },
                          "properties": []
                        },
                        "kind": "init"
                      },
                      {
                        "type": "Property",
                        "start": 5911,
                        "end": 5925,
                        "loc": {
                          "start": {
                            "line": 150,
                            "column": 62
                          },
                          "end": {
                            "line": 150,
                            "column": 76
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 5911,
                          "end": 5919,
                          "loc": {
                            "start": {
                              "line": 150,
                              "column": 62
                            },
                            "end": {
                              "line": 150,
                              "column": 70
                            }
                          },
                          "name": "writable"
                        },
                        "value": {
                          "type": "Literal",
                          "start": 5921,
                          "end": 5925,
                          "loc": {
                            "start": {
                              "line": 150,
                              "column": 72
                            },
                            "end": {
                              "line": 150,
                              "column": 76
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        },
                        "kind": "init"
                      },
                      {
                        "type": "Property",
                        "start": 5927,
                        "end": 5945,
                        "loc": {
                          "start": {
                            "line": 150,
                            "column": 78
                          },
                          "end": {
                            "line": 150,
                            "column": 96
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 5927,
                          "end": 5939,
                          "loc": {
                            "start": {
                              "line": 150,
                              "column": 78
                            },
                            "end": {
                              "line": 150,
                              "column": 90
                            }
                          },
                          "name": "configurable"
                        },
                        "value": {
                          "type": "Literal",
                          "start": 5941,
                          "end": 5945,
                          "loc": {
                            "start": {
                              "line": 150,
                              "column": 92
                            },
                            "end": {
                              "line": 150,
                              "column": 96
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        },
                        "kind": "init"
                      }
                    ]
                  }
                ]
              }
            },
            "alternate": null
          },
          {
            "type": "VariableDeclaration",
            "start": 5954,
            "end": 5995,
            "loc": {
              "start": {
                "line": 151,
                "column": 4
              },
              "end": {
                "line": 151,
                "column": 45
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 5958,
                "end": 5995,
                "loc": {
                  "start": {
                    "line": 151,
                    "column": 8
                  },
                  "end": {
                    "line": 151,
                    "column": 45
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 5958,
                  "end": 5963,
                  "loc": {
                    "start": {
                      "line": 151,
                      "column": 8
                    },
                    "end": {
                      "line": 151,
                      "column": 13
                    }
                  },
                  "name": "flags"
                },
                "init": {
                  "type": "MemberExpression",
                  "start": 5966,
                  "end": 5995,
                  "loc": {
                    "start": {
                      "line": 151,
                      "column": 16
                    },
                    "end": {
                      "line": 151,
                      "column": 45
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 5966,
                    "end": 5987,
                    "loc": {
                      "start": {
                        "line": 151,
                        "column": 16
                      },
                      "end": {
                        "line": 151,
                        "column": 37
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 5966,
                      "end": 5976,
                      "loc": {
                        "start": {
                          "line": 151,
                          "column": 16
                        },
                        "end": {
                          "line": 151,
                          "column": 26
                        }
                      },
                      "name": "memberNode"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 5977,
                      "end": 5987,
                      "loc": {
                        "start": {
                          "line": 151,
                          "column": 27
                        },
                        "end": {
                          "line": 151,
                          "column": 37
                        }
                      },
                      "name": "memberInfo"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 5988,
                    "end": 5995,
                    "loc": {
                      "start": {
                        "line": 151,
                        "column": 38
                      },
                      "end": {
                        "line": 151,
                        "column": 45
                      }
                    },
                    "name": "visible"
                  },
                  "computed": false
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "ExpressionStatement",
            "start": 6001,
            "end": 6599,
            "loc": {
              "start": {
                "line": 152,
                "column": 4
              },
              "end": {
                "line": 165,
                "column": 6
              }
            },
            "expression": {
              "type": "AssignmentExpression",
              "start": 6001,
              "end": 6598,
              "loc": {
                "start": {
                  "line": 152,
                  "column": 4
                },
                "end": {
                  "line": 165,
                  "column": 5
                }
              },
              "operator": "=",
              "left": {
                "type": "MemberExpression",
                "start": 6001,
                "end": 6027,
                "loc": {
                  "start": {
                    "line": 152,
                    "column": 4
                  },
                  "end": {
                    "line": 152,
                    "column": 30
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 6001,
                  "end": 6016,
                  "loc": {
                    "start": {
                      "line": 152,
                      "column": 4
                    },
                    "end": {
                      "line": 152,
                      "column": 19
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 6001,
                    "end": 6007,
                    "loc": {
                      "start": {
                        "line": 152,
                        "column": 4
                      },
                      "end": {
                        "line": 152,
                        "column": 10
                      }
                    },
                    "name": "member"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 6008,
                    "end": 6016,
                    "loc": {
                      "start": {
                        "line": 152,
                        "column": 11
                      },
                      "end": {
                        "line": 152,
                        "column": 19
                      }
                    },
                    "name": "userData"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 6017,
                  "end": 6027,
                  "loc": {
                    "start": {
                      "line": 152,
                      "column": 20
                    },
                    "end": {
                      "line": 152,
                      "column": 30
                    }
                  },
                  "name": "memberInfo"
                },
                "computed": false
              },
              "right": {
                "type": "ObjectExpression",
                "start": 6030,
                "end": 6598,
                "loc": {
                  "start": {
                    "line": 152,
                    "column": 33
                  },
                  "end": {
                    "line": 165,
                    "column": 5
                  }
                },
                "properties": [
                  {
                    "type": "Property",
                    "start": 6041,
                    "end": 6062,
                    "loc": {
                      "start": {
                        "line": 153,
                        "column": 8
                      },
                      "end": {
                        "line": 153,
                        "column": 29
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6041,
                      "end": 6045,
                      "loc": {
                        "start": {
                          "line": 153,
                          "column": 8
                        },
                        "end": {
                          "line": 153,
                          "column": 12
                        }
                      },
                      "name": "name"
                    },
                    "value": {
                      "type": "MemberExpression",
                      "start": 6047,
                      "end": 6062,
                      "loc": {
                        "start": {
                          "line": 153,
                          "column": 14
                        },
                        "end": {
                          "line": 153,
                          "column": 29
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 6047,
                        "end": 6057,
                        "loc": {
                          "start": {
                            "line": 153,
                            "column": 14
                          },
                          "end": {
                            "line": 153,
                            "column": 24
                          }
                        },
                        "name": "memberNode"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 6058,
                        "end": 6062,
                        "loc": {
                          "start": {
                            "line": 153,
                            "column": 25
                          },
                          "end": {
                            "line": 153,
                            "column": 29
                          }
                        },
                        "name": "name"
                      },
                      "computed": false
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 6073,
                    "end": 6096,
                    "loc": {
                      "start": {
                        "line": 154,
                        "column": 8
                      },
                      "end": {
                        "line": 154,
                        "column": 31
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6073,
                      "end": 6078,
                      "loc": {
                        "start": {
                          "line": 154,
                          "column": 8
                        },
                        "end": {
                          "line": 154,
                          "column": 13
                        }
                      },
                      "name": "value"
                    },
                    "value": {
                      "type": "CallExpression",
                      "start": 6080,
                      "end": 6096,
                      "loc": {
                        "start": {
                          "line": 154,
                          "column": 15
                        },
                        "end": {
                          "line": 154,
                          "column": 31
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 6080,
                        "end": 6094,
                        "loc": {
                          "start": {
                            "line": 154,
                            "column": 15
                          },
                          "end": {
                            "line": 154,
                            "column": 29
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 6080,
                          "end": 6086,
                          "loc": {
                            "start": {
                              "line": 154,
                              "column": 15
                            },
                            "end": {
                              "line": 154,
                              "column": 21
                            }
                          },
                          "name": "member"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6087,
                          "end": 6094,
                          "loc": {
                            "start": {
                              "line": 154,
                              "column": 22
                            },
                            "end": {
                              "line": 154,
                              "column": 29
                            }
                          },
                          "name": "valueOf"
                        },
                        "computed": false
                      },
                      "arguments": []
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 6107,
                    "end": 6157,
                    "loc": {
                      "start": {
                        "line": 155,
                        "column": 8
                      },
                      "end": {
                        "line": 155,
                        "column": 58
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6107,
                      "end": 6117,
                      "loc": {
                        "start": {
                          "line": 155,
                          "column": 8
                        },
                        "end": {
                          "line": 155,
                          "column": 18
                        }
                      },
                      "name": "expression"
                    },
                    "value": {
                      "type": "LogicalExpression",
                      "start": 6119,
                      "end": 6157,
                      "loc": {
                        "start": {
                          "line": 155,
                          "column": 20
                        },
                        "end": {
                          "line": 155,
                          "column": 58
                        }
                      },
                      "left": {
                        "type": "MemberExpression",
                        "start": 6119,
                        "end": 6151,
                        "loc": {
                          "start": {
                            "line": 155,
                            "column": 20
                          },
                          "end": {
                            "line": 155,
                            "column": 52
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 6119,
                          "end": 6140,
                          "loc": {
                            "start": {
                              "line": 155,
                              "column": 20
                            },
                            "end": {
                              "line": 155,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 6119,
                            "end": 6129,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 20
                              },
                              "end": {
                                "line": 155,
                                "column": 30
                              }
                            },
                            "name": "memberNode"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6130,
                            "end": 6140,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 31
                              },
                              "end": {
                                "line": 155,
                                "column": 41
                              }
                            },
                            "name": "memberInfo"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6141,
                          "end": 6151,
                          "loc": {
                            "start": {
                              "line": 155,
                              "column": 42
                            },
                            "end": {
                              "line": 155,
                              "column": 52
                            }
                          },
                          "name": "expression"
                        },
                        "computed": false
                      },
                      "operator": "||",
                      "right": {
                        "type": "Literal",
                        "start": 6155,
                        "end": 6157,
                        "loc": {
                          "start": {
                            "line": 155,
                            "column": 56
                          },
                          "end": {
                            "line": 155,
                            "column": 58
                          }
                        },
                        "value": "",
                        "rawValue": "",
                        "raw": "''"
                      }
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 6168,
                    "end": 6180,
                    "loc": {
                      "start": {
                        "line": 156,
                        "column": 8
                      },
                      "end": {
                        "line": 156,
                        "column": 20
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6168,
                      "end": 6173,
                      "loc": {
                        "start": {
                          "line": 156,
                          "column": 8
                        },
                        "end": {
                          "line": 156,
                          "column": 13
                        }
                      },
                      "name": "flags"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 6175,
                      "end": 6180,
                      "loc": {
                        "start": {
                          "line": 156,
                          "column": 15
                        },
                        "end": {
                          "line": 156,
                          "column": 20
                        }
                      },
                      "name": "flags"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 6261,
                    "end": 6300,
                    "loc": {
                      "start": {
                        "line": 158,
                        "column": 8
                      },
                      "end": {
                        "line": 158,
                        "column": 47
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6261,
                      "end": 6268,
                      "loc": {
                        "start": {
                          "line": 158,
                          "column": 8
                        },
                        "end": {
                          "line": 158,
                          "column": 15
                        }
                      },
                      "name": "visible",
                      "leadingComments": null
                    },
                    "value": {
                      "type": "BinaryExpression",
                      "start": 6276,
                      "end": 6300,
                      "loc": {
                        "start": {
                          "line": 158,
                          "column": 23
                        },
                        "end": {
                          "line": 158,
                          "column": 47
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 6277,
                        "end": 6293,
                        "loc": {
                          "start": {
                            "line": 158,
                            "column": 24
                          },
                          "end": {
                            "line": 158,
                            "column": 40
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6277,
                          "end": 6282,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 24
                            },
                            "end": {
                              "line": 158,
                              "column": 29
                            }
                          },
                          "name": "flags"
                        },
                        "operator": "&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 6286,
                          "end": 6292,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 33
                            },
                            "end": {
                              "line": 158,
                              "column": 39
                            }
                          },
                          "left": {
                            "type": "Literal",
                            "start": 6286,
                            "end": 6287,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 33
                              },
                              "end": {
                                "line": 158,
                                "column": 34
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "operator": "<<",
                          "right": {
                            "type": "Literal",
                            "start": 6291,
                            "end": 6292,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 38
                              },
                              "end": {
                                "line": 158,
                                "column": 39
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "parenthesizedExpression": true
                        },
                        "parenthesizedExpression": true
                      },
                      "operator": "!==",
                      "right": {
                        "type": "Literal",
                        "start": 6299,
                        "end": 6300,
                        "loc": {
                          "start": {
                            "line": 158,
                            "column": 46
                          },
                          "end": {
                            "line": 158,
                            "column": 47
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    },
                    "kind": "init",
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " flags from enum EMemberFlags in BaseSystemSTL/h/Members.h",
                        "start": 6191,
                        "end": 6251,
                        "loc": {
                          "start": {
                            "line": 157,
                            "column": 8
                          },
                          "end": {
                            "line": 157,
                            "column": 68
                          }
                        },
                        "range": [
                          6191,
                          6251
                        ]
                      }
                    ]
                  },
                  {
                    "type": "Property",
                    "start": 6311,
                    "end": 6350,
                    "loc": {
                      "start": {
                        "line": 159,
                        "column": 8
                      },
                      "end": {
                        "line": 159,
                        "column": 47
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6311,
                      "end": 6324,
                      "loc": {
                        "start": {
                          "line": 159,
                          "column": 8
                        },
                        "end": {
                          "line": 159,
                          "column": 21
                        }
                      },
                      "name": "neverExchange"
                    },
                    "value": {
                      "type": "BinaryExpression",
                      "start": 6326,
                      "end": 6350,
                      "loc": {
                        "start": {
                          "line": 159,
                          "column": 23
                        },
                        "end": {
                          "line": 159,
                          "column": 47
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 6327,
                        "end": 6343,
                        "loc": {
                          "start": {
                            "line": 159,
                            "column": 24
                          },
                          "end": {
                            "line": 159,
                            "column": 40
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6327,
                          "end": 6332,
                          "loc": {
                            "start": {
                              "line": 159,
                              "column": 24
                            },
                            "end": {
                              "line": 159,
                              "column": 29
                            }
                          },
                          "name": "flags"
                        },
                        "operator": "&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 6336,
                          "end": 6342,
                          "loc": {
                            "start": {
                              "line": 159,
                              "column": 33
                            },
                            "end": {
                              "line": 159,
                              "column": 39
                            }
                          },
                          "left": {
                            "type": "Literal",
                            "start": 6336,
                            "end": 6337,
                            "loc": {
                              "start": {
                                "line": 159,
                                "column": 33
                              },
                              "end": {
                                "line": 159,
                                "column": 34
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "operator": "<<",
                          "right": {
                            "type": "Literal",
                            "start": 6341,
                            "end": 6342,
                            "loc": {
                              "start": {
                                "line": 159,
                                "column": 38
                              },
                              "end": {
                                "line": 159,
                                "column": 39
                              }
                            },
                            "value": 2,
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "parenthesizedExpression": true
                        },
                        "parenthesizedExpression": true
                      },
                      "operator": "!==",
                      "right": {
                        "type": "Literal",
                        "start": 6349,
                        "end": 6350,
                        "loc": {
                          "start": {
                            "line": 159,
                            "column": 46
                          },
                          "end": {
                            "line": 159,
                            "column": 47
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 6361,
                    "end": 6400,
                    "loc": {
                      "start": {
                        "line": 160,
                        "column": 8
                      },
                      "end": {
                        "line": 160,
                        "column": 47
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6361,
                      "end": 6371,
                      "loc": {
                        "start": {
                          "line": 160,
                          "column": 8
                        },
                        "end": {
                          "line": 160,
                          "column": 18
                        }
                      },
                      "name": "exprLocked"
                    },
                    "value": {
                      "type": "BinaryExpression",
                      "start": 6376,
                      "end": 6400,
                      "loc": {
                        "start": {
                          "line": 160,
                          "column": 23
                        },
                        "end": {
                          "line": 160,
                          "column": 47
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 6377,
                        "end": 6393,
                        "loc": {
                          "start": {
                            "line": 160,
                            "column": 24
                          },
                          "end": {
                            "line": 160,
                            "column": 40
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6377,
                          "end": 6382,
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 24
                            },
                            "end": {
                              "line": 160,
                              "column": 29
                            }
                          },
                          "name": "flags"
                        },
                        "operator": "&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 6386,
                          "end": 6392,
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 33
                            },
                            "end": {
                              "line": 160,
                              "column": 39
                            }
                          },
                          "left": {
                            "type": "Literal",
                            "start": 6386,
                            "end": 6387,
                            "loc": {
                              "start": {
                                "line": 160,
                                "column": 33
                              },
                              "end": {
                                "line": 160,
                                "column": 34
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "operator": "<<",
                          "right": {
                            "type": "Literal",
                            "start": 6391,
                            "end": 6392,
                            "loc": {
                              "start": {
                                "line": 160,
                                "column": 38
                              },
                              "end": {
                                "line": 160,
                                "column": 39
                              }
                            },
                            "value": 3,
                            "rawValue": 3,
                            "raw": "3"
                          },
                          "parenthesizedExpression": true
                        },
                        "parenthesizedExpression": true
                      },
                      "operator": "!==",
                      "right": {
                        "type": "Literal",
                        "start": 6399,
                        "end": 6400,
                        "loc": {
                          "start": {
                            "line": 160,
                            "column": 46
                          },
                          "end": {
                            "line": 160,
                            "column": 47
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 6411,
                    "end": 6450,
                    "loc": {
                      "start": {
                        "line": 161,
                        "column": 8
                      },
                      "end": {
                        "line": 161,
                        "column": 47
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6411,
                      "end": 6420,
                      "loc": {
                        "start": {
                          "line": 161,
                          "column": 8
                        },
                        "end": {
                          "line": 161,
                          "column": 17
                        }
                      },
                      "name": "transient"
                    },
                    "value": {
                      "type": "BinaryExpression",
                      "start": 6426,
                      "end": 6450,
                      "loc": {
                        "start": {
                          "line": 161,
                          "column": 23
                        },
                        "end": {
                          "line": 161,
                          "column": 47
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 6427,
                        "end": 6443,
                        "loc": {
                          "start": {
                            "line": 161,
                            "column": 24
                          },
                          "end": {
                            "line": 161,
                            "column": 40
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6427,
                          "end": 6432,
                          "loc": {
                            "start": {
                              "line": 161,
                              "column": 24
                            },
                            "end": {
                              "line": 161,
                              "column": 29
                            }
                          },
                          "name": "flags"
                        },
                        "operator": "&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 6436,
                          "end": 6442,
                          "loc": {
                            "start": {
                              "line": 161,
                              "column": 33
                            },
                            "end": {
                              "line": 161,
                              "column": 39
                            }
                          },
                          "left": {
                            "type": "Literal",
                            "start": 6436,
                            "end": 6437,
                            "loc": {
                              "start": {
                                "line": 161,
                                "column": 33
                              },
                              "end": {
                                "line": 161,
                                "column": 34
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "operator": "<<",
                          "right": {
                            "type": "Literal",
                            "start": 6441,
                            "end": 6442,
                            "loc": {
                              "start": {
                                "line": 161,
                                "column": 38
                              },
                              "end": {
                                "line": 161,
                                "column": 39
                              }
                            },
                            "value": 4,
                            "rawValue": 4,
                            "raw": "4"
                          },
                          "parenthesizedExpression": true
                        },
                        "parenthesizedExpression": true
                      },
                      "operator": "!==",
                      "right": {
                        "type": "Literal",
                        "start": 6449,
                        "end": 6450,
                        "loc": {
                          "start": {
                            "line": 161,
                            "column": 46
                          },
                          "end": {
                            "line": 161,
                            "column": 47
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 6461,
                    "end": 6500,
                    "loc": {
                      "start": {
                        "line": 162,
                        "column": 8
                      },
                      "end": {
                        "line": 162,
                        "column": 47
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6461,
                      "end": 6466,
                      "loc": {
                        "start": {
                          "line": 162,
                          "column": 8
                        },
                        "end": {
                          "line": 162,
                          "column": 13
                        }
                      },
                      "name": "fixed"
                    },
                    "value": {
                      "type": "BinaryExpression",
                      "start": 6476,
                      "end": 6500,
                      "loc": {
                        "start": {
                          "line": 162,
                          "column": 23
                        },
                        "end": {
                          "line": 162,
                          "column": 47
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 6477,
                        "end": 6493,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 24
                          },
                          "end": {
                            "line": 162,
                            "column": 40
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6477,
                          "end": 6482,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 24
                            },
                            "end": {
                              "line": 162,
                              "column": 29
                            }
                          },
                          "name": "flags"
                        },
                        "operator": "&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 6486,
                          "end": 6492,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 33
                            },
                            "end": {
                              "line": 162,
                              "column": 39
                            }
                          },
                          "left": {
                            "type": "Literal",
                            "start": 6486,
                            "end": 6487,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 33
                              },
                              "end": {
                                "line": 162,
                                "column": 34
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "operator": "<<",
                          "right": {
                            "type": "Literal",
                            "start": 6491,
                            "end": 6492,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 38
                              },
                              "end": {
                                "line": 162,
                                "column": 39
                              }
                            },
                            "value": 5,
                            "rawValue": 5,
                            "raw": "5"
                          },
                          "parenthesizedExpression": true
                        },
                        "parenthesizedExpression": true
                      },
                      "operator": "===",
                      "right": {
                        "type": "Literal",
                        "start": 6499,
                        "end": 6500,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 46
                          },
                          "end": {
                            "line": 162,
                            "column": 47
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 6530,
                    "end": 6569,
                    "loc": {
                      "start": {
                        "line": 163,
                        "column": 8
                      },
                      "end": {
                        "line": 163,
                        "column": 47
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6530,
                      "end": 6536,
                      "loc": {
                        "start": {
                          "line": 163,
                          "column": 8
                        },
                        "end": {
                          "line": 163,
                          "column": 14
                        }
                      },
                      "name": "isNull",
                      "leadingComments": null
                    },
                    "value": {
                      "type": "BinaryExpression",
                      "start": 6545,
                      "end": 6569,
                      "loc": {
                        "start": {
                          "line": 163,
                          "column": 23
                        },
                        "end": {
                          "line": 163,
                          "column": 47
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 6546,
                        "end": 6562,
                        "loc": {
                          "start": {
                            "line": 163,
                            "column": 24
                          },
                          "end": {
                            "line": 163,
                            "column": 40
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6546,
                          "end": 6551,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 24
                            },
                            "end": {
                              "line": 163,
                              "column": 29
                            }
                          },
                          "name": "flags"
                        },
                        "operator": "&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 6555,
                          "end": 6561,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 33
                            },
                            "end": {
                              "line": 163,
                              "column": 39
                            }
                          },
                          "left": {
                            "type": "Literal",
                            "start": 6555,
                            "end": 6556,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 33
                              },
                              "end": {
                                "line": 163,
                                "column": 34
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "operator": "<<",
                          "right": {
                            "type": "Literal",
                            "start": 6560,
                            "end": 6561,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 38
                              },
                              "end": {
                                "line": 163,
                                "column": 39
                              }
                            },
                            "value": 9,
                            "rawValue": 9,
                            "raw": "9"
                          },
                          "parenthesizedExpression": true
                        },
                        "parenthesizedExpression": true
                      },
                      "operator": "!==",
                      "right": {
                        "type": "Literal",
                        "start": 6568,
                        "end": 6569,
                        "loc": {
                          "start": {
                            "line": 163,
                            "column": 46
                          },
                          "end": {
                            "line": 163,
                            "column": 47
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    },
                    "kind": "init",
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " fixed = !driven",
                        "start": 6502,
                        "end": 6520,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 49
                          },
                          "end": {
                            "line": 162,
                            "column": 67
                          }
                        },
                        "range": [
                          6502,
                          6520
                        ]
                      }
                    ]
                  },
                  {
                    "type": "Property",
                    "start": 6580,
                    "end": 6590,
                    "loc": {
                      "start": {
                        "line": 164,
                        "column": 8
                      },
                      "end": {
                        "line": 164,
                        "column": 18
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6580,
                      "end": 6584,
                      "loc": {
                        "start": {
                          "line": 164,
                          "column": 8
                        },
                        "end": {
                          "line": 164,
                          "column": 12
                        }
                      },
                      "name": "type"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 6586,
                      "end": 6590,
                      "loc": {
                        "start": {
                          "line": 164,
                          "column": 14
                        },
                        "end": {
                          "line": 164,
                          "column": 18
                        }
                      },
                      "name": "type"
                    },
                    "kind": "init"
                  }
                ]
              }
            }
          },
          {
            "type": "ReturnStatement",
            "start": 6605,
            "end": 6619,
            "loc": {
              "start": {
                "line": 166,
                "column": 4
              },
              "end": {
                "line": 166,
                "column": 18
              }
            },
            "argument": {
              "type": "Identifier",
              "start": 6612,
              "end": 6618,
              "loc": {
                "start": {
                  "line": 166,
                  "column": 11
                },
                "end": {
                  "line": 166,
                  "column": 17
                }
              },
              "name": "member"
            }
          }
        ],
        "trailingComments": null
      },
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": " Given object tree (resulting from CADH_JSONExportStr service method), return a corresponding object hierarchy.",
          "start": 6626,
          "end": 6739,
          "loc": {
            "start": {
              "line": 169,
              "column": 0
            },
            "end": {
              "line": 169,
              "column": 113
            }
          },
          "range": [
            6626,
            6739
          ]
        },
        {
          "type": "CommentLine",
          "value": " If 'this' is defined, treat it as a root of an existing object hierarchy to be updated.",
          "start": 6741,
          "end": 6831,
          "loc": {
            "start": {
              "line": 170,
              "column": 0
            },
            "end": {
              "line": 170,
              "column": 90
            }
          },
          "range": [
            6741,
            6831
          ]
        },
        {
          "type": "CommentLine",
          "value": " If addFirstChildTo is defined, add first toplevel child to it as a member",
          "start": 6833,
          "end": 6909,
          "loc": {
            "start": {
              "line": 171,
              "column": 0
            },
            "end": {
              "line": 171,
              "column": 76
            }
          },
          "range": [
            6833,
            6909
          ]
        },
        {
          "type": "CommentLine",
          "value": " addFirstChildTo is a workaround to guarantee that finishedUpdating is called after all addMember calls",
          "start": 6911,
          "end": 7016,
          "loc": {
            "start": {
              "line": 172,
              "column": 0
            },
            "end": {
              "line": 172,
              "column": 105
            }
          },
          "range": [
            6911,
            7016
          ]
        },
        {
          "type": "CommentLine",
          "value": " If toplevelChildren is passed, then treat it as an array of objects to parse toplevel children to",
          "start": 7018,
          "end": 7118,
          "loc": {
            "start": {
              "line": 173,
              "column": 0
            },
            "end": {
              "line": 173,
              "column": 100
            }
          },
          "range": [
            7018,
            7118
          ]
        },
        {
          "type": "CommentLine",
          "value": " return first child of the root or the root object depending on whether toplevelChildren is passed",
          "start": 7120,
          "end": 7220,
          "loc": {
            "start": {
              "line": 174,
              "column": 0
            },
            "end": {
              "line": 174,
              "column": 100
            }
          },
          "range": [
            7120,
            7220
          ]
        }
      ]
    },
    {
      "type": "Identifier",
      "start": 7222,
      "end": 9583,
      "loc": {
        "start": {
          "line": 175,
          "column": 0
        },
        "end": {
          "line": 222,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 7231,
        "end": 7246,
        "loc": {
          "start": {
            "line": 175,
            "column": 9
          },
          "end": {
            "line": 175,
            "column": 24
          }
        },
        "name": "parseObjectTree",
        "leadingComments": null
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 7247,
          "end": 7257,
          "loc": {
            "start": {
              "line": 175,
              "column": 25
            },
            "end": {
              "line": 175,
              "column": 35
            }
          },
          "name": "objectTree"
        },
        {
          "type": "Identifier",
          "start": 7259,
          "end": 7274,
          "loc": {
            "start": {
              "line": 175,
              "column": 37
            },
            "end": {
              "line": 175,
              "column": 52
            }
          },
          "name": "addFirstChildTo"
        },
        {
          "type": "Identifier",
          "start": 7276,
          "end": 7292,
          "loc": {
            "start": {
              "line": 175,
              "column": 54
            },
            "end": {
              "line": 175,
              "column": 70
            }
          },
          "name": "toplevelChildren"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 7294,
        "end": 9583,
        "loc": {
          "start": {
            "line": 175,
            "column": 72
          },
          "end": {
            "line": 222,
            "column": 1
          }
        },
        "body": [
          {
            "type": "VariableDeclaration",
            "start": 7301,
            "end": 7340,
            "loc": {
              "start": {
                "line": 176,
                "column": 4
              },
              "end": {
                "line": 176,
                "column": 43
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 7305,
                "end": 7339,
                "loc": {
                  "start": {
                    "line": 176,
                    "column": 8
                  },
                  "end": {
                    "line": 176,
                    "column": 42
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 7305,
                  "end": 7319,
                  "loc": {
                    "start": {
                      "line": 176,
                      "column": 8
                    },
                    "end": {
                      "line": 176,
                      "column": 22
                    }
                  },
                  "name": "allObjectsMode"
                },
                "init": {
                  "type": "UnaryExpression",
                  "start": 7322,
                  "end": 7339,
                  "loc": {
                    "start": {
                      "line": 176,
                      "column": 25
                    },
                    "end": {
                      "line": 176,
                      "column": 42
                    }
                  },
                  "operator": "!",
                  "prefix": true,
                  "argument": {
                    "type": "Identifier",
                    "start": 7323,
                    "end": 7339,
                    "loc": {
                      "start": {
                        "line": 176,
                        "column": 26
                      },
                      "end": {
                        "line": 176,
                        "column": 42
                      }
                    },
                    "name": "toplevelChildren"
                  }
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "ExpressionStatement",
            "start": 7346,
            "end": 7388,
            "loc": {
              "start": {
                "line": 177,
                "column": 4
              },
              "end": {
                "line": 177,
                "column": 46
              }
            },
            "expression": {
              "type": "AssignmentExpression",
              "start": 7346,
              "end": 7387,
              "loc": {
                "start": {
                  "line": 177,
                  "column": 4
                },
                "end": {
                  "line": 177,
                  "column": 45
                }
              },
              "operator": "=",
              "left": {
                "type": "Identifier",
                "start": 7346,
                "end": 7362,
                "loc": {
                  "start": {
                    "line": 177,
                    "column": 4
                  },
                  "end": {
                    "line": 177,
                    "column": 20
                  }
                },
                "name": "toplevelChildren"
              },
              "right": {
                "type": "LogicalExpression",
                "start": 7365,
                "end": 7387,
                "loc": {
                  "start": {
                    "line": 177,
                    "column": 23
                  },
                  "end": {
                    "line": 177,
                    "column": 45
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 7365,
                  "end": 7381,
                  "loc": {
                    "start": {
                      "line": 177,
                      "column": 23
                    },
                    "end": {
                      "line": 177,
                      "column": 39
                    }
                  },
                  "name": "toplevelChildren"
                },
                "operator": "||",
                "right": {
                  "type": "ArrayExpression",
                  "start": 7385,
                  "end": 7387,
                  "loc": {
                    "start": {
                      "line": 177,
                      "column": 43
                    },
                    "end": {
                      "line": 177,
                      "column": 45
                    }
                  },
                  "elements": []
                }
              }
            }
          },
          {
            "type": "VariableDeclaration",
            "start": 7394,
            "end": 7416,
            "loc": {
              "start": {
                "line": 178,
                "column": 4
              },
              "end": {
                "line": 178,
                "column": 26
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 7398,
                "end": 7415,
                "loc": {
                  "start": {
                    "line": 178,
                    "column": 8
                  },
                  "end": {
                    "line": 178,
                    "column": 25
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 7398,
                  "end": 7403,
                  "loc": {
                    "start": {
                      "line": 178,
                      "column": 8
                    },
                    "end": {
                      "line": 178,
                      "column": 13
                    }
                  },
                  "name": "idMap"
                },
                "init": {
                  "type": "NewExpression",
                  "start": 7406,
                  "end": 7415,
                  "loc": {
                    "start": {
                      "line": 178,
                      "column": 16
                    },
                    "end": {
                      "line": 178,
                      "column": 25
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 7410,
                    "end": 7413,
                    "loc": {
                      "start": {
                        "line": 178,
                        "column": 20
                      },
                      "end": {
                        "line": 178,
                        "column": 23
                      }
                    },
                    "name": "Map"
                  },
                  "arguments": []
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 7422,
            "end": 7459,
            "loc": {
              "start": {
                "line": 179,
                "column": 4
              },
              "end": {
                "line": 179,
                "column": 41
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 7426,
                "end": 7458,
                "loc": {
                  "start": {
                    "line": 179,
                    "column": 8
                  },
                  "end": {
                    "line": 179,
                    "column": 40
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 7426,
                  "end": 7434,
                  "loc": {
                    "start": {
                      "line": 179,
                      "column": 8
                    },
                    "end": {
                      "line": 179,
                      "column": 16
                    }
                  },
                  "name": "rootNode"
                },
                "init": {
                  "type": "MemberExpression",
                  "start": 7437,
                  "end": 7458,
                  "loc": {
                    "start": {
                      "line": 179,
                      "column": 19
                    },
                    "end": {
                      "line": 179,
                      "column": 40
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 7437,
                    "end": 7455,
                    "loc": {
                      "start": {
                        "line": 179,
                        "column": 19
                      },
                      "end": {
                        "line": 179,
                        "column": 37
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 7437,
                      "end": 7447,
                      "loc": {
                        "start": {
                          "line": 179,
                          "column": 19
                        },
                        "end": {
                          "line": 179,
                          "column": 29
                        }
                      },
                      "name": "objectTree"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 7448,
                      "end": 7455,
                      "loc": {
                        "start": {
                          "line": 179,
                          "column": 30
                        },
                        "end": {
                          "line": 179,
                          "column": 37
                        }
                      },
                      "name": "objects"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Literal",
                    "start": 7456,
                    "end": 7457,
                    "loc": {
                      "start": {
                        "line": 179,
                        "column": 38
                      },
                      "end": {
                        "line": 179,
                        "column": 39
                      }
                    },
                    "value": 1,
                    "rawValue": 1,
                    "raw": "1"
                  },
                  "computed": true
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "IfStatement",
            "start": 7465,
            "end": 7576,
            "loc": {
              "start": {
                "line": 180,
                "column": 4
              },
              "end": {
                "line": 181,
                "column": 73
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 7469,
              "end": 7500,
              "loc": {
                "start": {
                  "line": 180,
                  "column": 8
                },
                "end": {
                  "line": 180,
                  "column": 39
                }
              },
              "left": {
                "type": "MemberExpression",
                "start": 7469,
                "end": 7483,
                "loc": {
                  "start": {
                    "line": 180,
                    "column": 8
                  },
                  "end": {
                    "line": 180,
                    "column": 22
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 7469,
                  "end": 7477,
                  "loc": {
                    "start": {
                      "line": 180,
                      "column": 8
                    },
                    "end": {
                      "line": 180,
                      "column": 16
                    }
                  },
                  "name": "rootNode"
                },
                "property": {
                  "type": "Identifier",
                  "start": 7478,
                  "end": 7483,
                  "loc": {
                    "start": {
                      "line": 180,
                      "column": 17
                    },
                    "end": {
                      "line": 180,
                      "column": 22
                    }
                  },
                  "name": "class"
                },
                "computed": false
              },
              "operator": "!==",
              "right": {
                "type": "Literal",
                "start": 7488,
                "end": 7500,
                "loc": {
                  "start": {
                    "line": 180,
                    "column": 27
                  },
                  "end": {
                    "line": 180,
                    "column": 39
                  }
                },
                "value": "AllObjects",
                "rawValue": "AllObjects",
                "raw": "'AllObjects'"
              }
            },
            "consequent": {
              "type": "ThrowStatement",
              "start": 7511,
              "end": 7576,
              "loc": {
                "start": {
                  "line": 181,
                  "column": 8
                },
                "end": {
                  "line": 181,
                  "column": 73
                }
              },
              "argument": {
                "type": "NewExpression",
                "start": 7517,
                "end": 7575,
                "loc": {
                  "start": {
                    "line": 181,
                    "column": 14
                  },
                  "end": {
                    "line": 181,
                    "column": 72
                  }
                },
                "callee": {
                  "type": "Identifier",
                  "start": 7521,
                  "end": 7526,
                  "loc": {
                    "start": {
                      "line": 181,
                      "column": 18
                    },
                    "end": {
                      "line": 181,
                      "column": 23
                    }
                  },
                  "name": "Error"
                },
                "arguments": [
                  {
                    "type": "Literal",
                    "start": 7527,
                    "end": 7574,
                    "loc": {
                      "start": {
                        "line": 181,
                        "column": 24
                      },
                      "end": {
                        "line": 181,
                        "column": 71
                      }
                    },
                    "value": "Bad object tree: AllObjects is not at index 1",
                    "rawValue": "Bad object tree: AllObjects is not at index 1",
                    "raw": "'Bad object tree: AllObjects is not at index 1'"
                  }
                ]
              }
            },
            "alternate": null
          },
          {
            "type": "IfStatement",
            "start": 7582,
            "end": 7670,
            "loc": {
              "start": {
                "line": 182,
                "column": 4
              },
              "end": {
                "line": 183,
                "column": 37
              }
            },
            "test": {
              "type": "ThisExpression",
              "start": 7586,
              "end": 7590,
              "loc": {
                "start": {
                  "line": 182,
                  "column": 8
                },
                "end": {
                  "line": 182,
                  "column": 12
                }
              }
            },
            "consequent": {
              "type": "ExpressionStatement",
              "start": 7641,
              "end": 7670,
              "loc": {
                "start": {
                  "line": 183,
                  "column": 8
                },
                "end": {
                  "line": 183,
                  "column": 37
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 7641,
                "end": 7669,
                "loc": {
                  "start": {
                    "line": 183,
                    "column": 8
                  },
                  "end": {
                    "line": 183,
                    "column": 36
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 7641,
                  "end": 7650,
                  "loc": {
                    "start": {
                      "line": 183,
                      "column": 8
                    },
                    "end": {
                      "line": 183,
                      "column": 17
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 7641,
                    "end": 7646,
                    "loc": {
                      "start": {
                        "line": 183,
                        "column": 8
                      },
                      "end": {
                        "line": 183,
                        "column": 13
                      }
                    },
                    "name": "idMap",
                    "leadingComments": null
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 7647,
                    "end": 7650,
                    "loc": {
                      "start": {
                        "line": 183,
                        "column": 14
                      },
                      "end": {
                        "line": 183,
                        "column": 17
                      }
                    },
                    "name": "set"
                  },
                  "computed": false,
                  "leadingComments": null
                },
                "arguments": [
                  {
                    "type": "MemberExpression",
                    "start": 7651,
                    "end": 7662,
                    "loc": {
                      "start": {
                        "line": 183,
                        "column": 18
                      },
                      "end": {
                        "line": 183,
                        "column": 29
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 7651,
                      "end": 7659,
                      "loc": {
                        "start": {
                          "line": 183,
                          "column": 18
                        },
                        "end": {
                          "line": 183,
                          "column": 26
                        }
                      },
                      "name": "rootNode"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 7660,
                      "end": 7662,
                      "loc": {
                        "start": {
                          "line": 183,
                          "column": 27
                        },
                        "end": {
                          "line": 183,
                          "column": 29
                        }
                      },
                      "name": "id"
                    },
                    "computed": false
                  },
                  {
                    "type": "ThisExpression",
                    "start": 7664,
                    "end": 7668,
                    "loc": {
                      "start": {
                        "line": 183,
                        "column": 31
                      },
                      "end": {
                        "line": 183,
                        "column": 35
                      }
                    }
                  }
                ],
                "leadingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " this (if passed) is a hierarchy root",
                  "start": 7592,
                  "end": 7631,
                  "loc": {
                    "start": {
                      "line": 182,
                      "column": 14
                    },
                    "end": {
                      "line": 182,
                      "column": 53
                    }
                  },
                  "range": [
                    7592,
                    7631
                  ]
                }
              ]
            },
            "alternate": null
          },
          {
            "type": "ExpressionStatement",
            "start": 7676,
            "end": 8619,
            "loc": {
              "start": {
                "line": 184,
                "column": 4
              },
              "end": {
                "line": 199,
                "column": 7
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 7676,
              "end": 8618,
              "loc": {
                "start": {
                  "line": 184,
                  "column": 4
                },
                "end": {
                  "line": 199,
                  "column": 6
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 7676,
                "end": 7702,
                "loc": {
                  "start": {
                    "line": 184,
                    "column": 4
                  },
                  "end": {
                    "line": 184,
                    "column": 30
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 7676,
                  "end": 7694,
                  "loc": {
                    "start": {
                      "line": 184,
                      "column": 4
                    },
                    "end": {
                      "line": 184,
                      "column": 22
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 7676,
                    "end": 7686,
                    "loc": {
                      "start": {
                        "line": 184,
                        "column": 4
                      },
                      "end": {
                        "line": 184,
                        "column": 14
                      }
                    },
                    "name": "objectTree"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 7687,
                    "end": 7694,
                    "loc": {
                      "start": {
                        "line": 184,
                        "column": 15
                      },
                      "end": {
                        "line": 184,
                        "column": 22
                      }
                    },
                    "name": "objects"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 7695,
                  "end": 7702,
                  "loc": {
                    "start": {
                      "line": 184,
                      "column": 23
                    },
                    "end": {
                      "line": 184,
                      "column": 30
                    }
                  },
                  "name": "forEach"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "ArrowFunctionExpression",
                  "start": 7703,
                  "end": 8617,
                  "loc": {
                    "start": {
                      "line": 184,
                      "column": 31
                    },
                    "end": {
                      "line": 199,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 7703,
                      "end": 7707,
                      "loc": {
                        "start": {
                          "line": 184,
                          "column": 31
                        },
                        "end": {
                          "line": 184,
                          "column": 35
                        }
                      },
                      "name": "node"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 7711,
                    "end": 8617,
                    "loc": {
                      "start": {
                        "line": 184,
                        "column": 39
                      },
                      "end": {
                        "line": 199,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "VariableDeclaration",
                        "start": 7722,
                        "end": 7792,
                        "loc": {
                          "start": {
                            "line": 185,
                            "column": 8
                          },
                          "end": {
                            "line": 185,
                            "column": 78
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 7726,
                            "end": 7791,
                            "loc": {
                              "start": {
                                "line": 185,
                                "column": 12
                              },
                              "end": {
                                "line": 185,
                                "column": 77
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 7726,
                              "end": 7731,
                              "loc": {
                                "start": {
                                  "line": 185,
                                  "column": 12
                                },
                                "end": {
                                  "line": 185,
                                  "column": 17
                                }
                              },
                              "name": "klass"
                            },
                            "init": {
                              "type": "LogicalExpression",
                              "start": 7734,
                              "end": 7791,
                              "loc": {
                                "start": {
                                  "line": 185,
                                  "column": 20
                                },
                                "end": {
                                  "line": 185,
                                  "column": 77
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 7734,
                                "end": 7773,
                                "loc": {
                                  "start": {
                                    "line": 185,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 185,
                                    "column": 59
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7734,
                                  "end": 7761,
                                  "loc": {
                                    "start": {
                                      "line": 185,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 185,
                                      "column": 47
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 7734,
                                    "end": 7748,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 34
                                      }
                                    },
                                    "name": "ClassCadObject"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7749,
                                    "end": 7761,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 47
                                      }
                                    },
                                    "name": "classMapping"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "MemberExpression",
                                  "start": 7762,
                                  "end": 7772,
                                  "loc": {
                                    "start": {
                                      "line": 185,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 185,
                                      "column": 58
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 7762,
                                    "end": 7766,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 52
                                      }
                                    },
                                    "name": "node"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7767,
                                    "end": 7772,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 58
                                      }
                                    },
                                    "name": "class"
                                  },
                                  "computed": false
                                },
                                "computed": true
                              },
                              "operator": "||",
                              "right": {
                                "type": "Identifier",
                                "start": 7777,
                                "end": 7791,
                                "loc": {
                                  "start": {
                                    "line": 185,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 185,
                                    "column": 77
                                  }
                                },
                                "name": "ClassCadObject"
                              }
                            }
                          }
                        ],
                        "kind": "var",
                        "trailingComments": [
                          {
                            "type": "CommentLine",
                            "value": " if objects exists in the hierarhcy, reuse it, otherwise create a brand new object",
                            "start": 7802,
                            "end": 7886,
                            "loc": {
                              "start": {
                                "line": 186,
                                "column": 8
                              },
                              "end": {
                                "line": 186,
                                "column": 92
                              }
                            },
                            "range": [
                              7802,
                              7886
                            ]
                          }
                        ]
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 7896,
                        "end": 7963,
                        "loc": {
                          "start": {
                            "line": 187,
                            "column": 8
                          },
                          "end": {
                            "line": 187,
                            "column": 75
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 7900,
                            "end": 7962,
                            "loc": {
                              "start": {
                                "line": 187,
                                "column": 12
                              },
                              "end": {
                                "line": 187,
                                "column": 74
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 7900,
                              "end": 7906,
                              "loc": {
                                "start": {
                                  "line": 187,
                                  "column": 12
                                },
                                "end": {
                                  "line": 187,
                                  "column": 18
                                }
                              },
                              "name": "object",
                              "leadingComments": null
                            },
                            "init": {
                              "type": "ConditionalExpression",
                              "start": 7909,
                              "end": 7962,
                              "loc": {
                                "start": {
                                  "line": 187,
                                  "column": 21
                                },
                                "end": {
                                  "line": 187,
                                  "column": 74
                                }
                              },
                              "test": {
                                "type": "CallExpression",
                                "start": 7909,
                                "end": 7927,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 39
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 7909,
                                  "end": 7918,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 7909,
                                    "end": 7914,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 26
                                      }
                                    },
                                    "name": "idMap"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7915,
                                    "end": 7918,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 30
                                      }
                                    },
                                    "name": "has"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 7919,
                                    "end": 7926,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 38
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 7919,
                                      "end": 7923,
                                      "loc": {
                                        "start": {
                                          "line": 187,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 187,
                                          "column": 35
                                        }
                                      },
                                      "name": "node"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7924,
                                      "end": 7926,
                                      "loc": {
                                        "start": {
                                          "line": 187,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 187,
                                          "column": 38
                                        }
                                      },
                                      "name": "id"
                                    },
                                    "computed": false
                                  }
                                ]
                              },
                              "consequent": {
                                "type": "CallExpression",
                                "start": 7930,
                                "end": 7948,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 60
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 7930,
                                  "end": 7939,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 51
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 7930,
                                    "end": 7935,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 47
                                      }
                                    },
                                    "name": "idMap"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7936,
                                    "end": 7939,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 51
                                      }
                                    },
                                    "name": "get"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 7940,
                                    "end": 7947,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 59
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 7940,
                                      "end": 7944,
                                      "loc": {
                                        "start": {
                                          "line": 187,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 187,
                                          "column": 56
                                        }
                                      },
                                      "name": "node"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7945,
                                      "end": 7947,
                                      "loc": {
                                        "start": {
                                          "line": 187,
                                          "column": 57
                                        },
                                        "end": {
                                          "line": 187,
                                          "column": 59
                                        }
                                      },
                                      "name": "id"
                                    },
                                    "computed": false
                                  }
                                ]
                              },
                              "alternate": {
                                "type": "NewExpression",
                                "start": 7951,
                                "end": 7962,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 74
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 7955,
                                  "end": 7960,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 72
                                    }
                                  },
                                  "name": "klass"
                                },
                                "arguments": []
                              }
                            },
                            "leadingComments": null
                          }
                        ],
                        "kind": "var",
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": " if objects exists in the hierarhcy, reuse it, otherwise create a brand new object",
                            "start": 7802,
                            "end": 7886,
                            "loc": {
                              "start": {
                                "line": 186,
                                "column": 8
                              },
                              "end": {
                                "line": 186,
                                "column": 92
                              }
                            },
                            "range": [
                              7802,
                              7886
                            ]
                          }
                        ]
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 7973,
                        "end": 8000,
                        "loc": {
                          "start": {
                            "line": 188,
                            "column": 8
                          },
                          "end": {
                            "line": 188,
                            "column": 35
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 7973,
                          "end": 7999,
                          "loc": {
                            "start": {
                              "line": 188,
                              "column": 8
                            },
                            "end": {
                              "line": 188,
                              "column": 34
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 7973,
                            "end": 7982,
                            "loc": {
                              "start": {
                                "line": 188,
                                "column": 8
                              },
                              "end": {
                                "line": 188,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 7973,
                              "end": 7978,
                              "loc": {
                                "start": {
                                  "line": 188,
                                  "column": 8
                                },
                                "end": {
                                  "line": 188,
                                  "column": 13
                                }
                              },
                              "name": "idMap"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7979,
                              "end": 7982,
                              "loc": {
                                "start": {
                                  "line": 188,
                                  "column": 14
                                },
                                "end": {
                                  "line": 188,
                                  "column": 17
                                }
                              },
                              "name": "set"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 7983,
                              "end": 7990,
                              "loc": {
                                "start": {
                                  "line": 188,
                                  "column": 18
                                },
                                "end": {
                                  "line": 188,
                                  "column": 25
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7983,
                                "end": 7987,
                                "loc": {
                                  "start": {
                                    "line": 188,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 188,
                                    "column": 22
                                  }
                                },
                                "name": "node"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7988,
                                "end": 7990,
                                "loc": {
                                  "start": {
                                    "line": 188,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 188,
                                    "column": 25
                                  }
                                },
                                "name": "id"
                              },
                              "computed": false
                            },
                            {
                              "type": "Identifier",
                              "start": 7992,
                              "end": 7998,
                              "loc": {
                                "start": {
                                  "line": 188,
                                  "column": 27
                                },
                                "end": {
                                  "line": 188,
                                  "column": 33
                                }
                              },
                              "name": "object"
                            }
                          ]
                        },
                        "trailingComments": [
                          {
                            "type": "CommentLine",
                            "value": " add entries about existing members to idMap because they will be needed on next iterations",
                            "start": 8010,
                            "end": 8103,
                            "loc": {
                              "start": {
                                "line": 189,
                                "column": 8
                              },
                              "end": {
                                "line": 189,
                                "column": 101
                              }
                            },
                            "range": [
                              8010,
                              8103
                            ]
                          }
                        ]
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 8113,
                        "end": 8569,
                        "loc": {
                          "start": {
                            "line": 190,
                            "column": 8
                          },
                          "end": {
                            "line": 197,
                            "column": 11
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 8113,
                          "end": 8568,
                          "loc": {
                            "start": {
                              "line": 190,
                              "column": 8
                            },
                            "end": {
                              "line": 197,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8113,
                            "end": 8182,
                            "loc": {
                              "start": {
                                "line": 190,
                                "column": 8
                              },
                              "end": {
                                "line": 190,
                                "column": 77
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 8113,
                              "end": 8174,
                              "loc": {
                                "start": {
                                  "line": 190,
                                  "column": 8
                                },
                                "end": {
                                  "line": 190,
                                  "column": 69
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8113,
                                "end": 8138,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "LogicalExpression",
                                  "start": 8114,
                                  "end": 8130,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 9
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 25
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 8114,
                                    "end": 8126,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 9
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 21
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 8114,
                                      "end": 8118,
                                      "loc": {
                                        "start": {
                                          "line": 190,
                                          "column": 9
                                        },
                                        "end": {
                                          "line": 190,
                                          "column": 13
                                        }
                                      },
                                      "name": "node",
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 8119,
                                      "end": 8126,
                                      "loc": {
                                        "start": {
                                          "line": 190,
                                          "column": 14
                                        },
                                        "end": {
                                          "line": 190,
                                          "column": 21
                                        }
                                      },
                                      "name": "members"
                                    },
                                    "computed": false,
                                    "leadingComments": null
                                  },
                                  "operator": "||",
                                  "right": {
                                    "type": "ArrayExpression",
                                    "start": 8128,
                                    "end": 8130,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 25
                                      }
                                    },
                                    "elements": []
                                  },
                                  "leadingComments": null,
                                  "parenthesizedExpression": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8132,
                                  "end": 8138,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 33
                                    }
                                  },
                                  "name": "filter"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "start": 8139,
                                  "end": 8173,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 68
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": true,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 8139,
                                      "end": 8149,
                                      "loc": {
                                        "start": {
                                          "line": 190,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 190,
                                          "column": 44
                                        }
                                      },
                                      "name": "memberNode"
                                    }
                                  ],
                                  "body": {
                                    "type": "MemberExpression",
                                    "start": 8153,
                                    "end": 8173,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 68
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 8153,
                                      "end": 8163,
                                      "loc": {
                                        "start": {
                                          "line": 190,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 190,
                                          "column": 58
                                        }
                                      },
                                      "name": "memberNode"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 8164,
                                      "end": 8173,
                                      "loc": {
                                        "start": {
                                          "line": 190,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 190,
                                          "column": 68
                                        }
                                      },
                                      "name": "objectMem"
                                    },
                                    "computed": false
                                  }
                                }
                              ],
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8175,
                              "end": 8182,
                              "loc": {
                                "start": {
                                  "line": 190,
                                  "column": 70
                                },
                                "end": {
                                  "line": 190,
                                  "column": 77
                                }
                              },
                              "name": "forEach"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "arguments": [
                            {
                              "type": "ArrowFunctionExpression",
                              "start": 8183,
                              "end": 8567,
                              "loc": {
                                "start": {
                                  "line": 190,
                                  "column": 78
                                },
                                "end": {
                                  "line": 197,
                                  "column": 9
                                }
                              },
                              "id": null,
                              "generator": false,
                              "expression": false,
                              "async": false,
                              "params": [
                                {
                                  "type": "Identifier",
                                  "start": 8184,
                                  "end": 8194,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 89
                                    }
                                  },
                                  "name": "memberNode"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 8196,
                                  "end": 8207,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 91
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 102
                                    }
                                  },
                                  "name": "memberIndex"
                                }
                              ],
                              "body": {
                                "type": "BlockStatement",
                                "start": 8212,
                                "end": 8567,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 107
                                  },
                                  "end": {
                                    "line": 197,
                                    "column": 9
                                  }
                                },
                                "body": [
                                  {
                                    "type": "VariableDeclaration",
                                    "start": 8304,
                                    "end": 8380,
                                    "loc": {
                                      "start": {
                                        "line": 192,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 192,
                                        "column": 88
                                      }
                                    },
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "start": 8308,
                                        "end": 8379,
                                        "loc": {
                                          "start": {
                                            "line": 192,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 192,
                                            "column": 87
                                          }
                                        },
                                        "id": {
                                          "type": "Identifier",
                                          "start": 8308,
                                          "end": 8313,
                                          "loc": {
                                            "start": {
                                              "line": 192,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 192,
                                              "column": 21
                                            }
                                          },
                                          "name": "child",
                                          "leadingComments": null
                                        },
                                        "init": {
                                          "type": "CallExpression",
                                          "start": 8316,
                                          "end": 8379,
                                          "loc": {
                                            "start": {
                                              "line": 192,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 192,
                                              "column": 87
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 8316,
                                            "end": 8336,
                                            "loc": {
                                              "start": {
                                                "line": 192,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 192,
                                                "column": 44
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 8316,
                                              "end": 8331,
                                              "loc": {
                                                "start": {
                                                  "line": 192,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 192,
                                                  "column": 39
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 8316,
                                                "end": 8322,
                                                "loc": {
                                                  "start": {
                                                    "line": 192,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 192,
                                                    "column": 30
                                                  }
                                                },
                                                "name": "object"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 8323,
                                                "end": 8331,
                                                "loc": {
                                                  "start": {
                                                    "line": 192,
                                                    "column": 31
                                                  },
                                                  "end": {
                                                    "line": 192,
                                                    "column": 39
                                                  }
                                                },
                                                "name": "children"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 8332,
                                              "end": 8336,
                                              "loc": {
                                                "start": {
                                                  "line": 192,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 192,
                                                  "column": 44
                                                }
                                              },
                                              "name": "find"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "ArrowFunctionExpression",
                                              "start": 8337,
                                              "end": 8378,
                                              "loc": {
                                                "start": {
                                                  "line": 192,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 192,
                                                  "column": 86
                                                }
                                              },
                                              "id": null,
                                              "generator": false,
                                              "expression": true,
                                              "async": false,
                                              "params": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 8337,
                                                  "end": 8338,
                                                  "loc": {
                                                    "start": {
                                                      "line": 192,
                                                      "column": 45
                                                    },
                                                    "end": {
                                                      "line": 192,
                                                      "column": 46
                                                    }
                                                  },
                                                  "name": "c"
                                                }
                                              ],
                                              "body": {
                                                "type": "BinaryExpression",
                                                "start": 8342,
                                                "end": 8378,
                                                "loc": {
                                                  "start": {
                                                    "line": 192,
                                                    "column": 50
                                                  },
                                                  "end": {
                                                    "line": 192,
                                                    "column": 86
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 8342,
                                                  "end": 8348,
                                                  "loc": {
                                                    "start": {
                                                      "line": 192,
                                                      "column": 50
                                                    },
                                                    "end": {
                                                      "line": 192,
                                                      "column": 56
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 8342,
                                                    "end": 8343,
                                                    "loc": {
                                                      "start": {
                                                        "line": 192,
                                                        "column": 50
                                                      },
                                                      "end": {
                                                        "line": 192,
                                                        "column": 51
                                                      }
                                                    },
                                                    "name": "c"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 8344,
                                                    "end": 8348,
                                                    "loc": {
                                                      "start": {
                                                        "line": 192,
                                                        "column": 52
                                                      },
                                                      "end": {
                                                        "line": 192,
                                                        "column": 56
                                                      }
                                                    },
                                                    "name": "name"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "===",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 8353,
                                                  "end": 8378,
                                                  "loc": {
                                                    "start": {
                                                      "line": 192,
                                                      "column": 61
                                                    },
                                                    "end": {
                                                      "line": 192,
                                                      "column": 86
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 8353,
                                                    "end": 8373,
                                                    "loc": {
                                                      "start": {
                                                        "line": 192,
                                                        "column": 61
                                                      },
                                                      "end": {
                                                        "line": 192,
                                                        "column": 81
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 8353,
                                                      "end": 8363,
                                                      "loc": {
                                                        "start": {
                                                          "line": 192,
                                                          "column": 61
                                                        },
                                                        "end": {
                                                          "line": 192,
                                                          "column": 71
                                                        }
                                                      },
                                                      "name": "memberNode"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 8364,
                                                      "end": 8373,
                                                      "loc": {
                                                        "start": {
                                                          "line": 192,
                                                          "column": 72
                                                        },
                                                        "end": {
                                                          "line": 192,
                                                          "column": 81
                                                        }
                                                      },
                                                      "name": "objectMem"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 8374,
                                                    "end": 8378,
                                                    "loc": {
                                                      "start": {
                                                        "line": 192,
                                                        "column": 82
                                                      },
                                                      "end": {
                                                        "line": 192,
                                                        "column": 86
                                                      }
                                                    },
                                                    "name": "name"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            }
                                          ]
                                        },
                                        "leadingComments": null
                                      }
                                    ],
                                    "kind": "var",
                                    "leadingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": " for toplevel, use toplevelChildren, else find member by name",
                                        "start": 8227,
                                        "end": 8290,
                                        "loc": {
                                          "start": {
                                            "line": 191,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 191,
                                            "column": 75
                                          }
                                        },
                                        "range": [
                                          8227,
                                          8290
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "type": "IfStatement",
                                    "start": 8394,
                                    "end": 8472,
                                    "loc": {
                                      "start": {
                                        "line": 193,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 194,
                                        "column": 54
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 8398,
                                      "end": 8415,
                                      "loc": {
                                        "start": {
                                          "line": 193,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 193,
                                          "column": 33
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 8398,
                                        "end": 8402,
                                        "loc": {
                                          "start": {
                                            "line": 193,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 193,
                                            "column": 20
                                          }
                                        },
                                        "name": "node"
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 8407,
                                        "end": 8415,
                                        "loc": {
                                          "start": {
                                            "line": 193,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 193,
                                            "column": 33
                                          }
                                        },
                                        "name": "rootNode"
                                      }
                                    },
                                    "consequent": {
                                      "type": "ExpressionStatement",
                                      "start": 8434,
                                      "end": 8472,
                                      "loc": {
                                        "start": {
                                          "line": 194,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 194,
                                          "column": 54
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 8434,
                                        "end": 8471,
                                        "loc": {
                                          "start": {
                                            "line": 194,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 194,
                                            "column": 53
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "start": 8434,
                                          "end": 8439,
                                          "loc": {
                                            "start": {
                                              "line": 194,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 194,
                                              "column": 21
                                            }
                                          },
                                          "name": "child"
                                        },
                                        "right": {
                                          "type": "MemberExpression",
                                          "start": 8442,
                                          "end": 8471,
                                          "loc": {
                                            "start": {
                                              "line": 194,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 194,
                                              "column": 53
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 8442,
                                            "end": 8458,
                                            "loc": {
                                              "start": {
                                                "line": 194,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 194,
                                                "column": 40
                                              }
                                            },
                                            "name": "toplevelChildren"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 8459,
                                            "end": 8470,
                                            "loc": {
                                              "start": {
                                                "line": 194,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 194,
                                                "column": 52
                                              }
                                            },
                                            "name": "memberIndex"
                                          },
                                          "computed": true
                                        }
                                      }
                                    },
                                    "alternate": null
                                  },
                                  {
                                    "type": "IfStatement",
                                    "start": 8486,
                                    "end": 8556,
                                    "loc": {
                                      "start": {
                                        "line": 195,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 196,
                                        "column": 58
                                      }
                                    },
                                    "test": {
                                      "type": "Identifier",
                                      "start": 8490,
                                      "end": 8495,
                                      "loc": {
                                        "start": {
                                          "line": 195,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 195,
                                          "column": 21
                                        }
                                      },
                                      "name": "child"
                                    },
                                    "consequent": {
                                      "type": "ExpressionStatement",
                                      "start": 8514,
                                      "end": 8556,
                                      "loc": {
                                        "start": {
                                          "line": 196,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 196,
                                          "column": 58
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 8514,
                                        "end": 8555,
                                        "loc": {
                                          "start": {
                                            "line": 196,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 196,
                                            "column": 57
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 8514,
                                          "end": 8523,
                                          "loc": {
                                            "start": {
                                              "line": 196,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 196,
                                              "column": 25
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 8514,
                                            "end": 8519,
                                            "loc": {
                                              "start": {
                                                "line": 196,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 196,
                                                "column": 21
                                              }
                                            },
                                            "name": "idMap"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 8520,
                                            "end": 8523,
                                            "loc": {
                                              "start": {
                                                "line": 196,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 196,
                                                "column": 25
                                              }
                                            },
                                            "name": "set"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "MemberExpression",
                                            "start": 8524,
                                            "end": 8547,
                                            "loc": {
                                              "start": {
                                                "line": 196,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 196,
                                                "column": 49
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 8524,
                                              "end": 8544,
                                              "loc": {
                                                "start": {
                                                  "line": 196,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 196,
                                                  "column": 46
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 8524,
                                                "end": 8534,
                                                "loc": {
                                                  "start": {
                                                    "line": 196,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 196,
                                                    "column": 36
                                                  }
                                                },
                                                "name": "memberNode"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 8535,
                                                "end": 8544,
                                                "loc": {
                                                  "start": {
                                                    "line": 196,
                                                    "column": 37
                                                  },
                                                  "end": {
                                                    "line": 196,
                                                    "column": 46
                                                  }
                                                },
                                                "name": "objectMem"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 8545,
                                              "end": 8547,
                                              "loc": {
                                                "start": {
                                                  "line": 196,
                                                  "column": 47
                                                },
                                                "end": {
                                                  "line": 196,
                                                  "column": 49
                                                }
                                              },
                                              "name": "id"
                                            },
                                            "computed": false
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 8549,
                                            "end": 8554,
                                            "loc": {
                                              "start": {
                                                "line": 196,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 196,
                                                "column": 56
                                              }
                                            },
                                            "name": "child"
                                          }
                                        ]
                                      }
                                    },
                                    "alternate": null
                                  }
                                ]
                              }
                            }
                          ],
                          "leadingComments": null
                        },
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": " add entries about existing members to idMap because they will be needed on next iterations",
                            "start": 8010,
                            "end": 8103,
                            "loc": {
                              "start": {
                                "line": 189,
                                "column": 8
                              },
                              "end": {
                                "line": 189,
                                "column": 101
                              }
                            },
                            "range": [
                              8010,
                              8103
                            ]
                          }
                        ]
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 8579,
                        "end": 8610,
                        "loc": {
                          "start": {
                            "line": 198,
                            "column": 8
                          },
                          "end": {
                            "line": 198,
                            "column": 39
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 8579,
                          "end": 8609,
                          "loc": {
                            "start": {
                              "line": 198,
                              "column": 8
                            },
                            "end": {
                              "line": 198,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8579,
                            "end": 8603,
                            "loc": {
                              "start": {
                                "line": 198,
                                "column": 8
                              },
                              "end": {
                                "line": 198,
                                "column": 32
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 8579,
                              "end": 8585,
                              "loc": {
                                "start": {
                                  "line": 198,
                                  "column": 8
                                },
                                "end": {
                                  "line": 198,
                                  "column": 14
                                }
                              },
                              "name": "object"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8586,
                              "end": 8603,
                              "loc": {
                                "start": {
                                  "line": 198,
                                  "column": 15
                                },
                                "end": {
                                  "line": 198,
                                  "column": 32
                                }
                              },
                              "name": "setFromObjectTree"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 8604,
                              "end": 8608,
                              "loc": {
                                "start": {
                                  "line": 198,
                                  "column": 33
                                },
                                "end": {
                                  "line": 198,
                                  "column": 37
                                }
                              },
                              "name": "node"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            }
          },
          {
            "type": "VariableDeclaration",
            "start": 8625,
            "end": 8640,
            "loc": {
              "start": {
                "line": 200,
                "column": 4
              },
              "end": {
                "line": 200,
                "column": 19
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 8629,
                "end": 8639,
                "loc": {
                  "start": {
                    "line": 200,
                    "column": 8
                  },
                  "end": {
                    "line": 200,
                    "column": 18
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 8629,
                  "end": 8639,
                  "loc": {
                    "start": {
                      "line": 200,
                      "column": 8
                    },
                    "end": {
                      "line": 200,
                      "column": 18
                    }
                  },
                  "name": "firstChild"
                },
                "init": null
              }
            ],
            "kind": "var"
          },
          {
            "type": "ExpressionStatement",
            "start": 8646,
            "end": 9258,
            "loc": {
              "start": {
                "line": 201,
                "column": 4
              },
              "end": {
                "line": 213,
                "column": 7
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 8646,
              "end": 9257,
              "loc": {
                "start": {
                  "line": 201,
                  "column": 4
                },
                "end": {
                  "line": 213,
                  "column": 6
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 8646,
                "end": 8672,
                "loc": {
                  "start": {
                    "line": 201,
                    "column": 4
                  },
                  "end": {
                    "line": 201,
                    "column": 30
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 8646,
                  "end": 8664,
                  "loc": {
                    "start": {
                      "line": 201,
                      "column": 4
                    },
                    "end": {
                      "line": 201,
                      "column": 22
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 8646,
                    "end": 8656,
                    "loc": {
                      "start": {
                        "line": 201,
                        "column": 4
                      },
                      "end": {
                        "line": 201,
                        "column": 14
                      }
                    },
                    "name": "objectTree"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 8657,
                    "end": 8664,
                    "loc": {
                      "start": {
                        "line": 201,
                        "column": 15
                      },
                      "end": {
                        "line": 201,
                        "column": 22
                      }
                    },
                    "name": "objects"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 8665,
                  "end": 8672,
                  "loc": {
                    "start": {
                      "line": 201,
                      "column": 23
                    },
                    "end": {
                      "line": 201,
                      "column": 30
                    }
                  },
                  "name": "forEach"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "ArrowFunctionExpression",
                  "start": 8673,
                  "end": 9256,
                  "loc": {
                    "start": {
                      "line": 201,
                      "column": 31
                    },
                    "end": {
                      "line": 213,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 8673,
                      "end": 8677,
                      "loc": {
                        "start": {
                          "line": 201,
                          "column": 31
                        },
                        "end": {
                          "line": 201,
                          "column": 35
                        }
                      },
                      "name": "node"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 8681,
                    "end": 9256,
                    "loc": {
                      "start": {
                        "line": 201,
                        "column": 39
                      },
                      "end": {
                        "line": 213,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "IfStatement",
                        "start": 8692,
                        "end": 8724,
                        "loc": {
                          "start": {
                            "line": 202,
                            "column": 8
                          },
                          "end": {
                            "line": 202,
                            "column": 40
                          }
                        },
                        "test": {
                          "type": "UnaryExpression",
                          "start": 8696,
                          "end": 8715,
                          "loc": {
                            "start": {
                              "line": 202,
                              "column": 12
                            },
                            "end": {
                              "line": 202,
                              "column": 31
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "CallExpression",
                            "start": 8697,
                            "end": 8715,
                            "loc": {
                              "start": {
                                "line": 202,
                                "column": 13
                              },
                              "end": {
                                "line": 202,
                                "column": 31
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8697,
                              "end": 8706,
                              "loc": {
                                "start": {
                                  "line": 202,
                                  "column": 13
                                },
                                "end": {
                                  "line": 202,
                                  "column": 22
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8697,
                                "end": 8702,
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 18
                                  }
                                },
                                "name": "idMap"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8703,
                                "end": 8706,
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 22
                                  }
                                },
                                "name": "has"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 8707,
                                "end": 8714,
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8707,
                                  "end": 8711,
                                  "loc": {
                                    "start": {
                                      "line": 202,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 202,
                                      "column": 27
                                    }
                                  },
                                  "name": "node"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8712,
                                  "end": 8714,
                                  "loc": {
                                    "start": {
                                      "line": 202,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 202,
                                      "column": 30
                                    }
                                  },
                                  "name": "id"
                                },
                                "computed": false
                              }
                            ]
                          }
                        },
                        "consequent": {
                          "type": "ReturnStatement",
                          "start": 8717,
                          "end": 8724,
                          "loc": {
                            "start": {
                              "line": 202,
                              "column": 33
                            },
                            "end": {
                              "line": 202,
                              "column": 40
                            }
                          },
                          "argument": null
                        },
                        "alternate": null
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 8734,
                        "end": 8766,
                        "loc": {
                          "start": {
                            "line": 203,
                            "column": 8
                          },
                          "end": {
                            "line": 203,
                            "column": 40
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 8738,
                            "end": 8765,
                            "loc": {
                              "start": {
                                "line": 203,
                                "column": 12
                              },
                              "end": {
                                "line": 203,
                                "column": 39
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 8738,
                              "end": 8744,
                              "loc": {
                                "start": {
                                  "line": 203,
                                  "column": 12
                                },
                                "end": {
                                  "line": 203,
                                  "column": 18
                                }
                              },
                              "name": "object"
                            },
                            "init": {
                              "type": "CallExpression",
                              "start": 8747,
                              "end": 8765,
                              "loc": {
                                "start": {
                                  "line": 203,
                                  "column": 21
                                },
                                "end": {
                                  "line": 203,
                                  "column": 39
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8747,
                                "end": 8756,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8747,
                                  "end": 8752,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 26
                                    }
                                  },
                                  "name": "idMap"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8753,
                                  "end": 8756,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 30
                                    }
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 8757,
                                  "end": 8764,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8757,
                                    "end": 8761,
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 35
                                      }
                                    },
                                    "name": "node"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8762,
                                    "end": 8764,
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 38
                                      }
                                    },
                                    "name": "id"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ],
                        "kind": "var"
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 8776,
                        "end": 9205,
                        "loc": {
                          "start": {
                            "line": 204,
                            "column": 8
                          },
                          "end": {
                            "line": 211,
                            "column": 11
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 8776,
                          "end": 9204,
                          "loc": {
                            "start": {
                              "line": 204,
                              "column": 8
                            },
                            "end": {
                              "line": 211,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8776,
                            "end": 8802,
                            "loc": {
                              "start": {
                                "line": 204,
                                "column": 8
                              },
                              "end": {
                                "line": 204,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "LogicalExpression",
                              "start": 8777,
                              "end": 8793,
                              "loc": {
                                "start": {
                                  "line": 204,
                                  "column": 9
                                },
                                "end": {
                                  "line": 204,
                                  "column": 25
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 8777,
                                "end": 8789,
                                "loc": {
                                  "start": {
                                    "line": 204,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 204,
                                    "column": 21
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8777,
                                  "end": 8781,
                                  "loc": {
                                    "start": {
                                      "line": 204,
                                      "column": 9
                                    },
                                    "end": {
                                      "line": 204,
                                      "column": 13
                                    }
                                  },
                                  "name": "node"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8782,
                                  "end": 8789,
                                  "loc": {
                                    "start": {
                                      "line": 204,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 204,
                                      "column": 21
                                    }
                                  },
                                  "name": "members"
                                },
                                "computed": false
                              },
                              "operator": "||",
                              "right": {
                                "type": "ArrayExpression",
                                "start": 8791,
                                "end": 8793,
                                "loc": {
                                  "start": {
                                    "line": 204,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 204,
                                    "column": 25
                                  }
                                },
                                "elements": []
                              },
                              "parenthesizedExpression": true
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8795,
                              "end": 8802,
                              "loc": {
                                "start": {
                                  "line": 204,
                                  "column": 27
                                },
                                "end": {
                                  "line": 204,
                                  "column": 34
                                }
                              },
                              "name": "forEach"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ArrowFunctionExpression",
                              "start": 8803,
                              "end": 9203,
                              "loc": {
                                "start": {
                                  "line": 204,
                                  "column": 35
                                },
                                "end": {
                                  "line": 211,
                                  "column": 9
                                }
                              },
                              "id": null,
                              "generator": false,
                              "expression": false,
                              "async": false,
                              "params": [
                                {
                                  "type": "Identifier",
                                  "start": 8803,
                                  "end": 8813,
                                  "loc": {
                                    "start": {
                                      "line": 204,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 204,
                                      "column": 45
                                    }
                                  },
                                  "name": "memberNode"
                                }
                              ],
                              "body": {
                                "type": "BlockStatement",
                                "start": 8817,
                                "end": 9203,
                                "loc": {
                                  "start": {
                                    "line": 204,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 211,
                                    "column": 9
                                  }
                                },
                                "body": [
                                  {
                                    "type": "VariableDeclaration",
                                    "start": 8832,
                                    "end": 8876,
                                    "loc": {
                                      "start": {
                                        "line": 205,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 205,
                                        "column": 56
                                      }
                                    },
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "start": 8836,
                                        "end": 8875,
                                        "loc": {
                                          "start": {
                                            "line": 205,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 205,
                                            "column": 55
                                          }
                                        },
                                        "id": {
                                          "type": "Identifier",
                                          "start": 8836,
                                          "end": 8842,
                                          "loc": {
                                            "start": {
                                              "line": 205,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 205,
                                              "column": 22
                                            }
                                          },
                                          "name": "member"
                                        },
                                        "init": {
                                          "type": "CallExpression",
                                          "start": 8845,
                                          "end": 8875,
                                          "loc": {
                                            "start": {
                                              "line": 205,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 205,
                                              "column": 55
                                            }
                                          },
                                          "callee": {
                                            "type": "Identifier",
                                            "start": 8845,
                                            "end": 8856,
                                            "loc": {
                                              "start": {
                                                "line": 205,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 205,
                                                "column": 36
                                              }
                                            },
                                            "name": "parseMember"
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 8857,
                                              "end": 8867,
                                              "loc": {
                                                "start": {
                                                  "line": 205,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 205,
                                                  "column": 47
                                                }
                                              },
                                              "name": "memberNode"
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 8869,
                                              "end": 8874,
                                              "loc": {
                                                "start": {
                                                  "line": 205,
                                                  "column": 49
                                                },
                                                "end": {
                                                  "line": 205,
                                                  "column": 54
                                                }
                                              },
                                              "name": "idMap"
                                            }
                                          ]
                                        }
                                      }
                                    ],
                                    "kind": "var",
                                    "trailingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": " don't add toplevelChildren to AllObjects as members unless we are parsing all tree",
                                        "start": 8890,
                                        "end": 8975,
                                        "loc": {
                                          "start": {
                                            "line": 206,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 206,
                                            "column": 97
                                          }
                                        },
                                        "range": [
                                          8890,
                                          8975
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "type": "IfStatement",
                                    "start": 8989,
                                    "end": 9090,
                                    "loc": {
                                      "start": {
                                        "line": 207,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 208,
                                        "column": 47
                                      }
                                    },
                                    "test": {
                                      "type": "LogicalExpression",
                                      "start": 8993,
                                      "end": 9040,
                                      "loc": {
                                        "start": {
                                          "line": 207,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 207,
                                          "column": 63
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 8993,
                                        "end": 8999,
                                        "loc": {
                                          "start": {
                                            "line": 207,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 207,
                                            "column": 22
                                          }
                                        },
                                        "name": "member",
                                        "leadingComments": null
                                      },
                                      "operator": "&&",
                                      "right": {
                                        "type": "LogicalExpression",
                                        "start": 9004,
                                        "end": 9039,
                                        "loc": {
                                          "start": {
                                            "line": 207,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 207,
                                            "column": 62
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 9004,
                                          "end": 9018,
                                          "loc": {
                                            "start": {
                                              "line": 207,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 207,
                                              "column": 41
                                            }
                                          },
                                          "name": "allObjectsMode"
                                        },
                                        "operator": "||",
                                        "right": {
                                          "type": "BinaryExpression",
                                          "start": 9022,
                                          "end": 9039,
                                          "loc": {
                                            "start": {
                                              "line": 207,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 207,
                                              "column": 62
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 9022,
                                            "end": 9026,
                                            "loc": {
                                              "start": {
                                                "line": 207,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 207,
                                                "column": 49
                                              }
                                            },
                                            "name": "node"
                                          },
                                          "operator": "!==",
                                          "right": {
                                            "type": "Identifier",
                                            "start": 9031,
                                            "end": 9039,
                                            "loc": {
                                              "start": {
                                                "line": 207,
                                                "column": 54
                                              },
                                              "end": {
                                                "line": 207,
                                                "column": 62
                                              }
                                            },
                                            "name": "rootNode"
                                          }
                                        },
                                        "parenthesizedExpression": true
                                      },
                                      "leadingComments": null
                                    },
                                    "consequent": {
                                      "type": "ExpressionStatement",
                                      "start": 9059,
                                      "end": 9090,
                                      "loc": {
                                        "start": {
                                          "line": 208,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 208,
                                          "column": 47
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 9059,
                                        "end": 9089,
                                        "loc": {
                                          "start": {
                                            "line": 208,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 208,
                                            "column": 46
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 9059,
                                          "end": 9075,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 32
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 9059,
                                            "end": 9065,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 22
                                              }
                                            },
                                            "name": "object"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 9066,
                                            "end": 9075,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 32
                                              }
                                            },
                                            "name": "addMember"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 9076,
                                            "end": 9082,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 39
                                              }
                                            },
                                            "name": "member"
                                          },
                                          {
                                            "type": "Literal",
                                            "start": 9084,
                                            "end": 9088,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 45
                                              }
                                            },
                                            "value": true,
                                            "rawValue": true,
                                            "raw": "true"
                                          }
                                        ]
                                      }
                                    },
                                    "alternate": null,
                                    "leadingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": " don't add toplevelChildren to AllObjects as members unless we are parsing all tree",
                                        "start": 8890,
                                        "end": 8975,
                                        "loc": {
                                          "start": {
                                            "line": 206,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 206,
                                            "column": 97
                                          }
                                        },
                                        "range": [
                                          8890,
                                          8975
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "type": "IfStatement",
                                    "start": 9104,
                                    "end": 9192,
                                    "loc": {
                                      "start": {
                                        "line": 209,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 210,
                                        "column": 36
                                      }
                                    },
                                    "test": {
                                      "type": "LogicalExpression",
                                      "start": 9108,
                                      "end": 9153,
                                      "loc": {
                                        "start": {
                                          "line": 209,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 209,
                                          "column": 61
                                        }
                                      },
                                      "left": {
                                        "type": "LogicalExpression",
                                        "start": 9108,
                                        "end": 9129,
                                        "loc": {
                                          "start": {
                                            "line": 209,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 209,
                                            "column": 37
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 9108,
                                          "end": 9114,
                                          "loc": {
                                            "start": {
                                              "line": 209,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 209,
                                              "column": 22
                                            }
                                          },
                                          "name": "member"
                                        },
                                        "operator": "&&",
                                        "right": {
                                          "type": "UnaryExpression",
                                          "start": 9118,
                                          "end": 9129,
                                          "loc": {
                                            "start": {
                                              "line": 209,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 209,
                                              "column": 37
                                            }
                                          },
                                          "operator": "!",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Identifier",
                                            "start": 9119,
                                            "end": 9129,
                                            "loc": {
                                              "start": {
                                                "line": 209,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 209,
                                                "column": 37
                                              }
                                            },
                                            "name": "firstChild"
                                          }
                                        }
                                      },
                                      "operator": "&&",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 9133,
                                        "end": 9153,
                                        "loc": {
                                          "start": {
                                            "line": 209,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 209,
                                            "column": 61
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 9133,
                                          "end": 9143,
                                          "loc": {
                                            "start": {
                                              "line": 209,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 209,
                                              "column": 51
                                            }
                                          },
                                          "name": "memberNode"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9144,
                                          "end": 9153,
                                          "loc": {
                                            "start": {
                                              "line": 209,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 209,
                                              "column": 61
                                            }
                                          },
                                          "name": "objectMem"
                                        },
                                        "computed": false
                                      }
                                    },
                                    "consequent": {
                                      "type": "ExpressionStatement",
                                      "start": 9172,
                                      "end": 9192,
                                      "loc": {
                                        "start": {
                                          "line": 210,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 210,
                                          "column": 36
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 9172,
                                        "end": 9191,
                                        "loc": {
                                          "start": {
                                            "line": 210,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 210,
                                            "column": 35
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "start": 9172,
                                          "end": 9182,
                                          "loc": {
                                            "start": {
                                              "line": 210,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 210,
                                              "column": 26
                                            }
                                          },
                                          "name": "firstChild"
                                        },
                                        "right": {
                                          "type": "Identifier",
                                          "start": 9185,
                                          "end": 9191,
                                          "loc": {
                                            "start": {
                                              "line": 210,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 210,
                                              "column": 35
                                            }
                                          },
                                          "name": "member"
                                        }
                                      }
                                    },
                                    "alternate": null
                                  }
                                ]
                              }
                            }
                          ]
                        }
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 9215,
                        "end": 9249,
                        "loc": {
                          "start": {
                            "line": 212,
                            "column": 8
                          },
                          "end": {
                            "line": 212,
                            "column": 42
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 9215,
                          "end": 9248,
                          "loc": {
                            "start": {
                              "line": 212,
                              "column": 8
                            },
                            "end": {
                              "line": 212,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 9215,
                            "end": 9246,
                            "loc": {
                              "start": {
                                "line": 212,
                                "column": 8
                              },
                              "end": {
                                "line": 212,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9215,
                              "end": 9221,
                              "loc": {
                                "start": {
                                  "line": 212,
                                  "column": 8
                                },
                                "end": {
                                  "line": 212,
                                  "column": 14
                                }
                              },
                              "name": "object"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9222,
                              "end": 9246,
                              "loc": {
                                "start": {
                                  "line": 212,
                                  "column": 15
                                },
                                "end": {
                                  "line": 212,
                                  "column": 39
                                }
                              },
                              "name": "removeSuperfluousMembers"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    ]
                  }
                }
              ]
            }
          },
          {
            "type": "IfStatement",
            "start": 9264,
            "end": 9343,
            "loc": {
              "start": {
                "line": 214,
                "column": 4
              },
              "end": {
                "line": 215,
                "column": 57
              }
            },
            "test": {
              "type": "Identifier",
              "start": 9268,
              "end": 9283,
              "loc": {
                "start": {
                  "line": 214,
                  "column": 8
                },
                "end": {
                  "line": 214,
                  "column": 23
                }
              },
              "name": "addFirstChildTo"
            },
            "consequent": {
              "type": "ExpressionStatement",
              "start": 9294,
              "end": 9343,
              "loc": {
                "start": {
                  "line": 215,
                  "column": 8
                },
                "end": {
                  "line": 215,
                  "column": 57
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 9294,
                "end": 9342,
                "loc": {
                  "start": {
                    "line": 215,
                    "column": 8
                  },
                  "end": {
                    "line": 215,
                    "column": 56
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 9294,
                  "end": 9319,
                  "loc": {
                    "start": {
                      "line": 215,
                      "column": 8
                    },
                    "end": {
                      "line": 215,
                      "column": 33
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 9294,
                    "end": 9309,
                    "loc": {
                      "start": {
                        "line": 215,
                        "column": 8
                      },
                      "end": {
                        "line": 215,
                        "column": 23
                      }
                    },
                    "name": "addFirstChildTo"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 9310,
                    "end": 9319,
                    "loc": {
                      "start": {
                        "line": 215,
                        "column": 24
                      },
                      "end": {
                        "line": 215,
                        "column": 33
                      }
                    },
                    "name": "addMember"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 9320,
                    "end": 9330,
                    "loc": {
                      "start": {
                        "line": 215,
                        "column": 34
                      },
                      "end": {
                        "line": 215,
                        "column": 44
                      }
                    },
                    "name": "firstChild"
                  },
                  {
                    "type": "Identifier",
                    "start": 9332,
                    "end": 9341,
                    "loc": {
                      "start": {
                        "line": 215,
                        "column": 46
                      },
                      "end": {
                        "line": 215,
                        "column": 55
                      }
                    },
                    "name": "undefined"
                  }
                ]
              }
            },
            "alternate": null
          },
          {
            "type": "ExpressionStatement",
            "start": 9349,
            "end": 9514,
            "loc": {
              "start": {
                "line": 216,
                "column": 4
              },
              "end": {
                "line": 220,
                "column": 7
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 9349,
              "end": 9513,
              "loc": {
                "start": {
                  "line": 216,
                  "column": 4
                },
                "end": {
                  "line": 220,
                  "column": 6
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 9349,
                "end": 9375,
                "loc": {
                  "start": {
                    "line": 216,
                    "column": 4
                  },
                  "end": {
                    "line": 216,
                    "column": 30
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 9349,
                  "end": 9367,
                  "loc": {
                    "start": {
                      "line": 216,
                      "column": 4
                    },
                    "end": {
                      "line": 216,
                      "column": 22
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 9349,
                    "end": 9359,
                    "loc": {
                      "start": {
                        "line": 216,
                        "column": 4
                      },
                      "end": {
                        "line": 216,
                        "column": 14
                      }
                    },
                    "name": "objectTree"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 9360,
                    "end": 9367,
                    "loc": {
                      "start": {
                        "line": 216,
                        "column": 15
                      },
                      "end": {
                        "line": 216,
                        "column": 22
                      }
                    },
                    "name": "objects"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 9368,
                  "end": 9375,
                  "loc": {
                    "start": {
                      "line": 216,
                      "column": 23
                    },
                    "end": {
                      "line": 216,
                      "column": 30
                    }
                  },
                  "name": "forEach"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "ArrowFunctionExpression",
                  "start": 9376,
                  "end": 9512,
                  "loc": {
                    "start": {
                      "line": 216,
                      "column": 31
                    },
                    "end": {
                      "line": 220,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 9376,
                      "end": 9380,
                      "loc": {
                        "start": {
                          "line": 216,
                          "column": 31
                        },
                        "end": {
                          "line": 216,
                          "column": 35
                        }
                      },
                      "name": "node"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 9384,
                    "end": 9512,
                    "loc": {
                      "start": {
                        "line": 216,
                        "column": 39
                      },
                      "end": {
                        "line": 220,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "IfStatement",
                        "start": 9395,
                        "end": 9427,
                        "loc": {
                          "start": {
                            "line": 217,
                            "column": 8
                          },
                          "end": {
                            "line": 217,
                            "column": 40
                          }
                        },
                        "test": {
                          "type": "UnaryExpression",
                          "start": 9399,
                          "end": 9418,
                          "loc": {
                            "start": {
                              "line": 217,
                              "column": 12
                            },
                            "end": {
                              "line": 217,
                              "column": 31
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "CallExpression",
                            "start": 9400,
                            "end": 9418,
                            "loc": {
                              "start": {
                                "line": 217,
                                "column": 13
                              },
                              "end": {
                                "line": 217,
                                "column": 31
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9400,
                              "end": 9409,
                              "loc": {
                                "start": {
                                  "line": 217,
                                  "column": 13
                                },
                                "end": {
                                  "line": 217,
                                  "column": 22
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9400,
                                "end": 9405,
                                "loc": {
                                  "start": {
                                    "line": 217,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 217,
                                    "column": 18
                                  }
                                },
                                "name": "idMap"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9406,
                                "end": 9409,
                                "loc": {
                                  "start": {
                                    "line": 217,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 217,
                                    "column": 22
                                  }
                                },
                                "name": "has"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 9410,
                                "end": 9417,
                                "loc": {
                                  "start": {
                                    "line": 217,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 217,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 9410,
                                  "end": 9414,
                                  "loc": {
                                    "start": {
                                      "line": 217,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 217,
                                      "column": 27
                                    }
                                  },
                                  "name": "node"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9415,
                                  "end": 9417,
                                  "loc": {
                                    "start": {
                                      "line": 217,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 217,
                                      "column": 30
                                    }
                                  },
                                  "name": "id"
                                },
                                "computed": false
                              }
                            ]
                          }
                        },
                        "consequent": {
                          "type": "ReturnStatement",
                          "start": 9420,
                          "end": 9427,
                          "loc": {
                            "start": {
                              "line": 217,
                              "column": 33
                            },
                            "end": {
                              "line": 217,
                              "column": 40
                            }
                          },
                          "argument": null
                        },
                        "alternate": null
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 9437,
                        "end": 9469,
                        "loc": {
                          "start": {
                            "line": 218,
                            "column": 8
                          },
                          "end": {
                            "line": 218,
                            "column": 40
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 9441,
                            "end": 9468,
                            "loc": {
                              "start": {
                                "line": 218,
                                "column": 12
                              },
                              "end": {
                                "line": 218,
                                "column": 39
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 9441,
                              "end": 9447,
                              "loc": {
                                "start": {
                                  "line": 218,
                                  "column": 12
                                },
                                "end": {
                                  "line": 218,
                                  "column": 18
                                }
                              },
                              "name": "object"
                            },
                            "init": {
                              "type": "CallExpression",
                              "start": 9450,
                              "end": 9468,
                              "loc": {
                                "start": {
                                  "line": 218,
                                  "column": 21
                                },
                                "end": {
                                  "line": 218,
                                  "column": 39
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 9450,
                                "end": 9459,
                                "loc": {
                                  "start": {
                                    "line": 218,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 218,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 9450,
                                  "end": 9455,
                                  "loc": {
                                    "start": {
                                      "line": 218,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 218,
                                      "column": 26
                                    }
                                  },
                                  "name": "idMap"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9456,
                                  "end": 9459,
                                  "loc": {
                                    "start": {
                                      "line": 218,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 218,
                                      "column": 30
                                    }
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 9460,
                                  "end": 9467,
                                  "loc": {
                                    "start": {
                                      "line": 218,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 218,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 9460,
                                    "end": 9464,
                                    "loc": {
                                      "start": {
                                        "line": 218,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 218,
                                        "column": 35
                                      }
                                    },
                                    "name": "node"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9465,
                                    "end": 9467,
                                    "loc": {
                                      "start": {
                                        "line": 218,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 218,
                                        "column": 38
                                      }
                                    },
                                    "name": "id"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ],
                        "kind": "var"
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 9479,
                        "end": 9505,
                        "loc": {
                          "start": {
                            "line": 219,
                            "column": 8
                          },
                          "end": {
                            "line": 219,
                            "column": 34
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 9479,
                          "end": 9504,
                          "loc": {
                            "start": {
                              "line": 219,
                              "column": 8
                            },
                            "end": {
                              "line": 219,
                              "column": 33
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 9479,
                            "end": 9502,
                            "loc": {
                              "start": {
                                "line": 219,
                                "column": 8
                              },
                              "end": {
                                "line": 219,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9479,
                              "end": 9485,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 8
                                },
                                "end": {
                                  "line": 219,
                                  "column": 14
                                }
                              },
                              "name": "object"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9486,
                              "end": 9502,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 15
                                },
                                "end": {
                                  "line": 219,
                                  "column": 31
                                }
                              },
                              "name": "finishedUpdating"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    ]
                  }
                }
              ]
            }
          },
          {
            "type": "ReturnStatement",
            "start": 9520,
            "end": 9580,
            "loc": {
              "start": {
                "line": 221,
                "column": 4
              },
              "end": {
                "line": 221,
                "column": 64
              }
            },
            "argument": {
              "type": "ConditionalExpression",
              "start": 9527,
              "end": 9579,
              "loc": {
                "start": {
                  "line": 221,
                  "column": 11
                },
                "end": {
                  "line": 221,
                  "column": 63
                }
              },
              "test": {
                "type": "Identifier",
                "start": 9527,
                "end": 9541,
                "loc": {
                  "start": {
                    "line": 221,
                    "column": 11
                  },
                  "end": {
                    "line": 221,
                    "column": 25
                  }
                },
                "name": "allObjectsMode"
              },
              "consequent": {
                "type": "CallExpression",
                "start": 9544,
                "end": 9566,
                "loc": {
                  "start": {
                    "line": 221,
                    "column": 28
                  },
                  "end": {
                    "line": 221,
                    "column": 50
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 9544,
                  "end": 9553,
                  "loc": {
                    "start": {
                      "line": 221,
                      "column": 28
                    },
                    "end": {
                      "line": 221,
                      "column": 37
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 9544,
                    "end": 9549,
                    "loc": {
                      "start": {
                        "line": 221,
                        "column": 28
                      },
                      "end": {
                        "line": 221,
                        "column": 33
                      }
                    },
                    "name": "idMap"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 9550,
                    "end": 9553,
                    "loc": {
                      "start": {
                        "line": 221,
                        "column": 34
                      },
                      "end": {
                        "line": 221,
                        "column": 37
                      }
                    },
                    "name": "get"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "MemberExpression",
                    "start": 9554,
                    "end": 9565,
                    "loc": {
                      "start": {
                        "line": 221,
                        "column": 38
                      },
                      "end": {
                        "line": 221,
                        "column": 49
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 9554,
                      "end": 9562,
                      "loc": {
                        "start": {
                          "line": 221,
                          "column": 38
                        },
                        "end": {
                          "line": 221,
                          "column": 46
                        }
                      },
                      "name": "rootNode"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 9563,
                      "end": 9565,
                      "loc": {
                        "start": {
                          "line": 221,
                          "column": 47
                        },
                        "end": {
                          "line": 221,
                          "column": 49
                        }
                      },
                      "name": "id"
                    },
                    "computed": false
                  }
                ]
              },
              "alternate": {
                "type": "Identifier",
                "start": 9569,
                "end": 9579,
                "loc": {
                  "start": {
                    "line": 221,
                    "column": 53
                  },
                  "end": {
                    "line": 221,
                    "column": 63
                  }
                },
                "name": "firstChild"
              }
            }
          }
        ]
      },
      "leadingComments": [],
      "name": "_",
      "trailingComments": []
    },
    {
      "type": "VariableDeclaration",
      "start": 9587,
      "end": 9619,
      "loc": {
        "start": {
          "line": 224,
          "column": 0
        },
        "end": {
          "line": 224,
          "column": 32
        }
      },
      "declarations": [
        {
          "type": "VariableDeclarator",
          "start": 9591,
          "end": 9618,
          "loc": {
            "start": {
              "line": 224,
              "column": 4
            },
            "end": {
              "line": 224,
              "column": 31
            }
          },
          "id": {
            "type": "Identifier",
            "start": 9591,
            "end": 9606,
            "loc": {
              "start": {
                "line": 224,
                "column": 4
              },
              "end": {
                "line": 224,
                "column": 19
              }
            },
            "name": "pendingPromises"
          },
          "init": {
            "type": "NewExpression",
            "start": 9609,
            "end": 9618,
            "loc": {
              "start": {
                "line": 224,
                "column": 22
              },
              "end": {
                "line": 224,
                "column": 31
              }
            },
            "callee": {
              "type": "Identifier",
              "start": 9613,
              "end": 9616,
              "loc": {
                "start": {
                  "line": 224,
                  "column": 26
                },
                "end": {
                  "line": 224,
                  "column": 29
                }
              },
              "name": "Set"
            },
            "arguments": []
          }
        }
      ],
      "kind": "var",
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": " Mark the promise for tracking:",
          "start": 9623,
          "end": 9656,
          "loc": {
            "start": {
              "line": 226,
              "column": 0
            },
            "end": {
              "line": 226,
              "column": 33
            }
          },
          "range": [
            9623,
            9656
          ]
        },
        {
          "type": "CommentLine",
          "value": "   log if promise rejects",
          "start": 9658,
          "end": 9685,
          "loc": {
            "start": {
              "line": 227,
              "column": 0
            },
            "end": {
              "line": 227,
              "column": 27
            }
          },
          "range": [
            9658,
            9685
          ]
        },
        {
          "type": "CommentLine",
          "value": "   provide api to wait for completion of all tracked promises",
          "start": 9687,
          "end": 9750,
          "loc": {
            "start": {
              "line": 228,
              "column": 0
            },
            "end": {
              "line": 228,
              "column": 63
            }
          },
          "range": [
            9687,
            9750
          ]
        },
        {
          "type": "CommentLine",
          "value": " Use this function on promises you would otherwise",
          "start": 9752,
          "end": 9804,
          "loc": {
            "start": {
              "line": 229,
              "column": 0
            },
            "end": {
              "line": 229,
              "column": 52
            }
          },
          "range": [
            9752,
            9804
          ]
        },
        {
          "type": "CommentLine",
          "value": " leak, i. e. not return and not call .then.",
          "start": 9806,
          "end": 9851,
          "loc": {
            "start": {
              "line": 230,
              "column": 0
            },
            "end": {
              "line": 230,
              "column": 45
            }
          },
          "range": [
            9806,
            9851
          ]
        },
        {
          "type": "CommentLine",
          "value": " You should likely ignore the return value.",
          "start": 9853,
          "end": 9898,
          "loc": {
            "start": {
              "line": 231,
              "column": 0
            },
            "end": {
              "line": 231,
              "column": 45
            }
          },
          "range": [
            9853,
            9898
          ]
        }
      ]
    },
    {
      "type": "Identifier",
      "start": 9900,
      "end": 10274,
      "loc": {
        "start": {
          "line": 232,
          "column": 0
        },
        "end": {
          "line": 243,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 9909,
        "end": 9921,
        "loc": {
          "start": {
            "line": 232,
            "column": 9
          },
          "end": {
            "line": 232,
            "column": 21
          }
        },
        "name": "trackPromise",
        "leadingComments": null
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 9922,
          "end": 9929,
          "loc": {
            "start": {
              "line": 232,
              "column": 22
            },
            "end": {
              "line": 232,
              "column": 29
            }
          },
          "name": "promise"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 9931,
        "end": 10274,
        "loc": {
          "start": {
            "line": 232,
            "column": 31
          },
          "end": {
            "line": 243,
            "column": 1
          }
        },
        "body": [
          {
            "type": "ExpressionStatement",
            "start": 9938,
            "end": 9967,
            "loc": {
              "start": {
                "line": 233,
                "column": 4
              },
              "end": {
                "line": 233,
                "column": 33
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 9938,
              "end": 9966,
              "loc": {
                "start": {
                  "line": 233,
                  "column": 4
                },
                "end": {
                  "line": 233,
                  "column": 32
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 9938,
                "end": 9957,
                "loc": {
                  "start": {
                    "line": 233,
                    "column": 4
                  },
                  "end": {
                    "line": 233,
                    "column": 23
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 9938,
                  "end": 9953,
                  "loc": {
                    "start": {
                      "line": 233,
                      "column": 4
                    },
                    "end": {
                      "line": 233,
                      "column": 19
                    }
                  },
                  "name": "pendingPromises"
                },
                "property": {
                  "type": "Identifier",
                  "start": 9954,
                  "end": 9957,
                  "loc": {
                    "start": {
                      "line": 233,
                      "column": 20
                    },
                    "end": {
                      "line": 233,
                      "column": 23
                    }
                  },
                  "name": "add"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 9958,
                  "end": 9965,
                  "loc": {
                    "start": {
                      "line": 233,
                      "column": 24
                    },
                    "end": {
                      "line": 233,
                      "column": 31
                    }
                  },
                  "name": "promise"
                }
              ]
            }
          },
          {
            "type": "ReturnStatement",
            "start": 9973,
            "end": 10271,
            "loc": {
              "start": {
                "line": 234,
                "column": 4
              },
              "end": {
                "line": 242,
                "column": 7
              }
            },
            "argument": {
              "type": "CallExpression",
              "start": 9980,
              "end": 10270,
              "loc": {
                "start": {
                  "line": 234,
                  "column": 11
                },
                "end": {
                  "line": 242,
                  "column": 6
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 9980,
                "end": 9992,
                "loc": {
                  "start": {
                    "line": 234,
                    "column": 11
                  },
                  "end": {
                    "line": 234,
                    "column": 23
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 9980,
                  "end": 9987,
                  "loc": {
                    "start": {
                      "line": 234,
                      "column": 11
                    },
                    "end": {
                      "line": 234,
                      "column": 18
                    }
                  },
                  "name": "promise"
                },
                "property": {
                  "type": "Identifier",
                  "start": 9988,
                  "end": 9992,
                  "loc": {
                    "start": {
                      "line": 234,
                      "column": 19
                    },
                    "end": {
                      "line": 234,
                      "column": 23
                    }
                  },
                  "name": "then"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "FunctionExpression",
                  "start": 9993,
                  "end": 10091,
                  "loc": {
                    "start": {
                      "line": 234,
                      "column": 24
                    },
                    "end": {
                      "line": 237,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 10002,
                      "end": 10003,
                      "loc": {
                        "start": {
                          "line": 234,
                          "column": 33
                        },
                        "end": {
                          "line": 234,
                          "column": 34
                        }
                      },
                      "name": "x"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 10005,
                    "end": 10091,
                    "loc": {
                      "start": {
                        "line": 234,
                        "column": 36
                      },
                      "end": {
                        "line": 237,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "ExpressionStatement",
                        "start": 10016,
                        "end": 10048,
                        "loc": {
                          "start": {
                            "line": 235,
                            "column": 8
                          },
                          "end": {
                            "line": 235,
                            "column": 40
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 10016,
                          "end": 10047,
                          "loc": {
                            "start": {
                              "line": 235,
                              "column": 8
                            },
                            "end": {
                              "line": 235,
                              "column": 39
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 10016,
                            "end": 10038,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 8
                              },
                              "end": {
                                "line": 235,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 10016,
                              "end": 10031,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 8
                                },
                                "end": {
                                  "line": 235,
                                  "column": 23
                                }
                              },
                              "name": "pendingPromises"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10032,
                              "end": 10038,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 24
                                },
                                "end": {
                                  "line": 235,
                                  "column": 30
                                }
                              },
                              "name": "delete"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 10039,
                              "end": 10046,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 31
                                },
                                "end": {
                                  "line": 235,
                                  "column": 38
                                }
                              },
                              "name": "promise"
                            }
                          ]
                        }
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 10058,
                        "end": 10084,
                        "loc": {
                          "start": {
                            "line": 236,
                            "column": 8
                          },
                          "end": {
                            "line": 236,
                            "column": 34
                          }
                        },
                        "argument": {
                          "type": "CallExpression",
                          "start": 10065,
                          "end": 10083,
                          "loc": {
                            "start": {
                              "line": 236,
                              "column": 15
                            },
                            "end": {
                              "line": 236,
                              "column": 33
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 10065,
                            "end": 10080,
                            "loc": {
                              "start": {
                                "line": 236,
                                "column": 15
                              },
                              "end": {
                                "line": 236,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 10065,
                              "end": 10072,
                              "loc": {
                                "start": {
                                  "line": 236,
                                  "column": 15
                                },
                                "end": {
                                  "line": 236,
                                  "column": 22
                                }
                              },
                              "name": "Promise"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10073,
                              "end": 10080,
                              "loc": {
                                "start": {
                                  "line": 236,
                                  "column": 23
                                },
                                "end": {
                                  "line": 236,
                                  "column": 30
                                }
                              },
                              "name": "resolve"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 10081,
                              "end": 10082,
                              "loc": {
                                "start": {
                                  "line": 236,
                                  "column": 31
                                },
                                "end": {
                                  "line": 236,
                                  "column": 32
                                }
                              },
                              "name": "x"
                            }
                          ]
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "FunctionExpression",
                  "start": 10093,
                  "end": 10269,
                  "loc": {
                    "start": {
                      "line": 237,
                      "column": 7
                    },
                    "end": {
                      "line": 242,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 10102,
                      "end": 10103,
                      "loc": {
                        "start": {
                          "line": 237,
                          "column": 16
                        },
                        "end": {
                          "line": 237,
                          "column": 17
                        }
                      },
                      "name": "x"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 10105,
                    "end": 10269,
                    "loc": {
                      "start": {
                        "line": 237,
                        "column": 19
                      },
                      "end": {
                        "line": 242,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "IfStatement",
                        "start": 10116,
                        "end": 10185,
                        "loc": {
                          "start": {
                            "line": 238,
                            "column": 8
                          },
                          "end": {
                            "line": 239,
                            "column": 49
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 10120,
                          "end": 10133,
                          "loc": {
                            "start": {
                              "line": 238,
                              "column": 12
                            },
                            "end": {
                              "line": 238,
                              "column": 25
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 10120,
                            "end": 10128,
                            "loc": {
                              "start": {
                                "line": 238,
                                "column": 12
                              },
                              "end": {
                                "line": 238,
                                "column": 20
                              }
                            },
                            "name": "logLevel"
                          },
                          "operator": ">=",
                          "right": {
                            "type": "Literal",
                            "start": 10132,
                            "end": 10133,
                            "loc": {
                              "start": {
                                "line": 238,
                                "column": 24
                              },
                              "end": {
                                "line": 238,
                                "column": 25
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          }
                        },
                        "consequent": {
                          "type": "ExpressionStatement",
                          "start": 10148,
                          "end": 10185,
                          "loc": {
                            "start": {
                              "line": 239,
                              "column": 12
                            },
                            "end": {
                              "line": 239,
                              "column": 49
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 10148,
                            "end": 10184,
                            "loc": {
                              "start": {
                                "line": 239,
                                "column": 12
                              },
                              "end": {
                                "line": 239,
                                "column": 48
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10148,
                              "end": 10161,
                              "loc": {
                                "start": {
                                  "line": 239,
                                  "column": 12
                                },
                                "end": {
                                  "line": 239,
                                  "column": 25
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 10148,
                                "end": 10155,
                                "loc": {
                                  "start": {
                                    "line": 239,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 239,
                                    "column": 19
                                  }
                                },
                                "name": "console"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10156,
                                "end": 10161,
                                "loc": {
                                  "start": {
                                    "line": 239,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 239,
                                    "column": 25
                                  }
                                },
                                "name": "error"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 10162,
                                "end": 10180,
                                "loc": {
                                  "start": {
                                    "line": 239,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 239,
                                    "column": 44
                                  }
                                },
                                "value": "rejected promise",
                                "rawValue": "rejected promise",
                                "raw": "\"rejected promise\""
                              },
                              {
                                "type": "Identifier",
                                "start": 10182,
                                "end": 10183,
                                "loc": {
                                  "start": {
                                    "line": 239,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 239,
                                    "column": 47
                                  }
                                },
                                "name": "x"
                              }
                            ]
                          }
                        },
                        "alternate": null
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 10195,
                        "end": 10227,
                        "loc": {
                          "start": {
                            "line": 240,
                            "column": 8
                          },
                          "end": {
                            "line": 240,
                            "column": 40
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 10195,
                          "end": 10226,
                          "loc": {
                            "start": {
                              "line": 240,
                              "column": 8
                            },
                            "end": {
                              "line": 240,
                              "column": 39
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 10195,
                            "end": 10217,
                            "loc": {
                              "start": {
                                "line": 240,
                                "column": 8
                              },
                              "end": {
                                "line": 240,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 10195,
                              "end": 10210,
                              "loc": {
                                "start": {
                                  "line": 240,
                                  "column": 8
                                },
                                "end": {
                                  "line": 240,
                                  "column": 23
                                }
                              },
                              "name": "pendingPromises"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10211,
                              "end": 10217,
                              "loc": {
                                "start": {
                                  "line": 240,
                                  "column": 24
                                },
                                "end": {
                                  "line": 240,
                                  "column": 30
                                }
                              },
                              "name": "delete"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 10218,
                              "end": 10225,
                              "loc": {
                                "start": {
                                  "line": 240,
                                  "column": 31
                                },
                                "end": {
                                  "line": 240,
                                  "column": 38
                                }
                              },
                              "name": "promise"
                            }
                          ]
                        }
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 10237,
                        "end": 10262,
                        "loc": {
                          "start": {
                            "line": 241,
                            "column": 8
                          },
                          "end": {
                            "line": 241,
                            "column": 33
                          }
                        },
                        "argument": {
                          "type": "CallExpression",
                          "start": 10244,
                          "end": 10261,
                          "loc": {
                            "start": {
                              "line": 241,
                              "column": 15
                            },
                            "end": {
                              "line": 241,
                              "column": 32
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 10244,
                            "end": 10258,
                            "loc": {
                              "start": {
                                "line": 241,
                                "column": 15
                              },
                              "end": {
                                "line": 241,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 10244,
                              "end": 10251,
                              "loc": {
                                "start": {
                                  "line": 241,
                                  "column": 15
                                },
                                "end": {
                                  "line": 241,
                                  "column": 22
                                }
                              },
                              "name": "Promise"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10252,
                              "end": 10258,
                              "loc": {
                                "start": {
                                  "line": 241,
                                  "column": 23
                                },
                                "end": {
                                  "line": 241,
                                  "column": 29
                                }
                              },
                              "name": "reject"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 10259,
                              "end": 10260,
                              "loc": {
                                "start": {
                                  "line": 241,
                                  "column": 30
                                },
                                "end": {
                                  "line": 241,
                                  "column": 31
                                }
                              },
                              "name": "x"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      },
      "leadingComments": [],
      "name": "_",
      "trailingComments": []
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 10278,
      "end": 10450,
      "loc": {
        "start": {
          "line": 245,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 2
        }
      },
      "declaration": null,
      "specifiers": [
        {
          "type": "ExportSpecifier",
          "start": 10292,
          "end": 10299,
          "loc": {
            "start": {
              "line": 246,
              "column": 4
            },
            "end": {
              "line": 246,
              "column": 11
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10292,
            "end": 10299,
            "loc": {
              "start": {
                "line": 246,
                "column": 4
              },
              "end": {
                "line": 246,
                "column": 11
              }
            },
            "name": "execute"
          },
          "exported": {
            "type": "Identifier",
            "start": 10292,
            "end": 10299,
            "loc": {
              "start": {
                "line": 246,
                "column": 4
              },
              "end": {
                "line": 246,
                "column": 11
              }
            },
            "name": "execute"
          }
        },
        {
          "type": "ExportSpecifier",
          "start": 10306,
          "end": 10319,
          "loc": {
            "start": {
              "line": 247,
              "column": 4
            },
            "end": {
              "line": 247,
              "column": 17
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10306,
            "end": 10319,
            "loc": {
              "start": {
                "line": 247,
                "column": 4
              },
              "end": {
                "line": 247,
                "column": 17
              }
            },
            "name": "executeModels"
          },
          "exported": {
            "type": "Identifier",
            "start": 10306,
            "end": 10319,
            "loc": {
              "start": {
                "line": 247,
                "column": 4
              },
              "end": {
                "line": 247,
                "column": 17
              }
            },
            "name": "executeModels"
          }
        },
        {
          "type": "ExportSpecifier",
          "start": 10326,
          "end": 10336,
          "loc": {
            "start": {
              "line": 248,
              "column": 4
            },
            "end": {
              "line": 248,
              "column": 14
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10326,
            "end": 10336,
            "loc": {
              "start": {
                "line": 248,
                "column": 4
              },
              "end": {
                "line": 248,
                "column": 14
              }
            },
            "name": "Expression"
          },
          "exported": {
            "type": "Identifier",
            "start": 10326,
            "end": 10336,
            "loc": {
              "start": {
                "line": 248,
                "column": 4
              },
              "end": {
                "line": 248,
                "column": 14
              }
            },
            "name": "Expression"
          }
        },
        {
          "type": "ExportSpecifier",
          "start": 10343,
          "end": 10352,
          "loc": {
            "start": {
              "line": 249,
              "column": 4
            },
            "end": {
              "line": 249,
              "column": 13
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10343,
            "end": 10352,
            "loc": {
              "start": {
                "line": 249,
                "column": 4
              },
              "end": {
                "line": 249,
                "column": 13
              }
            },
            "name": "Statement"
          },
          "exported": {
            "type": "Identifier",
            "start": 10343,
            "end": 10352,
            "loc": {
              "start": {
                "line": 249,
                "column": 4
              },
              "end": {
                "line": 249,
                "column": 13
              }
            },
            "name": "Statement"
          }
        },
        {
          "type": "ExportSpecifier",
          "start": 10359,
          "end": 10369,
          "loc": {
            "start": {
              "line": 250,
              "column": 4
            },
            "end": {
              "line": 250,
              "column": 14
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10359,
            "end": 10369,
            "loc": {
              "start": {
                "line": 250,
                "column": 4
              },
              "end": {
                "line": 250,
                "column": 14
              }
            },
            "name": "Statements"
          },
          "exported": {
            "type": "Identifier",
            "start": 10359,
            "end": 10369,
            "loc": {
              "start": {
                "line": 250,
                "column": 4
              },
              "end": {
                "line": 250,
                "column": 14
              }
            },
            "name": "Statements"
          }
        },
        {
          "type": "ExportSpecifier",
          "start": 10376,
          "end": 10383,
          "loc": {
            "start": {
              "line": 251,
              "column": 4
            },
            "end": {
              "line": 251,
              "column": 11
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10376,
            "end": 10383,
            "loc": {
              "start": {
                "line": 251,
                "column": 4
              },
              "end": {
                "line": 251,
                "column": 11
              }
            },
            "name": "parseTo"
          },
          "exported": {
            "type": "Identifier",
            "start": 10376,
            "end": 10383,
            "loc": {
              "start": {
                "line": 251,
                "column": 4
              },
              "end": {
                "line": 251,
                "column": 11
              }
            },
            "name": "parseTo"
          }
        },
        {
          "type": "ExportSpecifier",
          "start": 10390,
          "end": 10404,
          "loc": {
            "start": {
              "line": 252,
              "column": 4
            },
            "end": {
              "line": 252,
              "column": 18
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10390,
            "end": 10404,
            "loc": {
              "start": {
                "line": 252,
                "column": 4
              },
              "end": {
                "line": 252,
                "column": 18
              }
            },
            "name": "parseToChildOf"
          },
          "exported": {
            "type": "Identifier",
            "start": 10390,
            "end": 10404,
            "loc": {
              "start": {
                "line": 252,
                "column": 4
              },
              "end": {
                "line": 252,
                "column": 18
              }
            },
            "name": "parseToChildOf"
          }
        },
        {
          "type": "ExportSpecifier",
          "start": 10411,
          "end": 10426,
          "loc": {
            "start": {
              "line": 253,
              "column": 4
            },
            "end": {
              "line": 253,
              "column": 19
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10411,
            "end": 10426,
            "loc": {
              "start": {
                "line": 253,
                "column": 4
              },
              "end": {
                "line": 253,
                "column": 19
              }
            },
            "name": "parseObjectTree"
          },
          "exported": {
            "type": "Identifier",
            "start": 10411,
            "end": 10426,
            "loc": {
              "start": {
                "line": 253,
                "column": 4
              },
              "end": {
                "line": 253,
                "column": 19
              }
            },
            "name": "parseObjectTree"
          }
        },
        {
          "type": "ExportSpecifier",
          "start": 10433,
          "end": 10445,
          "loc": {
            "start": {
              "line": 254,
              "column": 4
            },
            "end": {
              "line": 254,
              "column": 16
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10433,
            "end": 10445,
            "loc": {
              "start": {
                "line": 254,
                "column": 4
              },
              "end": {
                "line": 254,
                "column": 16
              }
            },
            "name": "trackPromise"
          },
          "exported": {
            "type": "Identifier",
            "start": 10433,
            "end": 10445,
            "loc": {
              "start": {
                "line": 254,
                "column": 4
              },
              "end": {
                "line": 254,
                "column": 16
              }
            },
            "name": "trackPromise"
          }
        }
      ],
      "source": null
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 10278,
      "end": 10450,
      "loc": {
        "start": {
          "line": 245,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 2
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 404,
        "end": 736,
        "loc": {
          "start": {
            "line": 11,
            "column": 0
          },
          "end": {
            "line": 17,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 413,
          "end": 420,
          "loc": {
            "start": {
              "line": 11,
              "column": 9
            },
            "end": {
              "line": 11,
              "column": 16
            }
          },
          "name": "execute",
          "leadingComments": null
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 421,
            "end": 427,
            "loc": {
              "start": {
                "line": 11,
                "column": 17
              },
              "end": {
                "line": 11,
                "column": 23
              }
            },
            "name": "socket"
          },
          {
            "type": "Identifier",
            "start": 429,
            "end": 432,
            "loc": {
              "start": {
                "line": 11,
                "column": 25
              },
              "end": {
                "line": 11,
                "column": 28
              }
            },
            "name": "cmd"
          },
          {
            "type": "Identifier",
            "start": 434,
            "end": 441,
            "loc": {
              "start": {
                "line": 11,
                "column": 30
              },
              "end": {
                "line": 11,
                "column": 37
              }
            },
            "name": "factory"
          },
          {
            "type": "Identifier",
            "start": 443,
            "end": 453,
            "loc": {
              "start": {
                "line": 11,
                "column": 39
              },
              "end": {
                "line": 11,
                "column": 49
              }
            },
            "name": "attributes"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 455,
          "end": 736,
          "loc": {
            "start": {
              "line": 11,
              "column": 51
            },
            "end": {
              "line": 17,
              "column": 1
            }
          },
          "body": [
            {
              "type": "IfStatement",
              "start": 462,
              "end": 517,
              "loc": {
                "start": {
                  "line": 12,
                  "column": 4
                },
                "end": {
                  "line": 13,
                  "column": 24
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 466,
                "end": 490,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 8
                  },
                  "end": {
                    "line": 12,
                    "column": 32
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 466,
                  "end": 476,
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 8
                    },
                    "end": {
                      "line": 12,
                      "column": 18
                    }
                  },
                  "name": "attributes"
                },
                "operator": "===",
                "right": {
                  "type": "Identifier",
                  "start": 481,
                  "end": 490,
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 23
                    },
                    "end": {
                      "line": 12,
                      "column": 32
                    }
                  },
                  "name": "undefined"
                }
              },
              "consequent": {
                "type": "ExpressionStatement",
                "start": 501,
                "end": 517,
                "loc": {
                  "start": {
                    "line": 13,
                    "column": 8
                  },
                  "end": {
                    "line": 13,
                    "column": 24
                  }
                },
                "expression": {
                  "type": "AssignmentExpression",
                  "start": 501,
                  "end": 516,
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 8
                    },
                    "end": {
                      "line": 13,
                      "column": 23
                    }
                  },
                  "operator": "=",
                  "left": {
                    "type": "Identifier",
                    "start": 501,
                    "end": 511,
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 8
                      },
                      "end": {
                        "line": 13,
                        "column": 18
                      }
                    },
                    "name": "attributes"
                  },
                  "right": {
                    "type": "ObjectExpression",
                    "start": 514,
                    "end": 516,
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 21
                      },
                      "end": {
                        "line": 13,
                        "column": 23
                      }
                    },
                    "properties": []
                  }
                }
              },
              "alternate": null
            },
            {
              "type": "IfStatement",
              "start": 523,
              "end": 624,
              "loc": {
                "start": {
                  "line": 14,
                  "column": 4
                },
                "end": {
                  "line": 15,
                  "column": 48
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 527,
                "end": 573,
                "loc": {
                  "start": {
                    "line": 14,
                    "column": 8
                  },
                  "end": {
                    "line": 14,
                    "column": 54
                  }
                },
                "left": {
                  "type": "MemberExpression",
                  "start": 527,
                  "end": 559,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 8
                    },
                    "end": {
                      "line": 14,
                      "column": 40
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 527,
                    "end": 537,
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 8
                      },
                      "end": {
                        "line": 14,
                        "column": 18
                      }
                    },
                    "name": "attributes"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 538,
                    "end": 559,
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 19
                      },
                      "end": {
                        "line": 14,
                        "column": 40
                      }
                    },
                    "name": "ignoreNumberOfResults"
                  },
                  "computed": false
                },
                "operator": "===",
                "right": {
                  "type": "Identifier",
                  "start": 564,
                  "end": 573,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 45
                    },
                    "end": {
                      "line": 14,
                      "column": 54
                    }
                  },
                  "name": "undefined"
                }
              },
              "consequent": {
                "type": "ExpressionStatement",
                "start": 584,
                "end": 624,
                "loc": {
                  "start": {
                    "line": 15,
                    "column": 8
                  },
                  "end": {
                    "line": 15,
                    "column": 48
                  }
                },
                "expression": {
                  "type": "AssignmentExpression",
                  "start": 584,
                  "end": 623,
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 8
                    },
                    "end": {
                      "line": 15,
                      "column": 47
                    }
                  },
                  "operator": "=",
                  "left": {
                    "type": "MemberExpression",
                    "start": 584,
                    "end": 616,
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 8
                      },
                      "end": {
                        "line": 15,
                        "column": 40
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 584,
                      "end": 594,
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 8
                        },
                        "end": {
                          "line": 15,
                          "column": 18
                        }
                      },
                      "name": "attributes"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 595,
                      "end": 616,
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 19
                        },
                        "end": {
                          "line": 15,
                          "column": 40
                        }
                      },
                      "name": "ignoreNumberOfResults"
                    },
                    "computed": false
                  },
                  "right": {
                    "type": "Literal",
                    "start": 619,
                    "end": 623,
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 43
                      },
                      "end": {
                        "line": 15,
                        "column": 47
                      }
                    },
                    "value": true,
                    "rawValue": true,
                    "raw": "true"
                  }
                }
              },
              "alternate": null
            },
            {
              "type": "ReturnStatement",
              "start": 630,
              "end": 733,
              "loc": {
                "start": {
                  "line": 16,
                  "column": 4
                },
                "end": {
                  "line": 16,
                  "column": 107
                }
              },
              "argument": {
                "type": "CallExpression",
                "start": 637,
                "end": 732,
                "loc": {
                  "start": {
                    "line": 16,
                    "column": 11
                  },
                  "end": {
                    "line": 16,
                    "column": 106
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 637,
                  "end": 721,
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 11
                    },
                    "end": {
                      "line": 16,
                      "column": 95
                    }
                  },
                  "object": {
                    "type": "CallExpression",
                    "start": 637,
                    "end": 716,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 11
                      },
                      "end": {
                        "line": 16,
                        "column": 90
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 637,
                      "end": 652,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 11
                        },
                        "end": {
                          "line": 16,
                          "column": 26
                        }
                      },
                      "name": "executePrepared"
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 653,
                        "end": 659,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 27
                          },
                          "end": {
                            "line": 16,
                            "column": 33
                          }
                        },
                        "name": "socket"
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 661,
                        "end": 694,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 35
                          },
                          "end": {
                            "line": 16,
                            "column": 68
                          }
                        },
                        "elements": [
                          {
                            "type": "ObjectExpression",
                            "start": 662,
                            "end": 693,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 36
                              },
                              "end": {
                                "line": 16,
                                "column": 67
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 663,
                                "end": 681,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 55
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 663,
                                  "end": 670,
                                  "loc": {
                                    "start": {
                                      "line": 16,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 16,
                                      "column": 44
                                    }
                                  },
                                  "name": "command"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 672,
                                  "end": 681,
                                  "loc": {
                                    "start": {
                                      "line": 16,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 16,
                                      "column": 55
                                    }
                                  },
                                  "value": "Execute",
                                  "rawValue": "Execute",
                                  "raw": "'Execute'"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 683,
                                "end": 692,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 66
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 683,
                                  "end": 687,
                                  "loc": {
                                    "start": {
                                      "line": 16,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 16,
                                      "column": 61
                                    }
                                  },
                                  "name": "task"
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 689,
                                  "end": 692,
                                  "loc": {
                                    "start": {
                                      "line": 16,
                                      "column": 63
                                    },
                                    "end": {
                                      "line": 16,
                                      "column": 66
                                    }
                                  },
                                  "name": "cmd"
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "type": "Identifier",
                        "start": 696,
                        "end": 703,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 70
                          },
                          "end": {
                            "line": 16,
                            "column": 77
                          }
                        },
                        "name": "factory"
                      },
                      {
                        "type": "Identifier",
                        "start": 705,
                        "end": 715,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 79
                          },
                          "end": {
                            "line": 16,
                            "column": 89
                          }
                        },
                        "name": "attributes"
                      }
                    ]
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 717,
                    "end": 721,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 91
                      },
                      "end": {
                        "line": 16,
                        "column": 95
                      }
                    },
                    "name": "then"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "ArrowFunctionExpression",
                    "start": 722,
                    "end": 731,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 96
                      },
                      "end": {
                        "line": 16,
                        "column": 105
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": true,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 722,
                        "end": 723,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 96
                          },
                          "end": {
                            "line": 16,
                            "column": 97
                          }
                        },
                        "name": "x"
                      }
                    ],
                    "body": {
                      "type": "MemberExpression",
                      "start": 727,
                      "end": 731,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 101
                        },
                        "end": {
                          "line": 16,
                          "column": 105
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 727,
                        "end": 728,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 101
                          },
                          "end": {
                            "line": 16,
                            "column": 102
                          }
                        },
                        "name": "x"
                      },
                      "property": {
                        "type": "Literal",
                        "start": 729,
                        "end": 730,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 103
                          },
                          "end": {
                            "line": 16,
                            "column": 104
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      "computed": true
                    }
                  }
                ]
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " execute one ClassCad command and return its result in a Promise",
            "start": 336,
            "end": 402,
            "loc": {
              "start": {
                "line": 10,
                "column": 0
              },
              "end": {
                "line": 10,
                "column": 66
              }
            },
            "range": [
              336,
              402
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": null,
      "source": null,
      "leadingComments": null
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 10278,
      "end": 10450,
      "loc": {
        "start": {
          "line": 245,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 2
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 740,
        "end": 914,
        "loc": {
          "start": {
            "line": 19,
            "column": 0
          },
          "end": {
            "line": 21,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 749,
          "end": 762,
          "loc": {
            "start": {
              "line": 19,
              "column": 9
            },
            "end": {
              "line": 19,
              "column": 22
            }
          },
          "name": "executeModels"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 763,
            "end": 769,
            "loc": {
              "start": {
                "line": 19,
                "column": 23
              },
              "end": {
                "line": 19,
                "column": 29
              }
            },
            "name": "socket"
          },
          {
            "type": "Identifier",
            "start": 771,
            "end": 774,
            "loc": {
              "start": {
                "line": 19,
                "column": 31
              },
              "end": {
                "line": 19,
                "column": 34
              }
            },
            "name": "cmd"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 776,
          "end": 914,
          "loc": {
            "start": {
              "line": 19,
              "column": 36
            },
            "end": {
              "line": 21,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ReturnStatement",
              "start": 783,
              "end": 911,
              "loc": {
                "start": {
                  "line": 20,
                  "column": 4
                },
                "end": {
                  "line": 20,
                  "column": 132
                }
              },
              "argument": {
                "type": "CallExpression",
                "start": 790,
                "end": 910,
                "loc": {
                  "start": {
                    "line": 20,
                    "column": 11
                  },
                  "end": {
                    "line": 20,
                    "column": 131
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 790,
                  "end": 895,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 11
                    },
                    "end": {
                      "line": 20,
                      "column": 116
                    }
                  },
                  "object": {
                    "type": "CallExpression",
                    "start": 790,
                    "end": 890,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 11
                      },
                      "end": {
                        "line": 20,
                        "column": 111
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 790,
                      "end": 805,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 11
                        },
                        "end": {
                          "line": 20,
                          "column": 26
                        }
                      },
                      "name": "executePrepared"
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 806,
                        "end": 812,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 27
                          },
                          "end": {
                            "line": 20,
                            "column": 33
                          }
                        },
                        "name": "socket"
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 814,
                        "end": 847,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 35
                          },
                          "end": {
                            "line": 20,
                            "column": 68
                          }
                        },
                        "elements": [
                          {
                            "type": "ObjectExpression",
                            "start": 815,
                            "end": 846,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 36
                              },
                              "end": {
                                "line": 20,
                                "column": 67
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 816,
                                "end": 834,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 55
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 816,
                                  "end": 823,
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 44
                                    }
                                  },
                                  "name": "command"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 825,
                                  "end": 834,
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 55
                                    }
                                  },
                                  "value": "Execute",
                                  "rawValue": "Execute",
                                  "raw": "'Execute'"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 836,
                                "end": 845,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 66
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 836,
                                  "end": 840,
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 61
                                    }
                                  },
                                  "name": "task"
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 842,
                                  "end": 845,
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 63
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 66
                                    }
                                  },
                                  "name": "cmd"
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "type": "Identifier",
                        "start": 849,
                        "end": 858,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 70
                          },
                          "end": {
                            "line": 20,
                            "column": 79
                          }
                        },
                        "name": "undefined"
                      },
                      {
                        "type": "ObjectExpression",
                        "start": 860,
                        "end": 889,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 81
                          },
                          "end": {
                            "line": 20,
                            "column": 110
                          }
                        },
                        "properties": [
                          {
                            "type": "Property",
                            "start": 861,
                            "end": 888,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 82
                              },
                              "end": {
                                "line": 20,
                                "column": 109
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "Identifier",
                              "start": 861,
                              "end": 882,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 82
                                },
                                "end": {
                                  "line": 20,
                                  "column": 103
                                }
                              },
                              "name": "ignoreNumberOfResults"
                            },
                            "value": {
                              "type": "Literal",
                              "start": 884,
                              "end": 888,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 105
                                },
                                "end": {
                                  "line": 20,
                                  "column": 109
                                }
                              },
                              "value": true,
                              "rawValue": true,
                              "raw": "true"
                            },
                            "kind": "init"
                          }
                        ]
                      }
                    ]
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 891,
                    "end": 895,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 112
                      },
                      "end": {
                        "line": 20,
                        "column": 116
                      }
                    },
                    "name": "then"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "ArrowFunctionExpression",
                    "start": 896,
                    "end": 909,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 117
                      },
                      "end": {
                        "line": 20,
                        "column": 130
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": true,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 896,
                        "end": 897,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 117
                          },
                          "end": {
                            "line": 20,
                            "column": 118
                          }
                        },
                        "name": "x"
                      }
                    ],
                    "body": {
                      "type": "MemberExpression",
                      "start": 901,
                      "end": 909,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 122
                        },
                        "end": {
                          "line": 20,
                          "column": 130
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 901,
                        "end": 902,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 122
                          },
                          "end": {
                            "line": 20,
                            "column": 123
                          }
                        },
                        "name": "x"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 903,
                        "end": 909,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 124
                          },
                          "end": {
                            "line": 20,
                            "column": 130
                          }
                        },
                        "name": "models"
                      },
                      "computed": false
                    }
                  }
                ]
              }
            }
          ],
          "trailingComments": null
        },
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": " execute prepared (see NOTE0) ClassCad commands and return an array of results in a Promise",
            "start": 918,
            "end": 1011,
            "loc": {
              "start": {
                "line": 23,
                "column": 0
              },
              "end": {
                "line": 23,
                "column": 93
              }
            },
            "range": [
              918,
              1011
            ]
          }
        ],
        "leadingComments": []
      },
      "specifiers": null,
      "source": null,
      "leadingComments": null
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 10278,
      "end": 10450,
      "loc": {
        "start": {
          "line": 245,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 2
        }
      },
      "declaration": {
        "type": "VariableDeclaration",
        "start": 3724,
        "end": 3744,
        "loc": {
          "start": {
            "line": 91,
            "column": 0
          },
          "end": {
            "line": 91,
            "column": 20
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 3728,
            "end": 3743,
            "loc": {
              "start": {
                "line": 91,
                "column": 4
              },
              "end": {
                "line": 91,
                "column": 19
              }
            },
            "id": {
              "type": "Identifier",
              "start": 3728,
              "end": 3738,
              "loc": {
                "start": {
                  "line": 91,
                  "column": 4
                },
                "end": {
                  "line": 91,
                  "column": 14
                }
              },
              "name": "Expression"
            },
            "init": {
              "type": "ObjectExpression",
              "start": 3741,
              "end": 3743,
              "loc": {
                "start": {
                  "line": 91,
                  "column": 17
                },
                "end": {
                  "line": 91,
                  "column": 19
                }
              },
              "properties": []
            }
          }
        ],
        "kind": "let",
        "leadingComments": [],
        "trailingComments": []
      },
      "specifiers": null,
      "source": null,
      "leadingComments": null
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 10278,
      "end": 10450,
      "loc": {
        "start": {
          "line": 245,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 2
        }
      },
      "declaration": {
        "type": "VariableDeclaration",
        "start": 4453,
        "end": 4938,
        "loc": {
          "start": {
            "line": 121,
            "column": 0
          },
          "end": {
            "line": 131,
            "column": 2
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 4459,
            "end": 4937,
            "loc": {
              "start": {
                "line": 121,
                "column": 6
              },
              "end": {
                "line": 131,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 4459,
              "end": 4468,
              "loc": {
                "start": {
                  "line": 121,
                  "column": 6
                },
                "end": {
                  "line": 121,
                  "column": 15
                }
              },
              "name": "Statement"
            },
            "init": {
              "type": "ObjectExpression",
              "start": 4471,
              "end": 4937,
              "loc": {
                "start": {
                  "line": 121,
                  "column": 18
                },
                "end": {
                  "line": 131,
                  "column": 1
                }
              },
              "properties": [
                {
                  "type": "Property",
                  "start": 4478,
                  "end": 4576,
                  "loc": {
                    "start": {
                      "line": 122,
                      "column": 4
                    },
                    "end": {
                      "line": 124,
                      "column": 5
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 4478,
                    "end": 4484,
                    "loc": {
                      "start": {
                        "line": 122,
                        "column": 4
                      },
                      "end": {
                        "line": 122,
                        "column": 10
                      }
                    },
                    "name": "Return"
                  },
                  "kind": "init",
                  "value": {
                    "type": "FunctionExpression",
                    "start": 4484,
                    "end": 4576,
                    "loc": {
                      "start": {
                        "line": 122,
                        "column": 10
                      },
                      "end": {
                        "line": 124,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 4485,
                        "end": 4495,
                        "loc": {
                          "start": {
                            "line": 122,
                            "column": 11
                          },
                          "end": {
                            "line": 122,
                            "column": 21
                          }
                        },
                        "name": "expression"
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 4497,
                      "end": 4576,
                      "loc": {
                        "start": {
                          "line": 122,
                          "column": 23
                        },
                        "end": {
                          "line": 124,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ReturnStatement",
                          "start": 4508,
                          "end": 4569,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 8
                            },
                            "end": {
                              "line": 123,
                              "column": 69
                            }
                          },
                          "argument": {
                            "type": "NewExpression",
                            "start": 4515,
                            "end": 4568,
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 15
                              },
                              "end": {
                                "line": 123,
                                "column": 68
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 4519,
                              "end": 4529,
                              "loc": {
                                "start": {
                                  "line": 123,
                                  "column": 19
                                },
                                "end": {
                                  "line": 123,
                                  "column": 29
                                }
                              },
                              "name": "Statements"
                            },
                            "arguments": [
                              {
                                "type": "ArrayExpression",
                                "start": 4530,
                                "end": 4567,
                                "loc": {
                                  "start": {
                                    "line": 123,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 123,
                                    "column": 67
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "TemplateLiteral",
                                    "start": 4531,
                                    "end": 4566,
                                    "loc": {
                                      "start": {
                                        "line": 123,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 123,
                                        "column": 66
                                      }
                                    },
                                    "expressions": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 4541,
                                        "end": 4563,
                                        "loc": {
                                          "start": {
                                            "line": 123,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 123,
                                            "column": 63
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 4541,
                                          "end": 4560,
                                          "loc": {
                                            "start": {
                                              "line": 123,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 123,
                                              "column": 60
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 4541,
                                            "end": 4551,
                                            "loc": {
                                              "start": {
                                                "line": 123,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 123,
                                                "column": 51
                                              }
                                            },
                                            "name": "expression"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4552,
                                            "end": 4560,
                                            "loc": {
                                              "start": {
                                                "line": 123,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 123,
                                                "column": 60
                                              }
                                            },
                                            "name": "commands"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 4561,
                                          "end": 4562,
                                          "loc": {
                                            "start": {
                                              "line": 123,
                                              "column": 61
                                            },
                                            "end": {
                                              "line": 123,
                                              "column": 62
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "computed": true
                                      }
                                    ],
                                    "quasis": [
                                      {
                                        "type": "TemplateElement",
                                        "start": 4532,
                                        "end": 4539,
                                        "loc": {
                                          "start": {
                                            "line": 123,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 123,
                                            "column": 39
                                          }
                                        },
                                        "value": {
                                          "raw": "RETURN ",
                                          "cooked": "RETURN "
                                        },
                                        "tail": false
                                      },
                                      {
                                        "type": "TemplateElement",
                                        "start": 4564,
                                        "end": 4565,
                                        "loc": {
                                          "start": {
                                            "line": 123,
                                            "column": 64
                                          },
                                          "end": {
                                            "line": 123,
                                            "column": 65
                                          }
                                        },
                                        "value": {
                                          "raw": ";",
                                          "cooked": ";"
                                        },
                                        "tail": true
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "type": "Property",
                  "start": 4583,
                  "end": 4933,
                  "loc": {
                    "start": {
                      "line": 125,
                      "column": 4
                    },
                    "end": {
                      "line": 130,
                      "column": 5
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 4583,
                    "end": 4593,
                    "loc": {
                      "start": {
                        "line": 125,
                        "column": 4
                      },
                      "end": {
                        "line": 125,
                        "column": 14
                      }
                    },
                    "name": "JSONExport"
                  },
                  "kind": "init",
                  "value": {
                    "type": "FunctionExpression",
                    "start": 4593,
                    "end": 4933,
                    "loc": {
                      "start": {
                        "line": 125,
                        "column": 14
                      },
                      "end": {
                        "line": 130,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 4594,
                        "end": 4604,
                        "loc": {
                          "start": {
                            "line": 125,
                            "column": 15
                          },
                          "end": {
                            "line": 125,
                            "column": 25
                          }
                        },
                        "name": "expression"
                      },
                      {
                        "type": "RestElement",
                        "start": 4606,
                        "end": 4622,
                        "loc": {
                          "start": {
                            "line": 125,
                            "column": 27
                          },
                          "end": {
                            "line": 125,
                            "column": 43
                          }
                        },
                        "argument": {
                          "type": "Identifier",
                          "start": 4609,
                          "end": 4622,
                          "loc": {
                            "start": {
                              "line": 125,
                              "column": 30
                            },
                            "end": {
                              "line": 125,
                              "column": 43
                            }
                          },
                          "name": "linkedObjects"
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 4624,
                      "end": 4933,
                      "loc": {
                        "start": {
                          "line": 125,
                          "column": 45
                        },
                        "end": {
                          "line": 130,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "IfStatement",
                          "start": 4635,
                          "end": 4744,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 8
                            },
                            "end": {
                              "line": 127,
                              "column": 67
                            }
                          },
                          "test": {
                            "type": "UnaryExpression",
                            "start": 4639,
                            "end": 4674,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 12
                              },
                              "end": {
                                "line": 126,
                                "column": 47
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "BinaryExpression",
                              "start": 4641,
                              "end": 4673,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 14
                                },
                                "end": {
                                  "line": 126,
                                  "column": 46
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 4641,
                                "end": 4651,
                                "loc": {
                                  "start": {
                                    "line": 126,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 126,
                                    "column": 24
                                  }
                                },
                                "name": "expression"
                              },
                              "operator": "instanceof",
                              "right": {
                                "type": "Identifier",
                                "start": 4663,
                                "end": 4673,
                                "loc": {
                                  "start": {
                                    "line": 126,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 126,
                                    "column": 46
                                  }
                                },
                                "name": "Statements"
                              },
                              "parenthesizedExpression": true
                            }
                          },
                          "consequent": {
                            "type": "ExpressionStatement",
                            "start": 4689,
                            "end": 4744,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 12
                              },
                              "end": {
                                "line": 127,
                                "column": 67
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 4689,
                              "end": 4743,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 12
                                },
                                "end": {
                                  "line": 127,
                                  "column": 66
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 4689,
                                "end": 4699,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 22
                                  }
                                },
                                "name": "expression"
                              },
                              "right": {
                                "type": "NewExpression",
                                "start": 4702,
                                "end": 4743,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 66
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 4706,
                                  "end": 4716,
                                  "loc": {
                                    "start": {
                                      "line": 127,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 127,
                                      "column": 39
                                    }
                                  },
                                  "name": "Statements"
                                },
                                "arguments": [
                                  {
                                    "type": "ArrayExpression",
                                    "start": 4717,
                                    "end": 4742,
                                    "loc": {
                                      "start": {
                                        "line": 127,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 127,
                                        "column": 65
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "CallExpression",
                                        "start": 4718,
                                        "end": 4741,
                                        "loc": {
                                          "start": {
                                            "line": 127,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 127,
                                            "column": 64
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 4718,
                                          "end": 4729,
                                          "loc": {
                                            "start": {
                                              "line": 127,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 127,
                                              "column": 52
                                            }
                                          },
                                          "name": "formatValue"
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 4730,
                                            "end": 4740,
                                            "loc": {
                                              "start": {
                                                "line": 127,
                                                "column": 53
                                              },
                                              "end": {
                                                "line": 127,
                                                "column": 63
                                              }
                                            },
                                            "name": "expression"
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            }
                          },
                          "alternate": null
                        },
                        {
                          "type": "VariableDeclaration",
                          "start": 4754,
                          "end": 4833,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 8
                            },
                            "end": {
                              "line": 128,
                              "column": 87
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 4760,
                              "end": 4832,
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 14
                                },
                                "end": {
                                  "line": 128,
                                  "column": 86
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 4760,
                                "end": 4771,
                                "loc": {
                                  "start": {
                                    "line": 128,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 128,
                                    "column": 25
                                  }
                                },
                                "name": "expressions"
                              },
                              "init": {
                                "type": "CallExpression",
                                "start": 4774,
                                "end": 4832,
                                "loc": {
                                  "start": {
                                    "line": 128,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 128,
                                    "column": 86
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4774,
                                  "end": 4800,
                                  "loc": {
                                    "start": {
                                      "line": 128,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 128,
                                      "column": 54
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4774,
                                    "end": 4793,
                                    "loc": {
                                      "start": {
                                        "line": 128,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 128,
                                        "column": 47
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4774,
                                      "end": 4784,
                                      "loc": {
                                        "start": {
                                          "line": 128,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 128,
                                          "column": 38
                                        }
                                      },
                                      "name": "expression"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4785,
                                      "end": 4793,
                                      "loc": {
                                        "start": {
                                          "line": 128,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 128,
                                          "column": 47
                                        }
                                      },
                                      "name": "commands"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4794,
                                    "end": 4800,
                                    "loc": {
                                      "start": {
                                        "line": 128,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 128,
                                        "column": 54
                                      }
                                    },
                                    "name": "concat"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 4801,
                                    "end": 4831,
                                    "loc": {
                                      "start": {
                                        "line": 128,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 128,
                                        "column": 85
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 4801,
                                      "end": 4818,
                                      "loc": {
                                        "start": {
                                          "line": 128,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 128,
                                          "column": 72
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 4801,
                                        "end": 4814,
                                        "loc": {
                                          "start": {
                                            "line": 128,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 128,
                                            "column": 68
                                          }
                                        },
                                        "name": "linkedObjects"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4815,
                                        "end": 4818,
                                        "loc": {
                                          "start": {
                                            "line": 128,
                                            "column": 69
                                          },
                                          "end": {
                                            "line": 128,
                                            "column": 72
                                          }
                                        },
                                        "name": "map"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 4819,
                                        "end": 4830,
                                        "loc": {
                                          "start": {
                                            "line": 128,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 128,
                                            "column": 84
                                          }
                                        },
                                        "name": "formatValue"
                                      }
                                    ]
                                  }
                                ]
                              }
                            }
                          ],
                          "kind": "const"
                        },
                        {
                          "type": "ReturnStatement",
                          "start": 4843,
                          "end": 4926,
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 8
                            },
                            "end": {
                              "line": 129,
                              "column": 91
                            }
                          },
                          "argument": {
                            "type": "NewExpression",
                            "start": 4850,
                            "end": 4925,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 15
                              },
                              "end": {
                                "line": 129,
                                "column": 90
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 4854,
                              "end": 4864,
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 19
                                },
                                "end": {
                                  "line": 129,
                                  "column": 29
                                }
                              },
                              "name": "Statements"
                            },
                            "arguments": [
                              {
                                "type": "ArrayExpression",
                                "start": 4865,
                                "end": 4924,
                                "loc": {
                                  "start": {
                                    "line": 129,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 129,
                                    "column": 89
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "TemplateLiteral",
                                    "start": 4866,
                                    "end": 4923,
                                    "loc": {
                                      "start": {
                                        "line": 129,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 129,
                                        "column": 88
                                      }
                                    },
                                    "expressions": [
                                      {
                                        "type": "CallExpression",
                                        "start": 4896,
                                        "end": 4918,
                                        "loc": {
                                          "start": {
                                            "line": 129,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 129,
                                            "column": 83
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 4896,
                                          "end": 4912,
                                          "loc": {
                                            "start": {
                                              "line": 129,
                                              "column": 61
                                            },
                                            "end": {
                                              "line": 129,
                                              "column": 77
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 4896,
                                            "end": 4907,
                                            "loc": {
                                              "start": {
                                                "line": 129,
                                                "column": 61
                                              },
                                              "end": {
                                                "line": 129,
                                                "column": 72
                                              }
                                            },
                                            "name": "expressions"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4908,
                                            "end": 4912,
                                            "loc": {
                                              "start": {
                                                "line": 129,
                                                "column": 73
                                              },
                                              "end": {
                                                "line": 129,
                                                "column": 77
                                              }
                                            },
                                            "name": "join"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Literal",
                                            "start": 4913,
                                            "end": 4917,
                                            "loc": {
                                              "start": {
                                                "line": 129,
                                                "column": 78
                                              },
                                              "end": {
                                                "line": 129,
                                                "column": 82
                                              }
                                            },
                                            "value": ", ",
                                            "rawValue": ", ",
                                            "raw": "', '"
                                          }
                                        ]
                                      }
                                    ],
                                    "quasis": [
                                      {
                                        "type": "TemplateElement",
                                        "start": 4867,
                                        "end": 4894,
                                        "loc": {
                                          "start": {
                                            "line": 129,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 129,
                                            "column": 59
                                          }
                                        },
                                        "value": {
                                          "raw": "RETURN CADH_JSONExportStr([",
                                          "cooked": "RETURN CADH_JSONExportStr(["
                                        },
                                        "tail": false
                                      },
                                      {
                                        "type": "TemplateElement",
                                        "start": 4919,
                                        "end": 4922,
                                        "loc": {
                                          "start": {
                                            "line": 129,
                                            "column": 84
                                          },
                                          "end": {
                                            "line": 129,
                                            "column": 87
                                          }
                                        },
                                        "value": {
                                          "raw": "]);",
                                          "cooked": "]);"
                                        },
                                        "tail": true
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                }
              ]
            }
          }
        ],
        "kind": "const",
        "leadingComments": [],
        "trailingComments": []
      },
      "specifiers": null,
      "source": null,
      "leadingComments": null
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 10278,
      "end": 10450,
      "loc": {
        "start": {
          "line": 245,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 2
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 3449,
        "end": 3579,
        "loc": {
          "start": {
            "line": 83,
            "column": 0
          },
          "end": {
            "line": 85,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 3458,
          "end": 3465,
          "loc": {
            "start": {
              "line": 83,
              "column": 9
            },
            "end": {
              "line": 83,
              "column": 16
            }
          },
          "name": "parseTo"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 3466,
            "end": 3469,
            "loc": {
              "start": {
                "line": 83,
                "column": 17
              },
              "end": {
                "line": 83,
                "column": 20
              }
            },
            "name": "obj"
          },
          {
            "type": "RestElement",
            "start": 3471,
            "end": 3487,
            "loc": {
              "start": {
                "line": 83,
                "column": 22
              },
              "end": {
                "line": 83,
                "column": 38
              }
            },
            "argument": {
              "type": "Identifier",
              "start": 3474,
              "end": 3487,
              "loc": {
                "start": {
                  "line": 83,
                  "column": 25
                },
                "end": {
                  "line": 83,
                  "column": 38
                }
              },
              "name": "linkedObjects"
            }
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 3489,
          "end": 3579,
          "loc": {
            "start": {
              "line": 83,
              "column": 40
            },
            "end": {
              "line": 85,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ReturnStatement",
              "start": 3496,
              "end": 3576,
              "loc": {
                "start": {
                  "line": 84,
                  "column": 4
                },
                "end": {
                  "line": 84,
                  "column": 84
                }
              },
              "argument": {
                "type": "ArrowFunctionExpression",
                "start": 3503,
                "end": 3575,
                "loc": {
                  "start": {
                    "line": 84,
                    "column": 11
                  },
                  "end": {
                    "line": 84,
                    "column": 83
                  }
                },
                "id": null,
                "generator": false,
                "expression": true,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3503,
                    "end": 3507,
                    "loc": {
                      "start": {
                        "line": 84,
                        "column": 11
                      },
                      "end": {
                        "line": 84,
                        "column": 15
                      }
                    },
                    "name": "tree"
                  }
                ],
                "body": {
                  "type": "CallExpression",
                  "start": 3511,
                  "end": 3575,
                  "loc": {
                    "start": {
                      "line": 84,
                      "column": 19
                    },
                    "end": {
                      "line": 84,
                      "column": 83
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 3511,
                    "end": 3526,
                    "loc": {
                      "start": {
                        "line": 84,
                        "column": 19
                      },
                      "end": {
                        "line": 84,
                        "column": 34
                      }
                    },
                    "name": "parseObjectTree"
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 3527,
                      "end": 3534,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 35
                        },
                        "end": {
                          "line": 84,
                          "column": 42
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 3527,
                        "end": 3531,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 35
                          },
                          "end": {
                            "line": 84,
                            "column": 39
                          }
                        },
                        "name": "tree"
                      },
                      "property": {
                        "type": "Literal",
                        "start": 3532,
                        "end": 3533,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 40
                          },
                          "end": {
                            "line": 84,
                            "column": 41
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      "computed": true
                    },
                    {
                      "type": "Identifier",
                      "start": 3536,
                      "end": 3545,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 44
                        },
                        "end": {
                          "line": 84,
                          "column": 53
                        }
                      },
                      "name": "undefined"
                    },
                    {
                      "type": "CallExpression",
                      "start": 3547,
                      "end": 3574,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 55
                        },
                        "end": {
                          "line": 84,
                          "column": 82
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 3547,
                        "end": 3559,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 55
                          },
                          "end": {
                            "line": 84,
                            "column": 67
                          }
                        },
                        "object": {
                          "type": "ArrayExpression",
                          "start": 3547,
                          "end": 3552,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 55
                            },
                            "end": {
                              "line": 84,
                              "column": 60
                            }
                          },
                          "elements": [
                            {
                              "type": "Identifier",
                              "start": 3548,
                              "end": 3551,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 56
                                },
                                "end": {
                                  "line": 84,
                                  "column": 59
                                }
                              },
                              "name": "obj"
                            }
                          ]
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3553,
                          "end": 3559,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 61
                            },
                            "end": {
                              "line": 84,
                              "column": 67
                            }
                          },
                          "name": "concat"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 3560,
                          "end": 3573,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 68
                            },
                            "end": {
                              "line": 84,
                              "column": 81
                            }
                          },
                          "name": "linkedObjects"
                        }
                      ]
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [],
        "trailingComments": []
      },
      "specifiers": null,
      "source": null,
      "leadingComments": null
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 10278,
      "end": 10450,
      "loc": {
        "start": {
          "line": 245,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 2
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 3583,
        "end": 3720,
        "loc": {
          "start": {
            "line": 87,
            "column": 0
          },
          "end": {
            "line": 89,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 3592,
          "end": 3606,
          "loc": {
            "start": {
              "line": 87,
              "column": 9
            },
            "end": {
              "line": 87,
              "column": 23
            }
          },
          "name": "parseToChildOf"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 3607,
            "end": 3610,
            "loc": {
              "start": {
                "line": 87,
                "column": 24
              },
              "end": {
                "line": 87,
                "column": 27
              }
            },
            "name": "obj"
          },
          {
            "type": "RestElement",
            "start": 3612,
            "end": 3628,
            "loc": {
              "start": {
                "line": 87,
                "column": 29
              },
              "end": {
                "line": 87,
                "column": 45
              }
            },
            "argument": {
              "type": "Identifier",
              "start": 3615,
              "end": 3628,
              "loc": {
                "start": {
                  "line": 87,
                  "column": 32
                },
                "end": {
                  "line": 87,
                  "column": 45
                }
              },
              "name": "linkedObjects"
            }
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 3630,
          "end": 3720,
          "loc": {
            "start": {
              "line": 87,
              "column": 47
            },
            "end": {
              "line": 89,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ReturnStatement",
              "start": 3637,
              "end": 3717,
              "loc": {
                "start": {
                  "line": 88,
                  "column": 4
                },
                "end": {
                  "line": 88,
                  "column": 84
                }
              },
              "argument": {
                "type": "ArrowFunctionExpression",
                "start": 3644,
                "end": 3716,
                "loc": {
                  "start": {
                    "line": 88,
                    "column": 11
                  },
                  "end": {
                    "line": 88,
                    "column": 83
                  }
                },
                "id": null,
                "generator": false,
                "expression": true,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3644,
                    "end": 3648,
                    "loc": {
                      "start": {
                        "line": 88,
                        "column": 11
                      },
                      "end": {
                        "line": 88,
                        "column": 15
                      }
                    },
                    "name": "tree"
                  }
                ],
                "body": {
                  "type": "CallExpression",
                  "start": 3652,
                  "end": 3716,
                  "loc": {
                    "start": {
                      "line": 88,
                      "column": 19
                    },
                    "end": {
                      "line": 88,
                      "column": 83
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 3652,
                    "end": 3667,
                    "loc": {
                      "start": {
                        "line": 88,
                        "column": 19
                      },
                      "end": {
                        "line": 88,
                        "column": 34
                      }
                    },
                    "name": "parseObjectTree"
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 3668,
                      "end": 3675,
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 35
                        },
                        "end": {
                          "line": 88,
                          "column": 42
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 3668,
                        "end": 3672,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 35
                          },
                          "end": {
                            "line": 88,
                            "column": 39
                          }
                        },
                        "name": "tree"
                      },
                      "property": {
                        "type": "Literal",
                        "start": 3673,
                        "end": 3674,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 40
                          },
                          "end": {
                            "line": 88,
                            "column": 41
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      "computed": true
                    },
                    {
                      "type": "Identifier",
                      "start": 3677,
                      "end": 3680,
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 44
                        },
                        "end": {
                          "line": 88,
                          "column": 47
                        }
                      },
                      "name": "obj"
                    },
                    {
                      "type": "CallExpression",
                      "start": 3682,
                      "end": 3715,
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 49
                        },
                        "end": {
                          "line": 88,
                          "column": 82
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 3682,
                        "end": 3700,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 49
                          },
                          "end": {
                            "line": 88,
                            "column": 67
                          }
                        },
                        "object": {
                          "type": "ArrayExpression",
                          "start": 3682,
                          "end": 3693,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 49
                            },
                            "end": {
                              "line": 88,
                              "column": 60
                            }
                          },
                          "elements": [
                            {
                              "type": "Identifier",
                              "start": 3683,
                              "end": 3692,
                              "loc": {
                                "start": {
                                  "line": 88,
                                  "column": 50
                                },
                                "end": {
                                  "line": 88,
                                  "column": 59
                                }
                              },
                              "name": "undefined"
                            }
                          ]
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3694,
                          "end": 3700,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 61
                            },
                            "end": {
                              "line": 88,
                              "column": 67
                            }
                          },
                          "name": "concat"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 3701,
                          "end": 3714,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 68
                            },
                            "end": {
                              "line": 88,
                              "column": 81
                            }
                          },
                          "name": "linkedObjects"
                        }
                      ]
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [],
        "trailingComments": []
      },
      "specifiers": null,
      "source": null,
      "leadingComments": null
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 10278,
      "end": 10450,
      "loc": {
        "start": {
          "line": 245,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 2
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 7222,
        "end": 9583,
        "loc": {
          "start": {
            "line": 175,
            "column": 0
          },
          "end": {
            "line": 222,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 7231,
          "end": 7246,
          "loc": {
            "start": {
              "line": 175,
              "column": 9
            },
            "end": {
              "line": 175,
              "column": 24
            }
          },
          "name": "parseObjectTree",
          "leadingComments": null
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 7247,
            "end": 7257,
            "loc": {
              "start": {
                "line": 175,
                "column": 25
              },
              "end": {
                "line": 175,
                "column": 35
              }
            },
            "name": "objectTree"
          },
          {
            "type": "Identifier",
            "start": 7259,
            "end": 7274,
            "loc": {
              "start": {
                "line": 175,
                "column": 37
              },
              "end": {
                "line": 175,
                "column": 52
              }
            },
            "name": "addFirstChildTo"
          },
          {
            "type": "Identifier",
            "start": 7276,
            "end": 7292,
            "loc": {
              "start": {
                "line": 175,
                "column": 54
              },
              "end": {
                "line": 175,
                "column": 70
              }
            },
            "name": "toplevelChildren"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 7294,
          "end": 9583,
          "loc": {
            "start": {
              "line": 175,
              "column": 72
            },
            "end": {
              "line": 222,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 7301,
              "end": 7340,
              "loc": {
                "start": {
                  "line": 176,
                  "column": 4
                },
                "end": {
                  "line": 176,
                  "column": 43
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 7305,
                  "end": 7339,
                  "loc": {
                    "start": {
                      "line": 176,
                      "column": 8
                    },
                    "end": {
                      "line": 176,
                      "column": 42
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 7305,
                    "end": 7319,
                    "loc": {
                      "start": {
                        "line": 176,
                        "column": 8
                      },
                      "end": {
                        "line": 176,
                        "column": 22
                      }
                    },
                    "name": "allObjectsMode"
                  },
                  "init": {
                    "type": "UnaryExpression",
                    "start": 7322,
                    "end": 7339,
                    "loc": {
                      "start": {
                        "line": 176,
                        "column": 25
                      },
                      "end": {
                        "line": 176,
                        "column": 42
                      }
                    },
                    "operator": "!",
                    "prefix": true,
                    "argument": {
                      "type": "Identifier",
                      "start": 7323,
                      "end": 7339,
                      "loc": {
                        "start": {
                          "line": 176,
                          "column": 26
                        },
                        "end": {
                          "line": 176,
                          "column": 42
                        }
                      },
                      "name": "toplevelChildren"
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "ExpressionStatement",
              "start": 7346,
              "end": 7388,
              "loc": {
                "start": {
                  "line": 177,
                  "column": 4
                },
                "end": {
                  "line": 177,
                  "column": 46
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 7346,
                "end": 7387,
                "loc": {
                  "start": {
                    "line": 177,
                    "column": 4
                  },
                  "end": {
                    "line": 177,
                    "column": 45
                  }
                },
                "operator": "=",
                "left": {
                  "type": "Identifier",
                  "start": 7346,
                  "end": 7362,
                  "loc": {
                    "start": {
                      "line": 177,
                      "column": 4
                    },
                    "end": {
                      "line": 177,
                      "column": 20
                    }
                  },
                  "name": "toplevelChildren"
                },
                "right": {
                  "type": "LogicalExpression",
                  "start": 7365,
                  "end": 7387,
                  "loc": {
                    "start": {
                      "line": 177,
                      "column": 23
                    },
                    "end": {
                      "line": 177,
                      "column": 45
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 7365,
                    "end": 7381,
                    "loc": {
                      "start": {
                        "line": 177,
                        "column": 23
                      },
                      "end": {
                        "line": 177,
                        "column": 39
                      }
                    },
                    "name": "toplevelChildren"
                  },
                  "operator": "||",
                  "right": {
                    "type": "ArrayExpression",
                    "start": 7385,
                    "end": 7387,
                    "loc": {
                      "start": {
                        "line": 177,
                        "column": 43
                      },
                      "end": {
                        "line": 177,
                        "column": 45
                      }
                    },
                    "elements": []
                  }
                }
              }
            },
            {
              "type": "VariableDeclaration",
              "start": 7394,
              "end": 7416,
              "loc": {
                "start": {
                  "line": 178,
                  "column": 4
                },
                "end": {
                  "line": 178,
                  "column": 26
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 7398,
                  "end": 7415,
                  "loc": {
                    "start": {
                      "line": 178,
                      "column": 8
                    },
                    "end": {
                      "line": 178,
                      "column": 25
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 7398,
                    "end": 7403,
                    "loc": {
                      "start": {
                        "line": 178,
                        "column": 8
                      },
                      "end": {
                        "line": 178,
                        "column": 13
                      }
                    },
                    "name": "idMap"
                  },
                  "init": {
                    "type": "NewExpression",
                    "start": 7406,
                    "end": 7415,
                    "loc": {
                      "start": {
                        "line": 178,
                        "column": 16
                      },
                      "end": {
                        "line": 178,
                        "column": 25
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 7410,
                      "end": 7413,
                      "loc": {
                        "start": {
                          "line": 178,
                          "column": 20
                        },
                        "end": {
                          "line": 178,
                          "column": 23
                        }
                      },
                      "name": "Map"
                    },
                    "arguments": []
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 7422,
              "end": 7459,
              "loc": {
                "start": {
                  "line": 179,
                  "column": 4
                },
                "end": {
                  "line": 179,
                  "column": 41
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 7426,
                  "end": 7458,
                  "loc": {
                    "start": {
                      "line": 179,
                      "column": 8
                    },
                    "end": {
                      "line": 179,
                      "column": 40
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 7426,
                    "end": 7434,
                    "loc": {
                      "start": {
                        "line": 179,
                        "column": 8
                      },
                      "end": {
                        "line": 179,
                        "column": 16
                      }
                    },
                    "name": "rootNode"
                  },
                  "init": {
                    "type": "MemberExpression",
                    "start": 7437,
                    "end": 7458,
                    "loc": {
                      "start": {
                        "line": 179,
                        "column": 19
                      },
                      "end": {
                        "line": 179,
                        "column": 40
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 7437,
                      "end": 7455,
                      "loc": {
                        "start": {
                          "line": 179,
                          "column": 19
                        },
                        "end": {
                          "line": 179,
                          "column": 37
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 7437,
                        "end": 7447,
                        "loc": {
                          "start": {
                            "line": 179,
                            "column": 19
                          },
                          "end": {
                            "line": 179,
                            "column": 29
                          }
                        },
                        "name": "objectTree"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 7448,
                        "end": 7455,
                        "loc": {
                          "start": {
                            "line": 179,
                            "column": 30
                          },
                          "end": {
                            "line": 179,
                            "column": 37
                          }
                        },
                        "name": "objects"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Literal",
                      "start": 7456,
                      "end": 7457,
                      "loc": {
                        "start": {
                          "line": 179,
                          "column": 38
                        },
                        "end": {
                          "line": 179,
                          "column": 39
                        }
                      },
                      "value": 1,
                      "rawValue": 1,
                      "raw": "1"
                    },
                    "computed": true
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "IfStatement",
              "start": 7465,
              "end": 7576,
              "loc": {
                "start": {
                  "line": 180,
                  "column": 4
                },
                "end": {
                  "line": 181,
                  "column": 73
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 7469,
                "end": 7500,
                "loc": {
                  "start": {
                    "line": 180,
                    "column": 8
                  },
                  "end": {
                    "line": 180,
                    "column": 39
                  }
                },
                "left": {
                  "type": "MemberExpression",
                  "start": 7469,
                  "end": 7483,
                  "loc": {
                    "start": {
                      "line": 180,
                      "column": 8
                    },
                    "end": {
                      "line": 180,
                      "column": 22
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 7469,
                    "end": 7477,
                    "loc": {
                      "start": {
                        "line": 180,
                        "column": 8
                      },
                      "end": {
                        "line": 180,
                        "column": 16
                      }
                    },
                    "name": "rootNode"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 7478,
                    "end": 7483,
                    "loc": {
                      "start": {
                        "line": 180,
                        "column": 17
                      },
                      "end": {
                        "line": 180,
                        "column": 22
                      }
                    },
                    "name": "class"
                  },
                  "computed": false
                },
                "operator": "!==",
                "right": {
                  "type": "Literal",
                  "start": 7488,
                  "end": 7500,
                  "loc": {
                    "start": {
                      "line": 180,
                      "column": 27
                    },
                    "end": {
                      "line": 180,
                      "column": 39
                    }
                  },
                  "value": "AllObjects",
                  "rawValue": "AllObjects",
                  "raw": "'AllObjects'"
                }
              },
              "consequent": {
                "type": "ThrowStatement",
                "start": 7511,
                "end": 7576,
                "loc": {
                  "start": {
                    "line": 181,
                    "column": 8
                  },
                  "end": {
                    "line": 181,
                    "column": 73
                  }
                },
                "argument": {
                  "type": "NewExpression",
                  "start": 7517,
                  "end": 7575,
                  "loc": {
                    "start": {
                      "line": 181,
                      "column": 14
                    },
                    "end": {
                      "line": 181,
                      "column": 72
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 7521,
                    "end": 7526,
                    "loc": {
                      "start": {
                        "line": 181,
                        "column": 18
                      },
                      "end": {
                        "line": 181,
                        "column": 23
                      }
                    },
                    "name": "Error"
                  },
                  "arguments": [
                    {
                      "type": "Literal",
                      "start": 7527,
                      "end": 7574,
                      "loc": {
                        "start": {
                          "line": 181,
                          "column": 24
                        },
                        "end": {
                          "line": 181,
                          "column": 71
                        }
                      },
                      "value": "Bad object tree: AllObjects is not at index 1",
                      "rawValue": "Bad object tree: AllObjects is not at index 1",
                      "raw": "'Bad object tree: AllObjects is not at index 1'"
                    }
                  ]
                }
              },
              "alternate": null
            },
            {
              "type": "IfStatement",
              "start": 7582,
              "end": 7670,
              "loc": {
                "start": {
                  "line": 182,
                  "column": 4
                },
                "end": {
                  "line": 183,
                  "column": 37
                }
              },
              "test": {
                "type": "ThisExpression",
                "start": 7586,
                "end": 7590,
                "loc": {
                  "start": {
                    "line": 182,
                    "column": 8
                  },
                  "end": {
                    "line": 182,
                    "column": 12
                  }
                }
              },
              "consequent": {
                "type": "ExpressionStatement",
                "start": 7641,
                "end": 7670,
                "loc": {
                  "start": {
                    "line": 183,
                    "column": 8
                  },
                  "end": {
                    "line": 183,
                    "column": 37
                  }
                },
                "expression": {
                  "type": "CallExpression",
                  "start": 7641,
                  "end": 7669,
                  "loc": {
                    "start": {
                      "line": 183,
                      "column": 8
                    },
                    "end": {
                      "line": 183,
                      "column": 36
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 7641,
                    "end": 7650,
                    "loc": {
                      "start": {
                        "line": 183,
                        "column": 8
                      },
                      "end": {
                        "line": 183,
                        "column": 17
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 7641,
                      "end": 7646,
                      "loc": {
                        "start": {
                          "line": 183,
                          "column": 8
                        },
                        "end": {
                          "line": 183,
                          "column": 13
                        }
                      },
                      "name": "idMap",
                      "leadingComments": null
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 7647,
                      "end": 7650,
                      "loc": {
                        "start": {
                          "line": 183,
                          "column": 14
                        },
                        "end": {
                          "line": 183,
                          "column": 17
                        }
                      },
                      "name": "set"
                    },
                    "computed": false,
                    "leadingComments": null
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 7651,
                      "end": 7662,
                      "loc": {
                        "start": {
                          "line": 183,
                          "column": 18
                        },
                        "end": {
                          "line": 183,
                          "column": 29
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 7651,
                        "end": 7659,
                        "loc": {
                          "start": {
                            "line": 183,
                            "column": 18
                          },
                          "end": {
                            "line": 183,
                            "column": 26
                          }
                        },
                        "name": "rootNode"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 7660,
                        "end": 7662,
                        "loc": {
                          "start": {
                            "line": 183,
                            "column": 27
                          },
                          "end": {
                            "line": 183,
                            "column": 29
                          }
                        },
                        "name": "id"
                      },
                      "computed": false
                    },
                    {
                      "type": "ThisExpression",
                      "start": 7664,
                      "end": 7668,
                      "loc": {
                        "start": {
                          "line": 183,
                          "column": 31
                        },
                        "end": {
                          "line": 183,
                          "column": 35
                        }
                      }
                    }
                  ],
                  "leadingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentLine",
                    "value": " this (if passed) is a hierarchy root",
                    "start": 7592,
                    "end": 7631,
                    "loc": {
                      "start": {
                        "line": 182,
                        "column": 14
                      },
                      "end": {
                        "line": 182,
                        "column": 53
                      }
                    },
                    "range": [
                      7592,
                      7631
                    ]
                  }
                ]
              },
              "alternate": null
            },
            {
              "type": "ExpressionStatement",
              "start": 7676,
              "end": 8619,
              "loc": {
                "start": {
                  "line": 184,
                  "column": 4
                },
                "end": {
                  "line": 199,
                  "column": 7
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 7676,
                "end": 8618,
                "loc": {
                  "start": {
                    "line": 184,
                    "column": 4
                  },
                  "end": {
                    "line": 199,
                    "column": 6
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 7676,
                  "end": 7702,
                  "loc": {
                    "start": {
                      "line": 184,
                      "column": 4
                    },
                    "end": {
                      "line": 184,
                      "column": 30
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 7676,
                    "end": 7694,
                    "loc": {
                      "start": {
                        "line": 184,
                        "column": 4
                      },
                      "end": {
                        "line": 184,
                        "column": 22
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 7676,
                      "end": 7686,
                      "loc": {
                        "start": {
                          "line": 184,
                          "column": 4
                        },
                        "end": {
                          "line": 184,
                          "column": 14
                        }
                      },
                      "name": "objectTree"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 7687,
                      "end": 7694,
                      "loc": {
                        "start": {
                          "line": 184,
                          "column": 15
                        },
                        "end": {
                          "line": 184,
                          "column": 22
                        }
                      },
                      "name": "objects"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 7695,
                    "end": 7702,
                    "loc": {
                      "start": {
                        "line": 184,
                        "column": 23
                      },
                      "end": {
                        "line": 184,
                        "column": 30
                      }
                    },
                    "name": "forEach"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "ArrowFunctionExpression",
                    "start": 7703,
                    "end": 8617,
                    "loc": {
                      "start": {
                        "line": 184,
                        "column": 31
                      },
                      "end": {
                        "line": 199,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 7703,
                        "end": 7707,
                        "loc": {
                          "start": {
                            "line": 184,
                            "column": 31
                          },
                          "end": {
                            "line": 184,
                            "column": 35
                          }
                        },
                        "name": "node"
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 7711,
                      "end": 8617,
                      "loc": {
                        "start": {
                          "line": 184,
                          "column": 39
                        },
                        "end": {
                          "line": 199,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "VariableDeclaration",
                          "start": 7722,
                          "end": 7792,
                          "loc": {
                            "start": {
                              "line": 185,
                              "column": 8
                            },
                            "end": {
                              "line": 185,
                              "column": 78
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 7726,
                              "end": 7791,
                              "loc": {
                                "start": {
                                  "line": 185,
                                  "column": 12
                                },
                                "end": {
                                  "line": 185,
                                  "column": 77
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 7726,
                                "end": 7731,
                                "loc": {
                                  "start": {
                                    "line": 185,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 185,
                                    "column": 17
                                  }
                                },
                                "name": "klass"
                              },
                              "init": {
                                "type": "LogicalExpression",
                                "start": 7734,
                                "end": 7791,
                                "loc": {
                                  "start": {
                                    "line": 185,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 185,
                                    "column": 77
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 7734,
                                  "end": 7773,
                                  "loc": {
                                    "start": {
                                      "line": 185,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 185,
                                      "column": 59
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 7734,
                                    "end": 7761,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 47
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 7734,
                                      "end": 7748,
                                      "loc": {
                                        "start": {
                                          "line": 185,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 185,
                                          "column": 34
                                        }
                                      },
                                      "name": "ClassCadObject"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7749,
                                      "end": 7761,
                                      "loc": {
                                        "start": {
                                          "line": 185,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 185,
                                          "column": 47
                                        }
                                      },
                                      "name": "classMapping"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "MemberExpression",
                                    "start": 7762,
                                    "end": 7772,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 58
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 7762,
                                      "end": 7766,
                                      "loc": {
                                        "start": {
                                          "line": 185,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 185,
                                          "column": 52
                                        }
                                      },
                                      "name": "node"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7767,
                                      "end": 7772,
                                      "loc": {
                                        "start": {
                                          "line": 185,
                                          "column": 53
                                        },
                                        "end": {
                                          "line": 185,
                                          "column": 58
                                        }
                                      },
                                      "name": "class"
                                    },
                                    "computed": false
                                  },
                                  "computed": true
                                },
                                "operator": "||",
                                "right": {
                                  "type": "Identifier",
                                  "start": 7777,
                                  "end": 7791,
                                  "loc": {
                                    "start": {
                                      "line": 185,
                                      "column": 63
                                    },
                                    "end": {
                                      "line": 185,
                                      "column": 77
                                    }
                                  },
                                  "name": "ClassCadObject"
                                }
                              }
                            }
                          ],
                          "kind": "var",
                          "trailingComments": [
                            {
                              "type": "CommentLine",
                              "value": " if objects exists in the hierarhcy, reuse it, otherwise create a brand new object",
                              "start": 7802,
                              "end": 7886,
                              "loc": {
                                "start": {
                                  "line": 186,
                                  "column": 8
                                },
                                "end": {
                                  "line": 186,
                                  "column": 92
                                }
                              },
                              "range": [
                                7802,
                                7886
                              ]
                            }
                          ]
                        },
                        {
                          "type": "VariableDeclaration",
                          "start": 7896,
                          "end": 7963,
                          "loc": {
                            "start": {
                              "line": 187,
                              "column": 8
                            },
                            "end": {
                              "line": 187,
                              "column": 75
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 7900,
                              "end": 7962,
                              "loc": {
                                "start": {
                                  "line": 187,
                                  "column": 12
                                },
                                "end": {
                                  "line": 187,
                                  "column": 74
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 7900,
                                "end": 7906,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 18
                                  }
                                },
                                "name": "object",
                                "leadingComments": null
                              },
                              "init": {
                                "type": "ConditionalExpression",
                                "start": 7909,
                                "end": 7962,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 74
                                  }
                                },
                                "test": {
                                  "type": "CallExpression",
                                  "start": 7909,
                                  "end": 7927,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 39
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 7909,
                                    "end": 7918,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 30
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 7909,
                                      "end": 7914,
                                      "loc": {
                                        "start": {
                                          "line": 187,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 187,
                                          "column": 26
                                        }
                                      },
                                      "name": "idMap"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7915,
                                      "end": 7918,
                                      "loc": {
                                        "start": {
                                          "line": 187,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 187,
                                          "column": 30
                                        }
                                      },
                                      "name": "has"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 7919,
                                      "end": 7926,
                                      "loc": {
                                        "start": {
                                          "line": 187,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 187,
                                          "column": 38
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 7919,
                                        "end": 7923,
                                        "loc": {
                                          "start": {
                                            "line": 187,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 187,
                                            "column": 35
                                          }
                                        },
                                        "name": "node"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7924,
                                        "end": 7926,
                                        "loc": {
                                          "start": {
                                            "line": 187,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 187,
                                            "column": 38
                                          }
                                        },
                                        "name": "id"
                                      },
                                      "computed": false
                                    }
                                  ]
                                },
                                "consequent": {
                                  "type": "CallExpression",
                                  "start": 7930,
                                  "end": 7948,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 60
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 7930,
                                    "end": 7939,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 51
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 7930,
                                      "end": 7935,
                                      "loc": {
                                        "start": {
                                          "line": 187,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 187,
                                          "column": 47
                                        }
                                      },
                                      "name": "idMap"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7936,
                                      "end": 7939,
                                      "loc": {
                                        "start": {
                                          "line": 187,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 187,
                                          "column": 51
                                        }
                                      },
                                      "name": "get"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 7940,
                                      "end": 7947,
                                      "loc": {
                                        "start": {
                                          "line": 187,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 187,
                                          "column": 59
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 7940,
                                        "end": 7944,
                                        "loc": {
                                          "start": {
                                            "line": 187,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 187,
                                            "column": 56
                                          }
                                        },
                                        "name": "node"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7945,
                                        "end": 7947,
                                        "loc": {
                                          "start": {
                                            "line": 187,
                                            "column": 57
                                          },
                                          "end": {
                                            "line": 187,
                                            "column": 59
                                          }
                                        },
                                        "name": "id"
                                      },
                                      "computed": false
                                    }
                                  ]
                                },
                                "alternate": {
                                  "type": "NewExpression",
                                  "start": 7951,
                                  "end": 7962,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 63
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 74
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 7955,
                                    "end": 7960,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 67
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 72
                                      }
                                    },
                                    "name": "klass"
                                  },
                                  "arguments": []
                                }
                              },
                              "leadingComments": null
                            }
                          ],
                          "kind": "var",
                          "leadingComments": [
                            {
                              "type": "CommentLine",
                              "value": " if objects exists in the hierarhcy, reuse it, otherwise create a brand new object",
                              "start": 7802,
                              "end": 7886,
                              "loc": {
                                "start": {
                                  "line": 186,
                                  "column": 8
                                },
                                "end": {
                                  "line": 186,
                                  "column": 92
                                }
                              },
                              "range": [
                                7802,
                                7886
                              ]
                            }
                          ]
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 7973,
                          "end": 8000,
                          "loc": {
                            "start": {
                              "line": 188,
                              "column": 8
                            },
                            "end": {
                              "line": 188,
                              "column": 35
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 7973,
                            "end": 7999,
                            "loc": {
                              "start": {
                                "line": 188,
                                "column": 8
                              },
                              "end": {
                                "line": 188,
                                "column": 34
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 7973,
                              "end": 7982,
                              "loc": {
                                "start": {
                                  "line": 188,
                                  "column": 8
                                },
                                "end": {
                                  "line": 188,
                                  "column": 17
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7973,
                                "end": 7978,
                                "loc": {
                                  "start": {
                                    "line": 188,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 188,
                                    "column": 13
                                  }
                                },
                                "name": "idMap"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7979,
                                "end": 7982,
                                "loc": {
                                  "start": {
                                    "line": 188,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 188,
                                    "column": 17
                                  }
                                },
                                "name": "set"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 7983,
                                "end": 7990,
                                "loc": {
                                  "start": {
                                    "line": 188,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 188,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 7983,
                                  "end": 7987,
                                  "loc": {
                                    "start": {
                                      "line": 188,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 188,
                                      "column": 22
                                    }
                                  },
                                  "name": "node"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7988,
                                  "end": 7990,
                                  "loc": {
                                    "start": {
                                      "line": 188,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 188,
                                      "column": 25
                                    }
                                  },
                                  "name": "id"
                                },
                                "computed": false
                              },
                              {
                                "type": "Identifier",
                                "start": 7992,
                                "end": 7998,
                                "loc": {
                                  "start": {
                                    "line": 188,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 188,
                                    "column": 33
                                  }
                                },
                                "name": "object"
                              }
                            ]
                          },
                          "trailingComments": [
                            {
                              "type": "CommentLine",
                              "value": " add entries about existing members to idMap because they will be needed on next iterations",
                              "start": 8010,
                              "end": 8103,
                              "loc": {
                                "start": {
                                  "line": 189,
                                  "column": 8
                                },
                                "end": {
                                  "line": 189,
                                  "column": 101
                                }
                              },
                              "range": [
                                8010,
                                8103
                              ]
                            }
                          ]
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 8113,
                          "end": 8569,
                          "loc": {
                            "start": {
                              "line": 190,
                              "column": 8
                            },
                            "end": {
                              "line": 197,
                              "column": 11
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 8113,
                            "end": 8568,
                            "loc": {
                              "start": {
                                "line": 190,
                                "column": 8
                              },
                              "end": {
                                "line": 197,
                                "column": 10
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8113,
                              "end": 8182,
                              "loc": {
                                "start": {
                                  "line": 190,
                                  "column": 8
                                },
                                "end": {
                                  "line": 190,
                                  "column": 77
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 8113,
                                "end": 8174,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 69
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 8113,
                                  "end": 8138,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "LogicalExpression",
                                    "start": 8114,
                                    "end": 8130,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 9
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 25
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 8114,
                                      "end": 8126,
                                      "loc": {
                                        "start": {
                                          "line": 190,
                                          "column": 9
                                        },
                                        "end": {
                                          "line": 190,
                                          "column": 21
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 8114,
                                        "end": 8118,
                                        "loc": {
                                          "start": {
                                            "line": 190,
                                            "column": 9
                                          },
                                          "end": {
                                            "line": 190,
                                            "column": 13
                                          }
                                        },
                                        "name": "node",
                                        "leadingComments": null
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8119,
                                        "end": 8126,
                                        "loc": {
                                          "start": {
                                            "line": 190,
                                            "column": 14
                                          },
                                          "end": {
                                            "line": 190,
                                            "column": 21
                                          }
                                        },
                                        "name": "members"
                                      },
                                      "computed": false,
                                      "leadingComments": null
                                    },
                                    "operator": "||",
                                    "right": {
                                      "type": "ArrayExpression",
                                      "start": 8128,
                                      "end": 8130,
                                      "loc": {
                                        "start": {
                                          "line": 190,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 190,
                                          "column": 25
                                        }
                                      },
                                      "elements": []
                                    },
                                    "leadingComments": null,
                                    "parenthesizedExpression": true
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8132,
                                    "end": 8138,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 33
                                      }
                                    },
                                    "name": "filter"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "arguments": [
                                  {
                                    "type": "ArrowFunctionExpression",
                                    "start": 8139,
                                    "end": 8173,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 68
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": true,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 8139,
                                        "end": 8149,
                                        "loc": {
                                          "start": {
                                            "line": 190,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 190,
                                            "column": 44
                                          }
                                        },
                                        "name": "memberNode"
                                      }
                                    ],
                                    "body": {
                                      "type": "MemberExpression",
                                      "start": 8153,
                                      "end": 8173,
                                      "loc": {
                                        "start": {
                                          "line": 190,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 190,
                                          "column": 68
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 8153,
                                        "end": 8163,
                                        "loc": {
                                          "start": {
                                            "line": 190,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 190,
                                            "column": 58
                                          }
                                        },
                                        "name": "memberNode"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8164,
                                        "end": 8173,
                                        "loc": {
                                          "start": {
                                            "line": 190,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 190,
                                            "column": 68
                                          }
                                        },
                                        "name": "objectMem"
                                      },
                                      "computed": false
                                    }
                                  }
                                ],
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8175,
                                "end": 8182,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 70
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 77
                                  }
                                },
                                "name": "forEach"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 8183,
                                "end": 8567,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 78
                                  },
                                  "end": {
                                    "line": 197,
                                    "column": 9
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 8184,
                                    "end": 8194,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 79
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 89
                                      }
                                    },
                                    "name": "memberNode"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 8196,
                                    "end": 8207,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 91
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 102
                                      }
                                    },
                                    "name": "memberIndex"
                                  }
                                ],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 8212,
                                  "end": 8567,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 107
                                    },
                                    "end": {
                                      "line": 197,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 8304,
                                      "end": 8380,
                                      "loc": {
                                        "start": {
                                          "line": 192,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 192,
                                          "column": 88
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 8308,
                                          "end": 8379,
                                          "loc": {
                                            "start": {
                                              "line": 192,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 192,
                                              "column": 87
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 8308,
                                            "end": 8313,
                                            "loc": {
                                              "start": {
                                                "line": 192,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 192,
                                                "column": 21
                                              }
                                            },
                                            "name": "child",
                                            "leadingComments": null
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "start": 8316,
                                            "end": 8379,
                                            "loc": {
                                              "start": {
                                                "line": 192,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 192,
                                                "column": 87
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 8316,
                                              "end": 8336,
                                              "loc": {
                                                "start": {
                                                  "line": 192,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 192,
                                                  "column": 44
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 8316,
                                                "end": 8331,
                                                "loc": {
                                                  "start": {
                                                    "line": 192,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 192,
                                                    "column": 39
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 8316,
                                                  "end": 8322,
                                                  "loc": {
                                                    "start": {
                                                      "line": 192,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 192,
                                                      "column": 30
                                                    }
                                                  },
                                                  "name": "object"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 8323,
                                                  "end": 8331,
                                                  "loc": {
                                                    "start": {
                                                      "line": 192,
                                                      "column": 31
                                                    },
                                                    "end": {
                                                      "line": 192,
                                                      "column": 39
                                                    }
                                                  },
                                                  "name": "children"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 8332,
                                                "end": 8336,
                                                "loc": {
                                                  "start": {
                                                    "line": 192,
                                                    "column": 40
                                                  },
                                                  "end": {
                                                    "line": 192,
                                                    "column": 44
                                                  }
                                                },
                                                "name": "find"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "ArrowFunctionExpression",
                                                "start": 8337,
                                                "end": 8378,
                                                "loc": {
                                                  "start": {
                                                    "line": 192,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 192,
                                                    "column": 86
                                                  }
                                                },
                                                "id": null,
                                                "generator": false,
                                                "expression": true,
                                                "async": false,
                                                "params": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 8337,
                                                    "end": 8338,
                                                    "loc": {
                                                      "start": {
                                                        "line": 192,
                                                        "column": 45
                                                      },
                                                      "end": {
                                                        "line": 192,
                                                        "column": 46
                                                      }
                                                    },
                                                    "name": "c"
                                                  }
                                                ],
                                                "body": {
                                                  "type": "BinaryExpression",
                                                  "start": 8342,
                                                  "end": 8378,
                                                  "loc": {
                                                    "start": {
                                                      "line": 192,
                                                      "column": 50
                                                    },
                                                    "end": {
                                                      "line": 192,
                                                      "column": 86
                                                    }
                                                  },
                                                  "left": {
                                                    "type": "MemberExpression",
                                                    "start": 8342,
                                                    "end": 8348,
                                                    "loc": {
                                                      "start": {
                                                        "line": 192,
                                                        "column": 50
                                                      },
                                                      "end": {
                                                        "line": 192,
                                                        "column": 56
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 8342,
                                                      "end": 8343,
                                                      "loc": {
                                                        "start": {
                                                          "line": 192,
                                                          "column": 50
                                                        },
                                                        "end": {
                                                          "line": 192,
                                                          "column": 51
                                                        }
                                                      },
                                                      "name": "c"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 8344,
                                                      "end": 8348,
                                                      "loc": {
                                                        "start": {
                                                          "line": 192,
                                                          "column": 52
                                                        },
                                                        "end": {
                                                          "line": 192,
                                                          "column": 56
                                                        }
                                                      },
                                                      "name": "name"
                                                    },
                                                    "computed": false
                                                  },
                                                  "operator": "===",
                                                  "right": {
                                                    "type": "MemberExpression",
                                                    "start": 8353,
                                                    "end": 8378,
                                                    "loc": {
                                                      "start": {
                                                        "line": 192,
                                                        "column": 61
                                                      },
                                                      "end": {
                                                        "line": 192,
                                                        "column": 86
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "start": 8353,
                                                      "end": 8373,
                                                      "loc": {
                                                        "start": {
                                                          "line": 192,
                                                          "column": 61
                                                        },
                                                        "end": {
                                                          "line": 192,
                                                          "column": 81
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 8353,
                                                        "end": 8363,
                                                        "loc": {
                                                          "start": {
                                                            "line": 192,
                                                            "column": 61
                                                          },
                                                          "end": {
                                                            "line": 192,
                                                            "column": 71
                                                          }
                                                        },
                                                        "name": "memberNode"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 8364,
                                                        "end": 8373,
                                                        "loc": {
                                                          "start": {
                                                            "line": 192,
                                                            "column": 72
                                                          },
                                                          "end": {
                                                            "line": 192,
                                                            "column": 81
                                                          }
                                                        },
                                                        "name": "objectMem"
                                                      },
                                                      "computed": false
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 8374,
                                                      "end": 8378,
                                                      "loc": {
                                                        "start": {
                                                          "line": 192,
                                                          "column": 82
                                                        },
                                                        "end": {
                                                          "line": 192,
                                                          "column": 86
                                                        }
                                                      },
                                                      "name": "name"
                                                    },
                                                    "computed": false
                                                  }
                                                }
                                              }
                                            ]
                                          },
                                          "leadingComments": null
                                        }
                                      ],
                                      "kind": "var",
                                      "leadingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": " for toplevel, use toplevelChildren, else find member by name",
                                          "start": 8227,
                                          "end": 8290,
                                          "loc": {
                                            "start": {
                                              "line": 191,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 191,
                                              "column": 75
                                            }
                                          },
                                          "range": [
                                            8227,
                                            8290
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 8394,
                                      "end": 8472,
                                      "loc": {
                                        "start": {
                                          "line": 193,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 194,
                                          "column": 54
                                        }
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "start": 8398,
                                        "end": 8415,
                                        "loc": {
                                          "start": {
                                            "line": 193,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 193,
                                            "column": 33
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 8398,
                                          "end": 8402,
                                          "loc": {
                                            "start": {
                                              "line": 193,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 193,
                                              "column": 20
                                            }
                                          },
                                          "name": "node"
                                        },
                                        "operator": "===",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 8407,
                                          "end": 8415,
                                          "loc": {
                                            "start": {
                                              "line": 193,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 193,
                                              "column": 33
                                            }
                                          },
                                          "name": "rootNode"
                                        }
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 8434,
                                        "end": 8472,
                                        "loc": {
                                          "start": {
                                            "line": 194,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 194,
                                            "column": 54
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 8434,
                                          "end": 8471,
                                          "loc": {
                                            "start": {
                                              "line": 194,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 194,
                                              "column": 53
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 8434,
                                            "end": 8439,
                                            "loc": {
                                              "start": {
                                                "line": 194,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 194,
                                                "column": 21
                                              }
                                            },
                                            "name": "child"
                                          },
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 8442,
                                            "end": 8471,
                                            "loc": {
                                              "start": {
                                                "line": 194,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 194,
                                                "column": 53
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 8442,
                                              "end": 8458,
                                              "loc": {
                                                "start": {
                                                  "line": 194,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 194,
                                                  "column": 40
                                                }
                                              },
                                              "name": "toplevelChildren"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 8459,
                                              "end": 8470,
                                              "loc": {
                                                "start": {
                                                  "line": 194,
                                                  "column": 41
                                                },
                                                "end": {
                                                  "line": 194,
                                                  "column": 52
                                                }
                                              },
                                              "name": "memberIndex"
                                            },
                                            "computed": true
                                          }
                                        }
                                      },
                                      "alternate": null
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 8486,
                                      "end": 8556,
                                      "loc": {
                                        "start": {
                                          "line": 195,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 196,
                                          "column": 58
                                        }
                                      },
                                      "test": {
                                        "type": "Identifier",
                                        "start": 8490,
                                        "end": 8495,
                                        "loc": {
                                          "start": {
                                            "line": 195,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 195,
                                            "column": 21
                                          }
                                        },
                                        "name": "child"
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 8514,
                                        "end": 8556,
                                        "loc": {
                                          "start": {
                                            "line": 196,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 196,
                                            "column": 58
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 8514,
                                          "end": 8555,
                                          "loc": {
                                            "start": {
                                              "line": 196,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 196,
                                              "column": 57
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 8514,
                                            "end": 8523,
                                            "loc": {
                                              "start": {
                                                "line": 196,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 196,
                                                "column": 25
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 8514,
                                              "end": 8519,
                                              "loc": {
                                                "start": {
                                                  "line": 196,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 196,
                                                  "column": 21
                                                }
                                              },
                                              "name": "idMap"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 8520,
                                              "end": 8523,
                                              "loc": {
                                                "start": {
                                                  "line": 196,
                                                  "column": 22
                                                },
                                                "end": {
                                                  "line": 196,
                                                  "column": 25
                                                }
                                              },
                                              "name": "set"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "MemberExpression",
                                              "start": 8524,
                                              "end": 8547,
                                              "loc": {
                                                "start": {
                                                  "line": 196,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 196,
                                                  "column": 49
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 8524,
                                                "end": 8544,
                                                "loc": {
                                                  "start": {
                                                    "line": 196,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 196,
                                                    "column": 46
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 8524,
                                                  "end": 8534,
                                                  "loc": {
                                                    "start": {
                                                      "line": 196,
                                                      "column": 26
                                                    },
                                                    "end": {
                                                      "line": 196,
                                                      "column": 36
                                                    }
                                                  },
                                                  "name": "memberNode"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 8535,
                                                  "end": 8544,
                                                  "loc": {
                                                    "start": {
                                                      "line": 196,
                                                      "column": 37
                                                    },
                                                    "end": {
                                                      "line": 196,
                                                      "column": 46
                                                    }
                                                  },
                                                  "name": "objectMem"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 8545,
                                                "end": 8547,
                                                "loc": {
                                                  "start": {
                                                    "line": 196,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 196,
                                                    "column": 49
                                                  }
                                                },
                                                "name": "id"
                                              },
                                              "computed": false
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 8549,
                                              "end": 8554,
                                              "loc": {
                                                "start": {
                                                  "line": 196,
                                                  "column": 51
                                                },
                                                "end": {
                                                  "line": 196,
                                                  "column": 56
                                                }
                                              },
                                              "name": "child"
                                            }
                                          ]
                                        }
                                      },
                                      "alternate": null
                                    }
                                  ]
                                }
                              }
                            ],
                            "leadingComments": null
                          },
                          "leadingComments": [
                            {
                              "type": "CommentLine",
                              "value": " add entries about existing members to idMap because they will be needed on next iterations",
                              "start": 8010,
                              "end": 8103,
                              "loc": {
                                "start": {
                                  "line": 189,
                                  "column": 8
                                },
                                "end": {
                                  "line": 189,
                                  "column": 101
                                }
                              },
                              "range": [
                                8010,
                                8103
                              ]
                            }
                          ]
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 8579,
                          "end": 8610,
                          "loc": {
                            "start": {
                              "line": 198,
                              "column": 8
                            },
                            "end": {
                              "line": 198,
                              "column": 39
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 8579,
                            "end": 8609,
                            "loc": {
                              "start": {
                                "line": 198,
                                "column": 8
                              },
                              "end": {
                                "line": 198,
                                "column": 38
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8579,
                              "end": 8603,
                              "loc": {
                                "start": {
                                  "line": 198,
                                  "column": 8
                                },
                                "end": {
                                  "line": 198,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8579,
                                "end": 8585,
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 198,
                                    "column": 14
                                  }
                                },
                                "name": "object"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8586,
                                "end": 8603,
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 198,
                                    "column": 32
                                  }
                                },
                                "name": "setFromObjectTree"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 8604,
                                "end": 8608,
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 198,
                                    "column": 37
                                  }
                                },
                                "name": "node"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            },
            {
              "type": "VariableDeclaration",
              "start": 8625,
              "end": 8640,
              "loc": {
                "start": {
                  "line": 200,
                  "column": 4
                },
                "end": {
                  "line": 200,
                  "column": 19
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 8629,
                  "end": 8639,
                  "loc": {
                    "start": {
                      "line": 200,
                      "column": 8
                    },
                    "end": {
                      "line": 200,
                      "column": 18
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 8629,
                    "end": 8639,
                    "loc": {
                      "start": {
                        "line": 200,
                        "column": 8
                      },
                      "end": {
                        "line": 200,
                        "column": 18
                      }
                    },
                    "name": "firstChild"
                  },
                  "init": null
                }
              ],
              "kind": "var"
            },
            {
              "type": "ExpressionStatement",
              "start": 8646,
              "end": 9258,
              "loc": {
                "start": {
                  "line": 201,
                  "column": 4
                },
                "end": {
                  "line": 213,
                  "column": 7
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 8646,
                "end": 9257,
                "loc": {
                  "start": {
                    "line": 201,
                    "column": 4
                  },
                  "end": {
                    "line": 213,
                    "column": 6
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 8646,
                  "end": 8672,
                  "loc": {
                    "start": {
                      "line": 201,
                      "column": 4
                    },
                    "end": {
                      "line": 201,
                      "column": 30
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 8646,
                    "end": 8664,
                    "loc": {
                      "start": {
                        "line": 201,
                        "column": 4
                      },
                      "end": {
                        "line": 201,
                        "column": 22
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 8646,
                      "end": 8656,
                      "loc": {
                        "start": {
                          "line": 201,
                          "column": 4
                        },
                        "end": {
                          "line": 201,
                          "column": 14
                        }
                      },
                      "name": "objectTree"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 8657,
                      "end": 8664,
                      "loc": {
                        "start": {
                          "line": 201,
                          "column": 15
                        },
                        "end": {
                          "line": 201,
                          "column": 22
                        }
                      },
                      "name": "objects"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 8665,
                    "end": 8672,
                    "loc": {
                      "start": {
                        "line": 201,
                        "column": 23
                      },
                      "end": {
                        "line": 201,
                        "column": 30
                      }
                    },
                    "name": "forEach"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "ArrowFunctionExpression",
                    "start": 8673,
                    "end": 9256,
                    "loc": {
                      "start": {
                        "line": 201,
                        "column": 31
                      },
                      "end": {
                        "line": 213,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 8673,
                        "end": 8677,
                        "loc": {
                          "start": {
                            "line": 201,
                            "column": 31
                          },
                          "end": {
                            "line": 201,
                            "column": 35
                          }
                        },
                        "name": "node"
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 8681,
                      "end": 9256,
                      "loc": {
                        "start": {
                          "line": 201,
                          "column": 39
                        },
                        "end": {
                          "line": 213,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "IfStatement",
                          "start": 8692,
                          "end": 8724,
                          "loc": {
                            "start": {
                              "line": 202,
                              "column": 8
                            },
                            "end": {
                              "line": 202,
                              "column": 40
                            }
                          },
                          "test": {
                            "type": "UnaryExpression",
                            "start": 8696,
                            "end": 8715,
                            "loc": {
                              "start": {
                                "line": 202,
                                "column": 12
                              },
                              "end": {
                                "line": 202,
                                "column": 31
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "CallExpression",
                              "start": 8697,
                              "end": 8715,
                              "loc": {
                                "start": {
                                  "line": 202,
                                  "column": 13
                                },
                                "end": {
                                  "line": 202,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8697,
                                "end": 8706,
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8697,
                                  "end": 8702,
                                  "loc": {
                                    "start": {
                                      "line": 202,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 202,
                                      "column": 18
                                    }
                                  },
                                  "name": "idMap"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8703,
                                  "end": 8706,
                                  "loc": {
                                    "start": {
                                      "line": 202,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 202,
                                      "column": 22
                                    }
                                  },
                                  "name": "has"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 8707,
                                  "end": 8714,
                                  "loc": {
                                    "start": {
                                      "line": 202,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 202,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8707,
                                    "end": 8711,
                                    "loc": {
                                      "start": {
                                        "line": 202,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 202,
                                        "column": 27
                                      }
                                    },
                                    "name": "node"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8712,
                                    "end": 8714,
                                    "loc": {
                                      "start": {
                                        "line": 202,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 202,
                                        "column": 30
                                      }
                                    },
                                    "name": "id"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          "consequent": {
                            "type": "ReturnStatement",
                            "start": 8717,
                            "end": 8724,
                            "loc": {
                              "start": {
                                "line": 202,
                                "column": 33
                              },
                              "end": {
                                "line": 202,
                                "column": 40
                              }
                            },
                            "argument": null
                          },
                          "alternate": null
                        },
                        {
                          "type": "VariableDeclaration",
                          "start": 8734,
                          "end": 8766,
                          "loc": {
                            "start": {
                              "line": 203,
                              "column": 8
                            },
                            "end": {
                              "line": 203,
                              "column": 40
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 8738,
                              "end": 8765,
                              "loc": {
                                "start": {
                                  "line": 203,
                                  "column": 12
                                },
                                "end": {
                                  "line": 203,
                                  "column": 39
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 8738,
                                "end": 8744,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 18
                                  }
                                },
                                "name": "object"
                              },
                              "init": {
                                "type": "CallExpression",
                                "start": 8747,
                                "end": 8765,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 39
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 8747,
                                  "end": 8756,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8747,
                                    "end": 8752,
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 26
                                      }
                                    },
                                    "name": "idMap"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8753,
                                    "end": 8756,
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 30
                                      }
                                    },
                                    "name": "get"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 8757,
                                    "end": 8764,
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 38
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 8757,
                                      "end": 8761,
                                      "loc": {
                                        "start": {
                                          "line": 203,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 203,
                                          "column": 35
                                        }
                                      },
                                      "name": "node"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 8762,
                                      "end": 8764,
                                      "loc": {
                                        "start": {
                                          "line": 203,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 203,
                                          "column": 38
                                        }
                                      },
                                      "name": "id"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          ],
                          "kind": "var"
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 8776,
                          "end": 9205,
                          "loc": {
                            "start": {
                              "line": 204,
                              "column": 8
                            },
                            "end": {
                              "line": 211,
                              "column": 11
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 8776,
                            "end": 9204,
                            "loc": {
                              "start": {
                                "line": 204,
                                "column": 8
                              },
                              "end": {
                                "line": 211,
                                "column": 10
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8776,
                              "end": 8802,
                              "loc": {
                                "start": {
                                  "line": 204,
                                  "column": 8
                                },
                                "end": {
                                  "line": 204,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "LogicalExpression",
                                "start": 8777,
                                "end": 8793,
                                "loc": {
                                  "start": {
                                    "line": 204,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 204,
                                    "column": 25
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 8777,
                                  "end": 8789,
                                  "loc": {
                                    "start": {
                                      "line": 204,
                                      "column": 9
                                    },
                                    "end": {
                                      "line": 204,
                                      "column": 21
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8777,
                                    "end": 8781,
                                    "loc": {
                                      "start": {
                                        "line": 204,
                                        "column": 9
                                      },
                                      "end": {
                                        "line": 204,
                                        "column": 13
                                      }
                                    },
                                    "name": "node"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8782,
                                    "end": 8789,
                                    "loc": {
                                      "start": {
                                        "line": 204,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 204,
                                        "column": 21
                                      }
                                    },
                                    "name": "members"
                                  },
                                  "computed": false
                                },
                                "operator": "||",
                                "right": {
                                  "type": "ArrayExpression",
                                  "start": 8791,
                                  "end": 8793,
                                  "loc": {
                                    "start": {
                                      "line": 204,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 204,
                                      "column": 25
                                    }
                                  },
                                  "elements": []
                                },
                                "parenthesizedExpression": true
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8795,
                                "end": 8802,
                                "loc": {
                                  "start": {
                                    "line": 204,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 204,
                                    "column": 34
                                  }
                                },
                                "name": "forEach"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 8803,
                                "end": 9203,
                                "loc": {
                                  "start": {
                                    "line": 204,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 211,
                                    "column": 9
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 8803,
                                    "end": 8813,
                                    "loc": {
                                      "start": {
                                        "line": 204,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 204,
                                        "column": 45
                                      }
                                    },
                                    "name": "memberNode"
                                  }
                                ],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 8817,
                                  "end": 9203,
                                  "loc": {
                                    "start": {
                                      "line": 204,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 211,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 8832,
                                      "end": 8876,
                                      "loc": {
                                        "start": {
                                          "line": 205,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 205,
                                          "column": 56
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 8836,
                                          "end": 8875,
                                          "loc": {
                                            "start": {
                                              "line": 205,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 205,
                                              "column": 55
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 8836,
                                            "end": 8842,
                                            "loc": {
                                              "start": {
                                                "line": 205,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 205,
                                                "column": 22
                                              }
                                            },
                                            "name": "member"
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "start": 8845,
                                            "end": 8875,
                                            "loc": {
                                              "start": {
                                                "line": 205,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 205,
                                                "column": 55
                                              }
                                            },
                                            "callee": {
                                              "type": "Identifier",
                                              "start": 8845,
                                              "end": 8856,
                                              "loc": {
                                                "start": {
                                                  "line": 205,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 205,
                                                  "column": 36
                                                }
                                              },
                                              "name": "parseMember"
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 8857,
                                                "end": 8867,
                                                "loc": {
                                                  "start": {
                                                    "line": 205,
                                                    "column": 37
                                                  },
                                                  "end": {
                                                    "line": 205,
                                                    "column": 47
                                                  }
                                                },
                                                "name": "memberNode"
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 8869,
                                                "end": 8874,
                                                "loc": {
                                                  "start": {
                                                    "line": 205,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 205,
                                                    "column": 54
                                                  }
                                                },
                                                "name": "idMap"
                                              }
                                            ]
                                          }
                                        }
                                      ],
                                      "kind": "var",
                                      "trailingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": " don't add toplevelChildren to AllObjects as members unless we are parsing all tree",
                                          "start": 8890,
                                          "end": 8975,
                                          "loc": {
                                            "start": {
                                              "line": 206,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 206,
                                              "column": 97
                                            }
                                          },
                                          "range": [
                                            8890,
                                            8975
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 8989,
                                      "end": 9090,
                                      "loc": {
                                        "start": {
                                          "line": 207,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 208,
                                          "column": 47
                                        }
                                      },
                                      "test": {
                                        "type": "LogicalExpression",
                                        "start": 8993,
                                        "end": 9040,
                                        "loc": {
                                          "start": {
                                            "line": 207,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 207,
                                            "column": 63
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 8993,
                                          "end": 8999,
                                          "loc": {
                                            "start": {
                                              "line": 207,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 207,
                                              "column": 22
                                            }
                                          },
                                          "name": "member",
                                          "leadingComments": null
                                        },
                                        "operator": "&&",
                                        "right": {
                                          "type": "LogicalExpression",
                                          "start": 9004,
                                          "end": 9039,
                                          "loc": {
                                            "start": {
                                              "line": 207,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 207,
                                              "column": 62
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 9004,
                                            "end": 9018,
                                            "loc": {
                                              "start": {
                                                "line": 207,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 207,
                                                "column": 41
                                              }
                                            },
                                            "name": "allObjectsMode"
                                          },
                                          "operator": "||",
                                          "right": {
                                            "type": "BinaryExpression",
                                            "start": 9022,
                                            "end": 9039,
                                            "loc": {
                                              "start": {
                                                "line": 207,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 207,
                                                "column": 62
                                              }
                                            },
                                            "left": {
                                              "type": "Identifier",
                                              "start": 9022,
                                              "end": 9026,
                                              "loc": {
                                                "start": {
                                                  "line": 207,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 207,
                                                  "column": 49
                                                }
                                              },
                                              "name": "node"
                                            },
                                            "operator": "!==",
                                            "right": {
                                              "type": "Identifier",
                                              "start": 9031,
                                              "end": 9039,
                                              "loc": {
                                                "start": {
                                                  "line": 207,
                                                  "column": 54
                                                },
                                                "end": {
                                                  "line": 207,
                                                  "column": 62
                                                }
                                              },
                                              "name": "rootNode"
                                            }
                                          },
                                          "parenthesizedExpression": true
                                        },
                                        "leadingComments": null
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 9059,
                                        "end": 9090,
                                        "loc": {
                                          "start": {
                                            "line": 208,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 208,
                                            "column": 47
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 9059,
                                          "end": 9089,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 46
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 9059,
                                            "end": 9075,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 32
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 9059,
                                              "end": 9065,
                                              "loc": {
                                                "start": {
                                                  "line": 208,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 208,
                                                  "column": 22
                                                }
                                              },
                                              "name": "object"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 9066,
                                              "end": 9075,
                                              "loc": {
                                                "start": {
                                                  "line": 208,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 208,
                                                  "column": 32
                                                }
                                              },
                                              "name": "addMember"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 9076,
                                              "end": 9082,
                                              "loc": {
                                                "start": {
                                                  "line": 208,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 208,
                                                  "column": 39
                                                }
                                              },
                                              "name": "member"
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 9084,
                                              "end": 9088,
                                              "loc": {
                                                "start": {
                                                  "line": 208,
                                                  "column": 41
                                                },
                                                "end": {
                                                  "line": 208,
                                                  "column": 45
                                                }
                                              },
                                              "value": true,
                                              "rawValue": true,
                                              "raw": "true"
                                            }
                                          ]
                                        }
                                      },
                                      "alternate": null,
                                      "leadingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": " don't add toplevelChildren to AllObjects as members unless we are parsing all tree",
                                          "start": 8890,
                                          "end": 8975,
                                          "loc": {
                                            "start": {
                                              "line": 206,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 206,
                                              "column": 97
                                            }
                                          },
                                          "range": [
                                            8890,
                                            8975
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 9104,
                                      "end": 9192,
                                      "loc": {
                                        "start": {
                                          "line": 209,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 210,
                                          "column": 36
                                        }
                                      },
                                      "test": {
                                        "type": "LogicalExpression",
                                        "start": 9108,
                                        "end": 9153,
                                        "loc": {
                                          "start": {
                                            "line": 209,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 209,
                                            "column": 61
                                          }
                                        },
                                        "left": {
                                          "type": "LogicalExpression",
                                          "start": 9108,
                                          "end": 9129,
                                          "loc": {
                                            "start": {
                                              "line": 209,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 209,
                                              "column": 37
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 9108,
                                            "end": 9114,
                                            "loc": {
                                              "start": {
                                                "line": 209,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 209,
                                                "column": 22
                                              }
                                            },
                                            "name": "member"
                                          },
                                          "operator": "&&",
                                          "right": {
                                            "type": "UnaryExpression",
                                            "start": 9118,
                                            "end": 9129,
                                            "loc": {
                                              "start": {
                                                "line": 209,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 209,
                                                "column": 37
                                              }
                                            },
                                            "operator": "!",
                                            "prefix": true,
                                            "argument": {
                                              "type": "Identifier",
                                              "start": 9119,
                                              "end": 9129,
                                              "loc": {
                                                "start": {
                                                  "line": 209,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 209,
                                                  "column": 37
                                                }
                                              },
                                              "name": "firstChild"
                                            }
                                          }
                                        },
                                        "operator": "&&",
                                        "right": {
                                          "type": "MemberExpression",
                                          "start": 9133,
                                          "end": 9153,
                                          "loc": {
                                            "start": {
                                              "line": 209,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 209,
                                              "column": 61
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 9133,
                                            "end": 9143,
                                            "loc": {
                                              "start": {
                                                "line": 209,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 209,
                                                "column": 51
                                              }
                                            },
                                            "name": "memberNode"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 9144,
                                            "end": 9153,
                                            "loc": {
                                              "start": {
                                                "line": 209,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 209,
                                                "column": 61
                                              }
                                            },
                                            "name": "objectMem"
                                          },
                                          "computed": false
                                        }
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 9172,
                                        "end": 9192,
                                        "loc": {
                                          "start": {
                                            "line": 210,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 210,
                                            "column": 36
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 9172,
                                          "end": 9191,
                                          "loc": {
                                            "start": {
                                              "line": 210,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 210,
                                              "column": 35
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 9172,
                                            "end": 9182,
                                            "loc": {
                                              "start": {
                                                "line": 210,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 210,
                                                "column": 26
                                              }
                                            },
                                            "name": "firstChild"
                                          },
                                          "right": {
                                            "type": "Identifier",
                                            "start": 9185,
                                            "end": 9191,
                                            "loc": {
                                              "start": {
                                                "line": 210,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 210,
                                                "column": 35
                                              }
                                            },
                                            "name": "member"
                                          }
                                        }
                                      },
                                      "alternate": null
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 9215,
                          "end": 9249,
                          "loc": {
                            "start": {
                              "line": 212,
                              "column": 8
                            },
                            "end": {
                              "line": 212,
                              "column": 42
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 9215,
                            "end": 9248,
                            "loc": {
                              "start": {
                                "line": 212,
                                "column": 8
                              },
                              "end": {
                                "line": 212,
                                "column": 41
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9215,
                              "end": 9246,
                              "loc": {
                                "start": {
                                  "line": 212,
                                  "column": 8
                                },
                                "end": {
                                  "line": 212,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9215,
                                "end": 9221,
                                "loc": {
                                  "start": {
                                    "line": 212,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 212,
                                    "column": 14
                                  }
                                },
                                "name": "object"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9222,
                                "end": 9246,
                                "loc": {
                                  "start": {
                                    "line": 212,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 212,
                                    "column": 39
                                  }
                                },
                                "name": "removeSuperfluousMembers"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            },
            {
              "type": "IfStatement",
              "start": 9264,
              "end": 9343,
              "loc": {
                "start": {
                  "line": 214,
                  "column": 4
                },
                "end": {
                  "line": 215,
                  "column": 57
                }
              },
              "test": {
                "type": "Identifier",
                "start": 9268,
                "end": 9283,
                "loc": {
                  "start": {
                    "line": 214,
                    "column": 8
                  },
                  "end": {
                    "line": 214,
                    "column": 23
                  }
                },
                "name": "addFirstChildTo"
              },
              "consequent": {
                "type": "ExpressionStatement",
                "start": 9294,
                "end": 9343,
                "loc": {
                  "start": {
                    "line": 215,
                    "column": 8
                  },
                  "end": {
                    "line": 215,
                    "column": 57
                  }
                },
                "expression": {
                  "type": "CallExpression",
                  "start": 9294,
                  "end": 9342,
                  "loc": {
                    "start": {
                      "line": 215,
                      "column": 8
                    },
                    "end": {
                      "line": 215,
                      "column": 56
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 9294,
                    "end": 9319,
                    "loc": {
                      "start": {
                        "line": 215,
                        "column": 8
                      },
                      "end": {
                        "line": 215,
                        "column": 33
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 9294,
                      "end": 9309,
                      "loc": {
                        "start": {
                          "line": 215,
                          "column": 8
                        },
                        "end": {
                          "line": 215,
                          "column": 23
                        }
                      },
                      "name": "addFirstChildTo"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 9310,
                      "end": 9319,
                      "loc": {
                        "start": {
                          "line": 215,
                          "column": 24
                        },
                        "end": {
                          "line": 215,
                          "column": 33
                        }
                      },
                      "name": "addMember"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 9320,
                      "end": 9330,
                      "loc": {
                        "start": {
                          "line": 215,
                          "column": 34
                        },
                        "end": {
                          "line": 215,
                          "column": 44
                        }
                      },
                      "name": "firstChild"
                    },
                    {
                      "type": "Identifier",
                      "start": 9332,
                      "end": 9341,
                      "loc": {
                        "start": {
                          "line": 215,
                          "column": 46
                        },
                        "end": {
                          "line": 215,
                          "column": 55
                        }
                      },
                      "name": "undefined"
                    }
                  ]
                }
              },
              "alternate": null
            },
            {
              "type": "ExpressionStatement",
              "start": 9349,
              "end": 9514,
              "loc": {
                "start": {
                  "line": 216,
                  "column": 4
                },
                "end": {
                  "line": 220,
                  "column": 7
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 9349,
                "end": 9513,
                "loc": {
                  "start": {
                    "line": 216,
                    "column": 4
                  },
                  "end": {
                    "line": 220,
                    "column": 6
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 9349,
                  "end": 9375,
                  "loc": {
                    "start": {
                      "line": 216,
                      "column": 4
                    },
                    "end": {
                      "line": 216,
                      "column": 30
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 9349,
                    "end": 9367,
                    "loc": {
                      "start": {
                        "line": 216,
                        "column": 4
                      },
                      "end": {
                        "line": 216,
                        "column": 22
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 9349,
                      "end": 9359,
                      "loc": {
                        "start": {
                          "line": 216,
                          "column": 4
                        },
                        "end": {
                          "line": 216,
                          "column": 14
                        }
                      },
                      "name": "objectTree"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 9360,
                      "end": 9367,
                      "loc": {
                        "start": {
                          "line": 216,
                          "column": 15
                        },
                        "end": {
                          "line": 216,
                          "column": 22
                        }
                      },
                      "name": "objects"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 9368,
                    "end": 9375,
                    "loc": {
                      "start": {
                        "line": 216,
                        "column": 23
                      },
                      "end": {
                        "line": 216,
                        "column": 30
                      }
                    },
                    "name": "forEach"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "ArrowFunctionExpression",
                    "start": 9376,
                    "end": 9512,
                    "loc": {
                      "start": {
                        "line": 216,
                        "column": 31
                      },
                      "end": {
                        "line": 220,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 9376,
                        "end": 9380,
                        "loc": {
                          "start": {
                            "line": 216,
                            "column": 31
                          },
                          "end": {
                            "line": 216,
                            "column": 35
                          }
                        },
                        "name": "node"
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 9384,
                      "end": 9512,
                      "loc": {
                        "start": {
                          "line": 216,
                          "column": 39
                        },
                        "end": {
                          "line": 220,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "IfStatement",
                          "start": 9395,
                          "end": 9427,
                          "loc": {
                            "start": {
                              "line": 217,
                              "column": 8
                            },
                            "end": {
                              "line": 217,
                              "column": 40
                            }
                          },
                          "test": {
                            "type": "UnaryExpression",
                            "start": 9399,
                            "end": 9418,
                            "loc": {
                              "start": {
                                "line": 217,
                                "column": 12
                              },
                              "end": {
                                "line": 217,
                                "column": 31
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "CallExpression",
                              "start": 9400,
                              "end": 9418,
                              "loc": {
                                "start": {
                                  "line": 217,
                                  "column": 13
                                },
                                "end": {
                                  "line": 217,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 9400,
                                "end": 9409,
                                "loc": {
                                  "start": {
                                    "line": 217,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 217,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 9400,
                                  "end": 9405,
                                  "loc": {
                                    "start": {
                                      "line": 217,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 217,
                                      "column": 18
                                    }
                                  },
                                  "name": "idMap"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9406,
                                  "end": 9409,
                                  "loc": {
                                    "start": {
                                      "line": 217,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 217,
                                      "column": 22
                                    }
                                  },
                                  "name": "has"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 9410,
                                  "end": 9417,
                                  "loc": {
                                    "start": {
                                      "line": 217,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 217,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 9410,
                                    "end": 9414,
                                    "loc": {
                                      "start": {
                                        "line": 217,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 217,
                                        "column": 27
                                      }
                                    },
                                    "name": "node"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9415,
                                    "end": 9417,
                                    "loc": {
                                      "start": {
                                        "line": 217,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 217,
                                        "column": 30
                                      }
                                    },
                                    "name": "id"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          "consequent": {
                            "type": "ReturnStatement",
                            "start": 9420,
                            "end": 9427,
                            "loc": {
                              "start": {
                                "line": 217,
                                "column": 33
                              },
                              "end": {
                                "line": 217,
                                "column": 40
                              }
                            },
                            "argument": null
                          },
                          "alternate": null
                        },
                        {
                          "type": "VariableDeclaration",
                          "start": 9437,
                          "end": 9469,
                          "loc": {
                            "start": {
                              "line": 218,
                              "column": 8
                            },
                            "end": {
                              "line": 218,
                              "column": 40
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 9441,
                              "end": 9468,
                              "loc": {
                                "start": {
                                  "line": 218,
                                  "column": 12
                                },
                                "end": {
                                  "line": 218,
                                  "column": 39
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 9441,
                                "end": 9447,
                                "loc": {
                                  "start": {
                                    "line": 218,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 218,
                                    "column": 18
                                  }
                                },
                                "name": "object"
                              },
                              "init": {
                                "type": "CallExpression",
                                "start": 9450,
                                "end": 9468,
                                "loc": {
                                  "start": {
                                    "line": 218,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 218,
                                    "column": 39
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9450,
                                  "end": 9459,
                                  "loc": {
                                    "start": {
                                      "line": 218,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 218,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 9450,
                                    "end": 9455,
                                    "loc": {
                                      "start": {
                                        "line": 218,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 218,
                                        "column": 26
                                      }
                                    },
                                    "name": "idMap"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9456,
                                    "end": 9459,
                                    "loc": {
                                      "start": {
                                        "line": 218,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 218,
                                        "column": 30
                                      }
                                    },
                                    "name": "get"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 9460,
                                    "end": 9467,
                                    "loc": {
                                      "start": {
                                        "line": 218,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 218,
                                        "column": 38
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 9460,
                                      "end": 9464,
                                      "loc": {
                                        "start": {
                                          "line": 218,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 218,
                                          "column": 35
                                        }
                                      },
                                      "name": "node"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9465,
                                      "end": 9467,
                                      "loc": {
                                        "start": {
                                          "line": 218,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 218,
                                          "column": 38
                                        }
                                      },
                                      "name": "id"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          ],
                          "kind": "var"
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 9479,
                          "end": 9505,
                          "loc": {
                            "start": {
                              "line": 219,
                              "column": 8
                            },
                            "end": {
                              "line": 219,
                              "column": 34
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 9479,
                            "end": 9504,
                            "loc": {
                              "start": {
                                "line": 219,
                                "column": 8
                              },
                              "end": {
                                "line": 219,
                                "column": 33
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9479,
                              "end": 9502,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 8
                                },
                                "end": {
                                  "line": 219,
                                  "column": 31
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9479,
                                "end": 9485,
                                "loc": {
                                  "start": {
                                    "line": 219,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 219,
                                    "column": 14
                                  }
                                },
                                "name": "object"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9486,
                                "end": 9502,
                                "loc": {
                                  "start": {
                                    "line": 219,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 219,
                                    "column": 31
                                  }
                                },
                                "name": "finishedUpdating"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            },
            {
              "type": "ReturnStatement",
              "start": 9520,
              "end": 9580,
              "loc": {
                "start": {
                  "line": 221,
                  "column": 4
                },
                "end": {
                  "line": 221,
                  "column": 64
                }
              },
              "argument": {
                "type": "ConditionalExpression",
                "start": 9527,
                "end": 9579,
                "loc": {
                  "start": {
                    "line": 221,
                    "column": 11
                  },
                  "end": {
                    "line": 221,
                    "column": 63
                  }
                },
                "test": {
                  "type": "Identifier",
                  "start": 9527,
                  "end": 9541,
                  "loc": {
                    "start": {
                      "line": 221,
                      "column": 11
                    },
                    "end": {
                      "line": 221,
                      "column": 25
                    }
                  },
                  "name": "allObjectsMode"
                },
                "consequent": {
                  "type": "CallExpression",
                  "start": 9544,
                  "end": 9566,
                  "loc": {
                    "start": {
                      "line": 221,
                      "column": 28
                    },
                    "end": {
                      "line": 221,
                      "column": 50
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 9544,
                    "end": 9553,
                    "loc": {
                      "start": {
                        "line": 221,
                        "column": 28
                      },
                      "end": {
                        "line": 221,
                        "column": 37
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 9544,
                      "end": 9549,
                      "loc": {
                        "start": {
                          "line": 221,
                          "column": 28
                        },
                        "end": {
                          "line": 221,
                          "column": 33
                        }
                      },
                      "name": "idMap"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 9550,
                      "end": 9553,
                      "loc": {
                        "start": {
                          "line": 221,
                          "column": 34
                        },
                        "end": {
                          "line": 221,
                          "column": 37
                        }
                      },
                      "name": "get"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 9554,
                      "end": 9565,
                      "loc": {
                        "start": {
                          "line": 221,
                          "column": 38
                        },
                        "end": {
                          "line": 221,
                          "column": 49
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 9554,
                        "end": 9562,
                        "loc": {
                          "start": {
                            "line": 221,
                            "column": 38
                          },
                          "end": {
                            "line": 221,
                            "column": 46
                          }
                        },
                        "name": "rootNode"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 9563,
                        "end": 9565,
                        "loc": {
                          "start": {
                            "line": 221,
                            "column": 47
                          },
                          "end": {
                            "line": 221,
                            "column": 49
                          }
                        },
                        "name": "id"
                      },
                      "computed": false
                    }
                  ]
                },
                "alternate": {
                  "type": "Identifier",
                  "start": 9569,
                  "end": 9579,
                  "loc": {
                    "start": {
                      "line": 221,
                      "column": 53
                    },
                    "end": {
                      "line": 221,
                      "column": 63
                    }
                  },
                  "name": "firstChild"
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " Given object tree (resulting from CADH_JSONExportStr service method), return a corresponding object hierarchy.",
            "start": 6626,
            "end": 6739,
            "loc": {
              "start": {
                "line": 169,
                "column": 0
              },
              "end": {
                "line": 169,
                "column": 113
              }
            },
            "range": [
              6626,
              6739
            ]
          },
          {
            "type": "CommentLine",
            "value": " If 'this' is defined, treat it as a root of an existing object hierarchy to be updated.",
            "start": 6741,
            "end": 6831,
            "loc": {
              "start": {
                "line": 170,
                "column": 0
              },
              "end": {
                "line": 170,
                "column": 90
              }
            },
            "range": [
              6741,
              6831
            ]
          },
          {
            "type": "CommentLine",
            "value": " If addFirstChildTo is defined, add first toplevel child to it as a member",
            "start": 6833,
            "end": 6909,
            "loc": {
              "start": {
                "line": 171,
                "column": 0
              },
              "end": {
                "line": 171,
                "column": 76
              }
            },
            "range": [
              6833,
              6909
            ]
          },
          {
            "type": "CommentLine",
            "value": " addFirstChildTo is a workaround to guarantee that finishedUpdating is called after all addMember calls",
            "start": 6911,
            "end": 7016,
            "loc": {
              "start": {
                "line": 172,
                "column": 0
              },
              "end": {
                "line": 172,
                "column": 105
              }
            },
            "range": [
              6911,
              7016
            ]
          },
          {
            "type": "CommentLine",
            "value": " If toplevelChildren is passed, then treat it as an array of objects to parse toplevel children to",
            "start": 7018,
            "end": 7118,
            "loc": {
              "start": {
                "line": 173,
                "column": 0
              },
              "end": {
                "line": 173,
                "column": 100
              }
            },
            "range": [
              7018,
              7118
            ]
          },
          {
            "type": "CommentLine",
            "value": " return first child of the root or the root object depending on whether toplevelChildren is passed",
            "start": 7120,
            "end": 7220,
            "loc": {
              "start": {
                "line": 174,
                "column": 0
              },
              "end": {
                "line": 174,
                "column": 100
              }
            },
            "range": [
              7120,
              7220
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": null,
      "source": null,
      "leadingComments": null
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 10278,
      "end": 10450,
      "loc": {
        "start": {
          "line": 245,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 2
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 9900,
        "end": 10274,
        "loc": {
          "start": {
            "line": 232,
            "column": 0
          },
          "end": {
            "line": 243,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 9909,
          "end": 9921,
          "loc": {
            "start": {
              "line": 232,
              "column": 9
            },
            "end": {
              "line": 232,
              "column": 21
            }
          },
          "name": "trackPromise",
          "leadingComments": null
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 9922,
            "end": 9929,
            "loc": {
              "start": {
                "line": 232,
                "column": 22
              },
              "end": {
                "line": 232,
                "column": 29
              }
            },
            "name": "promise"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 9931,
          "end": 10274,
          "loc": {
            "start": {
              "line": 232,
              "column": 31
            },
            "end": {
              "line": 243,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ExpressionStatement",
              "start": 9938,
              "end": 9967,
              "loc": {
                "start": {
                  "line": 233,
                  "column": 4
                },
                "end": {
                  "line": 233,
                  "column": 33
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 9938,
                "end": 9966,
                "loc": {
                  "start": {
                    "line": 233,
                    "column": 4
                  },
                  "end": {
                    "line": 233,
                    "column": 32
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 9938,
                  "end": 9957,
                  "loc": {
                    "start": {
                      "line": 233,
                      "column": 4
                    },
                    "end": {
                      "line": 233,
                      "column": 23
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 9938,
                    "end": 9953,
                    "loc": {
                      "start": {
                        "line": 233,
                        "column": 4
                      },
                      "end": {
                        "line": 233,
                        "column": 19
                      }
                    },
                    "name": "pendingPromises"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 9954,
                    "end": 9957,
                    "loc": {
                      "start": {
                        "line": 233,
                        "column": 20
                      },
                      "end": {
                        "line": 233,
                        "column": 23
                      }
                    },
                    "name": "add"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 9958,
                    "end": 9965,
                    "loc": {
                      "start": {
                        "line": 233,
                        "column": 24
                      },
                      "end": {
                        "line": 233,
                        "column": 31
                      }
                    },
                    "name": "promise"
                  }
                ]
              }
            },
            {
              "type": "ReturnStatement",
              "start": 9973,
              "end": 10271,
              "loc": {
                "start": {
                  "line": 234,
                  "column": 4
                },
                "end": {
                  "line": 242,
                  "column": 7
                }
              },
              "argument": {
                "type": "CallExpression",
                "start": 9980,
                "end": 10270,
                "loc": {
                  "start": {
                    "line": 234,
                    "column": 11
                  },
                  "end": {
                    "line": 242,
                    "column": 6
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 9980,
                  "end": 9992,
                  "loc": {
                    "start": {
                      "line": 234,
                      "column": 11
                    },
                    "end": {
                      "line": 234,
                      "column": 23
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 9980,
                    "end": 9987,
                    "loc": {
                      "start": {
                        "line": 234,
                        "column": 11
                      },
                      "end": {
                        "line": 234,
                        "column": 18
                      }
                    },
                    "name": "promise"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 9988,
                    "end": 9992,
                    "loc": {
                      "start": {
                        "line": 234,
                        "column": 19
                      },
                      "end": {
                        "line": 234,
                        "column": 23
                      }
                    },
                    "name": "then"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "FunctionExpression",
                    "start": 9993,
                    "end": 10091,
                    "loc": {
                      "start": {
                        "line": 234,
                        "column": 24
                      },
                      "end": {
                        "line": 237,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 10002,
                        "end": 10003,
                        "loc": {
                          "start": {
                            "line": 234,
                            "column": 33
                          },
                          "end": {
                            "line": 234,
                            "column": 34
                          }
                        },
                        "name": "x"
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 10005,
                      "end": 10091,
                      "loc": {
                        "start": {
                          "line": 234,
                          "column": 36
                        },
                        "end": {
                          "line": 237,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 10016,
                          "end": 10048,
                          "loc": {
                            "start": {
                              "line": 235,
                              "column": 8
                            },
                            "end": {
                              "line": 235,
                              "column": 40
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 10016,
                            "end": 10047,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 8
                              },
                              "end": {
                                "line": 235,
                                "column": 39
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10016,
                              "end": 10038,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 8
                                },
                                "end": {
                                  "line": 235,
                                  "column": 30
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 10016,
                                "end": 10031,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 23
                                  }
                                },
                                "name": "pendingPromises"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10032,
                                "end": 10038,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 30
                                  }
                                },
                                "name": "delete"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 10039,
                                "end": 10046,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 38
                                  }
                                },
                                "name": "promise"
                              }
                            ]
                          }
                        },
                        {
                          "type": "ReturnStatement",
                          "start": 10058,
                          "end": 10084,
                          "loc": {
                            "start": {
                              "line": 236,
                              "column": 8
                            },
                            "end": {
                              "line": 236,
                              "column": 34
                            }
                          },
                          "argument": {
                            "type": "CallExpression",
                            "start": 10065,
                            "end": 10083,
                            "loc": {
                              "start": {
                                "line": 236,
                                "column": 15
                              },
                              "end": {
                                "line": 236,
                                "column": 33
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10065,
                              "end": 10080,
                              "loc": {
                                "start": {
                                  "line": 236,
                                  "column": 15
                                },
                                "end": {
                                  "line": 236,
                                  "column": 30
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 10065,
                                "end": 10072,
                                "loc": {
                                  "start": {
                                    "line": 236,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 236,
                                    "column": 22
                                  }
                                },
                                "name": "Promise"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10073,
                                "end": 10080,
                                "loc": {
                                  "start": {
                                    "line": 236,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 236,
                                    "column": 30
                                  }
                                },
                                "name": "resolve"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 10081,
                                "end": 10082,
                                "loc": {
                                  "start": {
                                    "line": 236,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 236,
                                    "column": 32
                                  }
                                },
                                "name": "x"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  },
                  {
                    "type": "FunctionExpression",
                    "start": 10093,
                    "end": 10269,
                    "loc": {
                      "start": {
                        "line": 237,
                        "column": 7
                      },
                      "end": {
                        "line": 242,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 10102,
                        "end": 10103,
                        "loc": {
                          "start": {
                            "line": 237,
                            "column": 16
                          },
                          "end": {
                            "line": 237,
                            "column": 17
                          }
                        },
                        "name": "x"
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 10105,
                      "end": 10269,
                      "loc": {
                        "start": {
                          "line": 237,
                          "column": 19
                        },
                        "end": {
                          "line": 242,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "IfStatement",
                          "start": 10116,
                          "end": 10185,
                          "loc": {
                            "start": {
                              "line": 238,
                              "column": 8
                            },
                            "end": {
                              "line": 239,
                              "column": 49
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 10120,
                            "end": 10133,
                            "loc": {
                              "start": {
                                "line": 238,
                                "column": 12
                              },
                              "end": {
                                "line": 238,
                                "column": 25
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 10120,
                              "end": 10128,
                              "loc": {
                                "start": {
                                  "line": 238,
                                  "column": 12
                                },
                                "end": {
                                  "line": 238,
                                  "column": 20
                                }
                              },
                              "name": "logLevel"
                            },
                            "operator": ">=",
                            "right": {
                              "type": "Literal",
                              "start": 10132,
                              "end": 10133,
                              "loc": {
                                "start": {
                                  "line": 238,
                                  "column": 24
                                },
                                "end": {
                                  "line": 238,
                                  "column": 25
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          },
                          "consequent": {
                            "type": "ExpressionStatement",
                            "start": 10148,
                            "end": 10185,
                            "loc": {
                              "start": {
                                "line": 239,
                                "column": 12
                              },
                              "end": {
                                "line": 239,
                                "column": 49
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 10148,
                              "end": 10184,
                              "loc": {
                                "start": {
                                  "line": 239,
                                  "column": 12
                                },
                                "end": {
                                  "line": 239,
                                  "column": 48
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 10148,
                                "end": 10161,
                                "loc": {
                                  "start": {
                                    "line": 239,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 239,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 10148,
                                  "end": 10155,
                                  "loc": {
                                    "start": {
                                      "line": 239,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 239,
                                      "column": 19
                                    }
                                  },
                                  "name": "console"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10156,
                                  "end": 10161,
                                  "loc": {
                                    "start": {
                                      "line": 239,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 239,
                                      "column": 25
                                    }
                                  },
                                  "name": "error"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 10162,
                                  "end": 10180,
                                  "loc": {
                                    "start": {
                                      "line": 239,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 239,
                                      "column": 44
                                    }
                                  },
                                  "value": "rejected promise",
                                  "rawValue": "rejected promise",
                                  "raw": "\"rejected promise\""
                                },
                                {
                                  "type": "Identifier",
                                  "start": 10182,
                                  "end": 10183,
                                  "loc": {
                                    "start": {
                                      "line": 239,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 239,
                                      "column": 47
                                    }
                                  },
                                  "name": "x"
                                }
                              ]
                            }
                          },
                          "alternate": null
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 10195,
                          "end": 10227,
                          "loc": {
                            "start": {
                              "line": 240,
                              "column": 8
                            },
                            "end": {
                              "line": 240,
                              "column": 40
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 10195,
                            "end": 10226,
                            "loc": {
                              "start": {
                                "line": 240,
                                "column": 8
                              },
                              "end": {
                                "line": 240,
                                "column": 39
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10195,
                              "end": 10217,
                              "loc": {
                                "start": {
                                  "line": 240,
                                  "column": 8
                                },
                                "end": {
                                  "line": 240,
                                  "column": 30
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 10195,
                                "end": 10210,
                                "loc": {
                                  "start": {
                                    "line": 240,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 240,
                                    "column": 23
                                  }
                                },
                                "name": "pendingPromises"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10211,
                                "end": 10217,
                                "loc": {
                                  "start": {
                                    "line": 240,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 240,
                                    "column": 30
                                  }
                                },
                                "name": "delete"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 10218,
                                "end": 10225,
                                "loc": {
                                  "start": {
                                    "line": 240,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 240,
                                    "column": 38
                                  }
                                },
                                "name": "promise"
                              }
                            ]
                          }
                        },
                        {
                          "type": "ReturnStatement",
                          "start": 10237,
                          "end": 10262,
                          "loc": {
                            "start": {
                              "line": 241,
                              "column": 8
                            },
                            "end": {
                              "line": 241,
                              "column": 33
                            }
                          },
                          "argument": {
                            "type": "CallExpression",
                            "start": 10244,
                            "end": 10261,
                            "loc": {
                              "start": {
                                "line": 241,
                                "column": 15
                              },
                              "end": {
                                "line": 241,
                                "column": 32
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10244,
                              "end": 10258,
                              "loc": {
                                "start": {
                                  "line": 241,
                                  "column": 15
                                },
                                "end": {
                                  "line": 241,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 10244,
                                "end": 10251,
                                "loc": {
                                  "start": {
                                    "line": 241,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 241,
                                    "column": 22
                                  }
                                },
                                "name": "Promise"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10252,
                                "end": 10258,
                                "loc": {
                                  "start": {
                                    "line": 241,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 241,
                                    "column": 29
                                  }
                                },
                                "name": "reject"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 10259,
                                "end": 10260,
                                "loc": {
                                  "start": {
                                    "line": 241,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 241,
                                    "column": 31
                                  }
                                },
                                "name": "x"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " Mark the promise for tracking:",
            "start": 9623,
            "end": 9656,
            "loc": {
              "start": {
                "line": 226,
                "column": 0
              },
              "end": {
                "line": 226,
                "column": 33
              }
            },
            "range": [
              9623,
              9656
            ]
          },
          {
            "type": "CommentLine",
            "value": "   log if promise rejects",
            "start": 9658,
            "end": 9685,
            "loc": {
              "start": {
                "line": 227,
                "column": 0
              },
              "end": {
                "line": 227,
                "column": 27
              }
            },
            "range": [
              9658,
              9685
            ]
          },
          {
            "type": "CommentLine",
            "value": "   provide api to wait for completion of all tracked promises",
            "start": 9687,
            "end": 9750,
            "loc": {
              "start": {
                "line": 228,
                "column": 0
              },
              "end": {
                "line": 228,
                "column": 63
              }
            },
            "range": [
              9687,
              9750
            ]
          },
          {
            "type": "CommentLine",
            "value": " Use this function on promises you would otherwise",
            "start": 9752,
            "end": 9804,
            "loc": {
              "start": {
                "line": 229,
                "column": 0
              },
              "end": {
                "line": 229,
                "column": 52
              }
            },
            "range": [
              9752,
              9804
            ]
          },
          {
            "type": "CommentLine",
            "value": " leak, i. e. not return and not call .then.",
            "start": 9806,
            "end": 9851,
            "loc": {
              "start": {
                "line": 230,
                "column": 0
              },
              "end": {
                "line": 230,
                "column": 45
              }
            },
            "range": [
              9806,
              9851
            ]
          },
          {
            "type": "CommentLine",
            "value": " You should likely ignore the return value.",
            "start": 9853,
            "end": 9898,
            "loc": {
              "start": {
                "line": 231,
                "column": 0
              },
              "end": {
                "line": 231,
                "column": 45
              }
            },
            "range": [
              9853,
              9898
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": null,
      "source": null,
      "leadingComments": null
    }
  ]
}