{
  "type": "Program",
  "start": 0,
  "end": 10186,
  "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": 49,
      "end": 114,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 65
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 57,
          "end": 71,
          "loc": {
            "start": {
              "line": 2,
              "column": 8
            },
            "end": {
              "line": 2,
              "column": 22
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 57,
            "end": 71,
            "loc": {
              "start": {
                "line": 2,
                "column": 8
              },
              "end": {
                "line": 2,
                "column": 22
              }
            },
            "name": "ClassCadObject"
          },
          "local": {
            "type": "Identifier",
            "start": 57,
            "end": 71,
            "loc": {
              "start": {
                "line": 2,
                "column": 8
              },
              "end": {
                "line": 2,
                "column": 22
              }
            },
            "name": "ClassCadObject"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 73,
          "end": 83,
          "loc": {
            "start": {
              "line": 2,
              "column": 24
            },
            "end": {
              "line": 2,
              "column": 34
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 73,
            "end": 83,
            "loc": {
              "start": {
                "line": 2,
                "column": 24
              },
              "end": {
                "line": 2,
                "column": 34
              }
            },
            "name": "RootObject"
          },
          "local": {
            "type": "Identifier",
            "start": 73,
            "end": 83,
            "loc": {
              "start": {
                "line": 2,
                "column": 24
              },
              "end": {
                "line": 2,
                "column": 34
              }
            },
            "name": "RootObject"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 90,
        "end": 113,
        "loc": {
          "start": {
            "line": 2,
            "column": 41
          },
          "end": {
            "line": 2,
            "column": 64
          }
        },
        "value": "../sketcher/ccobjects",
        "rawValue": "../sketcher/ccobjects",
        "raw": "'../sketcher/ccobjects'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 115,
      "end": 141,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 122,
          "end": 127,
          "loc": {
            "start": {
              "line": 3,
              "column": 7
            },
            "end": {
              "line": 3,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 122,
            "end": 127,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 12
              }
            },
            "name": "THREE"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 133,
        "end": 140,
        "loc": {
          "start": {
            "line": 3,
            "column": 18
          },
          "end": {
            "line": 3,
            "column": 25
          }
        },
        "value": "three",
        "rawValue": "three",
        "raw": "'three'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 142,
      "end": 181,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 39
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 149,
          "end": 156,
          "loc": {
            "start": {
              "line": 4,
              "column": 7
            },
            "end": {
              "line": 4,
              "column": 14
            }
          },
          "local": {
            "type": "Identifier",
            "start": 149,
            "end": 156,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 14
              }
            },
            "name": "Object3"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 162,
        "end": 180,
        "loc": {
          "start": {
            "line": 4,
            "column": 20
          },
          "end": {
            "line": 4,
            "column": 38
          }
        },
        "value": "../three/object3",
        "rawValue": "../three/object3",
        "raw": "'../three/object3'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 182,
      "end": 229,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 47
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 190,
          "end": 193,
          "loc": {
            "start": {
              "line": 5,
              "column": 8
            },
            "end": {
              "line": 5,
              "column": 11
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 190,
            "end": 193,
            "loc": {
              "start": {
                "line": 5,
                "column": 8
              },
              "end": {
                "line": 5,
                "column": 11
              }
            },
            "name": "url"
          },
          "local": {
            "type": "Identifier",
            "start": 190,
            "end": 193,
            "loc": {
              "start": {
                "line": 5,
                "column": 8
              },
              "end": {
                "line": 5,
                "column": 11
              }
            },
            "name": "url"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 195,
          "end": 204,
          "loc": {
            "start": {
              "line": 5,
              "column": 13
            },
            "end": {
              "line": 5,
              "column": 22
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 195,
            "end": 204,
            "loc": {
              "start": {
                "line": 5,
                "column": 13
              },
              "end": {
                "line": 5,
                "column": 22
              }
            },
            "name": "Timestamp"
          },
          "local": {
            "type": "Identifier",
            "start": 195,
            "end": 204,
            "loc": {
              "start": {
                "line": 5,
                "column": 13
              },
              "end": {
                "line": 5,
                "column": 22
              }
            },
            "name": "Timestamp"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 211,
        "end": 228,
        "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": 230,
          "end": 275,
          "loc": {
            "start": {
              "line": 6,
              "column": 0
            },
            "end": {
              "line": 6,
              "column": 45
            }
          },
          "range": [
            230,
            275
          ]
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 277,
      "end": 325,
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 48
        }
      },
      "declaration": {
        "type": "VariableDeclaration",
        "start": 284,
        "end": 325,
        "loc": {
          "start": {
            "line": 8,
            "column": 7
          },
          "end": {
            "line": 8,
            "column": 48
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 290,
            "end": 324,
            "loc": {
              "start": {
                "line": 8,
                "column": 13
              },
              "end": {
                "line": 8,
                "column": 47
              }
            },
            "id": {
              "type": "Identifier",
              "start": 290,
              "end": 298,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 13
                },
                "end": {
                  "line": 8,
                  "column": 21
                }
              },
              "name": "logLevel",
              "leadingComments": null
            },
            "init": {
              "type": "CallExpression",
              "start": 301,
              "end": 324,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 24
                },
                "end": {
                  "line": 8,
                  "column": 47
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 301,
                "end": 307,
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 24
                  },
                  "end": {
                    "line": 8,
                    "column": 30
                  }
                },
                "name": "Number"
              },
              "arguments": [
                {
                  "type": "CallExpression",
                  "start": 308,
                  "end": 323,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 31
                    },
                    "end": {
                      "line": 8,
                      "column": 46
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 308,
                    "end": 311,
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 31
                      },
                      "end": {
                        "line": 8,
                        "column": 34
                      }
                    },
                    "name": "url"
                  },
                  "arguments": [
                    {
                      "type": "Literal",
                      "start": 312,
                      "end": 322,
                      "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": 230,
            "end": 275,
            "loc": {
              "start": {
                "line": 6,
                "column": 0
              },
              "end": {
                "line": 6,
                "column": 45
              }
            },
            "range": [
              230,
              275
            ]
          }
        ],
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": " execute one ClassCad command and return its result in a Promise",
            "start": 327,
            "end": 393,
            "loc": {
              "start": {
                "line": 10,
                "column": 0
              },
              "end": {
                "line": 10,
                "column": 66
              }
            },
            "range": [
              327,
              393
            ]
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": " helper functions to interact with ClassCad",
          "start": 230,
          "end": 275,
          "loc": {
            "start": {
              "line": 6,
              "column": 0
            },
            "end": {
              "line": 6,
              "column": 45
            }
          },
          "range": [
            230,
            275
          ]
        }
      ],
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": " execute one ClassCad command and return its result in a Promise",
          "start": 327,
          "end": 393,
          "loc": {
            "start": {
              "line": 10,
              "column": 0
            },
            "end": {
              "line": 10,
              "column": 66
            }
          },
          "range": [
            327,
            393
          ]
        }
      ]
    },
    {
      "type": "Identifier",
      "start": 394,
      "end": 720,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 17,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 403,
        "end": 410,
        "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": 411,
          "end": 417,
          "loc": {
            "start": {
              "line": 11,
              "column": 17
            },
            "end": {
              "line": 11,
              "column": 23
            }
          },
          "name": "socket"
        },
        {
          "type": "Identifier",
          "start": 419,
          "end": 422,
          "loc": {
            "start": {
              "line": 11,
              "column": 25
            },
            "end": {
              "line": 11,
              "column": 28
            }
          },
          "name": "cmd"
        },
        {
          "type": "Identifier",
          "start": 424,
          "end": 431,
          "loc": {
            "start": {
              "line": 11,
              "column": 30
            },
            "end": {
              "line": 11,
              "column": 37
            }
          },
          "name": "factory"
        },
        {
          "type": "Identifier",
          "start": 433,
          "end": 443,
          "loc": {
            "start": {
              "line": 11,
              "column": 39
            },
            "end": {
              "line": 11,
              "column": 49
            }
          },
          "name": "attributes"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 445,
        "end": 720,
        "loc": {
          "start": {
            "line": 11,
            "column": 51
          },
          "end": {
            "line": 17,
            "column": 1
          }
        },
        "body": [
          {
            "type": "IfStatement",
            "start": 451,
            "end": 505,
            "loc": {
              "start": {
                "line": 12,
                "column": 4
              },
              "end": {
                "line": 13,
                "column": 24
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 455,
              "end": 479,
              "loc": {
                "start": {
                  "line": 12,
                  "column": 8
                },
                "end": {
                  "line": 12,
                  "column": 32
                }
              },
              "left": {
                "type": "Identifier",
                "start": 455,
                "end": 465,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 8
                  },
                  "end": {
                    "line": 12,
                    "column": 18
                  }
                },
                "name": "attributes"
              },
              "operator": "===",
              "right": {
                "type": "Identifier",
                "start": 470,
                "end": 479,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 23
                  },
                  "end": {
                    "line": 12,
                    "column": 32
                  }
                },
                "name": "undefined"
              }
            },
            "consequent": {
              "type": "ExpressionStatement",
              "start": 489,
              "end": 505,
              "loc": {
                "start": {
                  "line": 13,
                  "column": 8
                },
                "end": {
                  "line": 13,
                  "column": 24
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 489,
                "end": 504,
                "loc": {
                  "start": {
                    "line": 13,
                    "column": 8
                  },
                  "end": {
                    "line": 13,
                    "column": 23
                  }
                },
                "operator": "=",
                "left": {
                  "type": "Identifier",
                  "start": 489,
                  "end": 499,
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 8
                    },
                    "end": {
                      "line": 13,
                      "column": 18
                    }
                  },
                  "name": "attributes"
                },
                "right": {
                  "type": "ObjectExpression",
                  "start": 502,
                  "end": 504,
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 21
                    },
                    "end": {
                      "line": 13,
                      "column": 23
                    }
                  },
                  "properties": []
                }
              }
            },
            "alternate": null
          },
          {
            "type": "IfStatement",
            "start": 510,
            "end": 610,
            "loc": {
              "start": {
                "line": 14,
                "column": 4
              },
              "end": {
                "line": 15,
                "column": 48
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 514,
              "end": 560,
              "loc": {
                "start": {
                  "line": 14,
                  "column": 8
                },
                "end": {
                  "line": 14,
                  "column": 54
                }
              },
              "left": {
                "type": "MemberExpression",
                "start": 514,
                "end": 546,
                "loc": {
                  "start": {
                    "line": 14,
                    "column": 8
                  },
                  "end": {
                    "line": 14,
                    "column": 40
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 514,
                  "end": 524,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 8
                    },
                    "end": {
                      "line": 14,
                      "column": 18
                    }
                  },
                  "name": "attributes"
                },
                "property": {
                  "type": "Identifier",
                  "start": 525,
                  "end": 546,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 19
                    },
                    "end": {
                      "line": 14,
                      "column": 40
                    }
                  },
                  "name": "ignoreNumberOfResults"
                },
                "computed": false
              },
              "operator": "===",
              "right": {
                "type": "Identifier",
                "start": 551,
                "end": 560,
                "loc": {
                  "start": {
                    "line": 14,
                    "column": 45
                  },
                  "end": {
                    "line": 14,
                    "column": 54
                  }
                },
                "name": "undefined"
              }
            },
            "consequent": {
              "type": "ExpressionStatement",
              "start": 570,
              "end": 610,
              "loc": {
                "start": {
                  "line": 15,
                  "column": 8
                },
                "end": {
                  "line": 15,
                  "column": 48
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 570,
                "end": 609,
                "loc": {
                  "start": {
                    "line": 15,
                    "column": 8
                  },
                  "end": {
                    "line": 15,
                    "column": 47
                  }
                },
                "operator": "=",
                "left": {
                  "type": "MemberExpression",
                  "start": 570,
                  "end": 602,
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 8
                    },
                    "end": {
                      "line": 15,
                      "column": 40
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 570,
                    "end": 580,
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 8
                      },
                      "end": {
                        "line": 15,
                        "column": 18
                      }
                    },
                    "name": "attributes"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 581,
                    "end": 602,
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 19
                      },
                      "end": {
                        "line": 15,
                        "column": 40
                      }
                    },
                    "name": "ignoreNumberOfResults"
                  },
                  "computed": false
                },
                "right": {
                  "type": "Literal",
                  "start": 605,
                  "end": 609,
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 43
                    },
                    "end": {
                      "line": 15,
                      "column": 47
                    }
                  },
                  "value": true,
                  "rawValue": true,
                  "raw": "true"
                }
              }
            },
            "alternate": null
          },
          {
            "type": "ReturnStatement",
            "start": 615,
            "end": 718,
            "loc": {
              "start": {
                "line": 16,
                "column": 4
              },
              "end": {
                "line": 16,
                "column": 107
              }
            },
            "argument": {
              "type": "CallExpression",
              "start": 622,
              "end": 717,
              "loc": {
                "start": {
                  "line": 16,
                  "column": 11
                },
                "end": {
                  "line": 16,
                  "column": 106
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 622,
                "end": 706,
                "loc": {
                  "start": {
                    "line": 16,
                    "column": 11
                  },
                  "end": {
                    "line": 16,
                    "column": 95
                  }
                },
                "object": {
                  "type": "CallExpression",
                  "start": 622,
                  "end": 701,
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 11
                    },
                    "end": {
                      "line": 16,
                      "column": 90
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 622,
                    "end": 637,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 11
                      },
                      "end": {
                        "line": 16,
                        "column": 26
                      }
                    },
                    "name": "executePrepared"
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 638,
                      "end": 644,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 27
                        },
                        "end": {
                          "line": 16,
                          "column": 33
                        }
                      },
                      "name": "socket"
                    },
                    {
                      "type": "ArrayExpression",
                      "start": 646,
                      "end": 679,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 35
                        },
                        "end": {
                          "line": 16,
                          "column": 68
                        }
                      },
                      "elements": [
                        {
                          "type": "ObjectExpression",
                          "start": 647,
                          "end": 678,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 36
                            },
                            "end": {
                              "line": 16,
                              "column": 67
                            }
                          },
                          "properties": [
                            {
                              "type": "Property",
                              "start": 648,
                              "end": 666,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 37
                                },
                                "end": {
                                  "line": 16,
                                  "column": 55
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 648,
                                "end": 655,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 44
                                  }
                                },
                                "name": "command"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 657,
                                "end": 666,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 55
                                  }
                                },
                                "value": "Execute",
                                "rawValue": "Execute",
                                "raw": "'Execute'"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 668,
                              "end": 677,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 57
                                },
                                "end": {
                                  "line": 16,
                                  "column": 66
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 668,
                                "end": 672,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 61
                                  }
                                },
                                "name": "task"
                              },
                              "value": {
                                "type": "Identifier",
                                "start": 674,
                                "end": 677,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 66
                                  }
                                },
                                "name": "cmd"
                              },
                              "kind": "init"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "Identifier",
                      "start": 681,
                      "end": 688,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 70
                        },
                        "end": {
                          "line": 16,
                          "column": 77
                        }
                      },
                      "name": "factory"
                    },
                    {
                      "type": "Identifier",
                      "start": 690,
                      "end": 700,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 79
                        },
                        "end": {
                          "line": 16,
                          "column": 89
                        }
                      },
                      "name": "attributes"
                    }
                  ]
                },
                "property": {
                  "type": "Identifier",
                  "start": 702,
                  "end": 706,
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 91
                    },
                    "end": {
                      "line": 16,
                      "column": 95
                    }
                  },
                  "name": "then"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "ArrowFunctionExpression",
                  "start": 707,
                  "end": 716,
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 96
                    },
                    "end": {
                      "line": 16,
                      "column": 105
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": true,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 707,
                      "end": 708,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 96
                        },
                        "end": {
                          "line": 16,
                          "column": 97
                        }
                      },
                      "name": "x"
                    }
                  ],
                  "body": {
                    "type": "MemberExpression",
                    "start": 712,
                    "end": 716,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 101
                      },
                      "end": {
                        "line": 16,
                        "column": 105
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 712,
                      "end": 713,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 101
                        },
                        "end": {
                          "line": 16,
                          "column": 102
                        }
                      },
                      "name": "x"
                    },
                    "property": {
                      "type": "Literal",
                      "start": 714,
                      "end": 715,
                      "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": 722,
      "end": 894,
      "loc": {
        "start": {
          "line": 19,
          "column": 0
        },
        "end": {
          "line": 21,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 731,
        "end": 744,
        "loc": {
          "start": {
            "line": 19,
            "column": 9
          },
          "end": {
            "line": 19,
            "column": 22
          }
        },
        "name": "executeModels"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 745,
          "end": 751,
          "loc": {
            "start": {
              "line": 19,
              "column": 23
            },
            "end": {
              "line": 19,
              "column": 29
            }
          },
          "name": "socket"
        },
        {
          "type": "Identifier",
          "start": 753,
          "end": 756,
          "loc": {
            "start": {
              "line": 19,
              "column": 31
            },
            "end": {
              "line": 19,
              "column": 34
            }
          },
          "name": "cmd"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 758,
        "end": 894,
        "loc": {
          "start": {
            "line": 19,
            "column": 36
          },
          "end": {
            "line": 21,
            "column": 1
          }
        },
        "body": [
          {
            "type": "ReturnStatement",
            "start": 764,
            "end": 892,
            "loc": {
              "start": {
                "line": 20,
                "column": 4
              },
              "end": {
                "line": 20,
                "column": 132
              }
            },
            "argument": {
              "type": "CallExpression",
              "start": 771,
              "end": 891,
              "loc": {
                "start": {
                  "line": 20,
                  "column": 11
                },
                "end": {
                  "line": 20,
                  "column": 131
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 771,
                "end": 876,
                "loc": {
                  "start": {
                    "line": 20,
                    "column": 11
                  },
                  "end": {
                    "line": 20,
                    "column": 116
                  }
                },
                "object": {
                  "type": "CallExpression",
                  "start": 771,
                  "end": 871,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 11
                    },
                    "end": {
                      "line": 20,
                      "column": 111
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 771,
                    "end": 786,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 11
                      },
                      "end": {
                        "line": 20,
                        "column": 26
                      }
                    },
                    "name": "executePrepared"
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 787,
                      "end": 793,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 27
                        },
                        "end": {
                          "line": 20,
                          "column": 33
                        }
                      },
                      "name": "socket"
                    },
                    {
                      "type": "ArrayExpression",
                      "start": 795,
                      "end": 828,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 35
                        },
                        "end": {
                          "line": 20,
                          "column": 68
                        }
                      },
                      "elements": [
                        {
                          "type": "ObjectExpression",
                          "start": 796,
                          "end": 827,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 36
                            },
                            "end": {
                              "line": 20,
                              "column": 67
                            }
                          },
                          "properties": [
                            {
                              "type": "Property",
                              "start": 797,
                              "end": 815,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 37
                                },
                                "end": {
                                  "line": 20,
                                  "column": 55
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 797,
                                "end": 804,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 44
                                  }
                                },
                                "name": "command"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 806,
                                "end": 815,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 55
                                  }
                                },
                                "value": "Execute",
                                "rawValue": "Execute",
                                "raw": "'Execute'"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 817,
                              "end": 826,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 57
                                },
                                "end": {
                                  "line": 20,
                                  "column": 66
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 817,
                                "end": 821,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 61
                                  }
                                },
                                "name": "task"
                              },
                              "value": {
                                "type": "Identifier",
                                "start": 823,
                                "end": 826,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 66
                                  }
                                },
                                "name": "cmd"
                              },
                              "kind": "init"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "Identifier",
                      "start": 830,
                      "end": 839,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 70
                        },
                        "end": {
                          "line": 20,
                          "column": 79
                        }
                      },
                      "name": "undefined"
                    },
                    {
                      "type": "ObjectExpression",
                      "start": 841,
                      "end": 870,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 81
                        },
                        "end": {
                          "line": 20,
                          "column": 110
                        }
                      },
                      "properties": [
                        {
                          "type": "Property",
                          "start": 842,
                          "end": 869,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 82
                            },
                            "end": {
                              "line": 20,
                              "column": 109
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "Identifier",
                            "start": 842,
                            "end": 863,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 82
                              },
                              "end": {
                                "line": 20,
                                "column": 103
                              }
                            },
                            "name": "ignoreNumberOfResults"
                          },
                          "value": {
                            "type": "Literal",
                            "start": 865,
                            "end": 869,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 105
                              },
                              "end": {
                                "line": 20,
                                "column": 109
                              }
                            },
                            "value": true,
                            "rawValue": true,
                            "raw": "true"
                          },
                          "kind": "init"
                        }
                      ]
                    }
                  ]
                },
                "property": {
                  "type": "Identifier",
                  "start": 872,
                  "end": 876,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 112
                    },
                    "end": {
                      "line": 20,
                      "column": 116
                    }
                  },
                  "name": "then"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "ArrowFunctionExpression",
                  "start": 877,
                  "end": 890,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 117
                    },
                    "end": {
                      "line": 20,
                      "column": 130
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": true,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 877,
                      "end": 878,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 117
                        },
                        "end": {
                          "line": 20,
                          "column": 118
                        }
                      },
                      "name": "x"
                    }
                  ],
                  "body": {
                    "type": "MemberExpression",
                    "start": 882,
                    "end": 890,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 122
                      },
                      "end": {
                        "line": 20,
                        "column": 130
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 882,
                      "end": 883,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 122
                        },
                        "end": {
                          "line": 20,
                          "column": 123
                        }
                      },
                      "name": "x"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 884,
                      "end": 890,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 124
                        },
                        "end": {
                          "line": 20,
                          "column": 130
                        }
                      },
                      "name": "models"
                    },
                    "computed": false
                  }
                }
              ]
            }
          }
        ],
        "trailingComments": null
      },
      "trailingComments": [],
      "name": "_",
      "leadingComments": []
    },
    {
      "type": "FunctionDeclaration",
      "start": 990,
      "end": 2469,
      "loc": {
        "start": {
          "line": 24,
          "column": 0
        },
        "end": {
          "line": 54,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 999,
        "end": 1014,
        "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": 1015,
          "end": 1021,
          "loc": {
            "start": {
              "line": 24,
              "column": 25
            },
            "end": {
              "line": 24,
              "column": 31
            }
          },
          "name": "socket"
        },
        {
          "type": "Identifier",
          "start": 1023,
          "end": 1031,
          "loc": {
            "start": {
              "line": 24,
              "column": 33
            },
            "end": {
              "line": 24,
              "column": 41
            }
          },
          "name": "commands"
        },
        {
          "type": "Identifier",
          "start": 1033,
          "end": 1040,
          "loc": {
            "start": {
              "line": 24,
              "column": 43
            },
            "end": {
              "line": 24,
              "column": 50
            }
          },
          "name": "factory"
        },
        {
          "type": "Identifier",
          "start": 1042,
          "end": 1052,
          "loc": {
            "start": {
              "line": 24,
              "column": 52
            },
            "end": {
              "line": 24,
              "column": 62
            }
          },
          "name": "attributes"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 1054,
        "end": 2469,
        "loc": {
          "start": {
            "line": 24,
            "column": 64
          },
          "end": {
            "line": 54,
            "column": 1
          }
        },
        "body": [
          {
            "type": "IfStatement",
            "start": 1060,
            "end": 1122,
            "loc": {
              "start": {
                "line": 25,
                "column": 4
              },
              "end": {
                "line": 26,
                "column": 35
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 1064,
              "end": 1085,
              "loc": {
                "start": {
                  "line": 25,
                  "column": 8
                },
                "end": {
                  "line": 25,
                  "column": 29
                }
              },
              "left": {
                "type": "MemberExpression",
                "start": 1064,
                "end": 1079,
                "loc": {
                  "start": {
                    "line": 25,
                    "column": 8
                  },
                  "end": {
                    "line": 25,
                    "column": 23
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 1064,
                  "end": 1072,
                  "loc": {
                    "start": {
                      "line": 25,
                      "column": 8
                    },
                    "end": {
                      "line": 25,
                      "column": 16
                    }
                  },
                  "name": "commands"
                },
                "property": {
                  "type": "Identifier",
                  "start": 1073,
                  "end": 1079,
                  "loc": {
                    "start": {
                      "line": 25,
                      "column": 17
                    },
                    "end": {
                      "line": 25,
                      "column": 23
                    }
                  },
                  "name": "length"
                },
                "computed": false
              },
              "operator": "===",
              "right": {
                "type": "Literal",
                "start": 1084,
                "end": 1085,
                "loc": {
                  "start": {
                    "line": 25,
                    "column": 28
                  },
                  "end": {
                    "line": 25,
                    "column": 29
                  }
                },
                "value": 0,
                "rawValue": 0,
                "raw": "0"
              }
            },
            "consequent": {
              "type": "ReturnStatement",
              "start": 1095,
              "end": 1122,
              "loc": {
                "start": {
                  "line": 26,
                  "column": 8
                },
                "end": {
                  "line": 26,
                  "column": 35
                }
              },
              "argument": {
                "type": "CallExpression",
                "start": 1102,
                "end": 1121,
                "loc": {
                  "start": {
                    "line": 26,
                    "column": 15
                  },
                  "end": {
                    "line": 26,
                    "column": 34
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 1102,
                  "end": 1117,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 15
                    },
                    "end": {
                      "line": 26,
                      "column": 30
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 1102,
                    "end": 1109,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 15
                      },
                      "end": {
                        "line": 26,
                        "column": 22
                      }
                    },
                    "name": "Promise"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 1110,
                    "end": 1117,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 23
                      },
                      "end": {
                        "line": 26,
                        "column": 30
                      }
                    },
                    "name": "resolve"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "ArrayExpression",
                    "start": 1118,
                    "end": 1120,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 31
                      },
                      "end": {
                        "line": 26,
                        "column": 33
                      }
                    },
                    "elements": []
                  }
                ]
              }
            },
            "alternate": null
          },
          {
            "type": "IfStatement",
            "start": 1127,
            "end": 1181,
            "loc": {
              "start": {
                "line": 27,
                "column": 4
              },
              "end": {
                "line": 28,
                "column": 24
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 1131,
              "end": 1155,
              "loc": {
                "start": {
                  "line": 27,
                  "column": 8
                },
                "end": {
                  "line": 27,
                  "column": 32
                }
              },
              "left": {
                "type": "Identifier",
                "start": 1131,
                "end": 1141,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 8
                  },
                  "end": {
                    "line": 27,
                    "column": 18
                  }
                },
                "name": "attributes"
              },
              "operator": "===",
              "right": {
                "type": "Identifier",
                "start": 1146,
                "end": 1155,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 23
                  },
                  "end": {
                    "line": 27,
                    "column": 32
                  }
                },
                "name": "undefined"
              }
            },
            "consequent": {
              "type": "ExpressionStatement",
              "start": 1165,
              "end": 1181,
              "loc": {
                "start": {
                  "line": 28,
                  "column": 8
                },
                "end": {
                  "line": 28,
                  "column": 24
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 1165,
                "end": 1180,
                "loc": {
                  "start": {
                    "line": 28,
                    "column": 8
                  },
                  "end": {
                    "line": 28,
                    "column": 23
                  }
                },
                "operator": "=",
                "left": {
                  "type": "Identifier",
                  "start": 1165,
                  "end": 1175,
                  "loc": {
                    "start": {
                      "line": 28,
                      "column": 8
                    },
                    "end": {
                      "line": 28,
                      "column": 18
                    }
                  },
                  "name": "attributes"
                },
                "right": {
                  "type": "ObjectExpression",
                  "start": 1178,
                  "end": 1180,
                  "loc": {
                    "start": {
                      "line": 28,
                      "column": 21
                    },
                    "end": {
                      "line": 28,
                      "column": 23
                    }
                  },
                  "properties": []
                }
              }
            },
            "alternate": null
          },
          {
            "type": "IfStatement",
            "start": 1186,
            "end": 1359,
            "loc": {
              "start": {
                "line": 29,
                "column": 4
              },
              "end": {
                "line": 33,
                "column": 5
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 1190,
              "end": 1203,
              "loc": {
                "start": {
                  "line": 29,
                  "column": 8
                },
                "end": {
                  "line": 29,
                  "column": 21
                }
              },
              "left": {
                "type": "Identifier",
                "start": 1190,
                "end": 1198,
                "loc": {
                  "start": {
                    "line": 29,
                    "column": 8
                  },
                  "end": {
                    "line": 29,
                    "column": 16
                  }
                },
                "name": "logLevel"
              },
              "operator": ">=",
              "right": {
                "type": "Literal",
                "start": 1202,
                "end": 1203,
                "loc": {
                  "start": {
                    "line": 29,
                    "column": 20
                  },
                  "end": {
                    "line": 29,
                    "column": 21
                  }
                },
                "value": 5,
                "rawValue": 5,
                "raw": "5"
              }
            },
            "consequent": {
              "type": "BlockStatement",
              "start": 1205,
              "end": 1359,
              "loc": {
                "start": {
                  "line": 29,
                  "column": 23
                },
                "end": {
                  "line": 33,
                  "column": 5
                }
              },
              "body": [
                {
                  "type": "IfStatement",
                  "start": 1215,
                  "end": 1262,
                  "loc": {
                    "start": {
                      "line": 30,
                      "column": 8
                    },
                    "end": {
                      "line": 31,
                      "column": 28
                    }
                  },
                  "test": {
                    "type": "BinaryExpression",
                    "start": 1219,
                    "end": 1232,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 12
                      },
                      "end": {
                        "line": 30,
                        "column": 25
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 1219,
                      "end": 1227,
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 12
                        },
                        "end": {
                          "line": 30,
                          "column": 20
                        }
                      },
                      "name": "logLevel"
                    },
                    "operator": ">=",
                    "right": {
                      "type": "Literal",
                      "start": 1231,
                      "end": 1232,
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 24
                        },
                        "end": {
                          "line": 30,
                          "column": 25
                        }
                      },
                      "value": 6,
                      "rawValue": 6,
                      "raw": "6"
                    }
                  },
                  "consequent": {
                    "type": "ExpressionStatement",
                    "start": 1246,
                    "end": 1262,
                    "loc": {
                      "start": {
                        "line": 31,
                        "column": 12
                      },
                      "end": {
                        "line": 31,
                        "column": 28
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 1246,
                      "end": 1261,
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 12
                        },
                        "end": {
                          "line": 31,
                          "column": 27
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1246,
                        "end": 1259,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 12
                          },
                          "end": {
                            "line": 31,
                            "column": 25
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1246,
                          "end": 1253,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 12
                            },
                            "end": {
                              "line": 31,
                              "column": 19
                            }
                          },
                          "name": "console"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1254,
                          "end": 1259,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 20
                            },
                            "end": {
                              "line": 31,
                              "column": 25
                            }
                          },
                          "name": "trace"
                        },
                        "computed": false
                      },
                      "arguments": []
                    }
                  },
                  "alternate": null
                },
                {
                  "type": "ExpressionStatement",
                  "start": 1271,
                  "end": 1353,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 8
                    },
                    "end": {
                      "line": 32,
                      "column": 90
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 1271,
                    "end": 1352,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 8
                      },
                      "end": {
                        "line": 32,
                        "column": 89
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1271,
                      "end": 1287,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 8
                        },
                        "end": {
                          "line": 32,
                          "column": 24
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 1271,
                        "end": 1279,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 8
                          },
                          "end": {
                            "line": 32,
                            "column": 16
                          }
                        },
                        "name": "commands"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1280,
                        "end": 1287,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 17
                          },
                          "end": {
                            "line": 32,
                            "column": 24
                          }
                        },
                        "name": "forEach"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "ArrowFunctionExpression",
                        "start": 1288,
                        "end": 1351,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 25
                          },
                          "end": {
                            "line": 32,
                            "column": 88
                          }
                        },
                        "id": null,
                        "generator": false,
                        "expression": true,
                        "async": false,
                        "params": [
                          {
                            "type": "Identifier",
                            "start": 1288,
                            "end": 1291,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 25
                              },
                              "end": {
                                "line": 32,
                                "column": 28
                              }
                            },
                            "name": "cmd"
                          }
                        ],
                        "body": {
                          "type": "CallExpression",
                          "start": 1295,
                          "end": 1351,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 32
                            },
                            "end": {
                              "line": 32,
                              "column": 88
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1295,
                            "end": 1306,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 32
                              },
                              "end": {
                                "line": 32,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1295,
                              "end": 1302,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 32
                                },
                                "end": {
                                  "line": 32,
                                  "column": 39
                                }
                              },
                              "name": "console"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1303,
                              "end": 1306,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 40
                                },
                                "end": {
                                  "line": 32,
                                  "column": 43
                                }
                              },
                              "name": "log"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 1307,
                              "end": 1322,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 44
                                },
                                "end": {
                                  "line": 32,
                                  "column": 59
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1307,
                                "end": 1320,
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 57
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1307,
                                  "end": 1316,
                                  "loc": {
                                    "start": {
                                      "line": 32,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 32,
                                      "column": 53
                                    }
                                  },
                                  "name": "Timestamp"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1317,
                                  "end": 1320,
                                  "loc": {
                                    "start": {
                                      "line": 32,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 32,
                                      "column": 57
                                    }
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            {
                              "type": "Literal",
                              "start": 1324,
                              "end": 1332,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 61
                                },
                                "end": {
                                  "line": 32,
                                  "column": 69
                                }
                              },
                              "value": "[c->s]",
                              "rawValue": "[c->s]",
                              "raw": "\"[c->s]\""
                            },
                            {
                              "type": "Literal",
                              "start": 1334,
                              "end": 1340,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 71
                                },
                                "end": {
                                  "line": 32,
                                  "column": 77
                                }
                              },
                              "value": "task",
                              "rawValue": "task",
                              "raw": "\"task\""
                            },
                            {
                              "type": "MemberExpression",
                              "start": 1342,
                              "end": 1350,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 79
                                },
                                "end": {
                                  "line": 32,
                                  "column": 87
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1342,
                                "end": 1345,
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 79
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 82
                                  }
                                },
                                "name": "cmd"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1346,
                                "end": 1350,
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 87
                                  }
                                },
                                "name": "task"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "alternate": null
          },
          {
            "type": "IfStatement",
            "start": 1364,
            "end": 1411,
            "loc": {
              "start": {
                "line": 34,
                "column": 4
              },
              "end": {
                "line": 35,
                "column": 24
              }
            },
            "test": {
              "type": "UnaryExpression",
              "start": 1368,
              "end": 1385,
              "loc": {
                "start": {
                  "line": 34,
                  "column": 8
                },
                "end": {
                  "line": 34,
                  "column": 25
                }
              },
              "operator": "!",
              "prefix": true,
              "argument": {
                "type": "MemberExpression",
                "start": 1369,
                "end": 1385,
                "loc": {
                  "start": {
                    "line": 34,
                    "column": 9
                  },
                  "end": {
                    "line": 34,
                    "column": 25
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 1369,
                  "end": 1380,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 9
                    },
                    "end": {
                      "line": 34,
                      "column": 20
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 1369,
                    "end": 1377,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 9
                      },
                      "end": {
                        "line": 34,
                        "column": 17
                      }
                    },
                    "name": "commands"
                  },
                  "property": {
                    "type": "Literal",
                    "start": 1378,
                    "end": 1379,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 18
                      },
                      "end": {
                        "line": 34,
                        "column": 19
                      }
                    },
                    "value": 0,
                    "rawValue": 0,
                    "raw": "0"
                  },
                  "computed": true
                },
                "property": {
                  "type": "Identifier",
                  "start": 1381,
                  "end": 1385,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 21
                    },
                    "end": {
                      "line": 34,
                      "column": 25
                    }
                  },
                  "name": "task"
                },
                "computed": false
              }
            },
            "consequent": {
              "type": "ExpressionStatement",
              "start": 1395,
              "end": 1411,
              "loc": {
                "start": {
                  "line": 35,
                  "column": 8
                },
                "end": {
                  "line": 35,
                  "column": 24
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 1395,
                "end": 1410,
                "loc": {
                  "start": {
                    "line": 35,
                    "column": 8
                  },
                  "end": {
                    "line": 35,
                    "column": 23
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 1395,
                  "end": 1408,
                  "loc": {
                    "start": {
                      "line": 35,
                      "column": 8
                    },
                    "end": {
                      "line": 35,
                      "column": 21
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 1395,
                    "end": 1402,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 8
                      },
                      "end": {
                        "line": 35,
                        "column": 15
                      }
                    },
                    "name": "console"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 1403,
                    "end": 1408,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 16
                      },
                      "end": {
                        "line": 35,
                        "column": 21
                      }
                    },
                    "name": "trace"
                  },
                  "computed": false
                },
                "arguments": []
              }
            },
            "alternate": null
          },
          {
            "type": "ReturnStatement",
            "start": 1416,
            "end": 2467,
            "loc": {
              "start": {
                "line": 36,
                "column": 4
              },
              "end": {
                "line": 53,
                "column": 7
              }
            },
            "argument": {
              "type": "CallExpression",
              "start": 1423,
              "end": 2466,
              "loc": {
                "start": {
                  "line": 36,
                  "column": 11
                },
                "end": {
                  "line": 53,
                  "column": 6
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 1423,
                "end": 1461,
                "loc": {
                  "start": {
                    "line": 36,
                    "column": 11
                  },
                  "end": {
                    "line": 36,
                    "column": 49
                  }
                },
                "object": {
                  "type": "CallExpression",
                  "start": 1423,
                  "end": 1456,
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 11
                    },
                    "end": {
                      "line": 36,
                      "column": 44
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 1423,
                    "end": 1437,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 11
                      },
                      "end": {
                        "line": 36,
                        "column": 25
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 1423,
                      "end": 1429,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 11
                        },
                        "end": {
                          "line": 36,
                          "column": 17
                        }
                      },
                      "name": "socket"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 1430,
                      "end": 1437,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 18
                        },
                        "end": {
                          "line": 36,
                          "column": 25
                        }
                      },
                      "name": "request"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 1438,
                      "end": 1446,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 26
                        },
                        "end": {
                          "line": 36,
                          "column": 34
                        }
                      },
                      "name": "commands"
                    },
                    {
                      "type": "Identifier",
                      "start": 1448,
                      "end": 1455,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 36
                        },
                        "end": {
                          "line": 36,
                          "column": 43
                        }
                      },
                      "name": "factory"
                    }
                  ]
                },
                "property": {
                  "type": "Identifier",
                  "start": 1457,
                  "end": 1461,
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 45
                    },
                    "end": {
                      "line": 36,
                      "column": 49
                    }
                  },
                  "name": "then"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "FunctionExpression",
                  "start": 1462,
                  "end": 2465,
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 50
                    },
                    "end": {
                      "line": 53,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 1471,
                      "end": 1474,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 59
                        },
                        "end": {
                          "line": 36,
                          "column": 62
                        }
                      },
                      "name": "res"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 1476,
                    "end": 2465,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 64
                      },
                      "end": {
                        "line": 53,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "IfStatement",
                        "start": 1486,
                        "end": 1716,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 8
                          },
                          "end": {
                            "line": 40,
                            "column": 9
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 1490,
                          "end": 1503,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 12
                            },
                            "end": {
                              "line": 37,
                              "column": 25
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 1490,
                            "end": 1498,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 12
                              },
                              "end": {
                                "line": 37,
                                "column": 20
                              }
                            },
                            "name": "logLevel"
                          },
                          "operator": ">=",
                          "right": {
                            "type": "Literal",
                            "start": 1502,
                            "end": 1503,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 24
                              },
                              "end": {
                                "line": 37,
                                "column": 25
                              }
                            },
                            "value": 5,
                            "rawValue": 5,
                            "raw": "5"
                          }
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 1505,
                          "end": 1716,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 27
                            },
                            "end": {
                              "line": 40,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 1519,
                              "end": 1608,
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 12
                                },
                                "end": {
                                  "line": 38,
                                  "column": 101
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 1519,
                                "end": 1607,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 100
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 1519,
                                  "end": 1537,
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 1519,
                                    "end": 1529,
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 22
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1519,
                                      "end": 1522,
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 15
                                        }
                                      },
                                      "name": "res"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1523,
                                      "end": 1529,
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 22
                                        }
                                      },
                                      "name": "errors"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1530,
                                    "end": 1537,
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 30
                                      }
                                    },
                                    "name": "forEach"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ArrowFunctionExpression",
                                    "start": 1538,
                                    "end": 1606,
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 99
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": true,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 1538,
                                        "end": 1539,
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 32
                                          }
                                        },
                                        "name": "e"
                                      }
                                    ],
                                    "body": {
                                      "type": "CallExpression",
                                      "start": 1543,
                                      "end": 1606,
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 99
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 1543,
                                        "end": 1554,
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 47
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 1543,
                                          "end": 1550,
                                          "loc": {
                                            "start": {
                                              "line": 38,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 38,
                                              "column": 43
                                            }
                                          },
                                          "name": "console"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1551,
                                          "end": 1554,
                                          "loc": {
                                            "start": {
                                              "line": 38,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 38,
                                              "column": 47
                                            }
                                          },
                                          "name": "log"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "CallExpression",
                                          "start": 1555,
                                          "end": 1570,
                                          "loc": {
                                            "start": {
                                              "line": 38,
                                              "column": 48
                                            },
                                            "end": {
                                              "line": 38,
                                              "column": 63
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 1555,
                                            "end": 1568,
                                            "loc": {
                                              "start": {
                                                "line": 38,
                                                "column": 48
                                              },
                                              "end": {
                                                "line": 38,
                                                "column": 61
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 1555,
                                              "end": 1564,
                                              "loc": {
                                                "start": {
                                                  "line": 38,
                                                  "column": 48
                                                },
                                                "end": {
                                                  "line": 38,
                                                  "column": 57
                                                }
                                              },
                                              "name": "Timestamp"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 1565,
                                              "end": 1568,
                                              "loc": {
                                                "start": {
                                                  "line": 38,
                                                  "column": 58
                                                },
                                                "end": {
                                                  "line": 38,
                                                  "column": 61
                                                }
                                              },
                                              "name": "get"
                                            },
                                            "computed": false
                                          },
                                          "arguments": []
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 1572,
                                          "end": 1580,
                                          "loc": {
                                            "start": {
                                              "line": 38,
                                              "column": 65
                                            },
                                            "end": {
                                              "line": 38,
                                              "column": 73
                                            }
                                          },
                                          "value": "[s->c]",
                                          "rawValue": "[s->c]",
                                          "raw": "\"[s->c]\""
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 1582,
                                          "end": 1589,
                                          "loc": {
                                            "start": {
                                              "line": 38,
                                              "column": 75
                                            },
                                            "end": {
                                              "line": 38,
                                              "column": 82
                                            }
                                          },
                                          "value": "error",
                                          "rawValue": "error",
                                          "raw": "\"error\""
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 1591,
                                          "end": 1605,
                                          "loc": {
                                            "start": {
                                              "line": 38,
                                              "column": 84
                                            },
                                            "end": {
                                              "line": 38,
                                              "column": 98
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 1591,
                                            "end": 1592,
                                            "loc": {
                                              "start": {
                                                "line": 38,
                                                "column": 84
                                              },
                                              "end": {
                                                "line": 38,
                                                "column": 85
                                              }
                                            },
                                            "name": "e"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1593,
                                            "end": 1605,
                                            "loc": {
                                              "start": {
                                                "line": 38,
                                                "column": 86
                                              },
                                              "end": {
                                                "line": 38,
                                                "column": 98
                                              }
                                            },
                                            "name": "errorMessage"
                                          },
                                          "computed": false
                                        }
                                      ]
                                    }
                                  }
                                ]
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 1621,
                              "end": 1706,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 12
                                },
                                "end": {
                                  "line": 39,
                                  "column": 97
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 1621,
                                "end": 1705,
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 39,
                                    "column": 96
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 1621,
                                  "end": 1640,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 1621,
                                    "end": 1632,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1621,
                                      "end": 1624,
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 39,
                                          "column": 15
                                        }
                                      },
                                      "name": "res"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1625,
                                      "end": 1632,
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 39,
                                          "column": 23
                                        }
                                      },
                                      "name": "results"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1633,
                                    "end": 1640,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 31
                                      }
                                    },
                                    "name": "forEach"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ArrowFunctionExpression",
                                    "start": 1641,
                                    "end": 1704,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 95
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": true,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 1641,
                                        "end": 1642,
                                        "loc": {
                                          "start": {
                                            "line": 39,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 39,
                                            "column": 33
                                          }
                                        },
                                        "name": "r"
                                      }
                                    ],
                                    "body": {
                                      "type": "CallExpression",
                                      "start": 1646,
                                      "end": 1704,
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 39,
                                          "column": 95
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 1646,
                                        "end": 1657,
                                        "loc": {
                                          "start": {
                                            "line": 39,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 39,
                                            "column": 48
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 1646,
                                          "end": 1653,
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 44
                                            }
                                          },
                                          "name": "console"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1654,
                                          "end": 1657,
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 48
                                            }
                                          },
                                          "name": "log"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "CallExpression",
                                          "start": 1658,
                                          "end": 1673,
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 64
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 1658,
                                            "end": 1671,
                                            "loc": {
                                              "start": {
                                                "line": 39,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 39,
                                                "column": 62
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 1658,
                                              "end": 1667,
                                              "loc": {
                                                "start": {
                                                  "line": 39,
                                                  "column": 49
                                                },
                                                "end": {
                                                  "line": 39,
                                                  "column": 58
                                                }
                                              },
                                              "name": "Timestamp"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 1668,
                                              "end": 1671,
                                              "loc": {
                                                "start": {
                                                  "line": 39,
                                                  "column": 59
                                                },
                                                "end": {
                                                  "line": 39,
                                                  "column": 62
                                                }
                                              },
                                              "name": "get"
                                            },
                                            "computed": false
                                          },
                                          "arguments": []
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 1675,
                                          "end": 1683,
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 66
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 74
                                            }
                                          },
                                          "value": "[s->c]",
                                          "rawValue": "[s->c]",
                                          "raw": "\"[s->c]\""
                                        },
                                        {
                                          "type": "Literal",
                                          "start": 1685,
                                          "end": 1693,
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 76
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 84
                                            }
                                          },
                                          "value": "result",
                                          "rawValue": "result",
                                          "raw": "\"result\""
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 1695,
                                          "end": 1703,
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 86
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 94
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 1695,
                                            "end": 1696,
                                            "loc": {
                                              "start": {
                                                "line": 39,
                                                "column": 86
                                              },
                                              "end": {
                                                "line": 39,
                                                "column": 87
                                              }
                                            },
                                            "name": "r"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1697,
                                            "end": 1703,
                                            "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": 1725,
                            "end": 1782,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 8
                              },
                              "end": {
                                "line": 41,
                                "column": 65
                              }
                            },
                            "range": [
                              1725,
                              1782
                            ]
                          }
                        ]
                      },
                      {
                        "type": "IfStatement",
                        "start": 1791,
                        "end": 1846,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 8
                          },
                          "end": {
                            "line": 43,
                            "column": 32
                          }
                        },
                        "test": {
                          "type": "MemberExpression",
                          "start": 1795,
                          "end": 1812,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 12
                            },
                            "end": {
                              "line": 42,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1795,
                            "end": 1805,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 12
                              },
                              "end": {
                                "line": 42,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1795,
                              "end": 1798,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 12
                                },
                                "end": {
                                  "line": 42,
                                  "column": 15
                                }
                              },
                              "name": "res",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1799,
                              "end": 1805,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 16
                                },
                                "end": {
                                  "line": 42,
                                  "column": 22
                                }
                              },
                              "name": "errors"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1806,
                            "end": 1812,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 23
                              },
                              "end": {
                                "line": 42,
                                "column": 29
                              }
                            },
                            "name": "length"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "consequent": {
                          "type": "ThrowStatement",
                          "start": 1826,
                          "end": 1846,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 12
                            },
                            "end": {
                              "line": 43,
                              "column": 32
                            }
                          },
                          "argument": {
                            "type": "MemberExpression",
                            "start": 1832,
                            "end": 1845,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 18
                              },
                              "end": {
                                "line": 43,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1832,
                              "end": 1842,
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 18
                                },
                                "end": {
                                  "line": 43,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1832,
                                "end": 1835,
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 21
                                  }
                                },
                                "name": "res"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1836,
                                "end": 1842,
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 28
                                  }
                                },
                                "name": "errors"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Literal",
                              "start": 1843,
                              "end": 1844,
                              "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": 1725,
                            "end": 1782,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 8
                              },
                              "end": {
                                "line": 41,
                                "column": 65
                              }
                            },
                            "range": [
                              1725,
                              1782
                            ]
                          }
                        ]
                      },
                      {
                        "type": "IfStatement",
                        "start": 1855,
                        "end": 2071,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 8
                          },
                          "end": {
                            "line": 45,
                            "column": 135
                          }
                        },
                        "test": {
                          "type": "LogicalExpression",
                          "start": 1859,
                          "end": 1934,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 12
                            },
                            "end": {
                              "line": 44,
                              "column": 87
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 1859,
                            "end": 1892,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 12
                              },
                              "end": {
                                "line": 44,
                                "column": 45
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "MemberExpression",
                              "start": 1860,
                              "end": 1892,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 13
                                },
                                "end": {
                                  "line": 44,
                                  "column": 45
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1860,
                                "end": 1870,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 23
                                  }
                                },
                                "name": "attributes"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1871,
                                "end": 1892,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 45
                                  }
                                },
                                "name": "ignoreNumberOfResults"
                              },
                              "computed": false
                            }
                          },
                          "operator": "&&",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 1896,
                            "end": 1934,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 49
                              },
                              "end": {
                                "line": 44,
                                "column": 87
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 1896,
                              "end": 1914,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 49
                                },
                                "end": {
                                  "line": 44,
                                  "column": 67
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1896,
                                "end": 1907,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 60
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1896,
                                  "end": 1899,
                                  "loc": {
                                    "start": {
                                      "line": 44,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 44,
                                      "column": 52
                                    }
                                  },
                                  "name": "res"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1900,
                                  "end": 1907,
                                  "loc": {
                                    "start": {
                                      "line": 44,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 44,
                                      "column": 60
                                    }
                                  },
                                  "name": "results"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1908,
                                "end": 1914,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 67
                                  }
                                },
                                "name": "length"
                              },
                              "computed": false
                            },
                            "operator": "!==",
                            "right": {
                              "type": "MemberExpression",
                              "start": 1919,
                              "end": 1934,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 72
                                },
                                "end": {
                                  "line": 44,
                                  "column": 87
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1919,
                                "end": 1927,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 72
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 80
                                  }
                                },
                                "name": "commands"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1928,
                                "end": 1934,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 81
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 87
                                  }
                                },
                                "name": "length"
                              },
                              "computed": false
                            }
                          }
                        },
                        "consequent": {
                          "type": "ThrowStatement",
                          "start": 1948,
                          "end": 2071,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 12
                            },
                            "end": {
                              "line": 45,
                              "column": 135
                            }
                          },
                          "argument": {
                            "type": "ObjectExpression",
                            "start": 1954,
                            "end": 2070,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 18
                              },
                              "end": {
                                "line": 45,
                                "column": 134
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 1955,
                                "end": 2017,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 81
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1955,
                                  "end": 1967,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 31
                                    }
                                  },
                                  "name": "errorMessage"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 1969,
                                  "end": 2017,
                                  "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": 2019,
                                "end": 2042,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 106
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 2019,
                                  "end": 2022,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 83
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 86
                                    }
                                  },
                                  "name": "got"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 2024,
                                  "end": 2042,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 88
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 106
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 2024,
                                    "end": 2035,
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 88
                                      },
                                      "end": {
                                        "line": 45,
                                        "column": 99
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 2024,
                                      "end": 2027,
                                      "loc": {
                                        "start": {
                                          "line": 45,
                                          "column": 88
                                        },
                                        "end": {
                                          "line": 45,
                                          "column": 91
                                        }
                                      },
                                      "name": "res"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2028,
                                      "end": 2035,
                                      "loc": {
                                        "start": {
                                          "line": 45,
                                          "column": 92
                                        },
                                        "end": {
                                          "line": 45,
                                          "column": 99
                                        }
                                      },
                                      "name": "results"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2036,
                                    "end": 2042,
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 100
                                      },
                                      "end": {
                                        "line": 45,
                                        "column": 106
                                      }
                                    },
                                    "name": "length"
                                  },
                                  "computed": false
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 2044,
                                "end": 2069,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 108
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 133
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 2044,
                                  "end": 2052,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 108
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 116
                                    }
                                  },
                                  "name": "expected"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 2054,
                                  "end": 2069,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 118
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 133
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2054,
                                    "end": 2062,
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 118
                                      },
                                      "end": {
                                        "line": 45,
                                        "column": 126
                                      }
                                    },
                                    "name": "commands"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2063,
                                    "end": 2069,
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 127
                                      },
                                      "end": {
                                        "line": 45,
                                        "column": 133
                                      }
                                    },
                                    "name": "length"
                                  },
                                  "computed": false
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        },
                        "alternate": null
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 2080,
                        "end": 2362,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 8
                          },
                          "end": {
                            "line": 50,
                            "column": 11
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 2084,
                            "end": 2361,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 12
                              },
                              "end": {
                                "line": 50,
                                "column": 10
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 2084,
                              "end": 2091,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 12
                                },
                                "end": {
                                  "line": 46,
                                  "column": 19
                                }
                              },
                              "name": "results"
                            },
                            "init": {
                              "type": "CallExpression",
                              "start": 2094,
                              "end": 2361,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 22
                                },
                                "end": {
                                  "line": 50,
                                  "column": 10
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2094,
                                "end": 2109,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 37
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 2094,
                                  "end": 2105,
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2094,
                                    "end": 2097,
                                    "loc": {
                                      "start": {
                                        "line": 46,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 46,
                                        "column": 25
                                      }
                                    },
                                    "name": "res"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2098,
                                    "end": 2105,
                                    "loc": {
                                      "start": {
                                        "line": 46,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 46,
                                        "column": 33
                                      }
                                    },
                                    "name": "results"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2106,
                                  "end": 2109,
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 37
                                    }
                                  },
                                  "name": "map"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "FunctionExpression",
                                  "start": 2110,
                                  "end": 2360,
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 9
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 2119,
                                      "end": 2125,
                                      "loc": {
                                        "start": {
                                          "line": 46,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 46,
                                          "column": 53
                                        }
                                      },
                                      "name": "result"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 2127,
                                      "end": 2128,
                                      "loc": {
                                        "start": {
                                          "line": 46,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 46,
                                          "column": 56
                                        }
                                      },
                                      "name": "i"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 2130,
                                    "end": 2360,
                                    "loc": {
                                      "start": {
                                        "line": 46,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 50,
                                        "column": 9
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "IfStatement",
                                        "start": 2144,
                                        "end": 2316,
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 48,
                                            "column": 134
                                          }
                                        },
                                        "test": {
                                          "type": "BinaryExpression",
                                          "start": 2148,
                                          "end": 2180,
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 48
                                            }
                                          },
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 2148,
                                            "end": 2159,
                                            "loc": {
                                              "start": {
                                                "line": 47,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 47,
                                                "column": 27
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2148,
                                              "end": 2154,
                                              "loc": {
                                                "start": {
                                                  "line": 47,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 47,
                                                  "column": 22
                                                }
                                              },
                                              "name": "result"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2155,
                                              "end": 2159,
                                              "loc": {
                                                "start": {
                                                  "line": 47,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 47,
                                                  "column": 27
                                                }
                                              },
                                              "name": "hint"
                                            },
                                            "computed": false
                                          },
                                          "operator": "!==",
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 2164,
                                            "end": 2180,
                                            "loc": {
                                              "start": {
                                                "line": 47,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 47,
                                                "column": 48
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 2164,
                                              "end": 2175,
                                              "loc": {
                                                "start": {
                                                  "line": 47,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 47,
                                                  "column": 43
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 2164,
                                                "end": 2172,
                                                "loc": {
                                                  "start": {
                                                    "line": 47,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 47,
                                                    "column": 40
                                                  }
                                                },
                                                "name": "commands"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2173,
                                                "end": 2174,
                                                "loc": {
                                                  "start": {
                                                    "line": 47,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 47,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "i"
                                              },
                                              "computed": true
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2176,
                                              "end": 2180,
                                              "loc": {
                                                "start": {
                                                  "line": 47,
                                                  "column": 44
                                                },
                                                "end": {
                                                  "line": 47,
                                                  "column": 48
                                                }
                                              },
                                              "name": "task"
                                            },
                                            "computed": false
                                          }
                                        },
                                        "consequent": {
                                          "type": "ThrowStatement",
                                          "start": 2198,
                                          "end": 2316,
                                          "loc": {
                                            "start": {
                                              "line": 48,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 48,
                                              "column": 134
                                            }
                                          },
                                          "argument": {
                                            "type": "ObjectExpression",
                                            "start": 2204,
                                            "end": 2315,
                                            "loc": {
                                              "start": {
                                                "line": 48,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 48,
                                                "column": 133
                                              }
                                            },
                                            "properties": [
                                              {
                                                "type": "Property",
                                                "start": 2205,
                                                "end": 2268,
                                                "loc": {
                                                  "start": {
                                                    "line": 48,
                                                    "column": 23
                                                  },
                                                  "end": {
                                                    "line": 48,
                                                    "column": 86
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 2205,
                                                  "end": 2217,
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 23
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 35
                                                    }
                                                  },
                                                  "name": "errorMessage"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 2219,
                                                  "end": 2268,
                                                  "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": 2270,
                                                "end": 2286,
                                                "loc": {
                                                  "start": {
                                                    "line": 48,
                                                    "column": 88
                                                  },
                                                  "end": {
                                                    "line": 48,
                                                    "column": 104
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 2270,
                                                  "end": 2273,
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 88
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 91
                                                    }
                                                  },
                                                  "name": "got"
                                                },
                                                "value": {
                                                  "type": "MemberExpression",
                                                  "start": 2275,
                                                  "end": 2286,
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 93
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 104
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 2275,
                                                    "end": 2281,
                                                    "loc": {
                                                      "start": {
                                                        "line": 48,
                                                        "column": 93
                                                      },
                                                      "end": {
                                                        "line": 48,
                                                        "column": 99
                                                      }
                                                    },
                                                    "name": "result"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 2282,
                                                    "end": 2286,
                                                    "loc": {
                                                      "start": {
                                                        "line": 48,
                                                        "column": 100
                                                      },
                                                      "end": {
                                                        "line": 48,
                                                        "column": 104
                                                      }
                                                    },
                                                    "name": "hint"
                                                  },
                                                  "computed": false
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 2288,
                                                "end": 2314,
                                                "loc": {
                                                  "start": {
                                                    "line": 48,
                                                    "column": 106
                                                  },
                                                  "end": {
                                                    "line": 48,
                                                    "column": 132
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 2288,
                                                  "end": 2296,
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 106
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 114
                                                    }
                                                  },
                                                  "name": "expected"
                                                },
                                                "value": {
                                                  "type": "MemberExpression",
                                                  "start": 2298,
                                                  "end": 2314,
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 116
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 132
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 2298,
                                                    "end": 2309,
                                                    "loc": {
                                                      "start": {
                                                        "line": 48,
                                                        "column": 116
                                                      },
                                                      "end": {
                                                        "line": 48,
                                                        "column": 127
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 2298,
                                                      "end": 2306,
                                                      "loc": {
                                                        "start": {
                                                          "line": 48,
                                                          "column": 116
                                                        },
                                                        "end": {
                                                          "line": 48,
                                                          "column": 124
                                                        }
                                                      },
                                                      "name": "commands"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 2307,
                                                      "end": 2308,
                                                      "loc": {
                                                        "start": {
                                                          "line": 48,
                                                          "column": 125
                                                        },
                                                        "end": {
                                                          "line": 48,
                                                          "column": 126
                                                        }
                                                      },
                                                      "name": "i"
                                                    },
                                                    "computed": true
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 2310,
                                                    "end": 2314,
                                                    "loc": {
                                                      "start": {
                                                        "line": 48,
                                                        "column": 128
                                                      },
                                                      "end": {
                                                        "line": 48,
                                                        "column": 132
                                                      }
                                                    },
                                                    "name": "task"
                                                  },
                                                  "computed": false
                                                },
                                                "kind": "init"
                                              }
                                            ]
                                          }
                                        },
                                        "alternate": null
                                      },
                                      {
                                        "type": "ReturnStatement",
                                        "start": 2329,
                                        "end": 2350,
                                        "loc": {
                                          "start": {
                                            "line": 49,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 49,
                                            "column": 33
                                          }
                                        },
                                        "argument": {
                                          "type": "MemberExpression",
                                          "start": 2336,
                                          "end": 2349,
                                          "loc": {
                                            "start": {
                                              "line": 49,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 49,
                                              "column": 32
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2336,
                                            "end": 2342,
                                            "loc": {
                                              "start": {
                                                "line": 49,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 49,
                                                "column": 25
                                              }
                                            },
                                            "name": "result"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2343,
                                            "end": 2349,
                                            "loc": {
                                              "start": {
                                                "line": 49,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 49,
                                                "column": 32
                                              }
                                            },
                                            "name": "result"
                                          },
                                          "computed": false
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ],
                        "kind": "let"
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 2371,
                        "end": 2399,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 8
                          },
                          "end": {
                            "line": 51,
                            "column": 36
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 2371,
                          "end": 2398,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 8
                            },
                            "end": {
                              "line": 51,
                              "column": 35
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 2371,
                            "end": 2385,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 8
                              },
                              "end": {
                                "line": 51,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2371,
                              "end": 2378,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 8
                                },
                                "end": {
                                  "line": 51,
                                  "column": 15
                                }
                              },
                              "name": "results"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2379,
                              "end": 2385,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 16
                                },
                                "end": {
                                  "line": 51,
                                  "column": 22
                                }
                              },
                              "name": "models"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "MemberExpression",
                            "start": 2388,
                            "end": 2398,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 25
                              },
                              "end": {
                                "line": 51,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2388,
                              "end": 2391,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 25
                                },
                                "end": {
                                  "line": 51,
                                  "column": 28
                                }
                              },
                              "name": "res"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2392,
                              "end": 2398,
                              "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": 2400,
                            "end": 2435,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 37
                              },
                              "end": {
                                "line": 51,
                                "column": 72
                              }
                            },
                            "range": [
                              2400,
                              2435
                            ]
                          }
                        ]
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 2444,
                        "end": 2459,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 8
                          },
                          "end": {
                            "line": 52,
                            "column": 23
                          }
                        },
                        "argument": {
                          "type": "Identifier",
                          "start": 2451,
                          "end": 2458,
                          "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": 2400,
                            "end": 2435,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 37
                              },
                              "end": {
                                "line": 51,
                                "column": 72
                              }
                            },
                            "range": [
                              2400,
                              2435
                            ]
                          }
                        ]
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      },
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": " execute prepared (see NOTE0) ClassCad commands and return an array of results in a Promise",
          "start": 896,
          "end": 989,
          "loc": {
            "start": {
              "line": 23,
              "column": 0
            },
            "end": {
              "line": 23,
              "column": 93
            }
          },
          "range": [
            896,
            989
          ]
        }
      ]
    },
    {
      "type": "FunctionDeclaration",
      "start": 2471,
      "end": 3231,
      "loc": {
        "start": {
          "line": 56,
          "column": 0
        },
        "end": {
          "line": 77,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 2480,
        "end": 2491,
        "loc": {
          "start": {
            "line": 56,
            "column": 9
          },
          "end": {
            "line": 56,
            "column": 20
          }
        },
        "name": "formatValue"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 2492,
          "end": 2493,
          "loc": {
            "start": {
              "line": 56,
              "column": 21
            },
            "end": {
              "line": 56,
              "column": 22
            }
          },
          "name": "x"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 2495,
        "end": 3231,
        "loc": {
          "start": {
            "line": 56,
            "column": 24
          },
          "end": {
            "line": 77,
            "column": 1
          }
        },
        "body": [
          {
            "type": "SwitchStatement",
            "start": 2501,
            "end": 2647,
            "loc": {
              "start": {
                "line": 57,
                "column": 4
              },
              "end": {
                "line": 62,
                "column": 5
              }
            },
            "discriminant": {
              "type": "Identifier",
              "start": 2509,
              "end": 2510,
              "loc": {
                "start": {
                  "line": 57,
                  "column": 12
                },
                "end": {
                  "line": 57,
                  "column": 13
                }
              },
              "name": "x"
            },
            "cases": [
              {
                "type": "SwitchCase",
                "start": 2522,
                "end": 2537,
                "loc": {
                  "start": {
                    "line": 58,
                    "column": 8
                  },
                  "end": {
                    "line": 58,
                    "column": 23
                  }
                },
                "consequent": [],
                "test": {
                  "type": "Identifier",
                  "start": 2527,
                  "end": 2536,
                  "loc": {
                    "start": {
                      "line": 58,
                      "column": 13
                    },
                    "end": {
                      "line": 58,
                      "column": 22
                    }
                  },
                  "name": "undefined"
                }
              },
              {
                "type": "SwitchCase",
                "start": 2546,
                "end": 2571,
                "loc": {
                  "start": {
                    "line": 59,
                    "column": 8
                  },
                  "end": {
                    "line": 59,
                    "column": 33
                  }
                },
                "consequent": [
                  {
                    "type": "ReturnStatement",
                    "start": 2557,
                    "end": 2571,
                    "loc": {
                      "start": {
                        "line": 59,
                        "column": 19
                      },
                      "end": {
                        "line": 59,
                        "column": 33
                      }
                    },
                    "argument": {
                      "type": "Literal",
                      "start": 2564,
                      "end": 2570,
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 26
                        },
                        "end": {
                          "line": 59,
                          "column": 32
                        }
                      },
                      "value": "VOID",
                      "rawValue": "VOID",
                      "raw": "\"VOID\""
                    }
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 2551,
                  "end": 2555,
                  "loc": {
                    "start": {
                      "line": 59,
                      "column": 13
                    },
                    "end": {
                      "line": 59,
                      "column": 17
                    }
                  },
                  "value": null,
                  "rawValue": null,
                  "raw": "null"
                }
              },
              {
                "type": "SwitchCase",
                "start": 2580,
                "end": 2607,
                "loc": {
                  "start": {
                    "line": 60,
                    "column": 8
                  },
                  "end": {
                    "line": 60,
                    "column": 35
                  }
                },
                "consequent": [
                  {
                    "type": "ReturnStatement",
                    "start": 2592,
                    "end": 2607,
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 20
                      },
                      "end": {
                        "line": 60,
                        "column": 35
                      }
                    },
                    "argument": {
                      "type": "Literal",
                      "start": 2599,
                      "end": 2606,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 27
                        },
                        "end": {
                          "line": 60,
                          "column": 34
                        }
                      },
                      "value": "FALSE",
                      "rawValue": "FALSE",
                      "raw": "\"FALSE\""
                    }
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 2585,
                  "end": 2590,
                  "loc": {
                    "start": {
                      "line": 60,
                      "column": 13
                    },
                    "end": {
                      "line": 60,
                      "column": 18
                    }
                  },
                  "value": false,
                  "rawValue": false,
                  "raw": "false"
                }
              },
              {
                "type": "SwitchCase",
                "start": 2616,
                "end": 2641,
                "loc": {
                  "start": {
                    "line": 61,
                    "column": 8
                  },
                  "end": {
                    "line": 61,
                    "column": 33
                  }
                },
                "consequent": [
                  {
                    "type": "ReturnStatement",
                    "start": 2627,
                    "end": 2641,
                    "loc": {
                      "start": {
                        "line": 61,
                        "column": 19
                      },
                      "end": {
                        "line": 61,
                        "column": 33
                      }
                    },
                    "argument": {
                      "type": "Literal",
                      "start": 2634,
                      "end": 2640,
                      "loc": {
                        "start": {
                          "line": 61,
                          "column": 26
                        },
                        "end": {
                          "line": 61,
                          "column": 32
                        }
                      },
                      "value": "TRUE",
                      "rawValue": "TRUE",
                      "raw": "\"TRUE\""
                    }
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 2621,
                  "end": 2625,
                  "loc": {
                    "start": {
                      "line": 61,
                      "column": 13
                    },
                    "end": {
                      "line": 61,
                      "column": 17
                    }
                  },
                  "value": true,
                  "rawValue": true,
                  "raw": "true"
                }
              }
            ]
          },
          {
            "type": "SwitchStatement",
            "start": 2652,
            "end": 2749,
            "loc": {
              "start": {
                "line": 63,
                "column": 4
              },
              "end": {
                "line": 66,
                "column": 5
              }
            },
            "discriminant": {
              "type": "UnaryExpression",
              "start": 2660,
              "end": 2668,
              "loc": {
                "start": {
                  "line": 63,
                  "column": 12
                },
                "end": {
                  "line": 63,
                  "column": 20
                }
              },
              "operator": "typeof",
              "prefix": true,
              "argument": {
                "type": "Identifier",
                "start": 2667,
                "end": 2668,
                "loc": {
                  "start": {
                    "line": 63,
                    "column": 19
                  },
                  "end": {
                    "line": 63,
                    "column": 20
                  }
                },
                "name": "x"
              }
            },
            "cases": [
              {
                "type": "SwitchCase",
                "start": 2680,
                "end": 2694,
                "loc": {
                  "start": {
                    "line": 64,
                    "column": 8
                  },
                  "end": {
                    "line": 64,
                    "column": 22
                  }
                },
                "consequent": [],
                "test": {
                  "type": "Literal",
                  "start": 2685,
                  "end": 2693,
                  "loc": {
                    "start": {
                      "line": 64,
                      "column": 13
                    },
                    "end": {
                      "line": 64,
                      "column": 21
                    }
                  },
                  "value": "string",
                  "rawValue": "string",
                  "raw": "'string'"
                }
              },
              {
                "type": "SwitchCase",
                "start": 2703,
                "end": 2743,
                "loc": {
                  "start": {
                    "line": 65,
                    "column": 8
                  },
                  "end": {
                    "line": 65,
                    "column": 48
                  }
                },
                "consequent": [
                  {
                    "type": "ReturnStatement",
                    "start": 2718,
                    "end": 2743,
                    "loc": {
                      "start": {
                        "line": 65,
                        "column": 23
                      },
                      "end": {
                        "line": 65,
                        "column": 48
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 2725,
                      "end": 2742,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 30
                        },
                        "end": {
                          "line": 65,
                          "column": 47
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2725,
                        "end": 2739,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 30
                          },
                          "end": {
                            "line": 65,
                            "column": 44
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 2725,
                          "end": 2729,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 30
                            },
                            "end": {
                              "line": 65,
                              "column": 34
                            }
                          },
                          "name": "JSON"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2730,
                          "end": 2739,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 35
                            },
                            "end": {
                              "line": 65,
                              "column": 44
                            }
                          },
                          "name": "stringify"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 2740,
                          "end": 2741,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 45
                            },
                            "end": {
                              "line": 65,
                              "column": 46
                            }
                          },
                          "name": "x"
                        }
                      ]
                    }
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 2708,
                  "end": 2716,
                  "loc": {
                    "start": {
                      "line": 65,
                      "column": 13
                    },
                    "end": {
                      "line": 65,
                      "column": 21
                    }
                  },
                  "value": "number",
                  "rawValue": "number",
                  "raw": "'number'"
                }
              }
            ]
          },
          {
            "type": "IfStatement",
            "start": 2754,
            "end": 3054,
            "loc": {
              "start": {
                "line": 67,
                "column": 4
              },
              "end": {
                "line": 74,
                "column": 22
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 2758,
              "end": 2776,
              "loc": {
                "start": {
                  "line": 67,
                  "column": 8
                },
                "end": {
                  "line": 67,
                  "column": 26
                }
              },
              "left": {
                "type": "Identifier",
                "start": 2758,
                "end": 2759,
                "loc": {
                  "start": {
                    "line": 67,
                    "column": 8
                  },
                  "end": {
                    "line": 67,
                    "column": 9
                  }
                },
                "name": "x"
              },
              "operator": "instanceof",
              "right": {
                "type": "Identifier",
                "start": 2771,
                "end": 2776,
                "loc": {
                  "start": {
                    "line": 67,
                    "column": 21
                  },
                  "end": {
                    "line": 67,
                    "column": 26
                  }
                },
                "name": "Array"
              }
            },
            "consequent": {
              "type": "ReturnStatement",
              "start": 2786,
              "end": 2835,
              "loc": {
                "start": {
                  "line": 68,
                  "column": 8
                },
                "end": {
                  "line": 68,
                  "column": 57
                }
              },
              "argument": {
                "type": "BinaryExpression",
                "start": 2793,
                "end": 2834,
                "loc": {
                  "start": {
                    "line": 68,
                    "column": 15
                  },
                  "end": {
                    "line": 68,
                    "column": 56
                  }
                },
                "left": {
                  "type": "BinaryExpression",
                  "start": 2793,
                  "end": 2828,
                  "loc": {
                    "start": {
                      "line": 68,
                      "column": 15
                    },
                    "end": {
                      "line": 68,
                      "column": 50
                    }
                  },
                  "left": {
                    "type": "Literal",
                    "start": 2793,
                    "end": 2796,
                    "loc": {
                      "start": {
                        "line": 68,
                        "column": 15
                      },
                      "end": {
                        "line": 68,
                        "column": 18
                      }
                    },
                    "value": "[",
                    "rawValue": "[",
                    "raw": "'['"
                  },
                  "operator": "+",
                  "right": {
                    "type": "CallExpression",
                    "start": 2799,
                    "end": 2828,
                    "loc": {
                      "start": {
                        "line": 68,
                        "column": 21
                      },
                      "end": {
                        "line": 68,
                        "column": 50
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2799,
                      "end": 2822,
                      "loc": {
                        "start": {
                          "line": 68,
                          "column": 21
                        },
                        "end": {
                          "line": 68,
                          "column": 44
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 2799,
                        "end": 2817,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 21
                          },
                          "end": {
                            "line": 68,
                            "column": 39
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2799,
                          "end": 2804,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 21
                            },
                            "end": {
                              "line": 68,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2799,
                            "end": 2800,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 21
                              },
                              "end": {
                                "line": 68,
                                "column": 22
                              }
                            },
                            "name": "x"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2801,
                            "end": 2804,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 23
                              },
                              "end": {
                                "line": 68,
                                "column": 26
                              }
                            },
                            "name": "map"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 2805,
                            "end": 2816,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 27
                              },
                              "end": {
                                "line": 68,
                                "column": 38
                              }
                            },
                            "name": "formatValue"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2818,
                        "end": 2822,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 40
                          },
                          "end": {
                            "line": 68,
                            "column": 44
                          }
                        },
                        "name": "join"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Literal",
                        "start": 2823,
                        "end": 2827,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 45
                          },
                          "end": {
                            "line": 68,
                            "column": 49
                          }
                        },
                        "value": ", ",
                        "rawValue": ", ",
                        "raw": "', '"
                      }
                    ]
                  }
                },
                "operator": "+",
                "right": {
                  "type": "Literal",
                  "start": 2831,
                  "end": 2834,
                  "loc": {
                    "start": {
                      "line": 68,
                      "column": 53
                    },
                    "end": {
                      "line": 68,
                      "column": 56
                    }
                  },
                  "value": "]",
                  "rawValue": "]",
                  "raw": "']'"
                }
              }
            },
            "alternate": {
              "type": "IfStatement",
              "start": 2845,
              "end": 3054,
              "loc": {
                "start": {
                  "line": 69,
                  "column": 9
                },
                "end": {
                  "line": 74,
                  "column": 22
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 2849,
                "end": 2875,
                "loc": {
                  "start": {
                    "line": 69,
                    "column": 13
                  },
                  "end": {
                    "line": 69,
                    "column": 39
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 2849,
                  "end": 2850,
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 13
                    },
                    "end": {
                      "line": 69,
                      "column": 14
                    }
                  },
                  "name": "x"
                },
                "operator": "instanceof",
                "right": {
                  "type": "MemberExpression",
                  "start": 2862,
                  "end": 2875,
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 26
                    },
                    "end": {
                      "line": 69,
                      "column": 39
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 2862,
                    "end": 2867,
                    "loc": {
                      "start": {
                        "line": 69,
                        "column": 26
                      },
                      "end": {
                        "line": 69,
                        "column": 31
                      }
                    },
                    "name": "THREE"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 2868,
                    "end": 2875,
                    "loc": {
                      "start": {
                        "line": 69,
                        "column": 32
                      },
                      "end": {
                        "line": 69,
                        "column": 39
                      }
                    },
                    "name": "Vector3"
                  },
                  "computed": false
                }
              },
              "consequent": {
                "type": "ReturnStatement",
                "start": 2885,
                "end": 2927,
                "loc": {
                  "start": {
                    "line": 70,
                    "column": 8
                  },
                  "end": {
                    "line": 70,
                    "column": 50
                  }
                },
                "argument": {
                  "type": "BinaryExpression",
                  "start": 2892,
                  "end": 2926,
                  "loc": {
                    "start": {
                      "line": 70,
                      "column": 15
                    },
                    "end": {
                      "line": 70,
                      "column": 49
                    }
                  },
                  "left": {
                    "type": "BinaryExpression",
                    "start": 2892,
                    "end": 2920,
                    "loc": {
                      "start": {
                        "line": 70,
                        "column": 15
                      },
                      "end": {
                        "line": 70,
                        "column": 43
                      }
                    },
                    "left": {
                      "type": "Literal",
                      "start": 2892,
                      "end": 2895,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 15
                        },
                        "end": {
                          "line": 70,
                          "column": 18
                        }
                      },
                      "value": "{",
                      "rawValue": "{",
                      "raw": "'{'"
                    },
                    "operator": "+",
                    "right": {
                      "type": "CallExpression",
                      "start": 2898,
                      "end": 2920,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 21
                        },
                        "end": {
                          "line": 70,
                          "column": 43
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2898,
                        "end": 2914,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 21
                          },
                          "end": {
                            "line": 70,
                            "column": 37
                          }
                        },
                        "object": {
                          "type": "CallExpression",
                          "start": 2898,
                          "end": 2909,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 21
                            },
                            "end": {
                              "line": 70,
                              "column": 32
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2898,
                            "end": 2907,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 21
                              },
                              "end": {
                                "line": 70,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2898,
                              "end": 2899,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 21
                                },
                                "end": {
                                  "line": 70,
                                  "column": 22
                                }
                              },
                              "name": "x"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2900,
                              "end": 2907,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 23
                                },
                                "end": {
                                  "line": 70,
                                  "column": 30
                                }
                              },
                              "name": "toArray"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2910,
                          "end": 2914,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 33
                            },
                            "end": {
                              "line": 70,
                              "column": 37
                            }
                          },
                          "name": "join"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Literal",
                          "start": 2915,
                          "end": 2919,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 38
                            },
                            "end": {
                              "line": 70,
                              "column": 42
                            }
                          },
                          "value": ", ",
                          "rawValue": ", ",
                          "raw": "', '"
                        }
                      ]
                    }
                  },
                  "operator": "+",
                  "right": {
                    "type": "Literal",
                    "start": 2923,
                    "end": 2926,
                    "loc": {
                      "start": {
                        "line": 70,
                        "column": 46
                      },
                      "end": {
                        "line": 70,
                        "column": 49
                      }
                    },
                    "value": "}",
                    "rawValue": "}",
                    "raw": "'}'"
                  }
                }
              },
              "alternate": {
                "type": "IfStatement",
                "start": 2937,
                "end": 3054,
                "loc": {
                  "start": {
                    "line": 71,
                    "column": 9
                  },
                  "end": {
                    "line": 74,
                    "column": 22
                  }
                },
                "test": {
                  "type": "BinaryExpression",
                  "start": 2941,
                  "end": 2968,
                  "loc": {
                    "start": {
                      "line": 71,
                      "column": 13
                    },
                    "end": {
                      "line": 71,
                      "column": 40
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 2941,
                    "end": 2942,
                    "loc": {
                      "start": {
                        "line": 71,
                        "column": 13
                      },
                      "end": {
                        "line": 71,
                        "column": 14
                      }
                    },
                    "name": "x"
                  },
                  "operator": "instanceof",
                  "right": {
                    "type": "Identifier",
                    "start": 2954,
                    "end": 2968,
                    "loc": {
                      "start": {
                        "line": 71,
                        "column": 26
                      },
                      "end": {
                        "line": 71,
                        "column": 40
                      }
                    },
                    "name": "ClassCadObject"
                  }
                },
                "consequent": {
                  "type": "ReturnStatement",
                  "start": 2978,
                  "end": 2996,
                  "loc": {
                    "start": {
                      "line": 72,
                      "column": 8
                    },
                    "end": {
                      "line": 72,
                      "column": 26
                    }
                  },
                  "argument": {
                    "type": "MemberExpression",
                    "start": 2985,
                    "end": 2995,
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 15
                      },
                      "end": {
                        "line": 72,
                        "column": 25
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 2985,
                      "end": 2986,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 15
                        },
                        "end": {
                          "line": 72,
                          "column": 16
                        }
                      },
                      "name": "x"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 2987,
                      "end": 2995,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 17
                        },
                        "end": {
                          "line": 72,
                          "column": 25
                        }
                      },
                      "name": "fullName"
                    },
                    "computed": false
                  }
                },
                "alternate": {
                  "type": "IfStatement",
                  "start": 3006,
                  "end": 3054,
                  "loc": {
                    "start": {
                      "line": 73,
                      "column": 9
                    },
                    "end": {
                      "line": 74,
                      "column": 22
                    }
                  },
                  "test": {
                    "type": "BinaryExpression",
                    "start": 3010,
                    "end": 3030,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 13
                      },
                      "end": {
                        "line": 73,
                        "column": 33
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 3010,
                      "end": 3011,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 13
                        },
                        "end": {
                          "line": 73,
                          "column": 14
                        }
                      },
                      "name": "x"
                    },
                    "operator": "instanceof",
                    "right": {
                      "type": "Identifier",
                      "start": 3023,
                      "end": 3030,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 26
                        },
                        "end": {
                          "line": 73,
                          "column": 33
                        }
                      },
                      "name": "Object3"
                    }
                  },
                  "consequent": {
                    "type": "ReturnStatement",
                    "start": 3040,
                    "end": 3054,
                    "loc": {
                      "start": {
                        "line": 74,
                        "column": 8
                      },
                      "end": {
                        "line": 74,
                        "column": 22
                      }
                    },
                    "argument": {
                      "type": "MemberExpression",
                      "start": 3047,
                      "end": 3053,
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 15
                        },
                        "end": {
                          "line": 74,
                          "column": 21
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 3047,
                        "end": 3048,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 15
                          },
                          "end": {
                            "line": 74,
                            "column": 16
                          }
                        },
                        "name": "x"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3049,
                        "end": 3053,
                        "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": 3055,
                "end": 3078,
                "loc": {
                  "start": {
                    "line": 74,
                    "column": 23
                  },
                  "end": {
                    "line": 74,
                    "column": 46
                  }
                },
                "range": [
                  3055,
                  3078
                ]
              }
            ]
          },
          {
            "type": "ExpressionStatement",
            "start": 3083,
            "end": 3152,
            "loc": {
              "start": {
                "line": 75,
                "column": 4
              },
              "end": {
                "line": 75,
                "column": 73
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 3083,
              "end": 3151,
              "loc": {
                "start": {
                  "line": 75,
                  "column": 4
                },
                "end": {
                  "line": 75,
                  "column": 72
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 3083,
                "end": 3096,
                "loc": {
                  "start": {
                    "line": 75,
                    "column": 4
                  },
                  "end": {
                    "line": 75,
                    "column": 17
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 3083,
                  "end": 3090,
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 4
                    },
                    "end": {
                      "line": 75,
                      "column": 11
                    }
                  },
                  "name": "console",
                  "leadingComments": null
                },
                "property": {
                  "type": "Identifier",
                  "start": 3091,
                  "end": 3096,
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 12
                    },
                    "end": {
                      "line": 75,
                      "column": 17
                    }
                  },
                  "name": "error"
                },
                "computed": false,
                "leadingComments": null
              },
              "arguments": [
                {
                  "type": "Literal",
                  "start": 3097,
                  "end": 3147,
                  "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": 3149,
                  "end": 3150,
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 70
                    },
                    "end": {
                      "line": 75,
                      "column": 71
                    }
                  },
                  "name": "x"
                }
              ],
              "leadingComments": null
            },
            "leadingComments": [
              {
                "type": "CommentLine",
                "value": " is fullName actually",
                "start": 3055,
                "end": 3078,
                "loc": {
                  "start": {
                    "line": 74,
                    "column": 23
                  },
                  "end": {
                    "line": 74,
                    "column": 46
                  }
                },
                "range": [
                  3055,
                  3078
                ]
              }
            ]
          },
          {
            "type": "ThrowStatement",
            "start": 3157,
            "end": 3229,
            "loc": {
              "start": {
                "line": 76,
                "column": 4
              },
              "end": {
                "line": 76,
                "column": 76
              }
            },
            "argument": {
              "type": "NewExpression",
              "start": 3163,
              "end": 3228,
              "loc": {
                "start": {
                  "line": 76,
                  "column": 10
                },
                "end": {
                  "line": 76,
                  "column": 75
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 3167,
                "end": 3176,
                "loc": {
                  "start": {
                    "line": 76,
                    "column": 14
                  },
                  "end": {
                    "line": 76,
                    "column": 23
                  }
                },
                "name": "TypeError"
              },
              "arguments": [
                {
                  "type": "Literal",
                  "start": 3177,
                  "end": 3227,
                  "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": 3233,
      "end": 3365,
      "loc": {
        "start": {
          "line": 79,
          "column": 0
        },
        "end": {
          "line": 81,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 3242,
        "end": 3258,
        "loc": {
          "start": {
            "line": 79,
            "column": 9
          },
          "end": {
            "line": 79,
            "column": 25
          }
        },
        "name": "formatExpression"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 3259,
          "end": 3263,
          "loc": {
            "start": {
              "line": 79,
              "column": 26
            },
            "end": {
              "line": 79,
              "column": 30
            }
          },
          "name": "expr"
        },
        {
          "type": "Identifier",
          "start": 3265,
          "end": 3269,
          "loc": {
            "start": {
              "line": 79,
              "column": 32
            },
            "end": {
              "line": 79,
              "column": 36
            }
          },
          "name": "args"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 3271,
        "end": 3365,
        "loc": {
          "start": {
            "line": 79,
            "column": 38
          },
          "end": {
            "line": 81,
            "column": 1
          }
        },
        "body": [
          {
            "type": "ReturnStatement",
            "start": 3277,
            "end": 3363,
            "loc": {
              "start": {
                "line": 80,
                "column": 4
              },
              "end": {
                "line": 80,
                "column": 90
              }
            },
            "argument": {
              "type": "ConditionalExpression",
              "start": 3284,
              "end": 3362,
              "loc": {
                "start": {
                  "line": 80,
                  "column": 11
                },
                "end": {
                  "line": 80,
                  "column": 89
                }
              },
              "test": {
                "type": "Identifier",
                "start": 3284,
                "end": 3288,
                "loc": {
                  "start": {
                    "line": 80,
                    "column": 11
                  },
                  "end": {
                    "line": 80,
                    "column": 15
                  }
                },
                "name": "args"
              },
              "consequent": {
                "type": "BinaryExpression",
                "start": 3291,
                "end": 3342,
                "loc": {
                  "start": {
                    "line": 80,
                    "column": 18
                  },
                  "end": {
                    "line": 80,
                    "column": 69
                  }
                },
                "left": {
                  "type": "BinaryExpression",
                  "start": 3291,
                  "end": 3336,
                  "loc": {
                    "start": {
                      "line": 80,
                      "column": 18
                    },
                    "end": {
                      "line": 80,
                      "column": 63
                    }
                  },
                  "left": {
                    "type": "BinaryExpression",
                    "start": 3291,
                    "end": 3301,
                    "loc": {
                      "start": {
                        "line": 80,
                        "column": 18
                      },
                      "end": {
                        "line": 80,
                        "column": 28
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 3291,
                      "end": 3295,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 18
                        },
                        "end": {
                          "line": 80,
                          "column": 22
                        }
                      },
                      "name": "expr"
                    },
                    "operator": "+",
                    "right": {
                      "type": "Literal",
                      "start": 3298,
                      "end": 3301,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 25
                        },
                        "end": {
                          "line": 80,
                          "column": 28
                        }
                      },
                      "value": "(",
                      "rawValue": "(",
                      "raw": "'('"
                    }
                  },
                  "operator": "+",
                  "right": {
                    "type": "CallExpression",
                    "start": 3304,
                    "end": 3336,
                    "loc": {
                      "start": {
                        "line": 80,
                        "column": 31
                      },
                      "end": {
                        "line": 80,
                        "column": 63
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3304,
                      "end": 3330,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 31
                        },
                        "end": {
                          "line": 80,
                          "column": 57
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 3304,
                        "end": 3325,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 31
                          },
                          "end": {
                            "line": 80,
                            "column": 52
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3304,
                          "end": 3312,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 31
                            },
                            "end": {
                              "line": 80,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3304,
                            "end": 3308,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 31
                              },
                              "end": {
                                "line": 80,
                                "column": 35
                              }
                            },
                            "name": "args"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3309,
                            "end": 3312,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 36
                              },
                              "end": {
                                "line": 80,
                                "column": 39
                              }
                            },
                            "name": "map"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 3313,
                            "end": 3324,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 40
                              },
                              "end": {
                                "line": 80,
                                "column": 51
                              }
                            },
                            "name": "formatValue"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3326,
                        "end": 3330,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 53
                          },
                          "end": {
                            "line": 80,
                            "column": 57
                          }
                        },
                        "name": "join"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Literal",
                        "start": 3331,
                        "end": 3335,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 58
                          },
                          "end": {
                            "line": 80,
                            "column": 62
                          }
                        },
                        "value": ", ",
                        "rawValue": ", ",
                        "raw": "', '"
                      }
                    ]
                  }
                },
                "operator": "+",
                "right": {
                  "type": "Literal",
                  "start": 3339,
                  "end": 3342,
                  "loc": {
                    "start": {
                      "line": 80,
                      "column": 66
                    },
                    "end": {
                      "line": 80,
                      "column": 69
                    }
                  },
                  "value": ")",
                  "rawValue": ")",
                  "raw": "')'"
                }
              },
              "alternate": {
                "type": "CallExpression",
                "start": 3345,
                "end": 3362,
                "loc": {
                  "start": {
                    "line": 80,
                    "column": 72
                  },
                  "end": {
                    "line": 80,
                    "column": 89
                  }
                },
                "callee": {
                  "type": "Identifier",
                  "start": 3345,
                  "end": 3356,
                  "loc": {
                    "start": {
                      "line": 80,
                      "column": 72
                    },
                    "end": {
                      "line": 80,
                      "column": 83
                    }
                  },
                  "name": "formatValue"
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 3357,
                    "end": 3361,
                    "loc": {
                      "start": {
                        "line": 80,
                        "column": 84
                      },
                      "end": {
                        "line": 80,
                        "column": 88
                      }
                    },
                    "name": "expr"
                  }
                ]
              }
            }
          }
        ]
      }
    },
    {
      "type": "Identifier",
      "start": 3367,
      "end": 3492,
      "loc": {
        "start": {
          "line": 83,
          "column": 0
        },
        "end": {
          "line": 85,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 3376,
        "end": 3383,
        "loc": {
          "start": {
            "line": 83,
            "column": 9
          },
          "end": {
            "line": 83,
            "column": 16
          }
        },
        "name": "parseTo"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 3384,
          "end": 3387,
          "loc": {
            "start": {
              "line": 83,
              "column": 17
            },
            "end": {
              "line": 83,
              "column": 20
            }
          },
          "name": "obj"
        },
        {
          "type": "Identifier",
          "start": 3389,
          "end": 3402,
          "loc": {
            "start": {
              "line": 83,
              "column": 22
            },
            "end": {
              "line": 83,
              "column": 35
            }
          },
          "name": "linkedObjects"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 3404,
        "end": 3492,
        "loc": {
          "start": {
            "line": 83,
            "column": 37
          },
          "end": {
            "line": 85,
            "column": 1
          }
        },
        "body": [
          {
            "type": "ReturnStatement",
            "start": 3410,
            "end": 3490,
            "loc": {
              "start": {
                "line": 84,
                "column": 4
              },
              "end": {
                "line": 84,
                "column": 84
              }
            },
            "argument": {
              "type": "ArrowFunctionExpression",
              "start": 3417,
              "end": 3489,
              "loc": {
                "start": {
                  "line": 84,
                  "column": 11
                },
                "end": {
                  "line": 84,
                  "column": 83
                }
              },
              "id": null,
              "generator": false,
              "expression": true,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 3417,
                  "end": 3421,
                  "loc": {
                    "start": {
                      "line": 84,
                      "column": 11
                    },
                    "end": {
                      "line": 84,
                      "column": 15
                    }
                  },
                  "name": "tree"
                }
              ],
              "body": {
                "type": "CallExpression",
                "start": 3425,
                "end": 3489,
                "loc": {
                  "start": {
                    "line": 84,
                    "column": 19
                  },
                  "end": {
                    "line": 84,
                    "column": 83
                  }
                },
                "callee": {
                  "type": "Identifier",
                  "start": 3425,
                  "end": 3440,
                  "loc": {
                    "start": {
                      "line": 84,
                      "column": 19
                    },
                    "end": {
                      "line": 84,
                      "column": 34
                    }
                  },
                  "name": "parseObjectTree"
                },
                "arguments": [
                  {
                    "type": "MemberExpression",
                    "start": 3441,
                    "end": 3448,
                    "loc": {
                      "start": {
                        "line": 84,
                        "column": 35
                      },
                      "end": {
                        "line": 84,
                        "column": 42
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 3441,
                      "end": 3445,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 35
                        },
                        "end": {
                          "line": 84,
                          "column": 39
                        }
                      },
                      "name": "tree"
                    },
                    "property": {
                      "type": "Literal",
                      "start": 3446,
                      "end": 3447,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 40
                        },
                        "end": {
                          "line": 84,
                          "column": 41
                        }
                      },
                      "value": 0,
                      "rawValue": 0,
                      "raw": "0"
                    },
                    "computed": true
                  },
                  {
                    "type": "Identifier",
                    "start": 3450,
                    "end": 3459,
                    "loc": {
                      "start": {
                        "line": 84,
                        "column": 44
                      },
                      "end": {
                        "line": 84,
                        "column": 53
                      }
                    },
                    "name": "undefined"
                  },
                  {
                    "type": "CallExpression",
                    "start": 3461,
                    "end": 3488,
                    "loc": {
                      "start": {
                        "line": 84,
                        "column": 55
                      },
                      "end": {
                        "line": 84,
                        "column": 82
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3461,
                      "end": 3473,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 55
                        },
                        "end": {
                          "line": 84,
                          "column": 67
                        }
                      },
                      "object": {
                        "type": "ArrayExpression",
                        "start": 3461,
                        "end": 3466,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 55
                          },
                          "end": {
                            "line": 84,
                            "column": 60
                          }
                        },
                        "elements": [
                          {
                            "type": "Identifier",
                            "start": 3462,
                            "end": 3465,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 56
                              },
                              "end": {
                                "line": 84,
                                "column": 59
                              }
                            },
                            "name": "obj"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3467,
                        "end": 3473,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 61
                          },
                          "end": {
                            "line": 84,
                            "column": 67
                          }
                        },
                        "name": "concat"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 3474,
                        "end": 3487,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 68
                          },
                          "end": {
                            "line": 84,
                            "column": 81
                          }
                        },
                        "name": "linkedObjects"
                      }
                    ]
                  }
                ]
              }
            }
          }
        ]
      },
      "name": "_",
      "leadingComments": [],
      "trailingComments": []
    },
    {
      "type": "Identifier",
      "start": 3494,
      "end": 3626,
      "loc": {
        "start": {
          "line": 87,
          "column": 0
        },
        "end": {
          "line": 89,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 3503,
        "end": 3517,
        "loc": {
          "start": {
            "line": 87,
            "column": 9
          },
          "end": {
            "line": 87,
            "column": 23
          }
        },
        "name": "parseToChildOf"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 3518,
          "end": 3521,
          "loc": {
            "start": {
              "line": 87,
              "column": 24
            },
            "end": {
              "line": 87,
              "column": 27
            }
          },
          "name": "obj"
        },
        {
          "type": "Identifier",
          "start": 3523,
          "end": 3536,
          "loc": {
            "start": {
              "line": 87,
              "column": 29
            },
            "end": {
              "line": 87,
              "column": 42
            }
          },
          "name": "linkedObjects"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 3538,
        "end": 3626,
        "loc": {
          "start": {
            "line": 87,
            "column": 44
          },
          "end": {
            "line": 89,
            "column": 1
          }
        },
        "body": [
          {
            "type": "ReturnStatement",
            "start": 3544,
            "end": 3624,
            "loc": {
              "start": {
                "line": 88,
                "column": 4
              },
              "end": {
                "line": 88,
                "column": 84
              }
            },
            "argument": {
              "type": "ArrowFunctionExpression",
              "start": 3551,
              "end": 3623,
              "loc": {
                "start": {
                  "line": 88,
                  "column": 11
                },
                "end": {
                  "line": 88,
                  "column": 83
                }
              },
              "id": null,
              "generator": false,
              "expression": true,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 3551,
                  "end": 3555,
                  "loc": {
                    "start": {
                      "line": 88,
                      "column": 11
                    },
                    "end": {
                      "line": 88,
                      "column": 15
                    }
                  },
                  "name": "tree"
                }
              ],
              "body": {
                "type": "CallExpression",
                "start": 3559,
                "end": 3623,
                "loc": {
                  "start": {
                    "line": 88,
                    "column": 19
                  },
                  "end": {
                    "line": 88,
                    "column": 83
                  }
                },
                "callee": {
                  "type": "Identifier",
                  "start": 3559,
                  "end": 3574,
                  "loc": {
                    "start": {
                      "line": 88,
                      "column": 19
                    },
                    "end": {
                      "line": 88,
                      "column": 34
                    }
                  },
                  "name": "parseObjectTree"
                },
                "arguments": [
                  {
                    "type": "MemberExpression",
                    "start": 3575,
                    "end": 3582,
                    "loc": {
                      "start": {
                        "line": 88,
                        "column": 35
                      },
                      "end": {
                        "line": 88,
                        "column": 42
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 3575,
                      "end": 3579,
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 35
                        },
                        "end": {
                          "line": 88,
                          "column": 39
                        }
                      },
                      "name": "tree"
                    },
                    "property": {
                      "type": "Literal",
                      "start": 3580,
                      "end": 3581,
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 40
                        },
                        "end": {
                          "line": 88,
                          "column": 41
                        }
                      },
                      "value": 0,
                      "rawValue": 0,
                      "raw": "0"
                    },
                    "computed": true
                  },
                  {
                    "type": "Identifier",
                    "start": 3584,
                    "end": 3587,
                    "loc": {
                      "start": {
                        "line": 88,
                        "column": 44
                      },
                      "end": {
                        "line": 88,
                        "column": 47
                      }
                    },
                    "name": "obj"
                  },
                  {
                    "type": "CallExpression",
                    "start": 3589,
                    "end": 3622,
                    "loc": {
                      "start": {
                        "line": 88,
                        "column": 49
                      },
                      "end": {
                        "line": 88,
                        "column": 82
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 3589,
                      "end": 3607,
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 49
                        },
                        "end": {
                          "line": 88,
                          "column": 67
                        }
                      },
                      "object": {
                        "type": "ArrayExpression",
                        "start": 3589,
                        "end": 3600,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 49
                          },
                          "end": {
                            "line": 88,
                            "column": 60
                          }
                        },
                        "elements": [
                          {
                            "type": "Identifier",
                            "start": 3590,
                            "end": 3599,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 50
                              },
                              "end": {
                                "line": 88,
                                "column": 59
                              }
                            },
                            "name": "undefined"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 3601,
                        "end": 3607,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 61
                          },
                          "end": {
                            "line": 88,
                            "column": 67
                          }
                        },
                        "name": "concat"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 3608,
                        "end": 3621,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 68
                          },
                          "end": {
                            "line": 88,
                            "column": 81
                          }
                        },
                        "name": "linkedObjects"
                      }
                    ]
                  }
                ]
              }
            }
          }
        ]
      },
      "name": "_",
      "leadingComments": [],
      "trailingComments": []
    },
    {
      "type": "Identifier",
      "start": 3628,
      "end": 3648,
      "loc": {
        "start": {
          "line": 91,
          "column": 0
        },
        "end": {
          "line": 91,
          "column": 20
        }
      },
      "declarations": [
        {
          "type": "VariableDeclarator",
          "start": 3632,
          "end": 3647,
          "loc": {
            "start": {
              "line": 91,
              "column": 4
            },
            "end": {
              "line": 91,
              "column": 19
            }
          },
          "id": {
            "type": "Identifier",
            "start": 3632,
            "end": 3642,
            "loc": {
              "start": {
                "line": 91,
                "column": 4
              },
              "end": {
                "line": 91,
                "column": 14
              }
            },
            "name": "Expression"
          },
          "init": {
            "type": "ObjectExpression",
            "start": 3645,
            "end": 3647,
            "loc": {
              "start": {
                "line": 91,
                "column": 17
              },
              "end": {
                "line": 91,
                "column": 19
              }
            },
            "properties": []
          }
        }
      ],
      "kind": "let",
      "name": "_",
      "leadingComments": [],
      "trailingComments": []
    },
    {
      "type": "ExpressionStatement",
      "start": 3649,
      "end": 4307,
      "loc": {
        "start": {
          "line": 92,
          "column": 0
        },
        "end": {
          "line": 119,
          "column": 3
        }
      },
      "expression": {
        "type": "CallExpression",
        "start": 3649,
        "end": 4306,
        "loc": {
          "start": {
            "line": 92,
            "column": 0
          },
          "end": {
            "line": 119,
            "column": 2
          }
        },
        "callee": {
          "type": "MemberExpression",
          "start": 3649,
          "end": 4144,
          "loc": {
            "start": {
              "line": 92,
              "column": 0
            },
            "end": {
              "line": 115,
              "column": 9
            }
          },
          "object": {
            "type": "ArrayExpression",
            "start": 3649,
            "end": 4136,
            "loc": {
              "start": {
                "line": 92,
                "column": 0
              },
              "end": {
                "line": 115,
                "column": 1
              }
            },
            "elements": [
              {
                "type": "Literal",
                "start": 3723,
                "end": 3734,
                "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": 3655,
                    "end": 3718,
                    "loc": {
                      "start": {
                        "line": 93,
                        "column": 4
                      },
                      "end": {
                        "line": 93,
                        "column": 67
                      }
                    },
                    "range": [
                      3655,
                      3718
                    ]
                  }
                ]
              },
              {
                "type": "Literal",
                "start": 3740,
                "end": 3760,
                "loc": {
                  "start": {
                    "line": 95,
                    "column": 4
                  },
                  "end": {
                    "line": 95,
                    "column": 24
                  }
                },
                "value": "AddSketchFromPlane",
                "rawValue": "AddSketchFromPlane",
                "raw": "'AddSketchFromPlane'"
              },
              {
                "type": "Literal",
                "start": 3766,
                "end": 3776,
                "loc": {
                  "start": {
                    "line": 96,
                    "column": 4
                  },
                  "end": {
                    "line": 96,
                    "column": 14
                  }
                },
                "value": "AddPoint",
                "rawValue": "AddPoint",
                "raw": "'AddPoint'"
              },
              {
                "type": "Literal",
                "start": 3782,
                "end": 3791,
                "loc": {
                  "start": {
                    "line": 97,
                    "column": 4
                  },
                  "end": {
                    "line": 97,
                    "column": 13
                  }
                },
                "value": "AddLine",
                "rawValue": "AddLine",
                "raw": "'AddLine'"
              },
              {
                "type": "Literal",
                "start": 3797,
                "end": 3805,
                "loc": {
                  "start": {
                    "line": 98,
                    "column": 4
                  },
                  "end": {
                    "line": 98,
                    "column": 12
                  }
                },
                "value": "AddArc",
                "rawValue": "AddArc",
                "raw": "'AddArc'"
              },
              {
                "type": "Literal",
                "start": 3811,
                "end": 3826,
                "loc": {
                  "start": {
                    "line": 99,
                    "column": 4
                  },
                  "end": {
                    "line": 99,
                    "column": 19
                  }
                },
                "value": "AddConstraint",
                "rawValue": "AddConstraint",
                "raw": "'AddConstraint'"
              },
              {
                "type": "Literal",
                "start": 3832,
                "end": 3846,
                "loc": {
                  "start": {
                    "line": 100,
                    "column": 4
                  },
                  "end": {
                    "line": 100,
                    "column": 18
                  }
                },
                "value": "RemoveSketch",
                "rawValue": "RemoveSketch",
                "raw": "'RemoveSketch'"
              },
              {
                "type": "Literal",
                "start": 3852,
                "end": 3865,
                "loc": {
                  "start": {
                    "line": 101,
                    "column": 4
                  },
                  "end": {
                    "line": 101,
                    "column": 17
                  }
                },
                "value": "RemovePoint",
                "rawValue": "RemovePoint",
                "raw": "'RemovePoint'"
              },
              {
                "type": "Literal",
                "start": 3871,
                "end": 3883,
                "loc": {
                  "start": {
                    "line": 102,
                    "column": 4
                  },
                  "end": {
                    "line": 102,
                    "column": 16
                  }
                },
                "value": "RemoveLine",
                "rawValue": "RemoveLine",
                "raw": "'RemoveLine'"
              },
              {
                "type": "Literal",
                "start": 3889,
                "end": 3900,
                "loc": {
                  "start": {
                    "line": 103,
                    "column": 4
                  },
                  "end": {
                    "line": 103,
                    "column": 15
                  }
                },
                "value": "RemoveArc",
                "rawValue": "RemoveArc",
                "raw": "'RemoveArc'"
              },
              {
                "type": "Literal",
                "start": 3906,
                "end": 3924,
                "loc": {
                  "start": {
                    "line": 104,
                    "column": 4
                  },
                  "end": {
                    "line": 104,
                    "column": 22
                  }
                },
                "value": "RemoveConstraint",
                "rawValue": "RemoveConstraint",
                "raw": "'RemoveConstraint'"
              },
              {
                "type": "Literal",
                "start": 3930,
                "end": 3943,
                "loc": {
                  "start": {
                    "line": 105,
                    "column": 4
                  },
                  "end": {
                    "line": 105,
                    "column": 17
                  }
                },
                "value": "UpdatePoint",
                "rawValue": "UpdatePoint",
                "raw": "'UpdatePoint'"
              },
              {
                "type": "Literal",
                "start": 3949,
                "end": 3961,
                "loc": {
                  "start": {
                    "line": 106,
                    "column": 4
                  },
                  "end": {
                    "line": 106,
                    "column": 16
                  }
                },
                "value": "UpdateLine",
                "rawValue": "UpdateLine",
                "raw": "'UpdateLine'"
              },
              {
                "type": "Literal",
                "start": 3967,
                "end": 3978,
                "loc": {
                  "start": {
                    "line": 107,
                    "column": 4
                  },
                  "end": {
                    "line": 107,
                    "column": 15
                  }
                },
                "value": "UpdateArc",
                "rawValue": "UpdateArc",
                "raw": "'UpdateArc'"
              },
              {
                "type": "Literal",
                "start": 3984,
                "end": 4002,
                "loc": {
                  "start": {
                    "line": 108,
                    "column": 4
                  },
                  "end": {
                    "line": 108,
                    "column": 22
                  }
                },
                "value": "UpdateConstraint",
                "rawValue": "UpdateConstraint",
                "raw": "'UpdateConstraint'"
              },
              {
                "type": "Literal",
                "start": 4008,
                "end": 4019,
                "loc": {
                  "start": {
                    "line": 109,
                    "column": 4
                  },
                  "end": {
                    "line": 109,
                    "column": 15
                  }
                },
                "value": "AddFillet",
                "rawValue": "AddFillet",
                "raw": "'AddFillet'"
              },
              {
                "type": "Literal",
                "start": 4025,
                "end": 4046,
                "loc": {
                  "start": {
                    "line": 110,
                    "column": 4
                  },
                  "end": {
                    "line": 110,
                    "column": 25
                  }
                },
                "value": "UpdateExpressionSet",
                "rawValue": "UpdateExpressionSet",
                "raw": "'UpdateExpressionSet'"
              },
              {
                "type": "Literal",
                "start": 4052,
                "end": 4076,
                "loc": {
                  "start": {
                    "line": 111,
                    "column": 4
                  },
                  "end": {
                    "line": 111,
                    "column": 28
                  }
                },
                "value": "CreateSketchDimensions",
                "rawValue": "CreateSketchDimensions",
                "raw": "'CreateSketchDimensions'"
              },
              {
                "type": "Literal",
                "start": 4082,
                "end": 4095,
                "loc": {
                  "start": {
                    "line": 112,
                    "column": 4
                  },
                  "end": {
                    "line": 112,
                    "column": 17
                  }
                },
                "value": "MoveObjects",
                "rawValue": "MoveObjects",
                "raw": "'MoveObjects'"
              },
              {
                "type": "Literal",
                "start": 4101,
                "end": 4109,
                "loc": {
                  "start": {
                    "line": 113,
                    "column": 4
                  },
                  "end": {
                    "line": 113,
                    "column": 12
                  }
                },
                "value": "Recalc",
                "rawValue": "Recalc",
                "raw": "'Recalc'"
              },
              {
                "type": "Literal",
                "start": 4115,
                "end": 4133,
                "loc": {
                  "start": {
                    "line": 114,
                    "column": 4
                  },
                  "end": {
                    "line": 114,
                    "column": 22
                  }
                },
                "value": "SolveConstraints",
                "rawValue": "SolveConstraints",
                "raw": "'SolveConstraints'"
              }
            ]
          },
          "property": {
            "type": "Identifier",
            "start": 4137,
            "end": 4144,
            "loc": {
              "start": {
                "line": 115,
                "column": 2
              },
              "end": {
                "line": 115,
                "column": 9
              }
            },
            "name": "forEach"
          },
          "computed": false
        },
        "arguments": [
          {
            "type": "FunctionExpression",
            "start": 4145,
            "end": 4305,
            "loc": {
              "start": {
                "line": 115,
                "column": 10
              },
              "end": {
                "line": 119,
                "column": 1
              }
            },
            "id": null,
            "generator": false,
            "expression": false,
            "async": false,
            "params": [
              {
                "type": "Identifier",
                "start": 4154,
                "end": 4158,
                "loc": {
                  "start": {
                    "line": 115,
                    "column": 19
                  },
                  "end": {
                    "line": 115,
                    "column": 23
                  }
                },
                "name": "name"
              }
            ],
            "body": {
              "type": "BlockStatement",
              "start": 4160,
              "end": 4305,
              "loc": {
                "start": {
                  "line": 115,
                  "column": 25
                },
                "end": {
                  "line": 119,
                  "column": 1
                }
              },
              "body": [
                {
                  "type": "ExpressionStatement",
                  "start": 4166,
                  "end": 4303,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 4
                    },
                    "end": {
                      "line": 118,
                      "column": 6
                    }
                  },
                  "expression": {
                    "type": "AssignmentExpression",
                    "start": 4166,
                    "end": 4302,
                    "loc": {
                      "start": {
                        "line": 116,
                        "column": 4
                      },
                      "end": {
                        "line": 118,
                        "column": 5
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "MemberExpression",
                      "start": 4166,
                      "end": 4182,
                      "loc": {
                        "start": {
                          "line": 116,
                          "column": 4
                        },
                        "end": {
                          "line": 116,
                          "column": 20
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4166,
                        "end": 4176,
                        "loc": {
                          "start": {
                            "line": 116,
                            "column": 4
                          },
                          "end": {
                            "line": 116,
                            "column": 14
                          }
                        },
                        "name": "Expression"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4177,
                        "end": 4181,
                        "loc": {
                          "start": {
                            "line": 116,
                            "column": 15
                          },
                          "end": {
                            "line": 116,
                            "column": 19
                          }
                        },
                        "name": "name"
                      },
                      "computed": true
                    },
                    "right": {
                      "type": "FunctionExpression",
                      "start": 4185,
                      "end": 4302,
                      "loc": {
                        "start": {
                          "line": 116,
                          "column": 23
                        },
                        "end": {
                          "line": 118,
                          "column": 5
                        }
                      },
                      "id": null,
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [
                        {
                          "type": "RestElement",
                          "start": 4194,
                          "end": 4201,
                          "loc": {
                            "start": {
                              "line": 116,
                              "column": 32
                            },
                            "end": {
                              "line": 116,
                              "column": 39
                            }
                          },
                          "argument": {
                            "type": "Identifier",
                            "start": 4197,
                            "end": 4201,
                            "loc": {
                              "start": {
                                "line": 116,
                                "column": 35
                              },
                              "end": {
                                "line": 116,
                                "column": 39
                              }
                            },
                            "name": "args"
                          }
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "start": 4203,
                        "end": 4302,
                        "loc": {
                          "start": {
                            "line": 116,
                            "column": 41
                          },
                          "end": {
                            "line": 118,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "start": 4213,
                            "end": 4296,
                            "loc": {
                              "start": {
                                "line": 117,
                                "column": 8
                              },
                              "end": {
                                "line": 117,
                                "column": 91
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 4220,
                              "end": 4295,
                              "loc": {
                                "start": {
                                  "line": 117,
                                  "column": 15
                                },
                                "end": {
                                  "line": 117,
                                  "column": 90
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 4224,
                                "end": 4234,
                                "loc": {
                                  "start": {
                                    "line": 117,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 117,
                                    "column": 29
                                  }
                                },
                                "name": "Statements"
                              },
                              "arguments": [
                                {
                                  "type": "ArrayExpression",
                                  "start": 4235,
                                  "end": 4294,
                                  "loc": {
                                    "start": {
                                      "line": 117,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 117,
                                      "column": 89
                                    }
                                  },
                                  "elements": [
                                    {
                                      "type": "CallExpression",
                                      "start": 4236,
                                      "end": 4293,
                                      "loc": {
                                        "start": {
                                          "line": 117,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 117,
                                          "column": 88
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 4236,
                                        "end": 4252,
                                        "loc": {
                                          "start": {
                                            "line": 117,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 117,
                                            "column": 47
                                          }
                                        },
                                        "name": "formatExpression"
                                      },
                                      "arguments": [
                                        {
                                          "type": "TemplateLiteral",
                                          "start": 4253,
                                          "end": 4286,
                                          "loc": {
                                            "start": {
                                              "line": 117,
                                              "column": 48
                                            },
                                            "end": {
                                              "line": 117,
                                              "column": 81
                                            }
                                          },
                                          "expressions": [
                                            {
                                              "type": "Identifier",
                                              "start": 4280,
                                              "end": 4284,
                                              "loc": {
                                                "start": {
                                                  "line": 117,
                                                  "column": 75
                                                },
                                                "end": {
                                                  "line": 117,
                                                  "column": 79
                                                }
                                              },
                                              "name": "name"
                                            }
                                          ],
                                          "quasis": [
                                            {
                                              "type": "TemplateElement",
                                              "start": 4254,
                                              "end": 4278,
                                              "loc": {
                                                "start": {
                                                  "line": 117,
                                                  "column": 49
                                                },
                                                "end": {
                                                  "line": 117,
                                                  "column": 73
                                                }
                                              },
                                              "value": {
                                                "raw": "_C.SketcherCloudInterop.",
                                                "cooked": "_C.SketcherCloudInterop."
                                              },
                                              "tail": false
                                            },
                                            {
                                              "type": "TemplateElement",
                                              "start": 4285,
                                              "end": 4285,
                                              "loc": {
                                                "start": {
                                                  "line": 117,
                                                  "column": 80
                                                },
                                                "end": {
                                                  "line": 117,
                                                  "column": 80
                                                }
                                              },
                                              "value": {
                                                "raw": "",
                                                "cooked": ""
                                              },
                                              "tail": true
                                            }
                                          ]
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 4288,
                                          "end": 4292,
                                          "loc": {
                                            "start": {
                                              "line": 117,
                                              "column": 83
                                            },
                                            "end": {
                                              "line": 117,
                                              "column": 87
                                            }
                                          },
                                          "name": "args"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              ]
            }
          }
        ]
      }
    },
    {
      "type": "Identifier",
      "start": 4308,
      "end": 4783,
      "loc": {
        "start": {
          "line": 120,
          "column": 0
        },
        "end": {
          "line": 130,
          "column": 2
        }
      },
      "declarations": [
        {
          "type": "VariableDeclarator",
          "start": 4314,
          "end": 4782,
          "loc": {
            "start": {
              "line": 120,
              "column": 6
            },
            "end": {
              "line": 130,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 4314,
            "end": 4323,
            "loc": {
              "start": {
                "line": 120,
                "column": 6
              },
              "end": {
                "line": 120,
                "column": 15
              }
            },
            "name": "Statement"
          },
          "init": {
            "type": "ObjectExpression",
            "start": 4326,
            "end": 4782,
            "loc": {
              "start": {
                "line": 120,
                "column": 18
              },
              "end": {
                "line": 130,
                "column": 1
              }
            },
            "properties": [
              {
                "type": "Property",
                "start": 4332,
                "end": 4428,
                "loc": {
                  "start": {
                    "line": 121,
                    "column": 4
                  },
                  "end": {
                    "line": 123,
                    "column": 5
                  }
                },
                "method": true,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 4332,
                  "end": 4338,
                  "loc": {
                    "start": {
                      "line": 121,
                      "column": 4
                    },
                    "end": {
                      "line": 121,
                      "column": 10
                    }
                  },
                  "name": "Return"
                },
                "kind": "init",
                "value": {
                  "type": "FunctionExpression",
                  "start": 4338,
                  "end": 4428,
                  "loc": {
                    "start": {
                      "line": 121,
                      "column": 10
                    },
                    "end": {
                      "line": 123,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 4339,
                      "end": 4349,
                      "loc": {
                        "start": {
                          "line": 121,
                          "column": 11
                        },
                        "end": {
                          "line": 121,
                          "column": 21
                        }
                      },
                      "name": "expression"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 4351,
                    "end": 4428,
                    "loc": {
                      "start": {
                        "line": 121,
                        "column": 23
                      },
                      "end": {
                        "line": 123,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "ReturnStatement",
                        "start": 4361,
                        "end": 4422,
                        "loc": {
                          "start": {
                            "line": 122,
                            "column": 8
                          },
                          "end": {
                            "line": 122,
                            "column": 69
                          }
                        },
                        "argument": {
                          "type": "NewExpression",
                          "start": 4368,
                          "end": 4421,
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 15
                            },
                            "end": {
                              "line": 122,
                              "column": 68
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 4372,
                            "end": 4382,
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 19
                              },
                              "end": {
                                "line": 122,
                                "column": 29
                              }
                            },
                            "name": "Statements"
                          },
                          "arguments": [
                            {
                              "type": "ArrayExpression",
                              "start": 4383,
                              "end": 4420,
                              "loc": {
                                "start": {
                                  "line": 122,
                                  "column": 30
                                },
                                "end": {
                                  "line": 122,
                                  "column": 67
                                }
                              },
                              "elements": [
                                {
                                  "type": "TemplateLiteral",
                                  "start": 4384,
                                  "end": 4419,
                                  "loc": {
                                    "start": {
                                      "line": 122,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 122,
                                      "column": 66
                                    }
                                  },
                                  "expressions": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 4394,
                                      "end": 4416,
                                      "loc": {
                                        "start": {
                                          "line": 122,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 122,
                                          "column": 63
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 4394,
                                        "end": 4413,
                                        "loc": {
                                          "start": {
                                            "line": 122,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 122,
                                            "column": 60
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 4394,
                                          "end": 4404,
                                          "loc": {
                                            "start": {
                                              "line": 122,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 122,
                                              "column": 51
                                            }
                                          },
                                          "name": "expression"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4405,
                                          "end": 4413,
                                          "loc": {
                                            "start": {
                                              "line": 122,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 122,
                                              "column": 60
                                            }
                                          },
                                          "name": "commands"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Literal",
                                        "start": 4414,
                                        "end": 4415,
                                        "loc": {
                                          "start": {
                                            "line": 122,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 122,
                                            "column": 62
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "computed": true
                                    }
                                  ],
                                  "quasis": [
                                    {
                                      "type": "TemplateElement",
                                      "start": 4385,
                                      "end": 4392,
                                      "loc": {
                                        "start": {
                                          "line": 122,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 122,
                                          "column": 39
                                        }
                                      },
                                      "value": {
                                        "raw": "RETURN ",
                                        "cooked": "RETURN "
                                      },
                                      "tail": false
                                    },
                                    {
                                      "type": "TemplateElement",
                                      "start": 4417,
                                      "end": 4418,
                                      "loc": {
                                        "start": {
                                          "line": 122,
                                          "column": 64
                                        },
                                        "end": {
                                          "line": 122,
                                          "column": 65
                                        }
                                      },
                                      "value": {
                                        "raw": ";",
                                        "cooked": ";"
                                      },
                                      "tail": true
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              },
              {
                "type": "Property",
                "start": 4434,
                "end": 4779,
                "loc": {
                  "start": {
                    "line": 124,
                    "column": 4
                  },
                  "end": {
                    "line": 129,
                    "column": 5
                  }
                },
                "method": true,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 4434,
                  "end": 4444,
                  "loc": {
                    "start": {
                      "line": 124,
                      "column": 4
                    },
                    "end": {
                      "line": 124,
                      "column": 14
                    }
                  },
                  "name": "JSONExport"
                },
                "kind": "init",
                "value": {
                  "type": "FunctionExpression",
                  "start": 4444,
                  "end": 4779,
                  "loc": {
                    "start": {
                      "line": 124,
                      "column": 14
                    },
                    "end": {
                      "line": 129,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 4445,
                      "end": 4455,
                      "loc": {
                        "start": {
                          "line": 124,
                          "column": 15
                        },
                        "end": {
                          "line": 124,
                          "column": 25
                        }
                      },
                      "name": "expression"
                    },
                    {
                      "type": "RestElement",
                      "start": 4457,
                      "end": 4473,
                      "loc": {
                        "start": {
                          "line": 124,
                          "column": 27
                        },
                        "end": {
                          "line": 124,
                          "column": 43
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 4460,
                        "end": 4473,
                        "loc": {
                          "start": {
                            "line": 124,
                            "column": 30
                          },
                          "end": {
                            "line": 124,
                            "column": 43
                          }
                        },
                        "name": "linkedObjects"
                      }
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 4475,
                    "end": 4779,
                    "loc": {
                      "start": {
                        "line": 124,
                        "column": 45
                      },
                      "end": {
                        "line": 129,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "IfStatement",
                        "start": 4485,
                        "end": 4593,
                        "loc": {
                          "start": {
                            "line": 125,
                            "column": 8
                          },
                          "end": {
                            "line": 126,
                            "column": 67
                          }
                        },
                        "test": {
                          "type": "UnaryExpression",
                          "start": 4489,
                          "end": 4524,
                          "loc": {
                            "start": {
                              "line": 125,
                              "column": 12
                            },
                            "end": {
                              "line": 125,
                              "column": 47
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "BinaryExpression",
                            "start": 4491,
                            "end": 4523,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 14
                              },
                              "end": {
                                "line": 125,
                                "column": 46
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 4491,
                              "end": 4501,
                              "loc": {
                                "start": {
                                  "line": 125,
                                  "column": 14
                                },
                                "end": {
                                  "line": 125,
                                  "column": 24
                                }
                              },
                              "name": "expression"
                            },
                            "operator": "instanceof",
                            "right": {
                              "type": "Identifier",
                              "start": 4513,
                              "end": 4523,
                              "loc": {
                                "start": {
                                  "line": 125,
                                  "column": 36
                                },
                                "end": {
                                  "line": 125,
                                  "column": 46
                                }
                              },
                              "name": "Statements"
                            },
                            "parenthesizedExpression": true
                          }
                        },
                        "consequent": {
                          "type": "ExpressionStatement",
                          "start": 4538,
                          "end": 4593,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 12
                            },
                            "end": {
                              "line": 126,
                              "column": 67
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 4538,
                            "end": 4592,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 12
                              },
                              "end": {
                                "line": 126,
                                "column": 66
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 4538,
                              "end": 4548,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 12
                                },
                                "end": {
                                  "line": 126,
                                  "column": 22
                                }
                              },
                              "name": "expression"
                            },
                            "right": {
                              "type": "NewExpression",
                              "start": 4551,
                              "end": 4592,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 25
                                },
                                "end": {
                                  "line": 126,
                                  "column": 66
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 4555,
                                "end": 4565,
                                "loc": {
                                  "start": {
                                    "line": 126,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 126,
                                    "column": 39
                                  }
                                },
                                "name": "Statements"
                              },
                              "arguments": [
                                {
                                  "type": "ArrayExpression",
                                  "start": 4566,
                                  "end": 4591,
                                  "loc": {
                                    "start": {
                                      "line": 126,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 126,
                                      "column": 65
                                    }
                                  },
                                  "elements": [
                                    {
                                      "type": "CallExpression",
                                      "start": 4567,
                                      "end": 4590,
                                      "loc": {
                                        "start": {
                                          "line": 126,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 126,
                                          "column": 64
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 4567,
                                        "end": 4578,
                                        "loc": {
                                          "start": {
                                            "line": 126,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 126,
                                            "column": 52
                                          }
                                        },
                                        "name": "formatValue"
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 4579,
                                          "end": 4589,
                                          "loc": {
                                            "start": {
                                              "line": 126,
                                              "column": 53
                                            },
                                            "end": {
                                              "line": 126,
                                              "column": 63
                                            }
                                          },
                                          "name": "expression"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          }
                        },
                        "alternate": null
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 4602,
                        "end": 4681,
                        "loc": {
                          "start": {
                            "line": 127,
                            "column": 8
                          },
                          "end": {
                            "line": 127,
                            "column": 87
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 4608,
                            "end": 4680,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 14
                              },
                              "end": {
                                "line": 127,
                                "column": 86
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 4608,
                              "end": 4619,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 14
                                },
                                "end": {
                                  "line": 127,
                                  "column": 25
                                }
                              },
                              "name": "expressions"
                            },
                            "init": {
                              "type": "CallExpression",
                              "start": 4622,
                              "end": 4680,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 28
                                },
                                "end": {
                                  "line": 127,
                                  "column": 86
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4622,
                                "end": 4648,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 54
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4622,
                                  "end": 4641,
                                  "loc": {
                                    "start": {
                                      "line": 127,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 127,
                                      "column": 47
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4622,
                                    "end": 4632,
                                    "loc": {
                                      "start": {
                                        "line": 127,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 127,
                                        "column": 38
                                      }
                                    },
                                    "name": "expression"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4633,
                                    "end": 4641,
                                    "loc": {
                                      "start": {
                                        "line": 127,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 127,
                                        "column": 47
                                      }
                                    },
                                    "name": "commands"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4642,
                                  "end": 4648,
                                  "loc": {
                                    "start": {
                                      "line": 127,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 127,
                                      "column": 54
                                    }
                                  },
                                  "name": "concat"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "start": 4649,
                                  "end": 4679,
                                  "loc": {
                                    "start": {
                                      "line": 127,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 127,
                                      "column": 85
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 4649,
                                    "end": 4666,
                                    "loc": {
                                      "start": {
                                        "line": 127,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 127,
                                        "column": 72
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4649,
                                      "end": 4662,
                                      "loc": {
                                        "start": {
                                          "line": 127,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 127,
                                          "column": 68
                                        }
                                      },
                                      "name": "linkedObjects"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4663,
                                      "end": 4666,
                                      "loc": {
                                        "start": {
                                          "line": 127,
                                          "column": 69
                                        },
                                        "end": {
                                          "line": 127,
                                          "column": 72
                                        }
                                      },
                                      "name": "map"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 4667,
                                      "end": 4678,
                                      "loc": {
                                        "start": {
                                          "line": 127,
                                          "column": 73
                                        },
                                        "end": {
                                          "line": 127,
                                          "column": 84
                                        }
                                      },
                                      "name": "formatValue"
                                    }
                                  ]
                                }
                              ]
                            }
                          }
                        ],
                        "kind": "const"
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 4690,
                        "end": 4773,
                        "loc": {
                          "start": {
                            "line": 128,
                            "column": 8
                          },
                          "end": {
                            "line": 128,
                            "column": 91
                          }
                        },
                        "argument": {
                          "type": "NewExpression",
                          "start": 4697,
                          "end": 4772,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 15
                            },
                            "end": {
                              "line": 128,
                              "column": 90
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 4701,
                            "end": 4711,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 19
                              },
                              "end": {
                                "line": 128,
                                "column": 29
                              }
                            },
                            "name": "Statements"
                          },
                          "arguments": [
                            {
                              "type": "ArrayExpression",
                              "start": 4712,
                              "end": 4771,
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 30
                                },
                                "end": {
                                  "line": 128,
                                  "column": 89
                                }
                              },
                              "elements": [
                                {
                                  "type": "TemplateLiteral",
                                  "start": 4713,
                                  "end": 4770,
                                  "loc": {
                                    "start": {
                                      "line": 128,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 128,
                                      "column": 88
                                    }
                                  },
                                  "expressions": [
                                    {
                                      "type": "CallExpression",
                                      "start": 4743,
                                      "end": 4765,
                                      "loc": {
                                        "start": {
                                          "line": 128,
                                          "column": 61
                                        },
                                        "end": {
                                          "line": 128,
                                          "column": 83
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 4743,
                                        "end": 4759,
                                        "loc": {
                                          "start": {
                                            "line": 128,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 128,
                                            "column": 77
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 4743,
                                          "end": 4754,
                                          "loc": {
                                            "start": {
                                              "line": 128,
                                              "column": 61
                                            },
                                            "end": {
                                              "line": 128,
                                              "column": 72
                                            }
                                          },
                                          "name": "expressions"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4755,
                                          "end": 4759,
                                          "loc": {
                                            "start": {
                                              "line": 128,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 128,
                                              "column": 77
                                            }
                                          },
                                          "name": "join"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Literal",
                                          "start": 4760,
                                          "end": 4764,
                                          "loc": {
                                            "start": {
                                              "line": 128,
                                              "column": 78
                                            },
                                            "end": {
                                              "line": 128,
                                              "column": 82
                                            }
                                          },
                                          "value": ", ",
                                          "rawValue": ", ",
                                          "raw": "', '"
                                        }
                                      ]
                                    }
                                  ],
                                  "quasis": [
                                    {
                                      "type": "TemplateElement",
                                      "start": 4714,
                                      "end": 4741,
                                      "loc": {
                                        "start": {
                                          "line": 128,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 128,
                                          "column": 59
                                        }
                                      },
                                      "value": {
                                        "raw": "RETURN CADH_JSONExportStr([",
                                        "cooked": "RETURN CADH_JSONExportStr(["
                                      },
                                      "tail": false
                                    },
                                    {
                                      "type": "TemplateElement",
                                      "start": 4766,
                                      "end": 4769,
                                      "loc": {
                                        "start": {
                                          "line": 128,
                                          "column": 84
                                        },
                                        "end": {
                                          "line": 128,
                                          "column": 87
                                        }
                                      },
                                      "value": {
                                        "raw": "]);",
                                        "cooked": "]);"
                                      },
                                      "tail": true
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              }
            ]
          }
        }
      ],
      "kind": "const",
      "name": "_",
      "leadingComments": [],
      "trailingComments": []
    },
    {
      "type": "FunctionDeclaration",
      "start": 4785,
      "end": 6431,
      "loc": {
        "start": {
          "line": 132,
          "column": 0
        },
        "end": {
          "line": 166,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 4794,
        "end": 4805,
        "loc": {
          "start": {
            "line": 132,
            "column": 9
          },
          "end": {
            "line": 132,
            "column": 20
          }
        },
        "name": "parseMember"
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 4806,
          "end": 4820,
          "loc": {
            "start": {
              "line": 132,
              "column": 21
            },
            "end": {
              "line": 132,
              "column": 35
            }
          },
          "name": "objectTreeNode"
        },
        {
          "type": "Identifier",
          "start": 4822,
          "end": 4827,
          "loc": {
            "start": {
              "line": 132,
              "column": 37
            },
            "end": {
              "line": 132,
              "column": 42
            }
          },
          "name": "idMap"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 4829,
        "end": 6431,
        "loc": {
          "start": {
            "line": 132,
            "column": 44
          },
          "end": {
            "line": 166,
            "column": 1
          }
        },
        "body": [
          {
            "type": "VariableDeclaration",
            "start": 4835,
            "end": 4877,
            "loc": {
              "start": {
                "line": 133,
                "column": 4
              },
              "end": {
                "line": 133,
                "column": 46
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 4839,
                "end": 4876,
                "loc": {
                  "start": {
                    "line": 133,
                    "column": 8
                  },
                  "end": {
                    "line": 133,
                    "column": 45
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 4839,
                  "end": 4843,
                  "loc": {
                    "start": {
                      "line": 133,
                      "column": 8
                    },
                    "end": {
                      "line": 133,
                      "column": 12
                    }
                  },
                  "name": "type"
                },
                "init": {
                  "type": "MemberExpression",
                  "start": 4846,
                  "end": 4876,
                  "loc": {
                    "start": {
                      "line": 133,
                      "column": 15
                    },
                    "end": {
                      "line": 133,
                      "column": 45
                    }
                  },
                  "object": {
                    "type": "CallExpression",
                    "start": 4846,
                    "end": 4873,
                    "loc": {
                      "start": {
                        "line": 133,
                        "column": 15
                      },
                      "end": {
                        "line": 133,
                        "column": 42
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 4846,
                      "end": 4857,
                      "loc": {
                        "start": {
                          "line": 133,
                          "column": 15
                        },
                        "end": {
                          "line": 133,
                          "column": 26
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4846,
                        "end": 4852,
                        "loc": {
                          "start": {
                            "line": 133,
                            "column": 15
                          },
                          "end": {
                            "line": 133,
                            "column": 21
                          }
                        },
                        "name": "Object"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4853,
                        "end": 4857,
                        "loc": {
                          "start": {
                            "line": 133,
                            "column": 22
                          },
                          "end": {
                            "line": 133,
                            "column": 26
                          }
                        },
                        "name": "keys"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 4858,
                        "end": 4872,
                        "loc": {
                          "start": {
                            "line": 133,
                            "column": 27
                          },
                          "end": {
                            "line": 133,
                            "column": 41
                          }
                        },
                        "name": "objectTreeNode"
                      }
                    ]
                  },
                  "property": {
                    "type": "Literal",
                    "start": 4874,
                    "end": 4875,
                    "loc": {
                      "start": {
                        "line": 133,
                        "column": 43
                      },
                      "end": {
                        "line": 133,
                        "column": 44
                      }
                    },
                    "value": 0,
                    "rawValue": 0,
                    "raw": "0"
                  },
                  "computed": true
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 4882,
            "end": 4920,
            "loc": {
              "start": {
                "line": 134,
                "column": 4
              },
              "end": {
                "line": 134,
                "column": 42
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 4886,
                "end": 4919,
                "loc": {
                  "start": {
                    "line": 134,
                    "column": 8
                  },
                  "end": {
                    "line": 134,
                    "column": 41
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 4886,
                  "end": 4896,
                  "loc": {
                    "start": {
                      "line": 134,
                      "column": 8
                    },
                    "end": {
                      "line": 134,
                      "column": 18
                    }
                  },
                  "name": "memberNode"
                },
                "init": {
                  "type": "MemberExpression",
                  "start": 4899,
                  "end": 4919,
                  "loc": {
                    "start": {
                      "line": 134,
                      "column": 21
                    },
                    "end": {
                      "line": 134,
                      "column": 41
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 4899,
                    "end": 4913,
                    "loc": {
                      "start": {
                        "line": 134,
                        "column": 21
                      },
                      "end": {
                        "line": 134,
                        "column": 35
                      }
                    },
                    "name": "objectTreeNode"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 4914,
                    "end": 4918,
                    "loc": {
                      "start": {
                        "line": 134,
                        "column": 36
                      },
                      "end": {
                        "line": 134,
                        "column": 40
                      }
                    },
                    "name": "type"
                  },
                  "computed": true
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 4925,
            "end": 4936,
            "loc": {
              "start": {
                "line": 135,
                "column": 4
              },
              "end": {
                "line": 135,
                "column": 15
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 4929,
                "end": 4935,
                "loc": {
                  "start": {
                    "line": 135,
                    "column": 8
                  },
                  "end": {
                    "line": 135,
                    "column": 14
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 4929,
                  "end": 4935,
                  "loc": {
                    "start": {
                      "line": 135,
                      "column": 8
                    },
                    "end": {
                      "line": 135,
                      "column": 14
                    }
                  },
                  "name": "member"
                },
                "init": null
              }
            ],
            "kind": "var"
          },
          {
            "type": "SwitchStatement",
            "start": 4941,
            "end": 5607,
            "loc": {
              "start": {
                "line": 136,
                "column": 4
              },
              "end": {
                "line": 145,
                "column": 5
              }
            },
            "discriminant": {
              "type": "Identifier",
              "start": 4949,
              "end": 4953,
              "loc": {
                "start": {
                  "line": 136,
                  "column": 12
                },
                "end": {
                  "line": 136,
                  "column": 16
                }
              },
              "name": "type"
            },
            "cases": [
              {
                "type": "SwitchCase",
                "start": 4965,
                "end": 5005,
                "loc": {
                  "start": {
                    "line": 137,
                    "column": 8
                  },
                  "end": {
                    "line": 137,
                    "column": 48
                  }
                },
                "consequent": [
                  {
                    "type": "ExpressionStatement",
                    "start": 4984,
                    "end": 4998,
                    "loc": {
                      "start": {
                        "line": 137,
                        "column": 27
                      },
                      "end": {
                        "line": 137,
                        "column": 41
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 4984,
                      "end": 4997,
                      "loc": {
                        "start": {
                          "line": 137,
                          "column": 27
                        },
                        "end": {
                          "line": 137,
                          "column": 40
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 4984,
                        "end": 4990,
                        "loc": {
                          "start": {
                            "line": 137,
                            "column": 27
                          },
                          "end": {
                            "line": 137,
                            "column": 33
                          }
                        },
                        "name": "member"
                      },
                      "right": {
                        "type": "Literal",
                        "start": 4993,
                        "end": 4997,
                        "loc": {
                          "start": {
                            "line": 137,
                            "column": 36
                          },
                          "end": {
                            "line": 137,
                            "column": 40
                          }
                        },
                        "value": null,
                        "rawValue": null,
                        "raw": "null"
                      }
                    }
                  },
                  {
                    "type": "BreakStatement",
                    "start": 4999,
                    "end": 5005,
                    "loc": {
                      "start": {
                        "line": 137,
                        "column": 42
                      },
                      "end": {
                        "line": 137,
                        "column": 48
                      }
                    },
                    "label": null
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 4970,
                  "end": 4982,
                  "loc": {
                    "start": {
                      "line": 137,
                      "column": 13
                    },
                    "end": {
                      "line": 137,
                      "column": 25
                    }
                  },
                  "value": "nullMember",
                  "rawValue": "nullMember",
                  "raw": "'nullMember'"
                }
              },
              {
                "type": "SwitchCase",
                "start": 5014,
                "end": 5072,
                "loc": {
                  "start": {
                    "line": 138,
                    "column": 8
                  },
                  "end": {
                    "line": 138,
                    "column": 66
                  }
                },
                "consequent": [
                  {
                    "type": "ExpressionStatement",
                    "start": 5027,
                    "end": 5065,
                    "loc": {
                      "start": {
                        "line": 138,
                        "column": 21
                      },
                      "end": {
                        "line": 138,
                        "column": 59
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5027,
                      "end": 5064,
                      "loc": {
                        "start": {
                          "line": 138,
                          "column": 21
                        },
                        "end": {
                          "line": 138,
                          "column": 58
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 5027,
                        "end": 5033,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 21
                          },
                          "end": {
                            "line": 138,
                            "column": 27
                          }
                        },
                        "name": "member"
                      },
                      "right": {
                        "type": "NewExpression",
                        "start": 5036,
                        "end": 5064,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 30
                          },
                          "end": {
                            "line": 138,
                            "column": 58
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 5040,
                          "end": 5046,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 34
                            },
                            "end": {
                              "line": 138,
                              "column": 40
                            }
                          },
                          "name": "Number"
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 5047,
                            "end": 5063,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 41
                              },
                              "end": {
                                "line": 138,
                                "column": 57
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5047,
                              "end": 5057,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 41
                                },
                                "end": {
                                  "line": 138,
                                  "column": 51
                                }
                              },
                              "name": "memberNode"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5058,
                              "end": 5063,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 52
                                },
                                "end": {
                                  "line": 138,
                                  "column": 57
                                }
                              },
                              "name": "value"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "BreakStatement",
                    "start": 5066,
                    "end": 5072,
                    "loc": {
                      "start": {
                        "line": 138,
                        "column": 60
                      },
                      "end": {
                        "line": 138,
                        "column": 66
                      }
                    },
                    "label": null
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 5019,
                  "end": 5025,
                  "loc": {
                    "start": {
                      "line": 138,
                      "column": 13
                    },
                    "end": {
                      "line": 138,
                      "column": 19
                    }
                  },
                  "value": "real",
                  "rawValue": "real",
                  "raw": "'real'"
                }
              },
              {
                "type": "SwitchCase",
                "start": 5081,
                "end": 5181,
                "loc": {
                  "start": {
                    "line": 139,
                    "column": 8
                  },
                  "end": {
                    "line": 139,
                    "column": 108
                  }
                },
                "consequent": [
                  {
                    "type": "ExpressionStatement",
                    "start": 5096,
                    "end": 5174,
                    "loc": {
                      "start": {
                        "line": 139,
                        "column": 23
                      },
                      "end": {
                        "line": 139,
                        "column": 101
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5096,
                      "end": 5173,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 23
                        },
                        "end": {
                          "line": 139,
                          "column": 100
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 5096,
                        "end": 5102,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 23
                          },
                          "end": {
                            "line": 139,
                            "column": 29
                          }
                        },
                        "name": "member"
                      },
                      "right": {
                        "type": "ConditionalExpression",
                        "start": 5105,
                        "end": 5173,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 32
                          },
                          "end": {
                            "line": 139,
                            "column": 100
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 5105,
                          "end": 5135,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 32
                            },
                            "end": {
                              "line": 139,
                              "column": 62
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 5105,
                            "end": 5120,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 32
                              },
                              "end": {
                                "line": 139,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5105,
                              "end": 5115,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 32
                                },
                                "end": {
                                  "line": 139,
                                  "column": 42
                                }
                              },
                              "name": "memberNode"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5116,
                              "end": 5120,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 43
                                },
                                "end": {
                                  "line": 139,
                                  "column": 47
                                }
                              },
                              "name": "name"
                            },
                            "computed": false
                          },
                          "operator": "===",
                          "right": {
                            "type": "Literal",
                            "start": 5125,
                            "end": 5135,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 52
                              },
                              "end": {
                                "line": 139,
                                "column": 62
                              }
                            },
                            "value": "_VERSION",
                            "rawValue": "_VERSION",
                            "raw": "'_VERSION'"
                          }
                        },
                        "consequent": {
                          "type": "Literal",
                          "start": 5138,
                          "end": 5142,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 65
                            },
                            "end": {
                              "line": 139,
                              "column": 69
                            }
                          },
                          "value": null,
                          "rawValue": null,
                          "raw": "null"
                        },
                        "alternate": {
                          "type": "NewExpression",
                          "start": 5145,
                          "end": 5173,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 72
                            },
                            "end": {
                              "line": 139,
                              "column": 100
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 5149,
                            "end": 5155,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 76
                              },
                              "end": {
                                "line": 139,
                                "column": 82
                              }
                            },
                            "name": "String"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 5156,
                              "end": 5172,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 83
                                },
                                "end": {
                                  "line": 139,
                                  "column": 99
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5156,
                                "end": 5166,
                                "loc": {
                                  "start": {
                                    "line": 139,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 139,
                                    "column": 93
                                  }
                                },
                                "name": "memberNode"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5167,
                                "end": 5172,
                                "loc": {
                                  "start": {
                                    "line": 139,
                                    "column": 94
                                  },
                                  "end": {
                                    "line": 139,
                                    "column": 99
                                  }
                                },
                                "name": "value"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    }
                  },
                  {
                    "type": "BreakStatement",
                    "start": 5175,
                    "end": 5181,
                    "loc": {
                      "start": {
                        "line": 139,
                        "column": 102
                      },
                      "end": {
                        "line": 139,
                        "column": 108
                      }
                    },
                    "label": null
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 5086,
                  "end": 5094,
                  "loc": {
                    "start": {
                      "line": 139,
                      "column": 13
                    },
                    "end": {
                      "line": 139,
                      "column": 21
                    }
                  },
                  "value": "string",
                  "rawValue": "string",
                  "raw": "'string'"
                }
              },
              {
                "type": "SwitchCase",
                "start": 5190,
                "end": 5297,
                "loc": {
                  "start": {
                    "line": 140,
                    "column": 8
                  },
                  "end": {
                    "line": 140,
                    "column": 115
                  }
                },
                "consequent": [
                  {
                    "type": "ExpressionStatement",
                    "start": 5204,
                    "end": 5290,
                    "loc": {
                      "start": {
                        "line": 140,
                        "column": 22
                      },
                      "end": {
                        "line": 140,
                        "column": 108
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5204,
                      "end": 5289,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 22
                        },
                        "end": {
                          "line": 140,
                          "column": 107
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 5204,
                        "end": 5210,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 22
                          },
                          "end": {
                            "line": 140,
                            "column": 28
                          }
                        },
                        "name": "member"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 5213,
                        "end": 5289,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 31
                          },
                          "end": {
                            "line": 140,
                            "column": 107
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5213,
                          "end": 5241,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 31
                            },
                            "end": {
                              "line": 140,
                              "column": 59
                            }
                          },
                          "object": {
                            "type": "LogicalExpression",
                            "start": 5214,
                            "end": 5236,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 32
                              },
                              "end": {
                                "line": 140,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 5214,
                              "end": 5232,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 32
                                },
                                "end": {
                                  "line": 140,
                                  "column": 50
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5214,
                                "end": 5224,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 42
                                  }
                                },
                                "name": "memberNode"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5225,
                                "end": 5232,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 50
                                  }
                                },
                                "name": "members"
                              },
                              "computed": false
                            },
                            "operator": "||",
                            "right": {
                              "type": "ArrayExpression",
                              "start": 5234,
                              "end": 5236,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 52
                                },
                                "end": {
                                  "line": 140,
                                  "column": 54
                                }
                              },
                              "elements": []
                            },
                            "parenthesizedExpression": true
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5238,
                            "end": 5241,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 56
                              },
                              "end": {
                                "line": 140,
                                "column": 59
                              }
                            },
                            "name": "map"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 5242,
                            "end": 5288,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 60
                              },
                              "end": {
                                "line": 140,
                                "column": 106
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 5242,
                                "end": 5253,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 60
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 71
                                  }
                                },
                                "name": "elementNode"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 5257,
                              "end": 5288,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 75
                                },
                                "end": {
                                  "line": 140,
                                  "column": 106
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 5257,
                                "end": 5268,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 75
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 86
                                  }
                                },
                                "name": "parseMember"
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 5269,
                                  "end": 5280,
                                  "loc": {
                                    "start": {
                                      "line": 140,
                                      "column": 87
                                    },
                                    "end": {
                                      "line": 140,
                                      "column": 98
                                    }
                                  },
                                  "name": "elementNode"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 5282,
                                  "end": 5287,
                                  "loc": {
                                    "start": {
                                      "line": 140,
                                      "column": 100
                                    },
                                    "end": {
                                      "line": 140,
                                      "column": 105
                                    }
                                  },
                                  "name": "idMap"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "BreakStatement",
                    "start": 5291,
                    "end": 5297,
                    "loc": {
                      "start": {
                        "line": 140,
                        "column": 109
                      },
                      "end": {
                        "line": 140,
                        "column": 115
                      }
                    },
                    "label": null
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 5195,
                  "end": 5202,
                  "loc": {
                    "start": {
                      "line": 140,
                      "column": 13
                    },
                    "end": {
                      "line": 140,
                      "column": 20
                    }
                  },
                  "value": "array",
                  "rawValue": "array",
                  "raw": "'array'"
                }
              },
              {
                "type": "SwitchCase",
                "start": 5306,
                "end": 5396,
                "loc": {
                  "start": {
                    "line": 141,
                    "column": 8
                  },
                  "end": {
                    "line": 141,
                    "column": 98
                  }
                },
                "consequent": [
                  {
                    "type": "ExpressionStatement",
                    "start": 5320,
                    "end": 5389,
                    "loc": {
                      "start": {
                        "line": 141,
                        "column": 22
                      },
                      "end": {
                        "line": 141,
                        "column": 91
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5320,
                      "end": 5388,
                      "loc": {
                        "start": {
                          "line": 141,
                          "column": 22
                        },
                        "end": {
                          "line": 141,
                          "column": 90
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 5320,
                        "end": 5326,
                        "loc": {
                          "start": {
                            "line": 141,
                            "column": 22
                          },
                          "end": {
                            "line": 141,
                            "column": 28
                          }
                        },
                        "name": "member"
                      },
                      "right": {
                        "type": "NewExpression",
                        "start": 5329,
                        "end": 5388,
                        "loc": {
                          "start": {
                            "line": 141,
                            "column": 31
                          },
                          "end": {
                            "line": 141,
                            "column": 90
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5333,
                          "end": 5346,
                          "loc": {
                            "start": {
                              "line": 141,
                              "column": 35
                            },
                            "end": {
                              "line": 141,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5333,
                            "end": 5338,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 35
                              },
                              "end": {
                                "line": 141,
                                "column": 40
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5339,
                            "end": 5346,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 41
                              },
                              "end": {
                                "line": 141,
                                "column": 48
                              }
                            },
                            "name": "Vector3"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 5347,
                            "end": 5359,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 49
                              },
                              "end": {
                                "line": 141,
                                "column": 61
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5347,
                              "end": 5357,
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 49
                                },
                                "end": {
                                  "line": 141,
                                  "column": 59
                                }
                              },
                              "name": "memberNode"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5358,
                              "end": 5359,
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 60
                                },
                                "end": {
                                  "line": 141,
                                  "column": 61
                                }
                              },
                              "name": "x"
                            },
                            "computed": false
                          },
                          {
                            "type": "MemberExpression",
                            "start": 5361,
                            "end": 5373,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 63
                              },
                              "end": {
                                "line": 141,
                                "column": 75
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5361,
                              "end": 5371,
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 63
                                },
                                "end": {
                                  "line": 141,
                                  "column": 73
                                }
                              },
                              "name": "memberNode"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5372,
                              "end": 5373,
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 74
                                },
                                "end": {
                                  "line": 141,
                                  "column": 75
                                }
                              },
                              "name": "y"
                            },
                            "computed": false
                          },
                          {
                            "type": "MemberExpression",
                            "start": 5375,
                            "end": 5387,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 77
                              },
                              "end": {
                                "line": 141,
                                "column": 89
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5375,
                              "end": 5385,
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 77
                                },
                                "end": {
                                  "line": 141,
                                  "column": 87
                                }
                              },
                              "name": "memberNode"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5386,
                              "end": 5387,
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 88
                                },
                                "end": {
                                  "line": 141,
                                  "column": 89
                                }
                              },
                              "name": "z"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "BreakStatement",
                    "start": 5390,
                    "end": 5396,
                    "loc": {
                      "start": {
                        "line": 141,
                        "column": 92
                      },
                      "end": {
                        "line": 141,
                        "column": 98
                      }
                    },
                    "label": null
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 5311,
                  "end": 5318,
                  "loc": {
                    "start": {
                      "line": 141,
                      "column": 13
                    },
                    "end": {
                      "line": 141,
                      "column": 20
                    }
                  },
                  "value": "point",
                  "rawValue": "point",
                  "raw": "'point'"
                }
              },
              {
                "type": "SwitchCase",
                "start": 5405,
                "end": 5464,
                "loc": {
                  "start": {
                    "line": 142,
                    "column": 8
                  },
                  "end": {
                    "line": 142,
                    "column": 67
                  }
                },
                "consequent": [
                  {
                    "type": "ExpressionStatement",
                    "start": 5423,
                    "end": 5457,
                    "loc": {
                      "start": {
                        "line": 142,
                        "column": 26
                      },
                      "end": {
                        "line": 142,
                        "column": 60
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5423,
                      "end": 5456,
                      "loc": {
                        "start": {
                          "line": 142,
                          "column": 26
                        },
                        "end": {
                          "line": 142,
                          "column": 59
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 5423,
                        "end": 5429,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 26
                          },
                          "end": {
                            "line": 142,
                            "column": 32
                          }
                        },
                        "name": "member"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 5432,
                        "end": 5456,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 35
                          },
                          "end": {
                            "line": 142,
                            "column": 59
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5432,
                          "end": 5441,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 35
                            },
                            "end": {
                              "line": 142,
                              "column": 44
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5432,
                            "end": 5437,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 35
                              },
                              "end": {
                                "line": 142,
                                "column": 40
                              }
                            },
                            "name": "idMap"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5438,
                            "end": 5441,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 41
                              },
                              "end": {
                                "line": 142,
                                "column": 44
                              }
                            },
                            "name": "get"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 5442,
                            "end": 5455,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 45
                              },
                              "end": {
                                "line": 142,
                                "column": 58
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5442,
                              "end": 5452,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 45
                                },
                                "end": {
                                  "line": 142,
                                  "column": 55
                                }
                              },
                              "name": "memberNode"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5453,
                              "end": 5455,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 56
                                },
                                "end": {
                                  "line": 142,
                                  "column": 58
                                }
                              },
                              "name": "id"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "BreakStatement",
                    "start": 5458,
                    "end": 5464,
                    "loc": {
                      "start": {
                        "line": 142,
                        "column": 61
                      },
                      "end": {
                        "line": 142,
                        "column": 67
                      }
                    },
                    "label": null
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 5410,
                  "end": 5421,
                  "loc": {
                    "start": {
                      "line": 142,
                      "column": 13
                    },
                    "end": {
                      "line": 142,
                      "column": 24
                    }
                  },
                  "value": "objectMem",
                  "rawValue": "objectMem",
                  "raw": "'objectMem'"
                }
              },
              {
                "type": "SwitchCase",
                "start": 5473,
                "end": 5529,
                "loc": {
                  "start": {
                    "line": 143,
                    "column": 8
                  },
                  "end": {
                    "line": 143,
                    "column": 64
                  }
                },
                "consequent": [
                  {
                    "type": "ExpressionStatement",
                    "start": 5485,
                    "end": 5522,
                    "loc": {
                      "start": {
                        "line": 143,
                        "column": 20
                      },
                      "end": {
                        "line": 143,
                        "column": 57
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5485,
                      "end": 5521,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 20
                        },
                        "end": {
                          "line": 143,
                          "column": 56
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 5485,
                        "end": 5491,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 20
                          },
                          "end": {
                            "line": 143,
                            "column": 26
                          }
                        },
                        "name": "member"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 5494,
                        "end": 5521,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 29
                          },
                          "end": {
                            "line": 143,
                            "column": 56
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5494,
                          "end": 5503,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 29
                            },
                            "end": {
                              "line": 143,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5494,
                            "end": 5499,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 29
                              },
                              "end": {
                                "line": 143,
                                "column": 34
                              }
                            },
                            "name": "idMap"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5500,
                            "end": 5503,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 35
                              },
                              "end": {
                                "line": 143,
                                "column": 38
                              }
                            },
                            "name": "get"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 5504,
                            "end": 5520,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 39
                              },
                              "end": {
                                "line": 143,
                                "column": 55
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5504,
                              "end": 5514,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 39
                                },
                                "end": {
                                  "line": 143,
                                  "column": 49
                                }
                              },
                              "name": "memberNode"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5515,
                              "end": 5520,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 50
                                },
                                "end": {
                                  "line": 143,
                                  "column": 55
                                }
                              },
                              "name": "value"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "BreakStatement",
                    "start": 5523,
                    "end": 5529,
                    "loc": {
                      "start": {
                        "line": 143,
                        "column": 58
                      },
                      "end": {
                        "line": 143,
                        "column": 64
                      }
                    },
                    "label": null
                  }
                ],
                "test": {
                  "type": "Literal",
                  "start": 5478,
                  "end": 5483,
                  "loc": {
                    "start": {
                      "line": 143,
                      "column": 13
                    },
                    "end": {
                      "line": 143,
                      "column": 18
                    }
                  },
                  "value": "aid",
                  "rawValue": "aid",
                  "raw": "'aid'"
                }
              },
              {
                "type": "SwitchCase",
                "start": 5538,
                "end": 5601,
                "loc": {
                  "start": {
                    "line": 144,
                    "column": 8
                  },
                  "end": {
                    "line": 144,
                    "column": 71
                  }
                },
                "consequent": [
                  {
                    "type": "ThrowStatement",
                    "start": 5547,
                    "end": 5601,
                    "loc": {
                      "start": {
                        "line": 144,
                        "column": 17
                      },
                      "end": {
                        "line": 144,
                        "column": 71
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 5553,
                      "end": 5600,
                      "loc": {
                        "start": {
                          "line": 144,
                          "column": 23
                        },
                        "end": {
                          "line": 144,
                          "column": 70
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 5557,
                        "end": 5566,
                        "loc": {
                          "start": {
                            "line": 144,
                            "column": 27
                          },
                          "end": {
                            "line": 144,
                            "column": 36
                          }
                        },
                        "name": "TypeError"
                      },
                      "arguments": [
                        {
                          "type": "BinaryExpression",
                          "start": 5567,
                          "end": 5599,
                          "loc": {
                            "start": {
                              "line": 144,
                              "column": 37
                            },
                            "end": {
                              "line": 144,
                              "column": 69
                            }
                          },
                          "left": {
                            "type": "Literal",
                            "start": 5567,
                            "end": 5592,
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 37
                              },
                              "end": {
                                "line": 144,
                                "column": 62
                              }
                            },
                            "value": "Unexpected member type ",
                            "rawValue": "Unexpected member type ",
                            "raw": "\"Unexpected member type \""
                          },
                          "operator": "+",
                          "right": {
                            "type": "Identifier",
                            "start": 5595,
                            "end": 5599,
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 65
                              },
                              "end": {
                                "line": 144,
                                "column": 69
                              }
                            },
                            "name": "type"
                          }
                        }
                      ]
                    }
                  }
                ],
                "test": null
              }
            ]
          },
          {
            "type": "EmptyStatement",
            "start": 5607,
            "end": 5608,
            "loc": {
              "start": {
                "line": 145,
                "column": 5
              },
              "end": {
                "line": 145,
                "column": 6
              }
            }
          },
          {
            "type": "IfStatement",
            "start": 5613,
            "end": 5648,
            "loc": {
              "start": {
                "line": 146,
                "column": 4
              },
              "end": {
                "line": 147,
                "column": 22
              }
            },
            "test": {
              "type": "UnaryExpression",
              "start": 5617,
              "end": 5624,
              "loc": {
                "start": {
                  "line": 146,
                  "column": 8
                },
                "end": {
                  "line": 146,
                  "column": 15
                }
              },
              "operator": "!",
              "prefix": true,
              "argument": {
                "type": "Identifier",
                "start": 5618,
                "end": 5624,
                "loc": {
                  "start": {
                    "line": 146,
                    "column": 9
                  },
                  "end": {
                    "line": 146,
                    "column": 15
                  }
                },
                "name": "member"
              }
            },
            "consequent": {
              "type": "ReturnStatement",
              "start": 5634,
              "end": 5648,
              "loc": {
                "start": {
                  "line": 147,
                  "column": 8
                },
                "end": {
                  "line": 147,
                  "column": 22
                }
              },
              "argument": {
                "type": "Identifier",
                "start": 5641,
                "end": 5647,
                "loc": {
                  "start": {
                    "line": 147,
                    "column": 15
                  },
                  "end": {
                    "line": 147,
                    "column": 21
                  }
                },
                "name": "member"
              }
            },
            "alternate": null
          },
          {
            "type": "IfStatement",
            "start": 5653,
            "end": 5774,
            "loc": {
              "start": {
                "line": 148,
                "column": 4
              },
              "end": {
                "line": 149,
                "column": 99
              }
            },
            "test": {
              "type": "UnaryExpression",
              "start": 5657,
              "end": 5673,
              "loc": {
                "start": {
                  "line": 148,
                  "column": 8
                },
                "end": {
                  "line": 148,
                  "column": 24
                }
              },
              "operator": "!",
              "prefix": true,
              "argument": {
                "type": "MemberExpression",
                "start": 5658,
                "end": 5673,
                "loc": {
                  "start": {
                    "line": 148,
                    "column": 9
                  },
                  "end": {
                    "line": 148,
                    "column": 24
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 5658,
                  "end": 5664,
                  "loc": {
                    "start": {
                      "line": 148,
                      "column": 9
                    },
                    "end": {
                      "line": 148,
                      "column": 15
                    }
                  },
                  "name": "member"
                },
                "property": {
                  "type": "Identifier",
                  "start": 5665,
                  "end": 5673,
                  "loc": {
                    "start": {
                      "line": 148,
                      "column": 16
                    },
                    "end": {
                      "line": 148,
                      "column": 24
                    }
                  },
                  "name": "userData"
                },
                "computed": false
              }
            },
            "consequent": {
              "type": "ExpressionStatement",
              "start": 5683,
              "end": 5774,
              "loc": {
                "start": {
                  "line": 149,
                  "column": 8
                },
                "end": {
                  "line": 149,
                  "column": 99
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 5683,
                "end": 5773,
                "loc": {
                  "start": {
                    "line": 149,
                    "column": 8
                  },
                  "end": {
                    "line": 149,
                    "column": 98
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 5683,
                  "end": 5704,
                  "loc": {
                    "start": {
                      "line": 149,
                      "column": 8
                    },
                    "end": {
                      "line": 149,
                      "column": 29
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 5683,
                    "end": 5689,
                    "loc": {
                      "start": {
                        "line": 149,
                        "column": 8
                      },
                      "end": {
                        "line": 149,
                        "column": 14
                      }
                    },
                    "name": "Object"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 5690,
                    "end": 5704,
                    "loc": {
                      "start": {
                        "line": 149,
                        "column": 15
                      },
                      "end": {
                        "line": 149,
                        "column": 29
                      }
                    },
                    "name": "defineProperty"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 5705,
                    "end": 5711,
                    "loc": {
                      "start": {
                        "line": 149,
                        "column": 30
                      },
                      "end": {
                        "line": 149,
                        "column": 36
                      }
                    },
                    "name": "member"
                  },
                  {
                    "type": "Literal",
                    "start": 5713,
                    "end": 5723,
                    "loc": {
                      "start": {
                        "line": 149,
                        "column": 38
                      },
                      "end": {
                        "line": 149,
                        "column": 48
                      }
                    },
                    "value": "userData",
                    "rawValue": "userData",
                    "raw": "'userData'"
                  },
                  {
                    "type": "ObjectExpression",
                    "start": 5725,
                    "end": 5772,
                    "loc": {
                      "start": {
                        "line": 149,
                        "column": 50
                      },
                      "end": {
                        "line": 149,
                        "column": 97
                      }
                    },
                    "properties": [
                      {
                        "type": "Property",
                        "start": 5726,
                        "end": 5735,
                        "loc": {
                          "start": {
                            "line": 149,
                            "column": 51
                          },
                          "end": {
                            "line": 149,
                            "column": 60
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 5726,
                          "end": 5731,
                          "loc": {
                            "start": {
                              "line": 149,
                              "column": 51
                            },
                            "end": {
                              "line": 149,
                              "column": 56
                            }
                          },
                          "name": "value"
                        },
                        "value": {
                          "type": "ObjectExpression",
                          "start": 5733,
                          "end": 5735,
                          "loc": {
                            "start": {
                              "line": 149,
                              "column": 58
                            },
                            "end": {
                              "line": 149,
                              "column": 60
                            }
                          },
                          "properties": []
                        },
                        "kind": "init"
                      },
                      {
                        "type": "Property",
                        "start": 5737,
                        "end": 5751,
                        "loc": {
                          "start": {
                            "line": 149,
                            "column": 62
                          },
                          "end": {
                            "line": 149,
                            "column": 76
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 5737,
                          "end": 5745,
                          "loc": {
                            "start": {
                              "line": 149,
                              "column": 62
                            },
                            "end": {
                              "line": 149,
                              "column": 70
                            }
                          },
                          "name": "writable"
                        },
                        "value": {
                          "type": "Literal",
                          "start": 5747,
                          "end": 5751,
                          "loc": {
                            "start": {
                              "line": 149,
                              "column": 72
                            },
                            "end": {
                              "line": 149,
                              "column": 76
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        },
                        "kind": "init"
                      },
                      {
                        "type": "Property",
                        "start": 5753,
                        "end": 5771,
                        "loc": {
                          "start": {
                            "line": 149,
                            "column": 78
                          },
                          "end": {
                            "line": 149,
                            "column": 96
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 5753,
                          "end": 5765,
                          "loc": {
                            "start": {
                              "line": 149,
                              "column": 78
                            },
                            "end": {
                              "line": 149,
                              "column": 90
                            }
                          },
                          "name": "configurable"
                        },
                        "value": {
                          "type": "Literal",
                          "start": 5767,
                          "end": 5771,
                          "loc": {
                            "start": {
                              "line": 149,
                              "column": 92
                            },
                            "end": {
                              "line": 149,
                              "column": 96
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        },
                        "kind": "init"
                      }
                    ]
                  }
                ]
              }
            },
            "alternate": null
          },
          {
            "type": "VariableDeclaration",
            "start": 5779,
            "end": 5820,
            "loc": {
              "start": {
                "line": 150,
                "column": 4
              },
              "end": {
                "line": 150,
                "column": 45
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 5783,
                "end": 5820,
                "loc": {
                  "start": {
                    "line": 150,
                    "column": 8
                  },
                  "end": {
                    "line": 150,
                    "column": 45
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 5783,
                  "end": 5788,
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 8
                    },
                    "end": {
                      "line": 150,
                      "column": 13
                    }
                  },
                  "name": "flags"
                },
                "init": {
                  "type": "MemberExpression",
                  "start": 5791,
                  "end": 5820,
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 16
                    },
                    "end": {
                      "line": 150,
                      "column": 45
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 5791,
                    "end": 5812,
                    "loc": {
                      "start": {
                        "line": 150,
                        "column": 16
                      },
                      "end": {
                        "line": 150,
                        "column": 37
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 5791,
                      "end": 5801,
                      "loc": {
                        "start": {
                          "line": 150,
                          "column": 16
                        },
                        "end": {
                          "line": 150,
                          "column": 26
                        }
                      },
                      "name": "memberNode"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 5802,
                      "end": 5812,
                      "loc": {
                        "start": {
                          "line": 150,
                          "column": 27
                        },
                        "end": {
                          "line": 150,
                          "column": 37
                        }
                      },
                      "name": "memberInfo"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 5813,
                    "end": 5820,
                    "loc": {
                      "start": {
                        "line": 150,
                        "column": 38
                      },
                      "end": {
                        "line": 150,
                        "column": 45
                      }
                    },
                    "name": "visible"
                  },
                  "computed": false
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "ExpressionStatement",
            "start": 5825,
            "end": 6410,
            "loc": {
              "start": {
                "line": 151,
                "column": 4
              },
              "end": {
                "line": 164,
                "column": 6
              }
            },
            "expression": {
              "type": "AssignmentExpression",
              "start": 5825,
              "end": 6409,
              "loc": {
                "start": {
                  "line": 151,
                  "column": 4
                },
                "end": {
                  "line": 164,
                  "column": 5
                }
              },
              "operator": "=",
              "left": {
                "type": "MemberExpression",
                "start": 5825,
                "end": 5851,
                "loc": {
                  "start": {
                    "line": 151,
                    "column": 4
                  },
                  "end": {
                    "line": 151,
                    "column": 30
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 5825,
                  "end": 5840,
                  "loc": {
                    "start": {
                      "line": 151,
                      "column": 4
                    },
                    "end": {
                      "line": 151,
                      "column": 19
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 5825,
                    "end": 5831,
                    "loc": {
                      "start": {
                        "line": 151,
                        "column": 4
                      },
                      "end": {
                        "line": 151,
                        "column": 10
                      }
                    },
                    "name": "member"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 5832,
                    "end": 5840,
                    "loc": {
                      "start": {
                        "line": 151,
                        "column": 11
                      },
                      "end": {
                        "line": 151,
                        "column": 19
                      }
                    },
                    "name": "userData"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 5841,
                  "end": 5851,
                  "loc": {
                    "start": {
                      "line": 151,
                      "column": 20
                    },
                    "end": {
                      "line": 151,
                      "column": 30
                    }
                  },
                  "name": "memberInfo"
                },
                "computed": false
              },
              "right": {
                "type": "ObjectExpression",
                "start": 5854,
                "end": 6409,
                "loc": {
                  "start": {
                    "line": 151,
                    "column": 33
                  },
                  "end": {
                    "line": 164,
                    "column": 5
                  }
                },
                "properties": [
                  {
                    "type": "Property",
                    "start": 5864,
                    "end": 5885,
                    "loc": {
                      "start": {
                        "line": 152,
                        "column": 8
                      },
                      "end": {
                        "line": 152,
                        "column": 29
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 5864,
                      "end": 5868,
                      "loc": {
                        "start": {
                          "line": 152,
                          "column": 8
                        },
                        "end": {
                          "line": 152,
                          "column": 12
                        }
                      },
                      "name": "name"
                    },
                    "value": {
                      "type": "MemberExpression",
                      "start": 5870,
                      "end": 5885,
                      "loc": {
                        "start": {
                          "line": 152,
                          "column": 14
                        },
                        "end": {
                          "line": 152,
                          "column": 29
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 5870,
                        "end": 5880,
                        "loc": {
                          "start": {
                            "line": 152,
                            "column": 14
                          },
                          "end": {
                            "line": 152,
                            "column": 24
                          }
                        },
                        "name": "memberNode"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5881,
                        "end": 5885,
                        "loc": {
                          "start": {
                            "line": 152,
                            "column": 25
                          },
                          "end": {
                            "line": 152,
                            "column": 29
                          }
                        },
                        "name": "name"
                      },
                      "computed": false
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 5895,
                    "end": 5918,
                    "loc": {
                      "start": {
                        "line": 153,
                        "column": 8
                      },
                      "end": {
                        "line": 153,
                        "column": 31
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 5895,
                      "end": 5900,
                      "loc": {
                        "start": {
                          "line": 153,
                          "column": 8
                        },
                        "end": {
                          "line": 153,
                          "column": 13
                        }
                      },
                      "name": "value"
                    },
                    "value": {
                      "type": "CallExpression",
                      "start": 5902,
                      "end": 5918,
                      "loc": {
                        "start": {
                          "line": 153,
                          "column": 15
                        },
                        "end": {
                          "line": 153,
                          "column": 31
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 5902,
                        "end": 5916,
                        "loc": {
                          "start": {
                            "line": 153,
                            "column": 15
                          },
                          "end": {
                            "line": 153,
                            "column": 29
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 5902,
                          "end": 5908,
                          "loc": {
                            "start": {
                              "line": 153,
                              "column": 15
                            },
                            "end": {
                              "line": 153,
                              "column": 21
                            }
                          },
                          "name": "member"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5909,
                          "end": 5916,
                          "loc": {
                            "start": {
                              "line": 153,
                              "column": 22
                            },
                            "end": {
                              "line": 153,
                              "column": 29
                            }
                          },
                          "name": "valueOf"
                        },
                        "computed": false
                      },
                      "arguments": []
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 5928,
                    "end": 5978,
                    "loc": {
                      "start": {
                        "line": 154,
                        "column": 8
                      },
                      "end": {
                        "line": 154,
                        "column": 58
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 5928,
                      "end": 5938,
                      "loc": {
                        "start": {
                          "line": 154,
                          "column": 8
                        },
                        "end": {
                          "line": 154,
                          "column": 18
                        }
                      },
                      "name": "expression"
                    },
                    "value": {
                      "type": "LogicalExpression",
                      "start": 5940,
                      "end": 5978,
                      "loc": {
                        "start": {
                          "line": 154,
                          "column": 20
                        },
                        "end": {
                          "line": 154,
                          "column": 58
                        }
                      },
                      "left": {
                        "type": "MemberExpression",
                        "start": 5940,
                        "end": 5972,
                        "loc": {
                          "start": {
                            "line": 154,
                            "column": 20
                          },
                          "end": {
                            "line": 154,
                            "column": 52
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 5940,
                          "end": 5961,
                          "loc": {
                            "start": {
                              "line": 154,
                              "column": 20
                            },
                            "end": {
                              "line": 154,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5940,
                            "end": 5950,
                            "loc": {
                              "start": {
                                "line": 154,
                                "column": 20
                              },
                              "end": {
                                "line": 154,
                                "column": 30
                              }
                            },
                            "name": "memberNode"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5951,
                            "end": 5961,
                            "loc": {
                              "start": {
                                "line": 154,
                                "column": 31
                              },
                              "end": {
                                "line": 154,
                                "column": 41
                              }
                            },
                            "name": "memberInfo"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5962,
                          "end": 5972,
                          "loc": {
                            "start": {
                              "line": 154,
                              "column": 42
                            },
                            "end": {
                              "line": 154,
                              "column": 52
                            }
                          },
                          "name": "expression"
                        },
                        "computed": false
                      },
                      "operator": "||",
                      "right": {
                        "type": "Literal",
                        "start": 5976,
                        "end": 5978,
                        "loc": {
                          "start": {
                            "line": 154,
                            "column": 56
                          },
                          "end": {
                            "line": 154,
                            "column": 58
                          }
                        },
                        "value": "",
                        "rawValue": "",
                        "raw": "''"
                      }
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 5988,
                    "end": 6000,
                    "loc": {
                      "start": {
                        "line": 155,
                        "column": 8
                      },
                      "end": {
                        "line": 155,
                        "column": 20
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 5988,
                      "end": 5993,
                      "loc": {
                        "start": {
                          "line": 155,
                          "column": 8
                        },
                        "end": {
                          "line": 155,
                          "column": 13
                        }
                      },
                      "name": "flags"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 5995,
                      "end": 6000,
                      "loc": {
                        "start": {
                          "line": 155,
                          "column": 15
                        },
                        "end": {
                          "line": 155,
                          "column": 20
                        }
                      },
                      "name": "flags"
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 6079,
                    "end": 6118,
                    "loc": {
                      "start": {
                        "line": 157,
                        "column": 8
                      },
                      "end": {
                        "line": 157,
                        "column": 47
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6079,
                      "end": 6086,
                      "loc": {
                        "start": {
                          "line": 157,
                          "column": 8
                        },
                        "end": {
                          "line": 157,
                          "column": 15
                        }
                      },
                      "name": "visible",
                      "leadingComments": null
                    },
                    "value": {
                      "type": "BinaryExpression",
                      "start": 6094,
                      "end": 6118,
                      "loc": {
                        "start": {
                          "line": 157,
                          "column": 23
                        },
                        "end": {
                          "line": 157,
                          "column": 47
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 6095,
                        "end": 6111,
                        "loc": {
                          "start": {
                            "line": 157,
                            "column": 24
                          },
                          "end": {
                            "line": 157,
                            "column": 40
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6095,
                          "end": 6100,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 24
                            },
                            "end": {
                              "line": 157,
                              "column": 29
                            }
                          },
                          "name": "flags"
                        },
                        "operator": "&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 6104,
                          "end": 6110,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 33
                            },
                            "end": {
                              "line": 157,
                              "column": 39
                            }
                          },
                          "left": {
                            "type": "Literal",
                            "start": 6104,
                            "end": 6105,
                            "loc": {
                              "start": {
                                "line": 157,
                                "column": 33
                              },
                              "end": {
                                "line": 157,
                                "column": 34
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "operator": "<<",
                          "right": {
                            "type": "Literal",
                            "start": 6109,
                            "end": 6110,
                            "loc": {
                              "start": {
                                "line": 157,
                                "column": 38
                              },
                              "end": {
                                "line": 157,
                                "column": 39
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "parenthesizedExpression": true
                        },
                        "parenthesizedExpression": true
                      },
                      "operator": "!==",
                      "right": {
                        "type": "Literal",
                        "start": 6117,
                        "end": 6118,
                        "loc": {
                          "start": {
                            "line": 157,
                            "column": 46
                          },
                          "end": {
                            "line": 157,
                            "column": 47
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    },
                    "kind": "init",
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " flags from enum EMemberFlags in BaseSystemSTL/h/Members.h",
                        "start": 6010,
                        "end": 6070,
                        "loc": {
                          "start": {
                            "line": 156,
                            "column": 8
                          },
                          "end": {
                            "line": 156,
                            "column": 68
                          }
                        },
                        "range": [
                          6010,
                          6070
                        ]
                      }
                    ]
                  },
                  {
                    "type": "Property",
                    "start": 6128,
                    "end": 6167,
                    "loc": {
                      "start": {
                        "line": 158,
                        "column": 8
                      },
                      "end": {
                        "line": 158,
                        "column": 47
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6128,
                      "end": 6141,
                      "loc": {
                        "start": {
                          "line": 158,
                          "column": 8
                        },
                        "end": {
                          "line": 158,
                          "column": 21
                        }
                      },
                      "name": "neverExchange"
                    },
                    "value": {
                      "type": "BinaryExpression",
                      "start": 6143,
                      "end": 6167,
                      "loc": {
                        "start": {
                          "line": 158,
                          "column": 23
                        },
                        "end": {
                          "line": 158,
                          "column": 47
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 6144,
                        "end": 6160,
                        "loc": {
                          "start": {
                            "line": 158,
                            "column": 24
                          },
                          "end": {
                            "line": 158,
                            "column": 40
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6144,
                          "end": 6149,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 24
                            },
                            "end": {
                              "line": 158,
                              "column": 29
                            }
                          },
                          "name": "flags"
                        },
                        "operator": "&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 6153,
                          "end": 6159,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 33
                            },
                            "end": {
                              "line": 158,
                              "column": 39
                            }
                          },
                          "left": {
                            "type": "Literal",
                            "start": 6153,
                            "end": 6154,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 33
                              },
                              "end": {
                                "line": 158,
                                "column": 34
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "operator": "<<",
                          "right": {
                            "type": "Literal",
                            "start": 6158,
                            "end": 6159,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 38
                              },
                              "end": {
                                "line": 158,
                                "column": 39
                              }
                            },
                            "value": 2,
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "parenthesizedExpression": true
                        },
                        "parenthesizedExpression": true
                      },
                      "operator": "!==",
                      "right": {
                        "type": "Literal",
                        "start": 6166,
                        "end": 6167,
                        "loc": {
                          "start": {
                            "line": 158,
                            "column": 46
                          },
                          "end": {
                            "line": 158,
                            "column": 47
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 6177,
                    "end": 6216,
                    "loc": {
                      "start": {
                        "line": 159,
                        "column": 8
                      },
                      "end": {
                        "line": 159,
                        "column": 47
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6177,
                      "end": 6187,
                      "loc": {
                        "start": {
                          "line": 159,
                          "column": 8
                        },
                        "end": {
                          "line": 159,
                          "column": 18
                        }
                      },
                      "name": "exprLocked"
                    },
                    "value": {
                      "type": "BinaryExpression",
                      "start": 6192,
                      "end": 6216,
                      "loc": {
                        "start": {
                          "line": 159,
                          "column": 23
                        },
                        "end": {
                          "line": 159,
                          "column": 47
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 6193,
                        "end": 6209,
                        "loc": {
                          "start": {
                            "line": 159,
                            "column": 24
                          },
                          "end": {
                            "line": 159,
                            "column": 40
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6193,
                          "end": 6198,
                          "loc": {
                            "start": {
                              "line": 159,
                              "column": 24
                            },
                            "end": {
                              "line": 159,
                              "column": 29
                            }
                          },
                          "name": "flags"
                        },
                        "operator": "&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 6202,
                          "end": 6208,
                          "loc": {
                            "start": {
                              "line": 159,
                              "column": 33
                            },
                            "end": {
                              "line": 159,
                              "column": 39
                            }
                          },
                          "left": {
                            "type": "Literal",
                            "start": 6202,
                            "end": 6203,
                            "loc": {
                              "start": {
                                "line": 159,
                                "column": 33
                              },
                              "end": {
                                "line": 159,
                                "column": 34
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "operator": "<<",
                          "right": {
                            "type": "Literal",
                            "start": 6207,
                            "end": 6208,
                            "loc": {
                              "start": {
                                "line": 159,
                                "column": 38
                              },
                              "end": {
                                "line": 159,
                                "column": 39
                              }
                            },
                            "value": 3,
                            "rawValue": 3,
                            "raw": "3"
                          },
                          "parenthesizedExpression": true
                        },
                        "parenthesizedExpression": true
                      },
                      "operator": "!==",
                      "right": {
                        "type": "Literal",
                        "start": 6215,
                        "end": 6216,
                        "loc": {
                          "start": {
                            "line": 159,
                            "column": 46
                          },
                          "end": {
                            "line": 159,
                            "column": 47
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 6226,
                    "end": 6265,
                    "loc": {
                      "start": {
                        "line": 160,
                        "column": 8
                      },
                      "end": {
                        "line": 160,
                        "column": 47
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6226,
                      "end": 6235,
                      "loc": {
                        "start": {
                          "line": 160,
                          "column": 8
                        },
                        "end": {
                          "line": 160,
                          "column": 17
                        }
                      },
                      "name": "transient"
                    },
                    "value": {
                      "type": "BinaryExpression",
                      "start": 6241,
                      "end": 6265,
                      "loc": {
                        "start": {
                          "line": 160,
                          "column": 23
                        },
                        "end": {
                          "line": 160,
                          "column": 47
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 6242,
                        "end": 6258,
                        "loc": {
                          "start": {
                            "line": 160,
                            "column": 24
                          },
                          "end": {
                            "line": 160,
                            "column": 40
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6242,
                          "end": 6247,
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 24
                            },
                            "end": {
                              "line": 160,
                              "column": 29
                            }
                          },
                          "name": "flags"
                        },
                        "operator": "&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 6251,
                          "end": 6257,
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 33
                            },
                            "end": {
                              "line": 160,
                              "column": 39
                            }
                          },
                          "left": {
                            "type": "Literal",
                            "start": 6251,
                            "end": 6252,
                            "loc": {
                              "start": {
                                "line": 160,
                                "column": 33
                              },
                              "end": {
                                "line": 160,
                                "column": 34
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "operator": "<<",
                          "right": {
                            "type": "Literal",
                            "start": 6256,
                            "end": 6257,
                            "loc": {
                              "start": {
                                "line": 160,
                                "column": 38
                              },
                              "end": {
                                "line": 160,
                                "column": 39
                              }
                            },
                            "value": 4,
                            "rawValue": 4,
                            "raw": "4"
                          },
                          "parenthesizedExpression": true
                        },
                        "parenthesizedExpression": true
                      },
                      "operator": "!==",
                      "right": {
                        "type": "Literal",
                        "start": 6264,
                        "end": 6265,
                        "loc": {
                          "start": {
                            "line": 160,
                            "column": 46
                          },
                          "end": {
                            "line": 160,
                            "column": 47
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 6275,
                    "end": 6314,
                    "loc": {
                      "start": {
                        "line": 161,
                        "column": 8
                      },
                      "end": {
                        "line": 161,
                        "column": 47
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6275,
                      "end": 6280,
                      "loc": {
                        "start": {
                          "line": 161,
                          "column": 8
                        },
                        "end": {
                          "line": 161,
                          "column": 13
                        }
                      },
                      "name": "fixed"
                    },
                    "value": {
                      "type": "BinaryExpression",
                      "start": 6290,
                      "end": 6314,
                      "loc": {
                        "start": {
                          "line": 161,
                          "column": 23
                        },
                        "end": {
                          "line": 161,
                          "column": 47
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 6291,
                        "end": 6307,
                        "loc": {
                          "start": {
                            "line": 161,
                            "column": 24
                          },
                          "end": {
                            "line": 161,
                            "column": 40
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6291,
                          "end": 6296,
                          "loc": {
                            "start": {
                              "line": 161,
                              "column": 24
                            },
                            "end": {
                              "line": 161,
                              "column": 29
                            }
                          },
                          "name": "flags"
                        },
                        "operator": "&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 6300,
                          "end": 6306,
                          "loc": {
                            "start": {
                              "line": 161,
                              "column": 33
                            },
                            "end": {
                              "line": 161,
                              "column": 39
                            }
                          },
                          "left": {
                            "type": "Literal",
                            "start": 6300,
                            "end": 6301,
                            "loc": {
                              "start": {
                                "line": 161,
                                "column": 33
                              },
                              "end": {
                                "line": 161,
                                "column": 34
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "operator": "<<",
                          "right": {
                            "type": "Literal",
                            "start": 6305,
                            "end": 6306,
                            "loc": {
                              "start": {
                                "line": 161,
                                "column": 38
                              },
                              "end": {
                                "line": 161,
                                "column": 39
                              }
                            },
                            "value": 5,
                            "rawValue": 5,
                            "raw": "5"
                          },
                          "parenthesizedExpression": true
                        },
                        "parenthesizedExpression": true
                      },
                      "operator": "===",
                      "right": {
                        "type": "Literal",
                        "start": 6313,
                        "end": 6314,
                        "loc": {
                          "start": {
                            "line": 161,
                            "column": 46
                          },
                          "end": {
                            "line": 161,
                            "column": 47
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    },
                    "kind": "init"
                  },
                  {
                    "type": "Property",
                    "start": 6343,
                    "end": 6382,
                    "loc": {
                      "start": {
                        "line": 162,
                        "column": 8
                      },
                      "end": {
                        "line": 162,
                        "column": 47
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6343,
                      "end": 6349,
                      "loc": {
                        "start": {
                          "line": 162,
                          "column": 8
                        },
                        "end": {
                          "line": 162,
                          "column": 14
                        }
                      },
                      "name": "isNull",
                      "leadingComments": null
                    },
                    "value": {
                      "type": "BinaryExpression",
                      "start": 6358,
                      "end": 6382,
                      "loc": {
                        "start": {
                          "line": 162,
                          "column": 23
                        },
                        "end": {
                          "line": 162,
                          "column": 47
                        }
                      },
                      "left": {
                        "type": "BinaryExpression",
                        "start": 6359,
                        "end": 6375,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 24
                          },
                          "end": {
                            "line": 162,
                            "column": 40
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6359,
                          "end": 6364,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 24
                            },
                            "end": {
                              "line": 162,
                              "column": 29
                            }
                          },
                          "name": "flags"
                        },
                        "operator": "&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 6368,
                          "end": 6374,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 33
                            },
                            "end": {
                              "line": 162,
                              "column": 39
                            }
                          },
                          "left": {
                            "type": "Literal",
                            "start": 6368,
                            "end": 6369,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 33
                              },
                              "end": {
                                "line": 162,
                                "column": 34
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "operator": "<<",
                          "right": {
                            "type": "Literal",
                            "start": 6373,
                            "end": 6374,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 38
                              },
                              "end": {
                                "line": 162,
                                "column": 39
                              }
                            },
                            "value": 9,
                            "rawValue": 9,
                            "raw": "9"
                          },
                          "parenthesizedExpression": true
                        },
                        "parenthesizedExpression": true
                      },
                      "operator": "!==",
                      "right": {
                        "type": "Literal",
                        "start": 6381,
                        "end": 6382,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 46
                          },
                          "end": {
                            "line": 162,
                            "column": 47
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      }
                    },
                    "kind": "init",
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " fixed = !driven",
                        "start": 6316,
                        "end": 6334,
                        "loc": {
                          "start": {
                            "line": 161,
                            "column": 49
                          },
                          "end": {
                            "line": 161,
                            "column": 67
                          }
                        },
                        "range": [
                          6316,
                          6334
                        ]
                      }
                    ]
                  },
                  {
                    "type": "Property",
                    "start": 6392,
                    "end": 6402,
                    "loc": {
                      "start": {
                        "line": 163,
                        "column": 8
                      },
                      "end": {
                        "line": 163,
                        "column": 18
                      }
                    },
                    "method": false,
                    "shorthand": false,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 6392,
                      "end": 6396,
                      "loc": {
                        "start": {
                          "line": 163,
                          "column": 8
                        },
                        "end": {
                          "line": 163,
                          "column": 12
                        }
                      },
                      "name": "type"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 6398,
                      "end": 6402,
                      "loc": {
                        "start": {
                          "line": 163,
                          "column": 14
                        },
                        "end": {
                          "line": 163,
                          "column": 18
                        }
                      },
                      "name": "type"
                    },
                    "kind": "init"
                  }
                ]
              }
            }
          },
          {
            "type": "ReturnStatement",
            "start": 6415,
            "end": 6429,
            "loc": {
              "start": {
                "line": 165,
                "column": 4
              },
              "end": {
                "line": 165,
                "column": 18
              }
            },
            "argument": {
              "type": "Identifier",
              "start": 6422,
              "end": 6428,
              "loc": {
                "start": {
                  "line": 165,
                  "column": 11
                },
                "end": {
                  "line": 165,
                  "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": 6433,
          "end": 6546,
          "loc": {
            "start": {
              "line": 168,
              "column": 0
            },
            "end": {
              "line": 168,
              "column": 113
            }
          },
          "range": [
            6433,
            6546
          ]
        },
        {
          "type": "CommentLine",
          "value": " If 'this' is defined, treat it as a root of an existing object hierarchy to be updated.",
          "start": 6547,
          "end": 6637,
          "loc": {
            "start": {
              "line": 169,
              "column": 0
            },
            "end": {
              "line": 169,
              "column": 90
            }
          },
          "range": [
            6547,
            6637
          ]
        },
        {
          "type": "CommentLine",
          "value": " If addFirstChildTo is defined, add first toplevel child to it as a member",
          "start": 6638,
          "end": 6714,
          "loc": {
            "start": {
              "line": 170,
              "column": 0
            },
            "end": {
              "line": 170,
              "column": 76
            }
          },
          "range": [
            6638,
            6714
          ]
        },
        {
          "type": "CommentLine",
          "value": " addFirstChildTo is a workaround to guarantee that finishedUpdating is called after all addMember calls",
          "start": 6715,
          "end": 6820,
          "loc": {
            "start": {
              "line": 171,
              "column": 0
            },
            "end": {
              "line": 171,
              "column": 105
            }
          },
          "range": [
            6715,
            6820
          ]
        },
        {
          "type": "CommentLine",
          "value": " If toplevelChildren is passed, then treat it as an array of objects to parse toplevel children to",
          "start": 6821,
          "end": 6921,
          "loc": {
            "start": {
              "line": 172,
              "column": 0
            },
            "end": {
              "line": 172,
              "column": 100
            }
          },
          "range": [
            6821,
            6921
          ]
        },
        {
          "type": "CommentLine",
          "value": " return first child of the root or the root object depending on whether toplevelChildren is passed",
          "start": 6922,
          "end": 7022,
          "loc": {
            "start": {
              "line": 173,
              "column": 0
            },
            "end": {
              "line": 173,
              "column": 100
            }
          },
          "range": [
            6922,
            7022
          ]
        }
      ]
    },
    {
      "type": "Identifier",
      "start": 7023,
      "end": 9337,
      "loc": {
        "start": {
          "line": 174,
          "column": 0
        },
        "end": {
          "line": 221,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 7032,
        "end": 7047,
        "loc": {
          "start": {
            "line": 174,
            "column": 9
          },
          "end": {
            "line": 174,
            "column": 24
          }
        },
        "name": "parseObjectTree",
        "leadingComments": null
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 7048,
          "end": 7058,
          "loc": {
            "start": {
              "line": 174,
              "column": 25
            },
            "end": {
              "line": 174,
              "column": 35
            }
          },
          "name": "objectTree"
        },
        {
          "type": "Identifier",
          "start": 7060,
          "end": 7075,
          "loc": {
            "start": {
              "line": 174,
              "column": 37
            },
            "end": {
              "line": 174,
              "column": 52
            }
          },
          "name": "addFirstChildTo"
        },
        {
          "type": "Identifier",
          "start": 7077,
          "end": 7093,
          "loc": {
            "start": {
              "line": 174,
              "column": 54
            },
            "end": {
              "line": 174,
              "column": 70
            }
          },
          "name": "toplevelChildren"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 7095,
        "end": 9337,
        "loc": {
          "start": {
            "line": 174,
            "column": 72
          },
          "end": {
            "line": 221,
            "column": 1
          }
        },
        "body": [
          {
            "type": "VariableDeclaration",
            "start": 7101,
            "end": 7140,
            "loc": {
              "start": {
                "line": 175,
                "column": 4
              },
              "end": {
                "line": 175,
                "column": 43
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 7105,
                "end": 7139,
                "loc": {
                  "start": {
                    "line": 175,
                    "column": 8
                  },
                  "end": {
                    "line": 175,
                    "column": 42
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 7105,
                  "end": 7119,
                  "loc": {
                    "start": {
                      "line": 175,
                      "column": 8
                    },
                    "end": {
                      "line": 175,
                      "column": 22
                    }
                  },
                  "name": "allObjectsMode"
                },
                "init": {
                  "type": "UnaryExpression",
                  "start": 7122,
                  "end": 7139,
                  "loc": {
                    "start": {
                      "line": 175,
                      "column": 25
                    },
                    "end": {
                      "line": 175,
                      "column": 42
                    }
                  },
                  "operator": "!",
                  "prefix": true,
                  "argument": {
                    "type": "Identifier",
                    "start": 7123,
                    "end": 7139,
                    "loc": {
                      "start": {
                        "line": 175,
                        "column": 26
                      },
                      "end": {
                        "line": 175,
                        "column": 42
                      }
                    },
                    "name": "toplevelChildren"
                  }
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "ExpressionStatement",
            "start": 7145,
            "end": 7187,
            "loc": {
              "start": {
                "line": 176,
                "column": 4
              },
              "end": {
                "line": 176,
                "column": 46
              }
            },
            "expression": {
              "type": "AssignmentExpression",
              "start": 7145,
              "end": 7186,
              "loc": {
                "start": {
                  "line": 176,
                  "column": 4
                },
                "end": {
                  "line": 176,
                  "column": 45
                }
              },
              "operator": "=",
              "left": {
                "type": "Identifier",
                "start": 7145,
                "end": 7161,
                "loc": {
                  "start": {
                    "line": 176,
                    "column": 4
                  },
                  "end": {
                    "line": 176,
                    "column": 20
                  }
                },
                "name": "toplevelChildren"
              },
              "right": {
                "type": "LogicalExpression",
                "start": 7164,
                "end": 7186,
                "loc": {
                  "start": {
                    "line": 176,
                    "column": 23
                  },
                  "end": {
                    "line": 176,
                    "column": 45
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 7164,
                  "end": 7180,
                  "loc": {
                    "start": {
                      "line": 176,
                      "column": 23
                    },
                    "end": {
                      "line": 176,
                      "column": 39
                    }
                  },
                  "name": "toplevelChildren"
                },
                "operator": "||",
                "right": {
                  "type": "ArrayExpression",
                  "start": 7184,
                  "end": 7186,
                  "loc": {
                    "start": {
                      "line": 176,
                      "column": 43
                    },
                    "end": {
                      "line": 176,
                      "column": 45
                    }
                  },
                  "elements": []
                }
              }
            }
          },
          {
            "type": "VariableDeclaration",
            "start": 7192,
            "end": 7214,
            "loc": {
              "start": {
                "line": 177,
                "column": 4
              },
              "end": {
                "line": 177,
                "column": 26
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 7196,
                "end": 7213,
                "loc": {
                  "start": {
                    "line": 177,
                    "column": 8
                  },
                  "end": {
                    "line": 177,
                    "column": 25
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 7196,
                  "end": 7201,
                  "loc": {
                    "start": {
                      "line": 177,
                      "column": 8
                    },
                    "end": {
                      "line": 177,
                      "column": 13
                    }
                  },
                  "name": "idMap"
                },
                "init": {
                  "type": "NewExpression",
                  "start": 7204,
                  "end": 7213,
                  "loc": {
                    "start": {
                      "line": 177,
                      "column": 16
                    },
                    "end": {
                      "line": 177,
                      "column": 25
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 7208,
                    "end": 7211,
                    "loc": {
                      "start": {
                        "line": 177,
                        "column": 20
                      },
                      "end": {
                        "line": 177,
                        "column": 23
                      }
                    },
                    "name": "Map"
                  },
                  "arguments": []
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "VariableDeclaration",
            "start": 7219,
            "end": 7256,
            "loc": {
              "start": {
                "line": 178,
                "column": 4
              },
              "end": {
                "line": 178,
                "column": 41
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 7223,
                "end": 7255,
                "loc": {
                  "start": {
                    "line": 178,
                    "column": 8
                  },
                  "end": {
                    "line": 178,
                    "column": 40
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 7223,
                  "end": 7231,
                  "loc": {
                    "start": {
                      "line": 178,
                      "column": 8
                    },
                    "end": {
                      "line": 178,
                      "column": 16
                    }
                  },
                  "name": "rootNode"
                },
                "init": {
                  "type": "MemberExpression",
                  "start": 7234,
                  "end": 7255,
                  "loc": {
                    "start": {
                      "line": 178,
                      "column": 19
                    },
                    "end": {
                      "line": 178,
                      "column": 40
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 7234,
                    "end": 7252,
                    "loc": {
                      "start": {
                        "line": 178,
                        "column": 19
                      },
                      "end": {
                        "line": 178,
                        "column": 37
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 7234,
                      "end": 7244,
                      "loc": {
                        "start": {
                          "line": 178,
                          "column": 19
                        },
                        "end": {
                          "line": 178,
                          "column": 29
                        }
                      },
                      "name": "objectTree"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 7245,
                      "end": 7252,
                      "loc": {
                        "start": {
                          "line": 178,
                          "column": 30
                        },
                        "end": {
                          "line": 178,
                          "column": 37
                        }
                      },
                      "name": "objects"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Literal",
                    "start": 7253,
                    "end": 7254,
                    "loc": {
                      "start": {
                        "line": 178,
                        "column": 38
                      },
                      "end": {
                        "line": 178,
                        "column": 39
                      }
                    },
                    "value": 1,
                    "rawValue": 1,
                    "raw": "1"
                  },
                  "computed": true
                }
              }
            ],
            "kind": "var"
          },
          {
            "type": "IfStatement",
            "start": 7261,
            "end": 7371,
            "loc": {
              "start": {
                "line": 179,
                "column": 4
              },
              "end": {
                "line": 180,
                "column": 73
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 7265,
              "end": 7296,
              "loc": {
                "start": {
                  "line": 179,
                  "column": 8
                },
                "end": {
                  "line": 179,
                  "column": 39
                }
              },
              "left": {
                "type": "MemberExpression",
                "start": 7265,
                "end": 7279,
                "loc": {
                  "start": {
                    "line": 179,
                    "column": 8
                  },
                  "end": {
                    "line": 179,
                    "column": 22
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 7265,
                  "end": 7273,
                  "loc": {
                    "start": {
                      "line": 179,
                      "column": 8
                    },
                    "end": {
                      "line": 179,
                      "column": 16
                    }
                  },
                  "name": "rootNode"
                },
                "property": {
                  "type": "Identifier",
                  "start": 7274,
                  "end": 7279,
                  "loc": {
                    "start": {
                      "line": 179,
                      "column": 17
                    },
                    "end": {
                      "line": 179,
                      "column": 22
                    }
                  },
                  "name": "class"
                },
                "computed": false
              },
              "operator": "!==",
              "right": {
                "type": "Literal",
                "start": 7284,
                "end": 7296,
                "loc": {
                  "start": {
                    "line": 179,
                    "column": 27
                  },
                  "end": {
                    "line": 179,
                    "column": 39
                  }
                },
                "value": "AllObjects",
                "rawValue": "AllObjects",
                "raw": "'AllObjects'"
              }
            },
            "consequent": {
              "type": "ThrowStatement",
              "start": 7306,
              "end": 7371,
              "loc": {
                "start": {
                  "line": 180,
                  "column": 8
                },
                "end": {
                  "line": 180,
                  "column": 73
                }
              },
              "argument": {
                "type": "NewExpression",
                "start": 7312,
                "end": 7370,
                "loc": {
                  "start": {
                    "line": 180,
                    "column": 14
                  },
                  "end": {
                    "line": 180,
                    "column": 72
                  }
                },
                "callee": {
                  "type": "Identifier",
                  "start": 7316,
                  "end": 7321,
                  "loc": {
                    "start": {
                      "line": 180,
                      "column": 18
                    },
                    "end": {
                      "line": 180,
                      "column": 23
                    }
                  },
                  "name": "Error"
                },
                "arguments": [
                  {
                    "type": "Literal",
                    "start": 7322,
                    "end": 7369,
                    "loc": {
                      "start": {
                        "line": 180,
                        "column": 24
                      },
                      "end": {
                        "line": 180,
                        "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": 7376,
            "end": 7463,
            "loc": {
              "start": {
                "line": 181,
                "column": 4
              },
              "end": {
                "line": 182,
                "column": 37
              }
            },
            "test": {
              "type": "ThisExpression",
              "start": 7380,
              "end": 7384,
              "loc": {
                "start": {
                  "line": 181,
                  "column": 8
                },
                "end": {
                  "line": 181,
                  "column": 12
                }
              }
            },
            "consequent": {
              "type": "ExpressionStatement",
              "start": 7434,
              "end": 7463,
              "loc": {
                "start": {
                  "line": 182,
                  "column": 8
                },
                "end": {
                  "line": 182,
                  "column": 37
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 7434,
                "end": 7462,
                "loc": {
                  "start": {
                    "line": 182,
                    "column": 8
                  },
                  "end": {
                    "line": 182,
                    "column": 36
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 7434,
                  "end": 7443,
                  "loc": {
                    "start": {
                      "line": 182,
                      "column": 8
                    },
                    "end": {
                      "line": 182,
                      "column": 17
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 7434,
                    "end": 7439,
                    "loc": {
                      "start": {
                        "line": 182,
                        "column": 8
                      },
                      "end": {
                        "line": 182,
                        "column": 13
                      }
                    },
                    "name": "idMap",
                    "leadingComments": null
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 7440,
                    "end": 7443,
                    "loc": {
                      "start": {
                        "line": 182,
                        "column": 14
                      },
                      "end": {
                        "line": 182,
                        "column": 17
                      }
                    },
                    "name": "set"
                  },
                  "computed": false,
                  "leadingComments": null
                },
                "arguments": [
                  {
                    "type": "MemberExpression",
                    "start": 7444,
                    "end": 7455,
                    "loc": {
                      "start": {
                        "line": 182,
                        "column": 18
                      },
                      "end": {
                        "line": 182,
                        "column": 29
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 7444,
                      "end": 7452,
                      "loc": {
                        "start": {
                          "line": 182,
                          "column": 18
                        },
                        "end": {
                          "line": 182,
                          "column": 26
                        }
                      },
                      "name": "rootNode"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 7453,
                      "end": 7455,
                      "loc": {
                        "start": {
                          "line": 182,
                          "column": 27
                        },
                        "end": {
                          "line": 182,
                          "column": 29
                        }
                      },
                      "name": "id"
                    },
                    "computed": false
                  },
                  {
                    "type": "ThisExpression",
                    "start": 7457,
                    "end": 7461,
                    "loc": {
                      "start": {
                        "line": 182,
                        "column": 31
                      },
                      "end": {
                        "line": 182,
                        "column": 35
                      }
                    }
                  }
                ],
                "leadingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " this (if passed) is a hierarchy root",
                  "start": 7386,
                  "end": 7425,
                  "loc": {
                    "start": {
                      "line": 181,
                      "column": 14
                    },
                    "end": {
                      "line": 181,
                      "column": 53
                    }
                  },
                  "range": [
                    7386,
                    7425
                  ]
                }
              ]
            },
            "alternate": null
          },
          {
            "type": "ExpressionStatement",
            "start": 7468,
            "end": 8396,
            "loc": {
              "start": {
                "line": 183,
                "column": 4
              },
              "end": {
                "line": 198,
                "column": 7
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 7468,
              "end": 8395,
              "loc": {
                "start": {
                  "line": 183,
                  "column": 4
                },
                "end": {
                  "line": 198,
                  "column": 6
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 7468,
                "end": 7494,
                "loc": {
                  "start": {
                    "line": 183,
                    "column": 4
                  },
                  "end": {
                    "line": 183,
                    "column": 30
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 7468,
                  "end": 7486,
                  "loc": {
                    "start": {
                      "line": 183,
                      "column": 4
                    },
                    "end": {
                      "line": 183,
                      "column": 22
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 7468,
                    "end": 7478,
                    "loc": {
                      "start": {
                        "line": 183,
                        "column": 4
                      },
                      "end": {
                        "line": 183,
                        "column": 14
                      }
                    },
                    "name": "objectTree"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 7479,
                    "end": 7486,
                    "loc": {
                      "start": {
                        "line": 183,
                        "column": 15
                      },
                      "end": {
                        "line": 183,
                        "column": 22
                      }
                    },
                    "name": "objects"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 7487,
                  "end": 7494,
                  "loc": {
                    "start": {
                      "line": 183,
                      "column": 23
                    },
                    "end": {
                      "line": 183,
                      "column": 30
                    }
                  },
                  "name": "forEach"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "ArrowFunctionExpression",
                  "start": 7495,
                  "end": 8394,
                  "loc": {
                    "start": {
                      "line": 183,
                      "column": 31
                    },
                    "end": {
                      "line": 198,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 7495,
                      "end": 7499,
                      "loc": {
                        "start": {
                          "line": 183,
                          "column": 31
                        },
                        "end": {
                          "line": 183,
                          "column": 35
                        }
                      },
                      "name": "node"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 7503,
                    "end": 8394,
                    "loc": {
                      "start": {
                        "line": 183,
                        "column": 39
                      },
                      "end": {
                        "line": 198,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "VariableDeclaration",
                        "start": 7513,
                        "end": 7583,
                        "loc": {
                          "start": {
                            "line": 184,
                            "column": 8
                          },
                          "end": {
                            "line": 184,
                            "column": 78
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 7517,
                            "end": 7582,
                            "loc": {
                              "start": {
                                "line": 184,
                                "column": 12
                              },
                              "end": {
                                "line": 184,
                                "column": 77
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 7517,
                              "end": 7522,
                              "loc": {
                                "start": {
                                  "line": 184,
                                  "column": 12
                                },
                                "end": {
                                  "line": 184,
                                  "column": 17
                                }
                              },
                              "name": "klass"
                            },
                            "init": {
                              "type": "LogicalExpression",
                              "start": 7525,
                              "end": 7582,
                              "loc": {
                                "start": {
                                  "line": 184,
                                  "column": 20
                                },
                                "end": {
                                  "line": 184,
                                  "column": 77
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 7525,
                                "end": 7564,
                                "loc": {
                                  "start": {
                                    "line": 184,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 184,
                                    "column": 59
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7525,
                                  "end": 7552,
                                  "loc": {
                                    "start": {
                                      "line": 184,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 184,
                                      "column": 47
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 7525,
                                    "end": 7539,
                                    "loc": {
                                      "start": {
                                        "line": 184,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 184,
                                        "column": 34
                                      }
                                    },
                                    "name": "ClassCadObject"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7540,
                                    "end": 7552,
                                    "loc": {
                                      "start": {
                                        "line": 184,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 184,
                                        "column": 47
                                      }
                                    },
                                    "name": "classMapping"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "MemberExpression",
                                  "start": 7553,
                                  "end": 7563,
                                  "loc": {
                                    "start": {
                                      "line": 184,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 184,
                                      "column": 58
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 7553,
                                    "end": 7557,
                                    "loc": {
                                      "start": {
                                        "line": 184,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 184,
                                        "column": 52
                                      }
                                    },
                                    "name": "node"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7558,
                                    "end": 7563,
                                    "loc": {
                                      "start": {
                                        "line": 184,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 184,
                                        "column": 58
                                      }
                                    },
                                    "name": "class"
                                  },
                                  "computed": false
                                },
                                "computed": true
                              },
                              "operator": "||",
                              "right": {
                                "type": "Identifier",
                                "start": 7568,
                                "end": 7582,
                                "loc": {
                                  "start": {
                                    "line": 184,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 184,
                                    "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": 7592,
                            "end": 7676,
                            "loc": {
                              "start": {
                                "line": 185,
                                "column": 8
                              },
                              "end": {
                                "line": 185,
                                "column": 92
                              }
                            },
                            "range": [
                              7592,
                              7676
                            ]
                          }
                        ]
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 7685,
                        "end": 7752,
                        "loc": {
                          "start": {
                            "line": 186,
                            "column": 8
                          },
                          "end": {
                            "line": 186,
                            "column": 75
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 7689,
                            "end": 7751,
                            "loc": {
                              "start": {
                                "line": 186,
                                "column": 12
                              },
                              "end": {
                                "line": 186,
                                "column": 74
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 7689,
                              "end": 7695,
                              "loc": {
                                "start": {
                                  "line": 186,
                                  "column": 12
                                },
                                "end": {
                                  "line": 186,
                                  "column": 18
                                }
                              },
                              "name": "object",
                              "leadingComments": null
                            },
                            "init": {
                              "type": "ConditionalExpression",
                              "start": 7698,
                              "end": 7751,
                              "loc": {
                                "start": {
                                  "line": 186,
                                  "column": 21
                                },
                                "end": {
                                  "line": 186,
                                  "column": 74
                                }
                              },
                              "test": {
                                "type": "CallExpression",
                                "start": 7698,
                                "end": 7716,
                                "loc": {
                                  "start": {
                                    "line": 186,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 186,
                                    "column": 39
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 7698,
                                  "end": 7707,
                                  "loc": {
                                    "start": {
                                      "line": 186,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 186,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 7698,
                                    "end": 7703,
                                    "loc": {
                                      "start": {
                                        "line": 186,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 186,
                                        "column": 26
                                      }
                                    },
                                    "name": "idMap"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7704,
                                    "end": 7707,
                                    "loc": {
                                      "start": {
                                        "line": 186,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 186,
                                        "column": 30
                                      }
                                    },
                                    "name": "has"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 7708,
                                    "end": 7715,
                                    "loc": {
                                      "start": {
                                        "line": 186,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 186,
                                        "column": 38
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 7708,
                                      "end": 7712,
                                      "loc": {
                                        "start": {
                                          "line": 186,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 186,
                                          "column": 35
                                        }
                                      },
                                      "name": "node"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7713,
                                      "end": 7715,
                                      "loc": {
                                        "start": {
                                          "line": 186,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 186,
                                          "column": 38
                                        }
                                      },
                                      "name": "id"
                                    },
                                    "computed": false
                                  }
                                ]
                              },
                              "consequent": {
                                "type": "CallExpression",
                                "start": 7719,
                                "end": 7737,
                                "loc": {
                                  "start": {
                                    "line": 186,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 186,
                                    "column": 60
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 7719,
                                  "end": 7728,
                                  "loc": {
                                    "start": {
                                      "line": 186,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 186,
                                      "column": 51
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 7719,
                                    "end": 7724,
                                    "loc": {
                                      "start": {
                                        "line": 186,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 186,
                                        "column": 47
                                      }
                                    },
                                    "name": "idMap"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7725,
                                    "end": 7728,
                                    "loc": {
                                      "start": {
                                        "line": 186,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 186,
                                        "column": 51
                                      }
                                    },
                                    "name": "get"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 7729,
                                    "end": 7736,
                                    "loc": {
                                      "start": {
                                        "line": 186,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 186,
                                        "column": 59
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 7729,
                                      "end": 7733,
                                      "loc": {
                                        "start": {
                                          "line": 186,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 186,
                                          "column": 56
                                        }
                                      },
                                      "name": "node"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7734,
                                      "end": 7736,
                                      "loc": {
                                        "start": {
                                          "line": 186,
                                          "column": 57
                                        },
                                        "end": {
                                          "line": 186,
                                          "column": 59
                                        }
                                      },
                                      "name": "id"
                                    },
                                    "computed": false
                                  }
                                ]
                              },
                              "alternate": {
                                "type": "NewExpression",
                                "start": 7740,
                                "end": 7751,
                                "loc": {
                                  "start": {
                                    "line": 186,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 186,
                                    "column": 74
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 7744,
                                  "end": 7749,
                                  "loc": {
                                    "start": {
                                      "line": 186,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 186,
                                      "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": 7592,
                            "end": 7676,
                            "loc": {
                              "start": {
                                "line": 185,
                                "column": 8
                              },
                              "end": {
                                "line": 185,
                                "column": 92
                              }
                            },
                            "range": [
                              7592,
                              7676
                            ]
                          }
                        ]
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 7761,
                        "end": 7788,
                        "loc": {
                          "start": {
                            "line": 187,
                            "column": 8
                          },
                          "end": {
                            "line": 187,
                            "column": 35
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 7761,
                          "end": 7787,
                          "loc": {
                            "start": {
                              "line": 187,
                              "column": 8
                            },
                            "end": {
                              "line": 187,
                              "column": 34
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 7761,
                            "end": 7770,
                            "loc": {
                              "start": {
                                "line": 187,
                                "column": 8
                              },
                              "end": {
                                "line": 187,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 7761,
                              "end": 7766,
                              "loc": {
                                "start": {
                                  "line": 187,
                                  "column": 8
                                },
                                "end": {
                                  "line": 187,
                                  "column": 13
                                }
                              },
                              "name": "idMap"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7767,
                              "end": 7770,
                              "loc": {
                                "start": {
                                  "line": 187,
                                  "column": 14
                                },
                                "end": {
                                  "line": 187,
                                  "column": 17
                                }
                              },
                              "name": "set"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 7771,
                              "end": 7778,
                              "loc": {
                                "start": {
                                  "line": 187,
                                  "column": 18
                                },
                                "end": {
                                  "line": 187,
                                  "column": 25
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7771,
                                "end": 7775,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 22
                                  }
                                },
                                "name": "node"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7776,
                                "end": 7778,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 25
                                  }
                                },
                                "name": "id"
                              },
                              "computed": false
                            },
                            {
                              "type": "Identifier",
                              "start": 7780,
                              "end": 7786,
                              "loc": {
                                "start": {
                                  "line": 187,
                                  "column": 27
                                },
                                "end": {
                                  "line": 187,
                                  "column": 33
                                }
                              },
                              "name": "object"
                            }
                          ]
                        },
                        "trailingComments": [
                          {
                            "type": "CommentLine",
                            "value": " add entries about existing members to idMap because they will be needed on next iterations",
                            "start": 7797,
                            "end": 7890,
                            "loc": {
                              "start": {
                                "line": 188,
                                "column": 8
                              },
                              "end": {
                                "line": 188,
                                "column": 101
                              }
                            },
                            "range": [
                              7797,
                              7890
                            ]
                          }
                        ]
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 7899,
                        "end": 8348,
                        "loc": {
                          "start": {
                            "line": 189,
                            "column": 8
                          },
                          "end": {
                            "line": 196,
                            "column": 11
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 7899,
                          "end": 8347,
                          "loc": {
                            "start": {
                              "line": 189,
                              "column": 8
                            },
                            "end": {
                              "line": 196,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 7899,
                            "end": 7968,
                            "loc": {
                              "start": {
                                "line": 189,
                                "column": 8
                              },
                              "end": {
                                "line": 189,
                                "column": 77
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 7899,
                              "end": 7960,
                              "loc": {
                                "start": {
                                  "line": 189,
                                  "column": 8
                                },
                                "end": {
                                  "line": 189,
                                  "column": 69
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7899,
                                "end": 7924,
                                "loc": {
                                  "start": {
                                    "line": 189,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 189,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "LogicalExpression",
                                  "start": 7900,
                                  "end": 7916,
                                  "loc": {
                                    "start": {
                                      "line": 189,
                                      "column": 9
                                    },
                                    "end": {
                                      "line": 189,
                                      "column": 25
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 7900,
                                    "end": 7912,
                                    "loc": {
                                      "start": {
                                        "line": 189,
                                        "column": 9
                                      },
                                      "end": {
                                        "line": 189,
                                        "column": 21
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 7900,
                                      "end": 7904,
                                      "loc": {
                                        "start": {
                                          "line": 189,
                                          "column": 9
                                        },
                                        "end": {
                                          "line": 189,
                                          "column": 13
                                        }
                                      },
                                      "name": "node",
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7905,
                                      "end": 7912,
                                      "loc": {
                                        "start": {
                                          "line": 189,
                                          "column": 14
                                        },
                                        "end": {
                                          "line": 189,
                                          "column": 21
                                        }
                                      },
                                      "name": "members"
                                    },
                                    "computed": false,
                                    "leadingComments": null
                                  },
                                  "operator": "||",
                                  "right": {
                                    "type": "ArrayExpression",
                                    "start": 7914,
                                    "end": 7916,
                                    "loc": {
                                      "start": {
                                        "line": 189,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 189,
                                        "column": 25
                                      }
                                    },
                                    "elements": []
                                  },
                                  "leadingComments": null,
                                  "parenthesizedExpression": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7918,
                                  "end": 7924,
                                  "loc": {
                                    "start": {
                                      "line": 189,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 189,
                                      "column": 33
                                    }
                                  },
                                  "name": "filter"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "start": 7925,
                                  "end": 7959,
                                  "loc": {
                                    "start": {
                                      "line": 189,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 189,
                                      "column": 68
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": true,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 7925,
                                      "end": 7935,
                                      "loc": {
                                        "start": {
                                          "line": 189,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 189,
                                          "column": 44
                                        }
                                      },
                                      "name": "memberNode"
                                    }
                                  ],
                                  "body": {
                                    "type": "MemberExpression",
                                    "start": 7939,
                                    "end": 7959,
                                    "loc": {
                                      "start": {
                                        "line": 189,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 189,
                                        "column": 68
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 7939,
                                      "end": 7949,
                                      "loc": {
                                        "start": {
                                          "line": 189,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 189,
                                          "column": 58
                                        }
                                      },
                                      "name": "memberNode"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7950,
                                      "end": 7959,
                                      "loc": {
                                        "start": {
                                          "line": 189,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 189,
                                          "column": 68
                                        }
                                      },
                                      "name": "objectMem"
                                    },
                                    "computed": false
                                  }
                                }
                              ],
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7961,
                              "end": 7968,
                              "loc": {
                                "start": {
                                  "line": 189,
                                  "column": 70
                                },
                                "end": {
                                  "line": 189,
                                  "column": 77
                                }
                              },
                              "name": "forEach"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "arguments": [
                            {
                              "type": "ArrowFunctionExpression",
                              "start": 7969,
                              "end": 8346,
                              "loc": {
                                "start": {
                                  "line": 189,
                                  "column": 78
                                },
                                "end": {
                                  "line": 196,
                                  "column": 9
                                }
                              },
                              "id": null,
                              "generator": false,
                              "expression": false,
                              "async": false,
                              "params": [
                                {
                                  "type": "Identifier",
                                  "start": 7970,
                                  "end": 7980,
                                  "loc": {
                                    "start": {
                                      "line": 189,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 189,
                                      "column": 89
                                    }
                                  },
                                  "name": "memberNode"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 7982,
                                  "end": 7993,
                                  "loc": {
                                    "start": {
                                      "line": 189,
                                      "column": 91
                                    },
                                    "end": {
                                      "line": 189,
                                      "column": 102
                                    }
                                  },
                                  "name": "memberIndex"
                                }
                              ],
                              "body": {
                                "type": "BlockStatement",
                                "start": 7998,
                                "end": 8346,
                                "loc": {
                                  "start": {
                                    "line": 189,
                                    "column": 107
                                  },
                                  "end": {
                                    "line": 196,
                                    "column": 9
                                  }
                                },
                                "body": [
                                  {
                                    "type": "VariableDeclaration",
                                    "start": 8088,
                                    "end": 8164,
                                    "loc": {
                                      "start": {
                                        "line": 191,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 191,
                                        "column": 88
                                      }
                                    },
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "start": 8092,
                                        "end": 8163,
                                        "loc": {
                                          "start": {
                                            "line": 191,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 191,
                                            "column": 87
                                          }
                                        },
                                        "id": {
                                          "type": "Identifier",
                                          "start": 8092,
                                          "end": 8097,
                                          "loc": {
                                            "start": {
                                              "line": 191,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 191,
                                              "column": 21
                                            }
                                          },
                                          "name": "child",
                                          "leadingComments": null
                                        },
                                        "init": {
                                          "type": "CallExpression",
                                          "start": 8100,
                                          "end": 8163,
                                          "loc": {
                                            "start": {
                                              "line": 191,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 191,
                                              "column": 87
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 8100,
                                            "end": 8120,
                                            "loc": {
                                              "start": {
                                                "line": 191,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 191,
                                                "column": 44
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 8100,
                                              "end": 8115,
                                              "loc": {
                                                "start": {
                                                  "line": 191,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 191,
                                                  "column": 39
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 8100,
                                                "end": 8106,
                                                "loc": {
                                                  "start": {
                                                    "line": 191,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 191,
                                                    "column": 30
                                                  }
                                                },
                                                "name": "object"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 8107,
                                                "end": 8115,
                                                "loc": {
                                                  "start": {
                                                    "line": 191,
                                                    "column": 31
                                                  },
                                                  "end": {
                                                    "line": 191,
                                                    "column": 39
                                                  }
                                                },
                                                "name": "children"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 8116,
                                              "end": 8120,
                                              "loc": {
                                                "start": {
                                                  "line": 191,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 191,
                                                  "column": 44
                                                }
                                              },
                                              "name": "find"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "ArrowFunctionExpression",
                                              "start": 8121,
                                              "end": 8162,
                                              "loc": {
                                                "start": {
                                                  "line": 191,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 191,
                                                  "column": 86
                                                }
                                              },
                                              "id": null,
                                              "generator": false,
                                              "expression": true,
                                              "async": false,
                                              "params": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 8121,
                                                  "end": 8122,
                                                  "loc": {
                                                    "start": {
                                                      "line": 191,
                                                      "column": 45
                                                    },
                                                    "end": {
                                                      "line": 191,
                                                      "column": 46
                                                    }
                                                  },
                                                  "name": "c"
                                                }
                                              ],
                                              "body": {
                                                "type": "BinaryExpression",
                                                "start": 8126,
                                                "end": 8162,
                                                "loc": {
                                                  "start": {
                                                    "line": 191,
                                                    "column": 50
                                                  },
                                                  "end": {
                                                    "line": 191,
                                                    "column": 86
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 8126,
                                                  "end": 8132,
                                                  "loc": {
                                                    "start": {
                                                      "line": 191,
                                                      "column": 50
                                                    },
                                                    "end": {
                                                      "line": 191,
                                                      "column": 56
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 8126,
                                                    "end": 8127,
                                                    "loc": {
                                                      "start": {
                                                        "line": 191,
                                                        "column": 50
                                                      },
                                                      "end": {
                                                        "line": 191,
                                                        "column": 51
                                                      }
                                                    },
                                                    "name": "c"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 8128,
                                                    "end": 8132,
                                                    "loc": {
                                                      "start": {
                                                        "line": 191,
                                                        "column": 52
                                                      },
                                                      "end": {
                                                        "line": 191,
                                                        "column": 56
                                                      }
                                                    },
                                                    "name": "name"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "===",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 8137,
                                                  "end": 8162,
                                                  "loc": {
                                                    "start": {
                                                      "line": 191,
                                                      "column": 61
                                                    },
                                                    "end": {
                                                      "line": 191,
                                                      "column": 86
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 8137,
                                                    "end": 8157,
                                                    "loc": {
                                                      "start": {
                                                        "line": 191,
                                                        "column": 61
                                                      },
                                                      "end": {
                                                        "line": 191,
                                                        "column": 81
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 8137,
                                                      "end": 8147,
                                                      "loc": {
                                                        "start": {
                                                          "line": 191,
                                                          "column": 61
                                                        },
                                                        "end": {
                                                          "line": 191,
                                                          "column": 71
                                                        }
                                                      },
                                                      "name": "memberNode"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 8148,
                                                      "end": 8157,
                                                      "loc": {
                                                        "start": {
                                                          "line": 191,
                                                          "column": 72
                                                        },
                                                        "end": {
                                                          "line": 191,
                                                          "column": 81
                                                        }
                                                      },
                                                      "name": "objectMem"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 8158,
                                                    "end": 8162,
                                                    "loc": {
                                                      "start": {
                                                        "line": 191,
                                                        "column": 82
                                                      },
                                                      "end": {
                                                        "line": 191,
                                                        "column": 86
                                                      }
                                                    },
                                                    "name": "name"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            }
                                          ]
                                        },
                                        "leadingComments": null
                                      }
                                    ],
                                    "kind": "var",
                                    "leadingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": " for toplevel, use toplevelChildren, else find member by name",
                                        "start": 8012,
                                        "end": 8075,
                                        "loc": {
                                          "start": {
                                            "line": 190,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 190,
                                            "column": 75
                                          }
                                        },
                                        "range": [
                                          8012,
                                          8075
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "type": "IfStatement",
                                    "start": 8177,
                                    "end": 8254,
                                    "loc": {
                                      "start": {
                                        "line": 192,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 193,
                                        "column": 54
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 8181,
                                      "end": 8198,
                                      "loc": {
                                        "start": {
                                          "line": 192,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 192,
                                          "column": 33
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 8181,
                                        "end": 8185,
                                        "loc": {
                                          "start": {
                                            "line": 192,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 192,
                                            "column": 20
                                          }
                                        },
                                        "name": "node"
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 8190,
                                        "end": 8198,
                                        "loc": {
                                          "start": {
                                            "line": 192,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 192,
                                            "column": 33
                                          }
                                        },
                                        "name": "rootNode"
                                      }
                                    },
                                    "consequent": {
                                      "type": "ExpressionStatement",
                                      "start": 8216,
                                      "end": 8254,
                                      "loc": {
                                        "start": {
                                          "line": 193,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 193,
                                          "column": 54
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 8216,
                                        "end": 8253,
                                        "loc": {
                                          "start": {
                                            "line": 193,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 193,
                                            "column": 53
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "start": 8216,
                                          "end": 8221,
                                          "loc": {
                                            "start": {
                                              "line": 193,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 193,
                                              "column": 21
                                            }
                                          },
                                          "name": "child"
                                        },
                                        "right": {
                                          "type": "MemberExpression",
                                          "start": 8224,
                                          "end": 8253,
                                          "loc": {
                                            "start": {
                                              "line": 193,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 193,
                                              "column": 53
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 8224,
                                            "end": 8240,
                                            "loc": {
                                              "start": {
                                                "line": 193,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 193,
                                                "column": 40
                                              }
                                            },
                                            "name": "toplevelChildren"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 8241,
                                            "end": 8252,
                                            "loc": {
                                              "start": {
                                                "line": 193,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 193,
                                                "column": 52
                                              }
                                            },
                                            "name": "memberIndex"
                                          },
                                          "computed": true
                                        }
                                      }
                                    },
                                    "alternate": null
                                  },
                                  {
                                    "type": "IfStatement",
                                    "start": 8267,
                                    "end": 8336,
                                    "loc": {
                                      "start": {
                                        "line": 194,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 195,
                                        "column": 58
                                      }
                                    },
                                    "test": {
                                      "type": "Identifier",
                                      "start": 8271,
                                      "end": 8276,
                                      "loc": {
                                        "start": {
                                          "line": 194,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 194,
                                          "column": 21
                                        }
                                      },
                                      "name": "child"
                                    },
                                    "consequent": {
                                      "type": "ExpressionStatement",
                                      "start": 8294,
                                      "end": 8336,
                                      "loc": {
                                        "start": {
                                          "line": 195,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 195,
                                          "column": 58
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 8294,
                                        "end": 8335,
                                        "loc": {
                                          "start": {
                                            "line": 195,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 195,
                                            "column": 57
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 8294,
                                          "end": 8303,
                                          "loc": {
                                            "start": {
                                              "line": 195,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 195,
                                              "column": 25
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 8294,
                                            "end": 8299,
                                            "loc": {
                                              "start": {
                                                "line": 195,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 195,
                                                "column": 21
                                              }
                                            },
                                            "name": "idMap"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 8300,
                                            "end": 8303,
                                            "loc": {
                                              "start": {
                                                "line": 195,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 195,
                                                "column": 25
                                              }
                                            },
                                            "name": "set"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "MemberExpression",
                                            "start": 8304,
                                            "end": 8327,
                                            "loc": {
                                              "start": {
                                                "line": 195,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 195,
                                                "column": 49
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 8304,
                                              "end": 8324,
                                              "loc": {
                                                "start": {
                                                  "line": 195,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 195,
                                                  "column": 46
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 8304,
                                                "end": 8314,
                                                "loc": {
                                                  "start": {
                                                    "line": 195,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 195,
                                                    "column": 36
                                                  }
                                                },
                                                "name": "memberNode"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 8315,
                                                "end": 8324,
                                                "loc": {
                                                  "start": {
                                                    "line": 195,
                                                    "column": 37
                                                  },
                                                  "end": {
                                                    "line": 195,
                                                    "column": 46
                                                  }
                                                },
                                                "name": "objectMem"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 8325,
                                              "end": 8327,
                                              "loc": {
                                                "start": {
                                                  "line": 195,
                                                  "column": 47
                                                },
                                                "end": {
                                                  "line": 195,
                                                  "column": 49
                                                }
                                              },
                                              "name": "id"
                                            },
                                            "computed": false
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 8329,
                                            "end": 8334,
                                            "loc": {
                                              "start": {
                                                "line": 195,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 195,
                                                "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": 7797,
                            "end": 7890,
                            "loc": {
                              "start": {
                                "line": 188,
                                "column": 8
                              },
                              "end": {
                                "line": 188,
                                "column": 101
                              }
                            },
                            "range": [
                              7797,
                              7890
                            ]
                          }
                        ]
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 8357,
                        "end": 8388,
                        "loc": {
                          "start": {
                            "line": 197,
                            "column": 8
                          },
                          "end": {
                            "line": 197,
                            "column": 39
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 8357,
                          "end": 8387,
                          "loc": {
                            "start": {
                              "line": 197,
                              "column": 8
                            },
                            "end": {
                              "line": 197,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8357,
                            "end": 8381,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 8
                              },
                              "end": {
                                "line": 197,
                                "column": 32
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 8357,
                              "end": 8363,
                              "loc": {
                                "start": {
                                  "line": 197,
                                  "column": 8
                                },
                                "end": {
                                  "line": 197,
                                  "column": 14
                                }
                              },
                              "name": "object"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8364,
                              "end": 8381,
                              "loc": {
                                "start": {
                                  "line": 197,
                                  "column": 15
                                },
                                "end": {
                                  "line": 197,
                                  "column": 32
                                }
                              },
                              "name": "setFromObjectTree"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 8382,
                              "end": 8386,
                              "loc": {
                                "start": {
                                  "line": 197,
                                  "column": 33
                                },
                                "end": {
                                  "line": 197,
                                  "column": 37
                                }
                              },
                              "name": "node"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            }
          },
          {
            "type": "VariableDeclaration",
            "start": 8401,
            "end": 8416,
            "loc": {
              "start": {
                "line": 199,
                "column": 4
              },
              "end": {
                "line": 199,
                "column": 19
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 8405,
                "end": 8415,
                "loc": {
                  "start": {
                    "line": 199,
                    "column": 8
                  },
                  "end": {
                    "line": 199,
                    "column": 18
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 8405,
                  "end": 8415,
                  "loc": {
                    "start": {
                      "line": 199,
                      "column": 8
                    },
                    "end": {
                      "line": 199,
                      "column": 18
                    }
                  },
                  "name": "firstChild"
                },
                "init": null
              }
            ],
            "kind": "var"
          },
          {
            "type": "ExpressionStatement",
            "start": 8421,
            "end": 9021,
            "loc": {
              "start": {
                "line": 200,
                "column": 4
              },
              "end": {
                "line": 212,
                "column": 7
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 8421,
              "end": 9020,
              "loc": {
                "start": {
                  "line": 200,
                  "column": 4
                },
                "end": {
                  "line": 212,
                  "column": 6
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 8421,
                "end": 8447,
                "loc": {
                  "start": {
                    "line": 200,
                    "column": 4
                  },
                  "end": {
                    "line": 200,
                    "column": 30
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 8421,
                  "end": 8439,
                  "loc": {
                    "start": {
                      "line": 200,
                      "column": 4
                    },
                    "end": {
                      "line": 200,
                      "column": 22
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 8421,
                    "end": 8431,
                    "loc": {
                      "start": {
                        "line": 200,
                        "column": 4
                      },
                      "end": {
                        "line": 200,
                        "column": 14
                      }
                    },
                    "name": "objectTree"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 8432,
                    "end": 8439,
                    "loc": {
                      "start": {
                        "line": 200,
                        "column": 15
                      },
                      "end": {
                        "line": 200,
                        "column": 22
                      }
                    },
                    "name": "objects"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 8440,
                  "end": 8447,
                  "loc": {
                    "start": {
                      "line": 200,
                      "column": 23
                    },
                    "end": {
                      "line": 200,
                      "column": 30
                    }
                  },
                  "name": "forEach"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "ArrowFunctionExpression",
                  "start": 8448,
                  "end": 9019,
                  "loc": {
                    "start": {
                      "line": 200,
                      "column": 31
                    },
                    "end": {
                      "line": 212,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 8448,
                      "end": 8452,
                      "loc": {
                        "start": {
                          "line": 200,
                          "column": 31
                        },
                        "end": {
                          "line": 200,
                          "column": 35
                        }
                      },
                      "name": "node"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 8456,
                    "end": 9019,
                    "loc": {
                      "start": {
                        "line": 200,
                        "column": 39
                      },
                      "end": {
                        "line": 212,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "IfStatement",
                        "start": 8466,
                        "end": 8498,
                        "loc": {
                          "start": {
                            "line": 201,
                            "column": 8
                          },
                          "end": {
                            "line": 201,
                            "column": 40
                          }
                        },
                        "test": {
                          "type": "UnaryExpression",
                          "start": 8470,
                          "end": 8489,
                          "loc": {
                            "start": {
                              "line": 201,
                              "column": 12
                            },
                            "end": {
                              "line": 201,
                              "column": 31
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "CallExpression",
                            "start": 8471,
                            "end": 8489,
                            "loc": {
                              "start": {
                                "line": 201,
                                "column": 13
                              },
                              "end": {
                                "line": 201,
                                "column": 31
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8471,
                              "end": 8480,
                              "loc": {
                                "start": {
                                  "line": 201,
                                  "column": 13
                                },
                                "end": {
                                  "line": 201,
                                  "column": 22
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8471,
                                "end": 8476,
                                "loc": {
                                  "start": {
                                    "line": 201,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 201,
                                    "column": 18
                                  }
                                },
                                "name": "idMap"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8477,
                                "end": 8480,
                                "loc": {
                                  "start": {
                                    "line": 201,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 201,
                                    "column": 22
                                  }
                                },
                                "name": "has"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 8481,
                                "end": 8488,
                                "loc": {
                                  "start": {
                                    "line": 201,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 201,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8481,
                                  "end": 8485,
                                  "loc": {
                                    "start": {
                                      "line": 201,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 201,
                                      "column": 27
                                    }
                                  },
                                  "name": "node"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8486,
                                  "end": 8488,
                                  "loc": {
                                    "start": {
                                      "line": 201,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 201,
                                      "column": 30
                                    }
                                  },
                                  "name": "id"
                                },
                                "computed": false
                              }
                            ]
                          }
                        },
                        "consequent": {
                          "type": "ReturnStatement",
                          "start": 8491,
                          "end": 8498,
                          "loc": {
                            "start": {
                              "line": 201,
                              "column": 33
                            },
                            "end": {
                              "line": 201,
                              "column": 40
                            }
                          },
                          "argument": null
                        },
                        "alternate": null
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 8507,
                        "end": 8539,
                        "loc": {
                          "start": {
                            "line": 202,
                            "column": 8
                          },
                          "end": {
                            "line": 202,
                            "column": 40
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 8511,
                            "end": 8538,
                            "loc": {
                              "start": {
                                "line": 202,
                                "column": 12
                              },
                              "end": {
                                "line": 202,
                                "column": 39
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 8511,
                              "end": 8517,
                              "loc": {
                                "start": {
                                  "line": 202,
                                  "column": 12
                                },
                                "end": {
                                  "line": 202,
                                  "column": 18
                                }
                              },
                              "name": "object"
                            },
                            "init": {
                              "type": "CallExpression",
                              "start": 8520,
                              "end": 8538,
                              "loc": {
                                "start": {
                                  "line": 202,
                                  "column": 21
                                },
                                "end": {
                                  "line": 202,
                                  "column": 39
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8520,
                                "end": 8529,
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8520,
                                  "end": 8525,
                                  "loc": {
                                    "start": {
                                      "line": 202,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 202,
                                      "column": 26
                                    }
                                  },
                                  "name": "idMap"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8526,
                                  "end": 8529,
                                  "loc": {
                                    "start": {
                                      "line": 202,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 202,
                                      "column": 30
                                    }
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 8530,
                                  "end": 8537,
                                  "loc": {
                                    "start": {
                                      "line": 202,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 202,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8530,
                                    "end": 8534,
                                    "loc": {
                                      "start": {
                                        "line": 202,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 202,
                                        "column": 35
                                      }
                                    },
                                    "name": "node"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8535,
                                    "end": 8537,
                                    "loc": {
                                      "start": {
                                        "line": 202,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 202,
                                        "column": 38
                                      }
                                    },
                                    "name": "id"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ],
                        "kind": "var"
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 8548,
                        "end": 8970,
                        "loc": {
                          "start": {
                            "line": 203,
                            "column": 8
                          },
                          "end": {
                            "line": 210,
                            "column": 11
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 8548,
                          "end": 8969,
                          "loc": {
                            "start": {
                              "line": 203,
                              "column": 8
                            },
                            "end": {
                              "line": 210,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8548,
                            "end": 8574,
                            "loc": {
                              "start": {
                                "line": 203,
                                "column": 8
                              },
                              "end": {
                                "line": 203,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "LogicalExpression",
                              "start": 8549,
                              "end": 8565,
                              "loc": {
                                "start": {
                                  "line": 203,
                                  "column": 9
                                },
                                "end": {
                                  "line": 203,
                                  "column": 25
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 8549,
                                "end": 8561,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 21
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8549,
                                  "end": 8553,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 9
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 13
                                    }
                                  },
                                  "name": "node"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8554,
                                  "end": 8561,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 21
                                    }
                                  },
                                  "name": "members"
                                },
                                "computed": false
                              },
                              "operator": "||",
                              "right": {
                                "type": "ArrayExpression",
                                "start": 8563,
                                "end": 8565,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 25
                                  }
                                },
                                "elements": []
                              },
                              "parenthesizedExpression": true
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8567,
                              "end": 8574,
                              "loc": {
                                "start": {
                                  "line": 203,
                                  "column": 27
                                },
                                "end": {
                                  "line": 203,
                                  "column": 34
                                }
                              },
                              "name": "forEach"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ArrowFunctionExpression",
                              "start": 8575,
                              "end": 8968,
                              "loc": {
                                "start": {
                                  "line": 203,
                                  "column": 35
                                },
                                "end": {
                                  "line": 210,
                                  "column": 9
                                }
                              },
                              "id": null,
                              "generator": false,
                              "expression": false,
                              "async": false,
                              "params": [
                                {
                                  "type": "Identifier",
                                  "start": 8575,
                                  "end": 8585,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 45
                                    }
                                  },
                                  "name": "memberNode"
                                }
                              ],
                              "body": {
                                "type": "BlockStatement",
                                "start": 8589,
                                "end": 8968,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 210,
                                    "column": 9
                                  }
                                },
                                "body": [
                                  {
                                    "type": "VariableDeclaration",
                                    "start": 8603,
                                    "end": 8647,
                                    "loc": {
                                      "start": {
                                        "line": 204,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 204,
                                        "column": 56
                                      }
                                    },
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "start": 8607,
                                        "end": 8646,
                                        "loc": {
                                          "start": {
                                            "line": 204,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 204,
                                            "column": 55
                                          }
                                        },
                                        "id": {
                                          "type": "Identifier",
                                          "start": 8607,
                                          "end": 8613,
                                          "loc": {
                                            "start": {
                                              "line": 204,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 204,
                                              "column": 22
                                            }
                                          },
                                          "name": "member"
                                        },
                                        "init": {
                                          "type": "CallExpression",
                                          "start": 8616,
                                          "end": 8646,
                                          "loc": {
                                            "start": {
                                              "line": 204,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 204,
                                              "column": 55
                                            }
                                          },
                                          "callee": {
                                            "type": "Identifier",
                                            "start": 8616,
                                            "end": 8627,
                                            "loc": {
                                              "start": {
                                                "line": 204,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 204,
                                                "column": 36
                                              }
                                            },
                                            "name": "parseMember"
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 8628,
                                              "end": 8638,
                                              "loc": {
                                                "start": {
                                                  "line": 204,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 204,
                                                  "column": 47
                                                }
                                              },
                                              "name": "memberNode"
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 8640,
                                              "end": 8645,
                                              "loc": {
                                                "start": {
                                                  "line": 204,
                                                  "column": 49
                                                },
                                                "end": {
                                                  "line": 204,
                                                  "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": 8660,
                                        "end": 8745,
                                        "loc": {
                                          "start": {
                                            "line": 205,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 205,
                                            "column": 97
                                          }
                                        },
                                        "range": [
                                          8660,
                                          8745
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "type": "IfStatement",
                                    "start": 8758,
                                    "end": 8858,
                                    "loc": {
                                      "start": {
                                        "line": 206,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 207,
                                        "column": 47
                                      }
                                    },
                                    "test": {
                                      "type": "LogicalExpression",
                                      "start": 8762,
                                      "end": 8809,
                                      "loc": {
                                        "start": {
                                          "line": 206,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 206,
                                          "column": 63
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 8762,
                                        "end": 8768,
                                        "loc": {
                                          "start": {
                                            "line": 206,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 206,
                                            "column": 22
                                          }
                                        },
                                        "name": "member",
                                        "leadingComments": null
                                      },
                                      "operator": "&&",
                                      "right": {
                                        "type": "LogicalExpression",
                                        "start": 8773,
                                        "end": 8808,
                                        "loc": {
                                          "start": {
                                            "line": 206,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 206,
                                            "column": 62
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 8773,
                                          "end": 8787,
                                          "loc": {
                                            "start": {
                                              "line": 206,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 206,
                                              "column": 41
                                            }
                                          },
                                          "name": "allObjectsMode"
                                        },
                                        "operator": "||",
                                        "right": {
                                          "type": "BinaryExpression",
                                          "start": 8791,
                                          "end": 8808,
                                          "loc": {
                                            "start": {
                                              "line": 206,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 206,
                                              "column": 62
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 8791,
                                            "end": 8795,
                                            "loc": {
                                              "start": {
                                                "line": 206,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 206,
                                                "column": 49
                                              }
                                            },
                                            "name": "node"
                                          },
                                          "operator": "!==",
                                          "right": {
                                            "type": "Identifier",
                                            "start": 8800,
                                            "end": 8808,
                                            "loc": {
                                              "start": {
                                                "line": 206,
                                                "column": 54
                                              },
                                              "end": {
                                                "line": 206,
                                                "column": 62
                                              }
                                            },
                                            "name": "rootNode"
                                          }
                                        },
                                        "parenthesizedExpression": true
                                      },
                                      "leadingComments": null
                                    },
                                    "consequent": {
                                      "type": "ExpressionStatement",
                                      "start": 8827,
                                      "end": 8858,
                                      "loc": {
                                        "start": {
                                          "line": 207,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 207,
                                          "column": 47
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 8827,
                                        "end": 8857,
                                        "loc": {
                                          "start": {
                                            "line": 207,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 207,
                                            "column": 46
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 8827,
                                          "end": 8843,
                                          "loc": {
                                            "start": {
                                              "line": 207,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 207,
                                              "column": 32
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 8827,
                                            "end": 8833,
                                            "loc": {
                                              "start": {
                                                "line": 207,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 207,
                                                "column": 22
                                              }
                                            },
                                            "name": "object"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 8834,
                                            "end": 8843,
                                            "loc": {
                                              "start": {
                                                "line": 207,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 207,
                                                "column": 32
                                              }
                                            },
                                            "name": "addMember"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 8844,
                                            "end": 8850,
                                            "loc": {
                                              "start": {
                                                "line": 207,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 207,
                                                "column": 39
                                              }
                                            },
                                            "name": "member"
                                          },
                                          {
                                            "type": "Literal",
                                            "start": 8852,
                                            "end": 8856,
                                            "loc": {
                                              "start": {
                                                "line": 207,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 207,
                                                "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": 8660,
                                        "end": 8745,
                                        "loc": {
                                          "start": {
                                            "line": 205,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 205,
                                            "column": 97
                                          }
                                        },
                                        "range": [
                                          8660,
                                          8745
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "type": "IfStatement",
                                    "start": 8871,
                                    "end": 8958,
                                    "loc": {
                                      "start": {
                                        "line": 208,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 209,
                                        "column": 36
                                      }
                                    },
                                    "test": {
                                      "type": "LogicalExpression",
                                      "start": 8875,
                                      "end": 8920,
                                      "loc": {
                                        "start": {
                                          "line": 208,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 208,
                                          "column": 61
                                        }
                                      },
                                      "left": {
                                        "type": "LogicalExpression",
                                        "start": 8875,
                                        "end": 8896,
                                        "loc": {
                                          "start": {
                                            "line": 208,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 208,
                                            "column": 37
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 8875,
                                          "end": 8881,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 22
                                            }
                                          },
                                          "name": "member"
                                        },
                                        "operator": "&&",
                                        "right": {
                                          "type": "UnaryExpression",
                                          "start": 8885,
                                          "end": 8896,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 37
                                            }
                                          },
                                          "operator": "!",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Identifier",
                                            "start": 8886,
                                            "end": 8896,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 37
                                              }
                                            },
                                            "name": "firstChild"
                                          }
                                        }
                                      },
                                      "operator": "&&",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 8900,
                                        "end": 8920,
                                        "loc": {
                                          "start": {
                                            "line": 208,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 208,
                                            "column": 61
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 8900,
                                          "end": 8910,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 51
                                            }
                                          },
                                          "name": "memberNode"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8911,
                                          "end": 8920,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 61
                                            }
                                          },
                                          "name": "objectMem"
                                        },
                                        "computed": false
                                      }
                                    },
                                    "consequent": {
                                      "type": "ExpressionStatement",
                                      "start": 8938,
                                      "end": 8958,
                                      "loc": {
                                        "start": {
                                          "line": 209,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 209,
                                          "column": 36
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 8938,
                                        "end": 8957,
                                        "loc": {
                                          "start": {
                                            "line": 209,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 209,
                                            "column": 35
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "start": 8938,
                                          "end": 8948,
                                          "loc": {
                                            "start": {
                                              "line": 209,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 209,
                                              "column": 26
                                            }
                                          },
                                          "name": "firstChild"
                                        },
                                        "right": {
                                          "type": "Identifier",
                                          "start": 8951,
                                          "end": 8957,
                                          "loc": {
                                            "start": {
                                              "line": 209,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 209,
                                              "column": 35
                                            }
                                          },
                                          "name": "member"
                                        }
                                      }
                                    },
                                    "alternate": null
                                  }
                                ]
                              }
                            }
                          ]
                        }
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 8979,
                        "end": 9013,
                        "loc": {
                          "start": {
                            "line": 211,
                            "column": 8
                          },
                          "end": {
                            "line": 211,
                            "column": 42
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 8979,
                          "end": 9012,
                          "loc": {
                            "start": {
                              "line": 211,
                              "column": 8
                            },
                            "end": {
                              "line": 211,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8979,
                            "end": 9010,
                            "loc": {
                              "start": {
                                "line": 211,
                                "column": 8
                              },
                              "end": {
                                "line": 211,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 8979,
                              "end": 8985,
                              "loc": {
                                "start": {
                                  "line": 211,
                                  "column": 8
                                },
                                "end": {
                                  "line": 211,
                                  "column": 14
                                }
                              },
                              "name": "object"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8986,
                              "end": 9010,
                              "loc": {
                                "start": {
                                  "line": 211,
                                  "column": 15
                                },
                                "end": {
                                  "line": 211,
                                  "column": 39
                                }
                              },
                              "name": "removeSuperfluousMembers"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    ]
                  }
                }
              ]
            }
          },
          {
            "type": "IfStatement",
            "start": 9026,
            "end": 9104,
            "loc": {
              "start": {
                "line": 213,
                "column": 4
              },
              "end": {
                "line": 214,
                "column": 57
              }
            },
            "test": {
              "type": "Identifier",
              "start": 9030,
              "end": 9045,
              "loc": {
                "start": {
                  "line": 213,
                  "column": 8
                },
                "end": {
                  "line": 213,
                  "column": 23
                }
              },
              "name": "addFirstChildTo"
            },
            "consequent": {
              "type": "ExpressionStatement",
              "start": 9055,
              "end": 9104,
              "loc": {
                "start": {
                  "line": 214,
                  "column": 8
                },
                "end": {
                  "line": 214,
                  "column": 57
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 9055,
                "end": 9103,
                "loc": {
                  "start": {
                    "line": 214,
                    "column": 8
                  },
                  "end": {
                    "line": 214,
                    "column": 56
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 9055,
                  "end": 9080,
                  "loc": {
                    "start": {
                      "line": 214,
                      "column": 8
                    },
                    "end": {
                      "line": 214,
                      "column": 33
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 9055,
                    "end": 9070,
                    "loc": {
                      "start": {
                        "line": 214,
                        "column": 8
                      },
                      "end": {
                        "line": 214,
                        "column": 23
                      }
                    },
                    "name": "addFirstChildTo"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 9071,
                    "end": 9080,
                    "loc": {
                      "start": {
                        "line": 214,
                        "column": 24
                      },
                      "end": {
                        "line": 214,
                        "column": 33
                      }
                    },
                    "name": "addMember"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 9081,
                    "end": 9091,
                    "loc": {
                      "start": {
                        "line": 214,
                        "column": 34
                      },
                      "end": {
                        "line": 214,
                        "column": 44
                      }
                    },
                    "name": "firstChild"
                  },
                  {
                    "type": "Identifier",
                    "start": 9093,
                    "end": 9102,
                    "loc": {
                      "start": {
                        "line": 214,
                        "column": 46
                      },
                      "end": {
                        "line": 214,
                        "column": 55
                      }
                    },
                    "name": "undefined"
                  }
                ]
              }
            },
            "alternate": null
          },
          {
            "type": "ExpressionStatement",
            "start": 9109,
            "end": 9270,
            "loc": {
              "start": {
                "line": 215,
                "column": 4
              },
              "end": {
                "line": 219,
                "column": 7
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 9109,
              "end": 9269,
              "loc": {
                "start": {
                  "line": 215,
                  "column": 4
                },
                "end": {
                  "line": 219,
                  "column": 6
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 9109,
                "end": 9135,
                "loc": {
                  "start": {
                    "line": 215,
                    "column": 4
                  },
                  "end": {
                    "line": 215,
                    "column": 30
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 9109,
                  "end": 9127,
                  "loc": {
                    "start": {
                      "line": 215,
                      "column": 4
                    },
                    "end": {
                      "line": 215,
                      "column": 22
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 9109,
                    "end": 9119,
                    "loc": {
                      "start": {
                        "line": 215,
                        "column": 4
                      },
                      "end": {
                        "line": 215,
                        "column": 14
                      }
                    },
                    "name": "objectTree"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 9120,
                    "end": 9127,
                    "loc": {
                      "start": {
                        "line": 215,
                        "column": 15
                      },
                      "end": {
                        "line": 215,
                        "column": 22
                      }
                    },
                    "name": "objects"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 9128,
                  "end": 9135,
                  "loc": {
                    "start": {
                      "line": 215,
                      "column": 23
                    },
                    "end": {
                      "line": 215,
                      "column": 30
                    }
                  },
                  "name": "forEach"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "ArrowFunctionExpression",
                  "start": 9136,
                  "end": 9268,
                  "loc": {
                    "start": {
                      "line": 215,
                      "column": 31
                    },
                    "end": {
                      "line": 219,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 9136,
                      "end": 9140,
                      "loc": {
                        "start": {
                          "line": 215,
                          "column": 31
                        },
                        "end": {
                          "line": 215,
                          "column": 35
                        }
                      },
                      "name": "node"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 9144,
                    "end": 9268,
                    "loc": {
                      "start": {
                        "line": 215,
                        "column": 39
                      },
                      "end": {
                        "line": 219,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "IfStatement",
                        "start": 9154,
                        "end": 9186,
                        "loc": {
                          "start": {
                            "line": 216,
                            "column": 8
                          },
                          "end": {
                            "line": 216,
                            "column": 40
                          }
                        },
                        "test": {
                          "type": "UnaryExpression",
                          "start": 9158,
                          "end": 9177,
                          "loc": {
                            "start": {
                              "line": 216,
                              "column": 12
                            },
                            "end": {
                              "line": 216,
                              "column": 31
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "CallExpression",
                            "start": 9159,
                            "end": 9177,
                            "loc": {
                              "start": {
                                "line": 216,
                                "column": 13
                              },
                              "end": {
                                "line": 216,
                                "column": 31
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9159,
                              "end": 9168,
                              "loc": {
                                "start": {
                                  "line": 216,
                                  "column": 13
                                },
                                "end": {
                                  "line": 216,
                                  "column": 22
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9159,
                                "end": 9164,
                                "loc": {
                                  "start": {
                                    "line": 216,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 216,
                                    "column": 18
                                  }
                                },
                                "name": "idMap"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9165,
                                "end": 9168,
                                "loc": {
                                  "start": {
                                    "line": 216,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 216,
                                    "column": 22
                                  }
                                },
                                "name": "has"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 9169,
                                "end": 9176,
                                "loc": {
                                  "start": {
                                    "line": 216,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 216,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 9169,
                                  "end": 9173,
                                  "loc": {
                                    "start": {
                                      "line": 216,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 216,
                                      "column": 27
                                    }
                                  },
                                  "name": "node"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9174,
                                  "end": 9176,
                                  "loc": {
                                    "start": {
                                      "line": 216,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 216,
                                      "column": 30
                                    }
                                  },
                                  "name": "id"
                                },
                                "computed": false
                              }
                            ]
                          }
                        },
                        "consequent": {
                          "type": "ReturnStatement",
                          "start": 9179,
                          "end": 9186,
                          "loc": {
                            "start": {
                              "line": 216,
                              "column": 33
                            },
                            "end": {
                              "line": 216,
                              "column": 40
                            }
                          },
                          "argument": null
                        },
                        "alternate": null
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 9195,
                        "end": 9227,
                        "loc": {
                          "start": {
                            "line": 217,
                            "column": 8
                          },
                          "end": {
                            "line": 217,
                            "column": 40
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 9199,
                            "end": 9226,
                            "loc": {
                              "start": {
                                "line": 217,
                                "column": 12
                              },
                              "end": {
                                "line": 217,
                                "column": 39
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 9199,
                              "end": 9205,
                              "loc": {
                                "start": {
                                  "line": 217,
                                  "column": 12
                                },
                                "end": {
                                  "line": 217,
                                  "column": 18
                                }
                              },
                              "name": "object"
                            },
                            "init": {
                              "type": "CallExpression",
                              "start": 9208,
                              "end": 9226,
                              "loc": {
                                "start": {
                                  "line": 217,
                                  "column": 21
                                },
                                "end": {
                                  "line": 217,
                                  "column": 39
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 9208,
                                "end": 9217,
                                "loc": {
                                  "start": {
                                    "line": 217,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 217,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 9208,
                                  "end": 9213,
                                  "loc": {
                                    "start": {
                                      "line": 217,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 217,
                                      "column": 26
                                    }
                                  },
                                  "name": "idMap"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9214,
                                  "end": 9217,
                                  "loc": {
                                    "start": {
                                      "line": 217,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 217,
                                      "column": 30
                                    }
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 9218,
                                  "end": 9225,
                                  "loc": {
                                    "start": {
                                      "line": 217,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 217,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 9218,
                                    "end": 9222,
                                    "loc": {
                                      "start": {
                                        "line": 217,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 217,
                                        "column": 35
                                      }
                                    },
                                    "name": "node"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9223,
                                    "end": 9225,
                                    "loc": {
                                      "start": {
                                        "line": 217,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 217,
                                        "column": 38
                                      }
                                    },
                                    "name": "id"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ],
                        "kind": "var"
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 9236,
                        "end": 9262,
                        "loc": {
                          "start": {
                            "line": 218,
                            "column": 8
                          },
                          "end": {
                            "line": 218,
                            "column": 34
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 9236,
                          "end": 9261,
                          "loc": {
                            "start": {
                              "line": 218,
                              "column": 8
                            },
                            "end": {
                              "line": 218,
                              "column": 33
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 9236,
                            "end": 9259,
                            "loc": {
                              "start": {
                                "line": 218,
                                "column": 8
                              },
                              "end": {
                                "line": 218,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9236,
                              "end": 9242,
                              "loc": {
                                "start": {
                                  "line": 218,
                                  "column": 8
                                },
                                "end": {
                                  "line": 218,
                                  "column": 14
                                }
                              },
                              "name": "object"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9243,
                              "end": 9259,
                              "loc": {
                                "start": {
                                  "line": 218,
                                  "column": 15
                                },
                                "end": {
                                  "line": 218,
                                  "column": 31
                                }
                              },
                              "name": "finishedUpdating"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    ]
                  }
                }
              ]
            }
          },
          {
            "type": "ReturnStatement",
            "start": 9275,
            "end": 9335,
            "loc": {
              "start": {
                "line": 220,
                "column": 4
              },
              "end": {
                "line": 220,
                "column": 64
              }
            },
            "argument": {
              "type": "ConditionalExpression",
              "start": 9282,
              "end": 9334,
              "loc": {
                "start": {
                  "line": 220,
                  "column": 11
                },
                "end": {
                  "line": 220,
                  "column": 63
                }
              },
              "test": {
                "type": "Identifier",
                "start": 9282,
                "end": 9296,
                "loc": {
                  "start": {
                    "line": 220,
                    "column": 11
                  },
                  "end": {
                    "line": 220,
                    "column": 25
                  }
                },
                "name": "allObjectsMode"
              },
              "consequent": {
                "type": "CallExpression",
                "start": 9299,
                "end": 9321,
                "loc": {
                  "start": {
                    "line": 220,
                    "column": 28
                  },
                  "end": {
                    "line": 220,
                    "column": 50
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 9299,
                  "end": 9308,
                  "loc": {
                    "start": {
                      "line": 220,
                      "column": 28
                    },
                    "end": {
                      "line": 220,
                      "column": 37
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 9299,
                    "end": 9304,
                    "loc": {
                      "start": {
                        "line": 220,
                        "column": 28
                      },
                      "end": {
                        "line": 220,
                        "column": 33
                      }
                    },
                    "name": "idMap"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 9305,
                    "end": 9308,
                    "loc": {
                      "start": {
                        "line": 220,
                        "column": 34
                      },
                      "end": {
                        "line": 220,
                        "column": 37
                      }
                    },
                    "name": "get"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "MemberExpression",
                    "start": 9309,
                    "end": 9320,
                    "loc": {
                      "start": {
                        "line": 220,
                        "column": 38
                      },
                      "end": {
                        "line": 220,
                        "column": 49
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 9309,
                      "end": 9317,
                      "loc": {
                        "start": {
                          "line": 220,
                          "column": 38
                        },
                        "end": {
                          "line": 220,
                          "column": 46
                        }
                      },
                      "name": "rootNode"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 9318,
                      "end": 9320,
                      "loc": {
                        "start": {
                          "line": 220,
                          "column": 47
                        },
                        "end": {
                          "line": 220,
                          "column": 49
                        }
                      },
                      "name": "id"
                    },
                    "computed": false
                  }
                ]
              },
              "alternate": {
                "type": "Identifier",
                "start": 9324,
                "end": 9334,
                "loc": {
                  "start": {
                    "line": 220,
                    "column": 53
                  },
                  "end": {
                    "line": 220,
                    "column": 63
                  }
                },
                "name": "firstChild"
              }
            }
          }
        ]
      },
      "leadingComments": [],
      "name": "_",
      "trailingComments": []
    },
    {
      "type": "VariableDeclaration",
      "start": 9339,
      "end": 9371,
      "loc": {
        "start": {
          "line": 223,
          "column": 0
        },
        "end": {
          "line": 223,
          "column": 32
        }
      },
      "declarations": [
        {
          "type": "VariableDeclarator",
          "start": 9343,
          "end": 9370,
          "loc": {
            "start": {
              "line": 223,
              "column": 4
            },
            "end": {
              "line": 223,
              "column": 31
            }
          },
          "id": {
            "type": "Identifier",
            "start": 9343,
            "end": 9358,
            "loc": {
              "start": {
                "line": 223,
                "column": 4
              },
              "end": {
                "line": 223,
                "column": 19
              }
            },
            "name": "pendingPromises"
          },
          "init": {
            "type": "NewExpression",
            "start": 9361,
            "end": 9370,
            "loc": {
              "start": {
                "line": 223,
                "column": 22
              },
              "end": {
                "line": 223,
                "column": 31
              }
            },
            "callee": {
              "type": "Identifier",
              "start": 9365,
              "end": 9368,
              "loc": {
                "start": {
                  "line": 223,
                  "column": 26
                },
                "end": {
                  "line": 223,
                  "column": 29
                }
              },
              "name": "Set"
            },
            "arguments": []
          }
        }
      ],
      "kind": "var",
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": " Mark the promise for tracking:",
          "start": 9373,
          "end": 9406,
          "loc": {
            "start": {
              "line": 225,
              "column": 0
            },
            "end": {
              "line": 225,
              "column": 33
            }
          },
          "range": [
            9373,
            9406
          ]
        },
        {
          "type": "CommentLine",
          "value": "   log if promise rejects",
          "start": 9407,
          "end": 9434,
          "loc": {
            "start": {
              "line": 226,
              "column": 0
            },
            "end": {
              "line": 226,
              "column": 27
            }
          },
          "range": [
            9407,
            9434
          ]
        },
        {
          "type": "CommentLine",
          "value": "   provide api to wait for completion of all tracked promises",
          "start": 9435,
          "end": 9498,
          "loc": {
            "start": {
              "line": 227,
              "column": 0
            },
            "end": {
              "line": 227,
              "column": 63
            }
          },
          "range": [
            9435,
            9498
          ]
        },
        {
          "type": "CommentLine",
          "value": " Use this function on promises you would otherwise",
          "start": 9499,
          "end": 9551,
          "loc": {
            "start": {
              "line": 228,
              "column": 0
            },
            "end": {
              "line": 228,
              "column": 52
            }
          },
          "range": [
            9499,
            9551
          ]
        },
        {
          "type": "CommentLine",
          "value": " leak, i. e. not return and not call .then.",
          "start": 9552,
          "end": 9597,
          "loc": {
            "start": {
              "line": 229,
              "column": 0
            },
            "end": {
              "line": 229,
              "column": 45
            }
          },
          "range": [
            9552,
            9597
          ]
        },
        {
          "type": "CommentLine",
          "value": " You should likely ignore the return value.",
          "start": 9598,
          "end": 9643,
          "loc": {
            "start": {
              "line": 230,
              "column": 0
            },
            "end": {
              "line": 230,
              "column": 45
            }
          },
          "range": [
            9598,
            9643
          ]
        }
      ]
    },
    {
      "type": "Identifier",
      "start": 9644,
      "end": 10007,
      "loc": {
        "start": {
          "line": 231,
          "column": 0
        },
        "end": {
          "line": 242,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 9653,
        "end": 9665,
        "loc": {
          "start": {
            "line": 231,
            "column": 9
          },
          "end": {
            "line": 231,
            "column": 21
          }
        },
        "name": "trackPromise",
        "leadingComments": null
      },
      "generator": false,
      "expression": false,
      "async": false,
      "params": [
        {
          "type": "Identifier",
          "start": 9666,
          "end": 9673,
          "loc": {
            "start": {
              "line": 231,
              "column": 22
            },
            "end": {
              "line": 231,
              "column": 29
            }
          },
          "name": "promise"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 9675,
        "end": 10007,
        "loc": {
          "start": {
            "line": 231,
            "column": 31
          },
          "end": {
            "line": 242,
            "column": 1
          }
        },
        "body": [
          {
            "type": "ExpressionStatement",
            "start": 9681,
            "end": 9710,
            "loc": {
              "start": {
                "line": 232,
                "column": 4
              },
              "end": {
                "line": 232,
                "column": 33
              }
            },
            "expression": {
              "type": "CallExpression",
              "start": 9681,
              "end": 9709,
              "loc": {
                "start": {
                  "line": 232,
                  "column": 4
                },
                "end": {
                  "line": 232,
                  "column": 32
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 9681,
                "end": 9700,
                "loc": {
                  "start": {
                    "line": 232,
                    "column": 4
                  },
                  "end": {
                    "line": 232,
                    "column": 23
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 9681,
                  "end": 9696,
                  "loc": {
                    "start": {
                      "line": 232,
                      "column": 4
                    },
                    "end": {
                      "line": 232,
                      "column": 19
                    }
                  },
                  "name": "pendingPromises"
                },
                "property": {
                  "type": "Identifier",
                  "start": 9697,
                  "end": 9700,
                  "loc": {
                    "start": {
                      "line": 232,
                      "column": 20
                    },
                    "end": {
                      "line": 232,
                      "column": 23
                    }
                  },
                  "name": "add"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 9701,
                  "end": 9708,
                  "loc": {
                    "start": {
                      "line": 232,
                      "column": 24
                    },
                    "end": {
                      "line": 232,
                      "column": 31
                    }
                  },
                  "name": "promise"
                }
              ]
            }
          },
          {
            "type": "ReturnStatement",
            "start": 9715,
            "end": 10005,
            "loc": {
              "start": {
                "line": 233,
                "column": 4
              },
              "end": {
                "line": 241,
                "column": 7
              }
            },
            "argument": {
              "type": "CallExpression",
              "start": 9722,
              "end": 10004,
              "loc": {
                "start": {
                  "line": 233,
                  "column": 11
                },
                "end": {
                  "line": 241,
                  "column": 6
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 9722,
                "end": 9734,
                "loc": {
                  "start": {
                    "line": 233,
                    "column": 11
                  },
                  "end": {
                    "line": 233,
                    "column": 23
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 9722,
                  "end": 9729,
                  "loc": {
                    "start": {
                      "line": 233,
                      "column": 11
                    },
                    "end": {
                      "line": 233,
                      "column": 18
                    }
                  },
                  "name": "promise"
                },
                "property": {
                  "type": "Identifier",
                  "start": 9730,
                  "end": 9734,
                  "loc": {
                    "start": {
                      "line": 233,
                      "column": 19
                    },
                    "end": {
                      "line": 233,
                      "column": 23
                    }
                  },
                  "name": "then"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "FunctionExpression",
                  "start": 9735,
                  "end": 9830,
                  "loc": {
                    "start": {
                      "line": 233,
                      "column": 24
                    },
                    "end": {
                      "line": 236,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 9744,
                      "end": 9745,
                      "loc": {
                        "start": {
                          "line": 233,
                          "column": 33
                        },
                        "end": {
                          "line": 233,
                          "column": 34
                        }
                      },
                      "name": "x"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 9747,
                    "end": 9830,
                    "loc": {
                      "start": {
                        "line": 233,
                        "column": 36
                      },
                      "end": {
                        "line": 236,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "ExpressionStatement",
                        "start": 9757,
                        "end": 9789,
                        "loc": {
                          "start": {
                            "line": 234,
                            "column": 8
                          },
                          "end": {
                            "line": 234,
                            "column": 40
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 9757,
                          "end": 9788,
                          "loc": {
                            "start": {
                              "line": 234,
                              "column": 8
                            },
                            "end": {
                              "line": 234,
                              "column": 39
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 9757,
                            "end": 9779,
                            "loc": {
                              "start": {
                                "line": 234,
                                "column": 8
                              },
                              "end": {
                                "line": 234,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9757,
                              "end": 9772,
                              "loc": {
                                "start": {
                                  "line": 234,
                                  "column": 8
                                },
                                "end": {
                                  "line": 234,
                                  "column": 23
                                }
                              },
                              "name": "pendingPromises"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9773,
                              "end": 9779,
                              "loc": {
                                "start": {
                                  "line": 234,
                                  "column": 24
                                },
                                "end": {
                                  "line": 234,
                                  "column": 30
                                }
                              },
                              "name": "delete"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 9780,
                              "end": 9787,
                              "loc": {
                                "start": {
                                  "line": 234,
                                  "column": 31
                                },
                                "end": {
                                  "line": 234,
                                  "column": 38
                                }
                              },
                              "name": "promise"
                            }
                          ]
                        }
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 9798,
                        "end": 9824,
                        "loc": {
                          "start": {
                            "line": 235,
                            "column": 8
                          },
                          "end": {
                            "line": 235,
                            "column": 34
                          }
                        },
                        "argument": {
                          "type": "CallExpression",
                          "start": 9805,
                          "end": 9823,
                          "loc": {
                            "start": {
                              "line": 235,
                              "column": 15
                            },
                            "end": {
                              "line": 235,
                              "column": 33
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 9805,
                            "end": 9820,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 15
                              },
                              "end": {
                                "line": 235,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9805,
                              "end": 9812,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 15
                                },
                                "end": {
                                  "line": 235,
                                  "column": 22
                                }
                              },
                              "name": "Promise"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9813,
                              "end": 9820,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 23
                                },
                                "end": {
                                  "line": 235,
                                  "column": 30
                                }
                              },
                              "name": "resolve"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 9821,
                              "end": 9822,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 31
                                },
                                "end": {
                                  "line": 235,
                                  "column": 32
                                }
                              },
                              "name": "x"
                            }
                          ]
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "FunctionExpression",
                  "start": 9832,
                  "end": 10003,
                  "loc": {
                    "start": {
                      "line": 236,
                      "column": 7
                    },
                    "end": {
                      "line": 241,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 9841,
                      "end": 9842,
                      "loc": {
                        "start": {
                          "line": 236,
                          "column": 16
                        },
                        "end": {
                          "line": 236,
                          "column": 17
                        }
                      },
                      "name": "x"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 9844,
                    "end": 10003,
                    "loc": {
                      "start": {
                        "line": 236,
                        "column": 19
                      },
                      "end": {
                        "line": 241,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "IfStatement",
                        "start": 9854,
                        "end": 9922,
                        "loc": {
                          "start": {
                            "line": 237,
                            "column": 8
                          },
                          "end": {
                            "line": 238,
                            "column": 49
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 9858,
                          "end": 9871,
                          "loc": {
                            "start": {
                              "line": 237,
                              "column": 12
                            },
                            "end": {
                              "line": 237,
                              "column": 25
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 9858,
                            "end": 9866,
                            "loc": {
                              "start": {
                                "line": 237,
                                "column": 12
                              },
                              "end": {
                                "line": 237,
                                "column": 20
                              }
                            },
                            "name": "logLevel"
                          },
                          "operator": ">=",
                          "right": {
                            "type": "Literal",
                            "start": 9870,
                            "end": 9871,
                            "loc": {
                              "start": {
                                "line": 237,
                                "column": 24
                              },
                              "end": {
                                "line": 237,
                                "column": 25
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          }
                        },
                        "consequent": {
                          "type": "ExpressionStatement",
                          "start": 9885,
                          "end": 9922,
                          "loc": {
                            "start": {
                              "line": 238,
                              "column": 12
                            },
                            "end": {
                              "line": 238,
                              "column": 49
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 9885,
                            "end": 9921,
                            "loc": {
                              "start": {
                                "line": 238,
                                "column": 12
                              },
                              "end": {
                                "line": 238,
                                "column": 48
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9885,
                              "end": 9898,
                              "loc": {
                                "start": {
                                  "line": 238,
                                  "column": 12
                                },
                                "end": {
                                  "line": 238,
                                  "column": 25
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9885,
                                "end": 9892,
                                "loc": {
                                  "start": {
                                    "line": 238,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 238,
                                    "column": 19
                                  }
                                },
                                "name": "console"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9893,
                                "end": 9898,
                                "loc": {
                                  "start": {
                                    "line": 238,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 238,
                                    "column": 25
                                  }
                                },
                                "name": "error"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 9899,
                                "end": 9917,
                                "loc": {
                                  "start": {
                                    "line": 238,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 238,
                                    "column": 44
                                  }
                                },
                                "value": "rejected promise",
                                "rawValue": "rejected promise",
                                "raw": "\"rejected promise\""
                              },
                              {
                                "type": "Identifier",
                                "start": 9919,
                                "end": 9920,
                                "loc": {
                                  "start": {
                                    "line": 238,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 238,
                                    "column": 47
                                  }
                                },
                                "name": "x"
                              }
                            ]
                          }
                        },
                        "alternate": null
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 9931,
                        "end": 9963,
                        "loc": {
                          "start": {
                            "line": 239,
                            "column": 8
                          },
                          "end": {
                            "line": 239,
                            "column": 40
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 9931,
                          "end": 9962,
                          "loc": {
                            "start": {
                              "line": 239,
                              "column": 8
                            },
                            "end": {
                              "line": 239,
                              "column": 39
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 9931,
                            "end": 9953,
                            "loc": {
                              "start": {
                                "line": 239,
                                "column": 8
                              },
                              "end": {
                                "line": 239,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9931,
                              "end": 9946,
                              "loc": {
                                "start": {
                                  "line": 239,
                                  "column": 8
                                },
                                "end": {
                                  "line": 239,
                                  "column": 23
                                }
                              },
                              "name": "pendingPromises"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9947,
                              "end": 9953,
                              "loc": {
                                "start": {
                                  "line": 239,
                                  "column": 24
                                },
                                "end": {
                                  "line": 239,
                                  "column": 30
                                }
                              },
                              "name": "delete"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 9954,
                              "end": 9961,
                              "loc": {
                                "start": {
                                  "line": 239,
                                  "column": 31
                                },
                                "end": {
                                  "line": 239,
                                  "column": 38
                                }
                              },
                              "name": "promise"
                            }
                          ]
                        }
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 9972,
                        "end": 9997,
                        "loc": {
                          "start": {
                            "line": 240,
                            "column": 8
                          },
                          "end": {
                            "line": 240,
                            "column": 33
                          }
                        },
                        "argument": {
                          "type": "CallExpression",
                          "start": 9979,
                          "end": 9996,
                          "loc": {
                            "start": {
                              "line": 240,
                              "column": 15
                            },
                            "end": {
                              "line": 240,
                              "column": 32
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 9979,
                            "end": 9993,
                            "loc": {
                              "start": {
                                "line": 240,
                                "column": 15
                              },
                              "end": {
                                "line": 240,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9979,
                              "end": 9986,
                              "loc": {
                                "start": {
                                  "line": 240,
                                  "column": 15
                                },
                                "end": {
                                  "line": 240,
                                  "column": 22
                                }
                              },
                              "name": "Promise"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9987,
                              "end": 9993,
                              "loc": {
                                "start": {
                                  "line": 240,
                                  "column": 23
                                },
                                "end": {
                                  "line": 240,
                                  "column": 29
                                }
                              },
                              "name": "reject"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 9994,
                              "end": 9995,
                              "loc": {
                                "start": {
                                  "line": 240,
                                  "column": 30
                                },
                                "end": {
                                  "line": 240,
                                  "column": 31
                                }
                              },
                              "name": "x"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      },
      "leadingComments": [],
      "name": "_",
      "trailingComments": []
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 10009,
      "end": 10185,
      "loc": {
        "start": {
          "line": 244,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 2
        }
      },
      "declaration": null,
      "specifiers": [
        {
          "type": "ExportSpecifier",
          "start": 10022,
          "end": 10029,
          "loc": {
            "start": {
              "line": 245,
              "column": 4
            },
            "end": {
              "line": 245,
              "column": 11
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10022,
            "end": 10029,
            "loc": {
              "start": {
                "line": 245,
                "column": 4
              },
              "end": {
                "line": 245,
                "column": 11
              }
            },
            "name": "execute"
          },
          "exported": {
            "type": "Identifier",
            "start": 10022,
            "end": 10029,
            "loc": {
              "start": {
                "line": 245,
                "column": 4
              },
              "end": {
                "line": 245,
                "column": 11
              }
            },
            "name": "execute"
          }
        },
        {
          "type": "ExportSpecifier",
          "start": 10035,
          "end": 10048,
          "loc": {
            "start": {
              "line": 246,
              "column": 4
            },
            "end": {
              "line": 246,
              "column": 17
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10035,
            "end": 10048,
            "loc": {
              "start": {
                "line": 246,
                "column": 4
              },
              "end": {
                "line": 246,
                "column": 17
              }
            },
            "name": "executeModels"
          },
          "exported": {
            "type": "Identifier",
            "start": 10035,
            "end": 10048,
            "loc": {
              "start": {
                "line": 246,
                "column": 4
              },
              "end": {
                "line": 246,
                "column": 17
              }
            },
            "name": "executeModels"
          }
        },
        {
          "type": "ExportSpecifier",
          "start": 10054,
          "end": 10064,
          "loc": {
            "start": {
              "line": 247,
              "column": 4
            },
            "end": {
              "line": 247,
              "column": 14
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10054,
            "end": 10064,
            "loc": {
              "start": {
                "line": 247,
                "column": 4
              },
              "end": {
                "line": 247,
                "column": 14
              }
            },
            "name": "Expression"
          },
          "exported": {
            "type": "Identifier",
            "start": 10054,
            "end": 10064,
            "loc": {
              "start": {
                "line": 247,
                "column": 4
              },
              "end": {
                "line": 247,
                "column": 14
              }
            },
            "name": "Expression"
          }
        },
        {
          "type": "ExportSpecifier",
          "start": 10070,
          "end": 10079,
          "loc": {
            "start": {
              "line": 248,
              "column": 4
            },
            "end": {
              "line": 248,
              "column": 13
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10070,
            "end": 10079,
            "loc": {
              "start": {
                "line": 248,
                "column": 4
              },
              "end": {
                "line": 248,
                "column": 13
              }
            },
            "name": "Statement"
          },
          "exported": {
            "type": "Identifier",
            "start": 10070,
            "end": 10079,
            "loc": {
              "start": {
                "line": 248,
                "column": 4
              },
              "end": {
                "line": 248,
                "column": 13
              }
            },
            "name": "Statement"
          }
        },
        {
          "type": "ExportSpecifier",
          "start": 10085,
          "end": 10095,
          "loc": {
            "start": {
              "line": 249,
              "column": 4
            },
            "end": {
              "line": 249,
              "column": 14
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10085,
            "end": 10095,
            "loc": {
              "start": {
                "line": 249,
                "column": 4
              },
              "end": {
                "line": 249,
                "column": 14
              }
            },
            "name": "Statements"
          },
          "exported": {
            "type": "Identifier",
            "start": 10085,
            "end": 10095,
            "loc": {
              "start": {
                "line": 249,
                "column": 4
              },
              "end": {
                "line": 249,
                "column": 14
              }
            },
            "name": "Statements"
          }
        },
        {
          "type": "ExportSpecifier",
          "start": 10101,
          "end": 10108,
          "loc": {
            "start": {
              "line": 250,
              "column": 4
            },
            "end": {
              "line": 250,
              "column": 11
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10101,
            "end": 10108,
            "loc": {
              "start": {
                "line": 250,
                "column": 4
              },
              "end": {
                "line": 250,
                "column": 11
              }
            },
            "name": "parseTo"
          },
          "exported": {
            "type": "Identifier",
            "start": 10101,
            "end": 10108,
            "loc": {
              "start": {
                "line": 250,
                "column": 4
              },
              "end": {
                "line": 250,
                "column": 11
              }
            },
            "name": "parseTo"
          }
        },
        {
          "type": "ExportSpecifier",
          "start": 10114,
          "end": 10128,
          "loc": {
            "start": {
              "line": 251,
              "column": 4
            },
            "end": {
              "line": 251,
              "column": 18
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10114,
            "end": 10128,
            "loc": {
              "start": {
                "line": 251,
                "column": 4
              },
              "end": {
                "line": 251,
                "column": 18
              }
            },
            "name": "parseToChildOf"
          },
          "exported": {
            "type": "Identifier",
            "start": 10114,
            "end": 10128,
            "loc": {
              "start": {
                "line": 251,
                "column": 4
              },
              "end": {
                "line": 251,
                "column": 18
              }
            },
            "name": "parseToChildOf"
          }
        },
        {
          "type": "ExportSpecifier",
          "start": 10134,
          "end": 10149,
          "loc": {
            "start": {
              "line": 252,
              "column": 4
            },
            "end": {
              "line": 252,
              "column": 19
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10134,
            "end": 10149,
            "loc": {
              "start": {
                "line": 252,
                "column": 4
              },
              "end": {
                "line": 252,
                "column": 19
              }
            },
            "name": "parseObjectTree"
          },
          "exported": {
            "type": "Identifier",
            "start": 10134,
            "end": 10149,
            "loc": {
              "start": {
                "line": 252,
                "column": 4
              },
              "end": {
                "line": 252,
                "column": 19
              }
            },
            "name": "parseObjectTree"
          }
        },
        {
          "type": "ExportSpecifier",
          "start": 10155,
          "end": 10167,
          "loc": {
            "start": {
              "line": 253,
              "column": 4
            },
            "end": {
              "line": 253,
              "column": 16
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10155,
            "end": 10167,
            "loc": {
              "start": {
                "line": 253,
                "column": 4
              },
              "end": {
                "line": 253,
                "column": 16
              }
            },
            "name": "trackPromise"
          },
          "exported": {
            "type": "Identifier",
            "start": 10155,
            "end": 10167,
            "loc": {
              "start": {
                "line": 253,
                "column": 4
              },
              "end": {
                "line": 253,
                "column": 16
              }
            },
            "name": "trackPromise"
          }
        },
        {
          "type": "ExportSpecifier",
          "start": 10173,
          "end": 10181,
          "loc": {
            "start": {
              "line": 254,
              "column": 4
            },
            "end": {
              "line": 254,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 10173,
            "end": 10181,
            "loc": {
              "start": {
                "line": 254,
                "column": 4
              },
              "end": {
                "line": 254,
                "column": 12
              }
            },
            "name": "logLevel"
          },
          "exported": {
            "type": "Identifier",
            "start": 10173,
            "end": 10181,
            "loc": {
              "start": {
                "line": 254,
                "column": 4
              },
              "end": {
                "line": 254,
                "column": 12
              }
            },
            "name": "logLevel"
          }
        }
      ],
      "source": null
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 10009,
      "end": 10185,
      "loc": {
        "start": {
          "line": 244,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 2
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 394,
        "end": 720,
        "loc": {
          "start": {
            "line": 11,
            "column": 0
          },
          "end": {
            "line": 17,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 403,
          "end": 410,
          "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": 411,
            "end": 417,
            "loc": {
              "start": {
                "line": 11,
                "column": 17
              },
              "end": {
                "line": 11,
                "column": 23
              }
            },
            "name": "socket"
          },
          {
            "type": "Identifier",
            "start": 419,
            "end": 422,
            "loc": {
              "start": {
                "line": 11,
                "column": 25
              },
              "end": {
                "line": 11,
                "column": 28
              }
            },
            "name": "cmd"
          },
          {
            "type": "Identifier",
            "start": 424,
            "end": 431,
            "loc": {
              "start": {
                "line": 11,
                "column": 30
              },
              "end": {
                "line": 11,
                "column": 37
              }
            },
            "name": "factory"
          },
          {
            "type": "Identifier",
            "start": 433,
            "end": 443,
            "loc": {
              "start": {
                "line": 11,
                "column": 39
              },
              "end": {
                "line": 11,
                "column": 49
              }
            },
            "name": "attributes"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 445,
          "end": 720,
          "loc": {
            "start": {
              "line": 11,
              "column": 51
            },
            "end": {
              "line": 17,
              "column": 1
            }
          },
          "body": [
            {
              "type": "IfStatement",
              "start": 451,
              "end": 505,
              "loc": {
                "start": {
                  "line": 12,
                  "column": 4
                },
                "end": {
                  "line": 13,
                  "column": 24
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 455,
                "end": 479,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 8
                  },
                  "end": {
                    "line": 12,
                    "column": 32
                  }
                },
                "left": {
                  "type": "Identifier",
                  "start": 455,
                  "end": 465,
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 8
                    },
                    "end": {
                      "line": 12,
                      "column": 18
                    }
                  },
                  "name": "attributes"
                },
                "operator": "===",
                "right": {
                  "type": "Identifier",
                  "start": 470,
                  "end": 479,
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 23
                    },
                    "end": {
                      "line": 12,
                      "column": 32
                    }
                  },
                  "name": "undefined"
                }
              },
              "consequent": {
                "type": "ExpressionStatement",
                "start": 489,
                "end": 505,
                "loc": {
                  "start": {
                    "line": 13,
                    "column": 8
                  },
                  "end": {
                    "line": 13,
                    "column": 24
                  }
                },
                "expression": {
                  "type": "AssignmentExpression",
                  "start": 489,
                  "end": 504,
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 8
                    },
                    "end": {
                      "line": 13,
                      "column": 23
                    }
                  },
                  "operator": "=",
                  "left": {
                    "type": "Identifier",
                    "start": 489,
                    "end": 499,
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 8
                      },
                      "end": {
                        "line": 13,
                        "column": 18
                      }
                    },
                    "name": "attributes"
                  },
                  "right": {
                    "type": "ObjectExpression",
                    "start": 502,
                    "end": 504,
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 21
                      },
                      "end": {
                        "line": 13,
                        "column": 23
                      }
                    },
                    "properties": []
                  }
                }
              },
              "alternate": null
            },
            {
              "type": "IfStatement",
              "start": 510,
              "end": 610,
              "loc": {
                "start": {
                  "line": 14,
                  "column": 4
                },
                "end": {
                  "line": 15,
                  "column": 48
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 514,
                "end": 560,
                "loc": {
                  "start": {
                    "line": 14,
                    "column": 8
                  },
                  "end": {
                    "line": 14,
                    "column": 54
                  }
                },
                "left": {
                  "type": "MemberExpression",
                  "start": 514,
                  "end": 546,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 8
                    },
                    "end": {
                      "line": 14,
                      "column": 40
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 514,
                    "end": 524,
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 8
                      },
                      "end": {
                        "line": 14,
                        "column": 18
                      }
                    },
                    "name": "attributes"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 525,
                    "end": 546,
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 19
                      },
                      "end": {
                        "line": 14,
                        "column": 40
                      }
                    },
                    "name": "ignoreNumberOfResults"
                  },
                  "computed": false
                },
                "operator": "===",
                "right": {
                  "type": "Identifier",
                  "start": 551,
                  "end": 560,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 45
                    },
                    "end": {
                      "line": 14,
                      "column": 54
                    }
                  },
                  "name": "undefined"
                }
              },
              "consequent": {
                "type": "ExpressionStatement",
                "start": 570,
                "end": 610,
                "loc": {
                  "start": {
                    "line": 15,
                    "column": 8
                  },
                  "end": {
                    "line": 15,
                    "column": 48
                  }
                },
                "expression": {
                  "type": "AssignmentExpression",
                  "start": 570,
                  "end": 609,
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 8
                    },
                    "end": {
                      "line": 15,
                      "column": 47
                    }
                  },
                  "operator": "=",
                  "left": {
                    "type": "MemberExpression",
                    "start": 570,
                    "end": 602,
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 8
                      },
                      "end": {
                        "line": 15,
                        "column": 40
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 570,
                      "end": 580,
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 8
                        },
                        "end": {
                          "line": 15,
                          "column": 18
                        }
                      },
                      "name": "attributes"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 581,
                      "end": 602,
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 19
                        },
                        "end": {
                          "line": 15,
                          "column": 40
                        }
                      },
                      "name": "ignoreNumberOfResults"
                    },
                    "computed": false
                  },
                  "right": {
                    "type": "Literal",
                    "start": 605,
                    "end": 609,
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 43
                      },
                      "end": {
                        "line": 15,
                        "column": 47
                      }
                    },
                    "value": true,
                    "rawValue": true,
                    "raw": "true"
                  }
                }
              },
              "alternate": null
            },
            {
              "type": "ReturnStatement",
              "start": 615,
              "end": 718,
              "loc": {
                "start": {
                  "line": 16,
                  "column": 4
                },
                "end": {
                  "line": 16,
                  "column": 107
                }
              },
              "argument": {
                "type": "CallExpression",
                "start": 622,
                "end": 717,
                "loc": {
                  "start": {
                    "line": 16,
                    "column": 11
                  },
                  "end": {
                    "line": 16,
                    "column": 106
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 622,
                  "end": 706,
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 11
                    },
                    "end": {
                      "line": 16,
                      "column": 95
                    }
                  },
                  "object": {
                    "type": "CallExpression",
                    "start": 622,
                    "end": 701,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 11
                      },
                      "end": {
                        "line": 16,
                        "column": 90
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 622,
                      "end": 637,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 11
                        },
                        "end": {
                          "line": 16,
                          "column": 26
                        }
                      },
                      "name": "executePrepared"
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 638,
                        "end": 644,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 27
                          },
                          "end": {
                            "line": 16,
                            "column": 33
                          }
                        },
                        "name": "socket"
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 646,
                        "end": 679,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 35
                          },
                          "end": {
                            "line": 16,
                            "column": 68
                          }
                        },
                        "elements": [
                          {
                            "type": "ObjectExpression",
                            "start": 647,
                            "end": 678,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 36
                              },
                              "end": {
                                "line": 16,
                                "column": 67
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 648,
                                "end": 666,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 55
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 648,
                                  "end": 655,
                                  "loc": {
                                    "start": {
                                      "line": 16,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 16,
                                      "column": 44
                                    }
                                  },
                                  "name": "command"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 657,
                                  "end": 666,
                                  "loc": {
                                    "start": {
                                      "line": 16,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 16,
                                      "column": 55
                                    }
                                  },
                                  "value": "Execute",
                                  "rawValue": "Execute",
                                  "raw": "'Execute'"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 668,
                                "end": 677,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 66
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 668,
                                  "end": 672,
                                  "loc": {
                                    "start": {
                                      "line": 16,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 16,
                                      "column": 61
                                    }
                                  },
                                  "name": "task"
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 674,
                                  "end": 677,
                                  "loc": {
                                    "start": {
                                      "line": 16,
                                      "column": 63
                                    },
                                    "end": {
                                      "line": 16,
                                      "column": 66
                                    }
                                  },
                                  "name": "cmd"
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "type": "Identifier",
                        "start": 681,
                        "end": 688,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 70
                          },
                          "end": {
                            "line": 16,
                            "column": 77
                          }
                        },
                        "name": "factory"
                      },
                      {
                        "type": "Identifier",
                        "start": 690,
                        "end": 700,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 79
                          },
                          "end": {
                            "line": 16,
                            "column": 89
                          }
                        },
                        "name": "attributes"
                      }
                    ]
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 702,
                    "end": 706,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 91
                      },
                      "end": {
                        "line": 16,
                        "column": 95
                      }
                    },
                    "name": "then"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "ArrowFunctionExpression",
                    "start": 707,
                    "end": 716,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 96
                      },
                      "end": {
                        "line": 16,
                        "column": 105
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": true,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 707,
                        "end": 708,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 96
                          },
                          "end": {
                            "line": 16,
                            "column": 97
                          }
                        },
                        "name": "x"
                      }
                    ],
                    "body": {
                      "type": "MemberExpression",
                      "start": 712,
                      "end": 716,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 101
                        },
                        "end": {
                          "line": 16,
                          "column": 105
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 712,
                        "end": 713,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 101
                          },
                          "end": {
                            "line": 16,
                            "column": 102
                          }
                        },
                        "name": "x"
                      },
                      "property": {
                        "type": "Literal",
                        "start": 714,
                        "end": 715,
                        "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": 327,
            "end": 393,
            "loc": {
              "start": {
                "line": 10,
                "column": 0
              },
              "end": {
                "line": 10,
                "column": 66
              }
            },
            "range": [
              327,
              393
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": null,
      "source": null,
      "leadingComments": null
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 10009,
      "end": 10185,
      "loc": {
        "start": {
          "line": 244,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 2
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 722,
        "end": 894,
        "loc": {
          "start": {
            "line": 19,
            "column": 0
          },
          "end": {
            "line": 21,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 731,
          "end": 744,
          "loc": {
            "start": {
              "line": 19,
              "column": 9
            },
            "end": {
              "line": 19,
              "column": 22
            }
          },
          "name": "executeModels"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 745,
            "end": 751,
            "loc": {
              "start": {
                "line": 19,
                "column": 23
              },
              "end": {
                "line": 19,
                "column": 29
              }
            },
            "name": "socket"
          },
          {
            "type": "Identifier",
            "start": 753,
            "end": 756,
            "loc": {
              "start": {
                "line": 19,
                "column": 31
              },
              "end": {
                "line": 19,
                "column": 34
              }
            },
            "name": "cmd"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 758,
          "end": 894,
          "loc": {
            "start": {
              "line": 19,
              "column": 36
            },
            "end": {
              "line": 21,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ReturnStatement",
              "start": 764,
              "end": 892,
              "loc": {
                "start": {
                  "line": 20,
                  "column": 4
                },
                "end": {
                  "line": 20,
                  "column": 132
                }
              },
              "argument": {
                "type": "CallExpression",
                "start": 771,
                "end": 891,
                "loc": {
                  "start": {
                    "line": 20,
                    "column": 11
                  },
                  "end": {
                    "line": 20,
                    "column": 131
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 771,
                  "end": 876,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 11
                    },
                    "end": {
                      "line": 20,
                      "column": 116
                    }
                  },
                  "object": {
                    "type": "CallExpression",
                    "start": 771,
                    "end": 871,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 11
                      },
                      "end": {
                        "line": 20,
                        "column": 111
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 771,
                      "end": 786,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 11
                        },
                        "end": {
                          "line": 20,
                          "column": 26
                        }
                      },
                      "name": "executePrepared"
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 787,
                        "end": 793,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 27
                          },
                          "end": {
                            "line": 20,
                            "column": 33
                          }
                        },
                        "name": "socket"
                      },
                      {
                        "type": "ArrayExpression",
                        "start": 795,
                        "end": 828,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 35
                          },
                          "end": {
                            "line": 20,
                            "column": 68
                          }
                        },
                        "elements": [
                          {
                            "type": "ObjectExpression",
                            "start": 796,
                            "end": 827,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 36
                              },
                              "end": {
                                "line": 20,
                                "column": 67
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 797,
                                "end": 815,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 55
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 797,
                                  "end": 804,
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 44
                                    }
                                  },
                                  "name": "command"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 806,
                                  "end": 815,
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 55
                                    }
                                  },
                                  "value": "Execute",
                                  "rawValue": "Execute",
                                  "raw": "'Execute'"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 817,
                                "end": 826,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 66
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 817,
                                  "end": 821,
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 61
                                    }
                                  },
                                  "name": "task"
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 823,
                                  "end": 826,
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 63
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 66
                                    }
                                  },
                                  "name": "cmd"
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "type": "Identifier",
                        "start": 830,
                        "end": 839,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 70
                          },
                          "end": {
                            "line": 20,
                            "column": 79
                          }
                        },
                        "name": "undefined"
                      },
                      {
                        "type": "ObjectExpression",
                        "start": 841,
                        "end": 870,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 81
                          },
                          "end": {
                            "line": 20,
                            "column": 110
                          }
                        },
                        "properties": [
                          {
                            "type": "Property",
                            "start": 842,
                            "end": 869,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 82
                              },
                              "end": {
                                "line": 20,
                                "column": 109
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "Identifier",
                              "start": 842,
                              "end": 863,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 82
                                },
                                "end": {
                                  "line": 20,
                                  "column": 103
                                }
                              },
                              "name": "ignoreNumberOfResults"
                            },
                            "value": {
                              "type": "Literal",
                              "start": 865,
                              "end": 869,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 105
                                },
                                "end": {
                                  "line": 20,
                                  "column": 109
                                }
                              },
                              "value": true,
                              "rawValue": true,
                              "raw": "true"
                            },
                            "kind": "init"
                          }
                        ]
                      }
                    ]
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 872,
                    "end": 876,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 112
                      },
                      "end": {
                        "line": 20,
                        "column": 116
                      }
                    },
                    "name": "then"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "ArrowFunctionExpression",
                    "start": 877,
                    "end": 890,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 117
                      },
                      "end": {
                        "line": 20,
                        "column": 130
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": true,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 877,
                        "end": 878,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 117
                          },
                          "end": {
                            "line": 20,
                            "column": 118
                          }
                        },
                        "name": "x"
                      }
                    ],
                    "body": {
                      "type": "MemberExpression",
                      "start": 882,
                      "end": 890,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 122
                        },
                        "end": {
                          "line": 20,
                          "column": 130
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 882,
                        "end": 883,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 122
                          },
                          "end": {
                            "line": 20,
                            "column": 123
                          }
                        },
                        "name": "x"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 884,
                        "end": 890,
                        "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": 896,
            "end": 989,
            "loc": {
              "start": {
                "line": 23,
                "column": 0
              },
              "end": {
                "line": 23,
                "column": 93
              }
            },
            "range": [
              896,
              989
            ]
          }
        ],
        "leadingComments": []
      },
      "specifiers": null,
      "source": null,
      "leadingComments": null
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 10009,
      "end": 10185,
      "loc": {
        "start": {
          "line": 244,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 2
        }
      },
      "declaration": {
        "type": "VariableDeclaration",
        "start": 3628,
        "end": 3648,
        "loc": {
          "start": {
            "line": 91,
            "column": 0
          },
          "end": {
            "line": 91,
            "column": 20
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 3632,
            "end": 3647,
            "loc": {
              "start": {
                "line": 91,
                "column": 4
              },
              "end": {
                "line": 91,
                "column": 19
              }
            },
            "id": {
              "type": "Identifier",
              "start": 3632,
              "end": 3642,
              "loc": {
                "start": {
                  "line": 91,
                  "column": 4
                },
                "end": {
                  "line": 91,
                  "column": 14
                }
              },
              "name": "Expression"
            },
            "init": {
              "type": "ObjectExpression",
              "start": 3645,
              "end": 3647,
              "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": 10009,
      "end": 10185,
      "loc": {
        "start": {
          "line": 244,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 2
        }
      },
      "declaration": {
        "type": "VariableDeclaration",
        "start": 4308,
        "end": 4783,
        "loc": {
          "start": {
            "line": 120,
            "column": 0
          },
          "end": {
            "line": 130,
            "column": 2
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 4314,
            "end": 4782,
            "loc": {
              "start": {
                "line": 120,
                "column": 6
              },
              "end": {
                "line": 130,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 4314,
              "end": 4323,
              "loc": {
                "start": {
                  "line": 120,
                  "column": 6
                },
                "end": {
                  "line": 120,
                  "column": 15
                }
              },
              "name": "Statement"
            },
            "init": {
              "type": "ObjectExpression",
              "start": 4326,
              "end": 4782,
              "loc": {
                "start": {
                  "line": 120,
                  "column": 18
                },
                "end": {
                  "line": 130,
                  "column": 1
                }
              },
              "properties": [
                {
                  "type": "Property",
                  "start": 4332,
                  "end": 4428,
                  "loc": {
                    "start": {
                      "line": 121,
                      "column": 4
                    },
                    "end": {
                      "line": 123,
                      "column": 5
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 4332,
                    "end": 4338,
                    "loc": {
                      "start": {
                        "line": 121,
                        "column": 4
                      },
                      "end": {
                        "line": 121,
                        "column": 10
                      }
                    },
                    "name": "Return"
                  },
                  "kind": "init",
                  "value": {
                    "type": "FunctionExpression",
                    "start": 4338,
                    "end": 4428,
                    "loc": {
                      "start": {
                        "line": 121,
                        "column": 10
                      },
                      "end": {
                        "line": 123,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 4339,
                        "end": 4349,
                        "loc": {
                          "start": {
                            "line": 121,
                            "column": 11
                          },
                          "end": {
                            "line": 121,
                            "column": 21
                          }
                        },
                        "name": "expression"
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 4351,
                      "end": 4428,
                      "loc": {
                        "start": {
                          "line": 121,
                          "column": 23
                        },
                        "end": {
                          "line": 123,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ReturnStatement",
                          "start": 4361,
                          "end": 4422,
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 8
                            },
                            "end": {
                              "line": 122,
                              "column": 69
                            }
                          },
                          "argument": {
                            "type": "NewExpression",
                            "start": 4368,
                            "end": 4421,
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 15
                              },
                              "end": {
                                "line": 122,
                                "column": 68
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 4372,
                              "end": 4382,
                              "loc": {
                                "start": {
                                  "line": 122,
                                  "column": 19
                                },
                                "end": {
                                  "line": 122,
                                  "column": 29
                                }
                              },
                              "name": "Statements"
                            },
                            "arguments": [
                              {
                                "type": "ArrayExpression",
                                "start": 4383,
                                "end": 4420,
                                "loc": {
                                  "start": {
                                    "line": 122,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 122,
                                    "column": 67
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "TemplateLiteral",
                                    "start": 4384,
                                    "end": 4419,
                                    "loc": {
                                      "start": {
                                        "line": 122,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 122,
                                        "column": 66
                                      }
                                    },
                                    "expressions": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 4394,
                                        "end": 4416,
                                        "loc": {
                                          "start": {
                                            "line": 122,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 122,
                                            "column": 63
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 4394,
                                          "end": 4413,
                                          "loc": {
                                            "start": {
                                              "line": 122,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 122,
                                              "column": 60
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 4394,
                                            "end": 4404,
                                            "loc": {
                                              "start": {
                                                "line": 122,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 122,
                                                "column": 51
                                              }
                                            },
                                            "name": "expression"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4405,
                                            "end": 4413,
                                            "loc": {
                                              "start": {
                                                "line": 122,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 122,
                                                "column": 60
                                              }
                                            },
                                            "name": "commands"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 4414,
                                          "end": 4415,
                                          "loc": {
                                            "start": {
                                              "line": 122,
                                              "column": 61
                                            },
                                            "end": {
                                              "line": 122,
                                              "column": 62
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "computed": true
                                      }
                                    ],
                                    "quasis": [
                                      {
                                        "type": "TemplateElement",
                                        "start": 4385,
                                        "end": 4392,
                                        "loc": {
                                          "start": {
                                            "line": 122,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 122,
                                            "column": 39
                                          }
                                        },
                                        "value": {
                                          "raw": "RETURN ",
                                          "cooked": "RETURN "
                                        },
                                        "tail": false
                                      },
                                      {
                                        "type": "TemplateElement",
                                        "start": 4417,
                                        "end": 4418,
                                        "loc": {
                                          "start": {
                                            "line": 122,
                                            "column": 64
                                          },
                                          "end": {
                                            "line": 122,
                                            "column": 65
                                          }
                                        },
                                        "value": {
                                          "raw": ";",
                                          "cooked": ";"
                                        },
                                        "tail": true
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "type": "Property",
                  "start": 4434,
                  "end": 4779,
                  "loc": {
                    "start": {
                      "line": 124,
                      "column": 4
                    },
                    "end": {
                      "line": 129,
                      "column": 5
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 4434,
                    "end": 4444,
                    "loc": {
                      "start": {
                        "line": 124,
                        "column": 4
                      },
                      "end": {
                        "line": 124,
                        "column": 14
                      }
                    },
                    "name": "JSONExport"
                  },
                  "kind": "init",
                  "value": {
                    "type": "FunctionExpression",
                    "start": 4444,
                    "end": 4779,
                    "loc": {
                      "start": {
                        "line": 124,
                        "column": 14
                      },
                      "end": {
                        "line": 129,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 4445,
                        "end": 4455,
                        "loc": {
                          "start": {
                            "line": 124,
                            "column": 15
                          },
                          "end": {
                            "line": 124,
                            "column": 25
                          }
                        },
                        "name": "expression"
                      },
                      {
                        "type": "RestElement",
                        "start": 4457,
                        "end": 4473,
                        "loc": {
                          "start": {
                            "line": 124,
                            "column": 27
                          },
                          "end": {
                            "line": 124,
                            "column": 43
                          }
                        },
                        "argument": {
                          "type": "Identifier",
                          "start": 4460,
                          "end": 4473,
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 30
                            },
                            "end": {
                              "line": 124,
                              "column": 43
                            }
                          },
                          "name": "linkedObjects"
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 4475,
                      "end": 4779,
                      "loc": {
                        "start": {
                          "line": 124,
                          "column": 45
                        },
                        "end": {
                          "line": 129,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "IfStatement",
                          "start": 4485,
                          "end": 4593,
                          "loc": {
                            "start": {
                              "line": 125,
                              "column": 8
                            },
                            "end": {
                              "line": 126,
                              "column": 67
                            }
                          },
                          "test": {
                            "type": "UnaryExpression",
                            "start": 4489,
                            "end": 4524,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 12
                              },
                              "end": {
                                "line": 125,
                                "column": 47
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "BinaryExpression",
                              "start": 4491,
                              "end": 4523,
                              "loc": {
                                "start": {
                                  "line": 125,
                                  "column": 14
                                },
                                "end": {
                                  "line": 125,
                                  "column": 46
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 4491,
                                "end": 4501,
                                "loc": {
                                  "start": {
                                    "line": 125,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 125,
                                    "column": 24
                                  }
                                },
                                "name": "expression"
                              },
                              "operator": "instanceof",
                              "right": {
                                "type": "Identifier",
                                "start": 4513,
                                "end": 4523,
                                "loc": {
                                  "start": {
                                    "line": 125,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 125,
                                    "column": 46
                                  }
                                },
                                "name": "Statements"
                              },
                              "parenthesizedExpression": true
                            }
                          },
                          "consequent": {
                            "type": "ExpressionStatement",
                            "start": 4538,
                            "end": 4593,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 12
                              },
                              "end": {
                                "line": 126,
                                "column": 67
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 4538,
                              "end": 4592,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 12
                                },
                                "end": {
                                  "line": 126,
                                  "column": 66
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 4538,
                                "end": 4548,
                                "loc": {
                                  "start": {
                                    "line": 126,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 126,
                                    "column": 22
                                  }
                                },
                                "name": "expression"
                              },
                              "right": {
                                "type": "NewExpression",
                                "start": 4551,
                                "end": 4592,
                                "loc": {
                                  "start": {
                                    "line": 126,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 126,
                                    "column": 66
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 4555,
                                  "end": 4565,
                                  "loc": {
                                    "start": {
                                      "line": 126,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 126,
                                      "column": 39
                                    }
                                  },
                                  "name": "Statements"
                                },
                                "arguments": [
                                  {
                                    "type": "ArrayExpression",
                                    "start": 4566,
                                    "end": 4591,
                                    "loc": {
                                      "start": {
                                        "line": 126,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 126,
                                        "column": 65
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "CallExpression",
                                        "start": 4567,
                                        "end": 4590,
                                        "loc": {
                                          "start": {
                                            "line": 126,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 126,
                                            "column": 64
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 4567,
                                          "end": 4578,
                                          "loc": {
                                            "start": {
                                              "line": 126,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 126,
                                              "column": 52
                                            }
                                          },
                                          "name": "formatValue"
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 4579,
                                            "end": 4589,
                                            "loc": {
                                              "start": {
                                                "line": 126,
                                                "column": 53
                                              },
                                              "end": {
                                                "line": 126,
                                                "column": 63
                                              }
                                            },
                                            "name": "expression"
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            }
                          },
                          "alternate": null
                        },
                        {
                          "type": "VariableDeclaration",
                          "start": 4602,
                          "end": 4681,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 8
                            },
                            "end": {
                              "line": 127,
                              "column": 87
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 4608,
                              "end": 4680,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 14
                                },
                                "end": {
                                  "line": 127,
                                  "column": 86
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 4608,
                                "end": 4619,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 25
                                  }
                                },
                                "name": "expressions"
                              },
                              "init": {
                                "type": "CallExpression",
                                "start": 4622,
                                "end": 4680,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 86
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4622,
                                  "end": 4648,
                                  "loc": {
                                    "start": {
                                      "line": 127,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 127,
                                      "column": 54
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4622,
                                    "end": 4641,
                                    "loc": {
                                      "start": {
                                        "line": 127,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 127,
                                        "column": 47
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4622,
                                      "end": 4632,
                                      "loc": {
                                        "start": {
                                          "line": 127,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 127,
                                          "column": 38
                                        }
                                      },
                                      "name": "expression"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4633,
                                      "end": 4641,
                                      "loc": {
                                        "start": {
                                          "line": 127,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 127,
                                          "column": 47
                                        }
                                      },
                                      "name": "commands"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4642,
                                    "end": 4648,
                                    "loc": {
                                      "start": {
                                        "line": 127,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 127,
                                        "column": 54
                                      }
                                    },
                                    "name": "concat"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 4649,
                                    "end": 4679,
                                    "loc": {
                                      "start": {
                                        "line": 127,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 127,
                                        "column": 85
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 4649,
                                      "end": 4666,
                                      "loc": {
                                        "start": {
                                          "line": 127,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 127,
                                          "column": 72
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 4649,
                                        "end": 4662,
                                        "loc": {
                                          "start": {
                                            "line": 127,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 127,
                                            "column": 68
                                          }
                                        },
                                        "name": "linkedObjects"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4663,
                                        "end": 4666,
                                        "loc": {
                                          "start": {
                                            "line": 127,
                                            "column": 69
                                          },
                                          "end": {
                                            "line": 127,
                                            "column": 72
                                          }
                                        },
                                        "name": "map"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 4667,
                                        "end": 4678,
                                        "loc": {
                                          "start": {
                                            "line": 127,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 127,
                                            "column": 84
                                          }
                                        },
                                        "name": "formatValue"
                                      }
                                    ]
                                  }
                                ]
                              }
                            }
                          ],
                          "kind": "const"
                        },
                        {
                          "type": "ReturnStatement",
                          "start": 4690,
                          "end": 4773,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 8
                            },
                            "end": {
                              "line": 128,
                              "column": 91
                            }
                          },
                          "argument": {
                            "type": "NewExpression",
                            "start": 4697,
                            "end": 4772,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 15
                              },
                              "end": {
                                "line": 128,
                                "column": 90
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 4701,
                              "end": 4711,
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 19
                                },
                                "end": {
                                  "line": 128,
                                  "column": 29
                                }
                              },
                              "name": "Statements"
                            },
                            "arguments": [
                              {
                                "type": "ArrayExpression",
                                "start": 4712,
                                "end": 4771,
                                "loc": {
                                  "start": {
                                    "line": 128,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 128,
                                    "column": 89
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "TemplateLiteral",
                                    "start": 4713,
                                    "end": 4770,
                                    "loc": {
                                      "start": {
                                        "line": 128,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 128,
                                        "column": 88
                                      }
                                    },
                                    "expressions": [
                                      {
                                        "type": "CallExpression",
                                        "start": 4743,
                                        "end": 4765,
                                        "loc": {
                                          "start": {
                                            "line": 128,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 128,
                                            "column": 83
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 4743,
                                          "end": 4759,
                                          "loc": {
                                            "start": {
                                              "line": 128,
                                              "column": 61
                                            },
                                            "end": {
                                              "line": 128,
                                              "column": 77
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 4743,
                                            "end": 4754,
                                            "loc": {
                                              "start": {
                                                "line": 128,
                                                "column": 61
                                              },
                                              "end": {
                                                "line": 128,
                                                "column": 72
                                              }
                                            },
                                            "name": "expressions"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4755,
                                            "end": 4759,
                                            "loc": {
                                              "start": {
                                                "line": 128,
                                                "column": 73
                                              },
                                              "end": {
                                                "line": 128,
                                                "column": 77
                                              }
                                            },
                                            "name": "join"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Literal",
                                            "start": 4760,
                                            "end": 4764,
                                            "loc": {
                                              "start": {
                                                "line": 128,
                                                "column": 78
                                              },
                                              "end": {
                                                "line": 128,
                                                "column": 82
                                              }
                                            },
                                            "value": ", ",
                                            "rawValue": ", ",
                                            "raw": "', '"
                                          }
                                        ]
                                      }
                                    ],
                                    "quasis": [
                                      {
                                        "type": "TemplateElement",
                                        "start": 4714,
                                        "end": 4741,
                                        "loc": {
                                          "start": {
                                            "line": 128,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 128,
                                            "column": 59
                                          }
                                        },
                                        "value": {
                                          "raw": "RETURN CADH_JSONExportStr([",
                                          "cooked": "RETURN CADH_JSONExportStr(["
                                        },
                                        "tail": false
                                      },
                                      {
                                        "type": "TemplateElement",
                                        "start": 4766,
                                        "end": 4769,
                                        "loc": {
                                          "start": {
                                            "line": 128,
                                            "column": 84
                                          },
                                          "end": {
                                            "line": 128,
                                            "column": 87
                                          }
                                        },
                                        "value": {
                                          "raw": "]);",
                                          "cooked": "]);"
                                        },
                                        "tail": true
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                }
              ]
            }
          }
        ],
        "kind": "const",
        "leadingComments": [],
        "trailingComments": []
      },
      "specifiers": null,
      "source": null,
      "leadingComments": null
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 10009,
      "end": 10185,
      "loc": {
        "start": {
          "line": 244,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 2
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 3367,
        "end": 3492,
        "loc": {
          "start": {
            "line": 83,
            "column": 0
          },
          "end": {
            "line": 85,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 3376,
          "end": 3383,
          "loc": {
            "start": {
              "line": 83,
              "column": 9
            },
            "end": {
              "line": 83,
              "column": 16
            }
          },
          "name": "parseTo"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 3384,
            "end": 3387,
            "loc": {
              "start": {
                "line": 83,
                "column": 17
              },
              "end": {
                "line": 83,
                "column": 20
              }
            },
            "name": "obj"
          },
          {
            "type": "Identifier",
            "start": 3389,
            "end": 3402,
            "loc": {
              "start": {
                "line": 83,
                "column": 22
              },
              "end": {
                "line": 83,
                "column": 35
              }
            },
            "name": "linkedObjects"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 3404,
          "end": 3492,
          "loc": {
            "start": {
              "line": 83,
              "column": 37
            },
            "end": {
              "line": 85,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ReturnStatement",
              "start": 3410,
              "end": 3490,
              "loc": {
                "start": {
                  "line": 84,
                  "column": 4
                },
                "end": {
                  "line": 84,
                  "column": 84
                }
              },
              "argument": {
                "type": "ArrowFunctionExpression",
                "start": 3417,
                "end": 3489,
                "loc": {
                  "start": {
                    "line": 84,
                    "column": 11
                  },
                  "end": {
                    "line": 84,
                    "column": 83
                  }
                },
                "id": null,
                "generator": false,
                "expression": true,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3417,
                    "end": 3421,
                    "loc": {
                      "start": {
                        "line": 84,
                        "column": 11
                      },
                      "end": {
                        "line": 84,
                        "column": 15
                      }
                    },
                    "name": "tree"
                  }
                ],
                "body": {
                  "type": "CallExpression",
                  "start": 3425,
                  "end": 3489,
                  "loc": {
                    "start": {
                      "line": 84,
                      "column": 19
                    },
                    "end": {
                      "line": 84,
                      "column": 83
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 3425,
                    "end": 3440,
                    "loc": {
                      "start": {
                        "line": 84,
                        "column": 19
                      },
                      "end": {
                        "line": 84,
                        "column": 34
                      }
                    },
                    "name": "parseObjectTree"
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 3441,
                      "end": 3448,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 35
                        },
                        "end": {
                          "line": 84,
                          "column": 42
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 3441,
                        "end": 3445,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 35
                          },
                          "end": {
                            "line": 84,
                            "column": 39
                          }
                        },
                        "name": "tree"
                      },
                      "property": {
                        "type": "Literal",
                        "start": 3446,
                        "end": 3447,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 40
                          },
                          "end": {
                            "line": 84,
                            "column": 41
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      "computed": true
                    },
                    {
                      "type": "Identifier",
                      "start": 3450,
                      "end": 3459,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 44
                        },
                        "end": {
                          "line": 84,
                          "column": 53
                        }
                      },
                      "name": "undefined"
                    },
                    {
                      "type": "CallExpression",
                      "start": 3461,
                      "end": 3488,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 55
                        },
                        "end": {
                          "line": 84,
                          "column": 82
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 3461,
                        "end": 3473,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 55
                          },
                          "end": {
                            "line": 84,
                            "column": 67
                          }
                        },
                        "object": {
                          "type": "ArrayExpression",
                          "start": 3461,
                          "end": 3466,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 55
                            },
                            "end": {
                              "line": 84,
                              "column": 60
                            }
                          },
                          "elements": [
                            {
                              "type": "Identifier",
                              "start": 3462,
                              "end": 3465,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 56
                                },
                                "end": {
                                  "line": 84,
                                  "column": 59
                                }
                              },
                              "name": "obj"
                            }
                          ]
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3467,
                          "end": 3473,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 61
                            },
                            "end": {
                              "line": 84,
                              "column": 67
                            }
                          },
                          "name": "concat"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 3474,
                          "end": 3487,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 68
                            },
                            "end": {
                              "line": 84,
                              "column": 81
                            }
                          },
                          "name": "linkedObjects"
                        }
                      ]
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [],
        "trailingComments": []
      },
      "specifiers": null,
      "source": null,
      "leadingComments": null
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 10009,
      "end": 10185,
      "loc": {
        "start": {
          "line": 244,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 2
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 3494,
        "end": 3626,
        "loc": {
          "start": {
            "line": 87,
            "column": 0
          },
          "end": {
            "line": 89,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 3503,
          "end": 3517,
          "loc": {
            "start": {
              "line": 87,
              "column": 9
            },
            "end": {
              "line": 87,
              "column": 23
            }
          },
          "name": "parseToChildOf"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 3518,
            "end": 3521,
            "loc": {
              "start": {
                "line": 87,
                "column": 24
              },
              "end": {
                "line": 87,
                "column": 27
              }
            },
            "name": "obj"
          },
          {
            "type": "Identifier",
            "start": 3523,
            "end": 3536,
            "loc": {
              "start": {
                "line": 87,
                "column": 29
              },
              "end": {
                "line": 87,
                "column": 42
              }
            },
            "name": "linkedObjects"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 3538,
          "end": 3626,
          "loc": {
            "start": {
              "line": 87,
              "column": 44
            },
            "end": {
              "line": 89,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ReturnStatement",
              "start": 3544,
              "end": 3624,
              "loc": {
                "start": {
                  "line": 88,
                  "column": 4
                },
                "end": {
                  "line": 88,
                  "column": 84
                }
              },
              "argument": {
                "type": "ArrowFunctionExpression",
                "start": 3551,
                "end": 3623,
                "loc": {
                  "start": {
                    "line": 88,
                    "column": 11
                  },
                  "end": {
                    "line": 88,
                    "column": 83
                  }
                },
                "id": null,
                "generator": false,
                "expression": true,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3551,
                    "end": 3555,
                    "loc": {
                      "start": {
                        "line": 88,
                        "column": 11
                      },
                      "end": {
                        "line": 88,
                        "column": 15
                      }
                    },
                    "name": "tree"
                  }
                ],
                "body": {
                  "type": "CallExpression",
                  "start": 3559,
                  "end": 3623,
                  "loc": {
                    "start": {
                      "line": 88,
                      "column": 19
                    },
                    "end": {
                      "line": 88,
                      "column": 83
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 3559,
                    "end": 3574,
                    "loc": {
                      "start": {
                        "line": 88,
                        "column": 19
                      },
                      "end": {
                        "line": 88,
                        "column": 34
                      }
                    },
                    "name": "parseObjectTree"
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 3575,
                      "end": 3582,
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 35
                        },
                        "end": {
                          "line": 88,
                          "column": 42
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 3575,
                        "end": 3579,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 35
                          },
                          "end": {
                            "line": 88,
                            "column": 39
                          }
                        },
                        "name": "tree"
                      },
                      "property": {
                        "type": "Literal",
                        "start": 3580,
                        "end": 3581,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 40
                          },
                          "end": {
                            "line": 88,
                            "column": 41
                          }
                        },
                        "value": 0,
                        "rawValue": 0,
                        "raw": "0"
                      },
                      "computed": true
                    },
                    {
                      "type": "Identifier",
                      "start": 3584,
                      "end": 3587,
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 44
                        },
                        "end": {
                          "line": 88,
                          "column": 47
                        }
                      },
                      "name": "obj"
                    },
                    {
                      "type": "CallExpression",
                      "start": 3589,
                      "end": 3622,
                      "loc": {
                        "start": {
                          "line": 88,
                          "column": 49
                        },
                        "end": {
                          "line": 88,
                          "column": 82
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 3589,
                        "end": 3607,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 49
                          },
                          "end": {
                            "line": 88,
                            "column": 67
                          }
                        },
                        "object": {
                          "type": "ArrayExpression",
                          "start": 3589,
                          "end": 3600,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 49
                            },
                            "end": {
                              "line": 88,
                              "column": 60
                            }
                          },
                          "elements": [
                            {
                              "type": "Identifier",
                              "start": 3590,
                              "end": 3599,
                              "loc": {
                                "start": {
                                  "line": 88,
                                  "column": 50
                                },
                                "end": {
                                  "line": 88,
                                  "column": 59
                                }
                              },
                              "name": "undefined"
                            }
                          ]
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3601,
                          "end": 3607,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 61
                            },
                            "end": {
                              "line": 88,
                              "column": 67
                            }
                          },
                          "name": "concat"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 3608,
                          "end": 3621,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 68
                            },
                            "end": {
                              "line": 88,
                              "column": 81
                            }
                          },
                          "name": "linkedObjects"
                        }
                      ]
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [],
        "trailingComments": []
      },
      "specifiers": null,
      "source": null,
      "leadingComments": null
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 10009,
      "end": 10185,
      "loc": {
        "start": {
          "line": 244,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 2
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 7023,
        "end": 9337,
        "loc": {
          "start": {
            "line": 174,
            "column": 0
          },
          "end": {
            "line": 221,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 7032,
          "end": 7047,
          "loc": {
            "start": {
              "line": 174,
              "column": 9
            },
            "end": {
              "line": 174,
              "column": 24
            }
          },
          "name": "parseObjectTree",
          "leadingComments": null
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 7048,
            "end": 7058,
            "loc": {
              "start": {
                "line": 174,
                "column": 25
              },
              "end": {
                "line": 174,
                "column": 35
              }
            },
            "name": "objectTree"
          },
          {
            "type": "Identifier",
            "start": 7060,
            "end": 7075,
            "loc": {
              "start": {
                "line": 174,
                "column": 37
              },
              "end": {
                "line": 174,
                "column": 52
              }
            },
            "name": "addFirstChildTo"
          },
          {
            "type": "Identifier",
            "start": 7077,
            "end": 7093,
            "loc": {
              "start": {
                "line": 174,
                "column": 54
              },
              "end": {
                "line": 174,
                "column": 70
              }
            },
            "name": "toplevelChildren"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 7095,
          "end": 9337,
          "loc": {
            "start": {
              "line": 174,
              "column": 72
            },
            "end": {
              "line": 221,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 7101,
              "end": 7140,
              "loc": {
                "start": {
                  "line": 175,
                  "column": 4
                },
                "end": {
                  "line": 175,
                  "column": 43
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 7105,
                  "end": 7139,
                  "loc": {
                    "start": {
                      "line": 175,
                      "column": 8
                    },
                    "end": {
                      "line": 175,
                      "column": 42
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 7105,
                    "end": 7119,
                    "loc": {
                      "start": {
                        "line": 175,
                        "column": 8
                      },
                      "end": {
                        "line": 175,
                        "column": 22
                      }
                    },
                    "name": "allObjectsMode"
                  },
                  "init": {
                    "type": "UnaryExpression",
                    "start": 7122,
                    "end": 7139,
                    "loc": {
                      "start": {
                        "line": 175,
                        "column": 25
                      },
                      "end": {
                        "line": 175,
                        "column": 42
                      }
                    },
                    "operator": "!",
                    "prefix": true,
                    "argument": {
                      "type": "Identifier",
                      "start": 7123,
                      "end": 7139,
                      "loc": {
                        "start": {
                          "line": 175,
                          "column": 26
                        },
                        "end": {
                          "line": 175,
                          "column": 42
                        }
                      },
                      "name": "toplevelChildren"
                    }
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "ExpressionStatement",
              "start": 7145,
              "end": 7187,
              "loc": {
                "start": {
                  "line": 176,
                  "column": 4
                },
                "end": {
                  "line": 176,
                  "column": 46
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 7145,
                "end": 7186,
                "loc": {
                  "start": {
                    "line": 176,
                    "column": 4
                  },
                  "end": {
                    "line": 176,
                    "column": 45
                  }
                },
                "operator": "=",
                "left": {
                  "type": "Identifier",
                  "start": 7145,
                  "end": 7161,
                  "loc": {
                    "start": {
                      "line": 176,
                      "column": 4
                    },
                    "end": {
                      "line": 176,
                      "column": 20
                    }
                  },
                  "name": "toplevelChildren"
                },
                "right": {
                  "type": "LogicalExpression",
                  "start": 7164,
                  "end": 7186,
                  "loc": {
                    "start": {
                      "line": 176,
                      "column": 23
                    },
                    "end": {
                      "line": 176,
                      "column": 45
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 7164,
                    "end": 7180,
                    "loc": {
                      "start": {
                        "line": 176,
                        "column": 23
                      },
                      "end": {
                        "line": 176,
                        "column": 39
                      }
                    },
                    "name": "toplevelChildren"
                  },
                  "operator": "||",
                  "right": {
                    "type": "ArrayExpression",
                    "start": 7184,
                    "end": 7186,
                    "loc": {
                      "start": {
                        "line": 176,
                        "column": 43
                      },
                      "end": {
                        "line": 176,
                        "column": 45
                      }
                    },
                    "elements": []
                  }
                }
              }
            },
            {
              "type": "VariableDeclaration",
              "start": 7192,
              "end": 7214,
              "loc": {
                "start": {
                  "line": 177,
                  "column": 4
                },
                "end": {
                  "line": 177,
                  "column": 26
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 7196,
                  "end": 7213,
                  "loc": {
                    "start": {
                      "line": 177,
                      "column": 8
                    },
                    "end": {
                      "line": 177,
                      "column": 25
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 7196,
                    "end": 7201,
                    "loc": {
                      "start": {
                        "line": 177,
                        "column": 8
                      },
                      "end": {
                        "line": 177,
                        "column": 13
                      }
                    },
                    "name": "idMap"
                  },
                  "init": {
                    "type": "NewExpression",
                    "start": 7204,
                    "end": 7213,
                    "loc": {
                      "start": {
                        "line": 177,
                        "column": 16
                      },
                      "end": {
                        "line": 177,
                        "column": 25
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 7208,
                      "end": 7211,
                      "loc": {
                        "start": {
                          "line": 177,
                          "column": 20
                        },
                        "end": {
                          "line": 177,
                          "column": 23
                        }
                      },
                      "name": "Map"
                    },
                    "arguments": []
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "VariableDeclaration",
              "start": 7219,
              "end": 7256,
              "loc": {
                "start": {
                  "line": 178,
                  "column": 4
                },
                "end": {
                  "line": 178,
                  "column": 41
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 7223,
                  "end": 7255,
                  "loc": {
                    "start": {
                      "line": 178,
                      "column": 8
                    },
                    "end": {
                      "line": 178,
                      "column": 40
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 7223,
                    "end": 7231,
                    "loc": {
                      "start": {
                        "line": 178,
                        "column": 8
                      },
                      "end": {
                        "line": 178,
                        "column": 16
                      }
                    },
                    "name": "rootNode"
                  },
                  "init": {
                    "type": "MemberExpression",
                    "start": 7234,
                    "end": 7255,
                    "loc": {
                      "start": {
                        "line": 178,
                        "column": 19
                      },
                      "end": {
                        "line": 178,
                        "column": 40
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 7234,
                      "end": 7252,
                      "loc": {
                        "start": {
                          "line": 178,
                          "column": 19
                        },
                        "end": {
                          "line": 178,
                          "column": 37
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 7234,
                        "end": 7244,
                        "loc": {
                          "start": {
                            "line": 178,
                            "column": 19
                          },
                          "end": {
                            "line": 178,
                            "column": 29
                          }
                        },
                        "name": "objectTree"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 7245,
                        "end": 7252,
                        "loc": {
                          "start": {
                            "line": 178,
                            "column": 30
                          },
                          "end": {
                            "line": 178,
                            "column": 37
                          }
                        },
                        "name": "objects"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Literal",
                      "start": 7253,
                      "end": 7254,
                      "loc": {
                        "start": {
                          "line": 178,
                          "column": 38
                        },
                        "end": {
                          "line": 178,
                          "column": 39
                        }
                      },
                      "value": 1,
                      "rawValue": 1,
                      "raw": "1"
                    },
                    "computed": true
                  }
                }
              ],
              "kind": "var"
            },
            {
              "type": "IfStatement",
              "start": 7261,
              "end": 7371,
              "loc": {
                "start": {
                  "line": 179,
                  "column": 4
                },
                "end": {
                  "line": 180,
                  "column": 73
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 7265,
                "end": 7296,
                "loc": {
                  "start": {
                    "line": 179,
                    "column": 8
                  },
                  "end": {
                    "line": 179,
                    "column": 39
                  }
                },
                "left": {
                  "type": "MemberExpression",
                  "start": 7265,
                  "end": 7279,
                  "loc": {
                    "start": {
                      "line": 179,
                      "column": 8
                    },
                    "end": {
                      "line": 179,
                      "column": 22
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 7265,
                    "end": 7273,
                    "loc": {
                      "start": {
                        "line": 179,
                        "column": 8
                      },
                      "end": {
                        "line": 179,
                        "column": 16
                      }
                    },
                    "name": "rootNode"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 7274,
                    "end": 7279,
                    "loc": {
                      "start": {
                        "line": 179,
                        "column": 17
                      },
                      "end": {
                        "line": 179,
                        "column": 22
                      }
                    },
                    "name": "class"
                  },
                  "computed": false
                },
                "operator": "!==",
                "right": {
                  "type": "Literal",
                  "start": 7284,
                  "end": 7296,
                  "loc": {
                    "start": {
                      "line": 179,
                      "column": 27
                    },
                    "end": {
                      "line": 179,
                      "column": 39
                    }
                  },
                  "value": "AllObjects",
                  "rawValue": "AllObjects",
                  "raw": "'AllObjects'"
                }
              },
              "consequent": {
                "type": "ThrowStatement",
                "start": 7306,
                "end": 7371,
                "loc": {
                  "start": {
                    "line": 180,
                    "column": 8
                  },
                  "end": {
                    "line": 180,
                    "column": 73
                  }
                },
                "argument": {
                  "type": "NewExpression",
                  "start": 7312,
                  "end": 7370,
                  "loc": {
                    "start": {
                      "line": 180,
                      "column": 14
                    },
                    "end": {
                      "line": 180,
                      "column": 72
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 7316,
                    "end": 7321,
                    "loc": {
                      "start": {
                        "line": 180,
                        "column": 18
                      },
                      "end": {
                        "line": 180,
                        "column": 23
                      }
                    },
                    "name": "Error"
                  },
                  "arguments": [
                    {
                      "type": "Literal",
                      "start": 7322,
                      "end": 7369,
                      "loc": {
                        "start": {
                          "line": 180,
                          "column": 24
                        },
                        "end": {
                          "line": 180,
                          "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": 7376,
              "end": 7463,
              "loc": {
                "start": {
                  "line": 181,
                  "column": 4
                },
                "end": {
                  "line": 182,
                  "column": 37
                }
              },
              "test": {
                "type": "ThisExpression",
                "start": 7380,
                "end": 7384,
                "loc": {
                  "start": {
                    "line": 181,
                    "column": 8
                  },
                  "end": {
                    "line": 181,
                    "column": 12
                  }
                }
              },
              "consequent": {
                "type": "ExpressionStatement",
                "start": 7434,
                "end": 7463,
                "loc": {
                  "start": {
                    "line": 182,
                    "column": 8
                  },
                  "end": {
                    "line": 182,
                    "column": 37
                  }
                },
                "expression": {
                  "type": "CallExpression",
                  "start": 7434,
                  "end": 7462,
                  "loc": {
                    "start": {
                      "line": 182,
                      "column": 8
                    },
                    "end": {
                      "line": 182,
                      "column": 36
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 7434,
                    "end": 7443,
                    "loc": {
                      "start": {
                        "line": 182,
                        "column": 8
                      },
                      "end": {
                        "line": 182,
                        "column": 17
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 7434,
                      "end": 7439,
                      "loc": {
                        "start": {
                          "line": 182,
                          "column": 8
                        },
                        "end": {
                          "line": 182,
                          "column": 13
                        }
                      },
                      "name": "idMap",
                      "leadingComments": null
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 7440,
                      "end": 7443,
                      "loc": {
                        "start": {
                          "line": 182,
                          "column": 14
                        },
                        "end": {
                          "line": 182,
                          "column": 17
                        }
                      },
                      "name": "set"
                    },
                    "computed": false,
                    "leadingComments": null
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 7444,
                      "end": 7455,
                      "loc": {
                        "start": {
                          "line": 182,
                          "column": 18
                        },
                        "end": {
                          "line": 182,
                          "column": 29
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 7444,
                        "end": 7452,
                        "loc": {
                          "start": {
                            "line": 182,
                            "column": 18
                          },
                          "end": {
                            "line": 182,
                            "column": 26
                          }
                        },
                        "name": "rootNode"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 7453,
                        "end": 7455,
                        "loc": {
                          "start": {
                            "line": 182,
                            "column": 27
                          },
                          "end": {
                            "line": 182,
                            "column": 29
                          }
                        },
                        "name": "id"
                      },
                      "computed": false
                    },
                    {
                      "type": "ThisExpression",
                      "start": 7457,
                      "end": 7461,
                      "loc": {
                        "start": {
                          "line": 182,
                          "column": 31
                        },
                        "end": {
                          "line": 182,
                          "column": 35
                        }
                      }
                    }
                  ],
                  "leadingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentLine",
                    "value": " this (if passed) is a hierarchy root",
                    "start": 7386,
                    "end": 7425,
                    "loc": {
                      "start": {
                        "line": 181,
                        "column": 14
                      },
                      "end": {
                        "line": 181,
                        "column": 53
                      }
                    },
                    "range": [
                      7386,
                      7425
                    ]
                  }
                ]
              },
              "alternate": null
            },
            {
              "type": "ExpressionStatement",
              "start": 7468,
              "end": 8396,
              "loc": {
                "start": {
                  "line": 183,
                  "column": 4
                },
                "end": {
                  "line": 198,
                  "column": 7
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 7468,
                "end": 8395,
                "loc": {
                  "start": {
                    "line": 183,
                    "column": 4
                  },
                  "end": {
                    "line": 198,
                    "column": 6
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 7468,
                  "end": 7494,
                  "loc": {
                    "start": {
                      "line": 183,
                      "column": 4
                    },
                    "end": {
                      "line": 183,
                      "column": 30
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 7468,
                    "end": 7486,
                    "loc": {
                      "start": {
                        "line": 183,
                        "column": 4
                      },
                      "end": {
                        "line": 183,
                        "column": 22
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 7468,
                      "end": 7478,
                      "loc": {
                        "start": {
                          "line": 183,
                          "column": 4
                        },
                        "end": {
                          "line": 183,
                          "column": 14
                        }
                      },
                      "name": "objectTree"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 7479,
                      "end": 7486,
                      "loc": {
                        "start": {
                          "line": 183,
                          "column": 15
                        },
                        "end": {
                          "line": 183,
                          "column": 22
                        }
                      },
                      "name": "objects"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 7487,
                    "end": 7494,
                    "loc": {
                      "start": {
                        "line": 183,
                        "column": 23
                      },
                      "end": {
                        "line": 183,
                        "column": 30
                      }
                    },
                    "name": "forEach"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "ArrowFunctionExpression",
                    "start": 7495,
                    "end": 8394,
                    "loc": {
                      "start": {
                        "line": 183,
                        "column": 31
                      },
                      "end": {
                        "line": 198,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 7495,
                        "end": 7499,
                        "loc": {
                          "start": {
                            "line": 183,
                            "column": 31
                          },
                          "end": {
                            "line": 183,
                            "column": 35
                          }
                        },
                        "name": "node"
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 7503,
                      "end": 8394,
                      "loc": {
                        "start": {
                          "line": 183,
                          "column": 39
                        },
                        "end": {
                          "line": 198,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "VariableDeclaration",
                          "start": 7513,
                          "end": 7583,
                          "loc": {
                            "start": {
                              "line": 184,
                              "column": 8
                            },
                            "end": {
                              "line": 184,
                              "column": 78
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 7517,
                              "end": 7582,
                              "loc": {
                                "start": {
                                  "line": 184,
                                  "column": 12
                                },
                                "end": {
                                  "line": 184,
                                  "column": 77
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 7517,
                                "end": 7522,
                                "loc": {
                                  "start": {
                                    "line": 184,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 184,
                                    "column": 17
                                  }
                                },
                                "name": "klass"
                              },
                              "init": {
                                "type": "LogicalExpression",
                                "start": 7525,
                                "end": 7582,
                                "loc": {
                                  "start": {
                                    "line": 184,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 184,
                                    "column": 77
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 7525,
                                  "end": 7564,
                                  "loc": {
                                    "start": {
                                      "line": 184,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 184,
                                      "column": 59
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 7525,
                                    "end": 7552,
                                    "loc": {
                                      "start": {
                                        "line": 184,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 184,
                                        "column": 47
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 7525,
                                      "end": 7539,
                                      "loc": {
                                        "start": {
                                          "line": 184,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 184,
                                          "column": 34
                                        }
                                      },
                                      "name": "ClassCadObject"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7540,
                                      "end": 7552,
                                      "loc": {
                                        "start": {
                                          "line": 184,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 184,
                                          "column": 47
                                        }
                                      },
                                      "name": "classMapping"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "MemberExpression",
                                    "start": 7553,
                                    "end": 7563,
                                    "loc": {
                                      "start": {
                                        "line": 184,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 184,
                                        "column": 58
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 7553,
                                      "end": 7557,
                                      "loc": {
                                        "start": {
                                          "line": 184,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 184,
                                          "column": 52
                                        }
                                      },
                                      "name": "node"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7558,
                                      "end": 7563,
                                      "loc": {
                                        "start": {
                                          "line": 184,
                                          "column": 53
                                        },
                                        "end": {
                                          "line": 184,
                                          "column": 58
                                        }
                                      },
                                      "name": "class"
                                    },
                                    "computed": false
                                  },
                                  "computed": true
                                },
                                "operator": "||",
                                "right": {
                                  "type": "Identifier",
                                  "start": 7568,
                                  "end": 7582,
                                  "loc": {
                                    "start": {
                                      "line": 184,
                                      "column": 63
                                    },
                                    "end": {
                                      "line": 184,
                                      "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": 7592,
                              "end": 7676,
                              "loc": {
                                "start": {
                                  "line": 185,
                                  "column": 8
                                },
                                "end": {
                                  "line": 185,
                                  "column": 92
                                }
                              },
                              "range": [
                                7592,
                                7676
                              ]
                            }
                          ]
                        },
                        {
                          "type": "VariableDeclaration",
                          "start": 7685,
                          "end": 7752,
                          "loc": {
                            "start": {
                              "line": 186,
                              "column": 8
                            },
                            "end": {
                              "line": 186,
                              "column": 75
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 7689,
                              "end": 7751,
                              "loc": {
                                "start": {
                                  "line": 186,
                                  "column": 12
                                },
                                "end": {
                                  "line": 186,
                                  "column": 74
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 7689,
                                "end": 7695,
                                "loc": {
                                  "start": {
                                    "line": 186,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 186,
                                    "column": 18
                                  }
                                },
                                "name": "object",
                                "leadingComments": null
                              },
                              "init": {
                                "type": "ConditionalExpression",
                                "start": 7698,
                                "end": 7751,
                                "loc": {
                                  "start": {
                                    "line": 186,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 186,
                                    "column": 74
                                  }
                                },
                                "test": {
                                  "type": "CallExpression",
                                  "start": 7698,
                                  "end": 7716,
                                  "loc": {
                                    "start": {
                                      "line": 186,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 186,
                                      "column": 39
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 7698,
                                    "end": 7707,
                                    "loc": {
                                      "start": {
                                        "line": 186,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 186,
                                        "column": 30
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 7698,
                                      "end": 7703,
                                      "loc": {
                                        "start": {
                                          "line": 186,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 186,
                                          "column": 26
                                        }
                                      },
                                      "name": "idMap"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7704,
                                      "end": 7707,
                                      "loc": {
                                        "start": {
                                          "line": 186,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 186,
                                          "column": 30
                                        }
                                      },
                                      "name": "has"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 7708,
                                      "end": 7715,
                                      "loc": {
                                        "start": {
                                          "line": 186,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 186,
                                          "column": 38
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 7708,
                                        "end": 7712,
                                        "loc": {
                                          "start": {
                                            "line": 186,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 186,
                                            "column": 35
                                          }
                                        },
                                        "name": "node"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7713,
                                        "end": 7715,
                                        "loc": {
                                          "start": {
                                            "line": 186,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 186,
                                            "column": 38
                                          }
                                        },
                                        "name": "id"
                                      },
                                      "computed": false
                                    }
                                  ]
                                },
                                "consequent": {
                                  "type": "CallExpression",
                                  "start": 7719,
                                  "end": 7737,
                                  "loc": {
                                    "start": {
                                      "line": 186,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 186,
                                      "column": 60
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 7719,
                                    "end": 7728,
                                    "loc": {
                                      "start": {
                                        "line": 186,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 186,
                                        "column": 51
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 7719,
                                      "end": 7724,
                                      "loc": {
                                        "start": {
                                          "line": 186,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 186,
                                          "column": 47
                                        }
                                      },
                                      "name": "idMap"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7725,
                                      "end": 7728,
                                      "loc": {
                                        "start": {
                                          "line": 186,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 186,
                                          "column": 51
                                        }
                                      },
                                      "name": "get"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 7729,
                                      "end": 7736,
                                      "loc": {
                                        "start": {
                                          "line": 186,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 186,
                                          "column": 59
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 7729,
                                        "end": 7733,
                                        "loc": {
                                          "start": {
                                            "line": 186,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 186,
                                            "column": 56
                                          }
                                        },
                                        "name": "node"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7734,
                                        "end": 7736,
                                        "loc": {
                                          "start": {
                                            "line": 186,
                                            "column": 57
                                          },
                                          "end": {
                                            "line": 186,
                                            "column": 59
                                          }
                                        },
                                        "name": "id"
                                      },
                                      "computed": false
                                    }
                                  ]
                                },
                                "alternate": {
                                  "type": "NewExpression",
                                  "start": 7740,
                                  "end": 7751,
                                  "loc": {
                                    "start": {
                                      "line": 186,
                                      "column": 63
                                    },
                                    "end": {
                                      "line": 186,
                                      "column": 74
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 7744,
                                    "end": 7749,
                                    "loc": {
                                      "start": {
                                        "line": 186,
                                        "column": 67
                                      },
                                      "end": {
                                        "line": 186,
                                        "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": 7592,
                              "end": 7676,
                              "loc": {
                                "start": {
                                  "line": 185,
                                  "column": 8
                                },
                                "end": {
                                  "line": 185,
                                  "column": 92
                                }
                              },
                              "range": [
                                7592,
                                7676
                              ]
                            }
                          ]
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 7761,
                          "end": 7788,
                          "loc": {
                            "start": {
                              "line": 187,
                              "column": 8
                            },
                            "end": {
                              "line": 187,
                              "column": 35
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 7761,
                            "end": 7787,
                            "loc": {
                              "start": {
                                "line": 187,
                                "column": 8
                              },
                              "end": {
                                "line": 187,
                                "column": 34
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 7761,
                              "end": 7770,
                              "loc": {
                                "start": {
                                  "line": 187,
                                  "column": 8
                                },
                                "end": {
                                  "line": 187,
                                  "column": 17
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7761,
                                "end": 7766,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 13
                                  }
                                },
                                "name": "idMap"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7767,
                                "end": 7770,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 17
                                  }
                                },
                                "name": "set"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 7771,
                                "end": 7778,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 7771,
                                  "end": 7775,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 22
                                    }
                                  },
                                  "name": "node"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7776,
                                  "end": 7778,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 25
                                    }
                                  },
                                  "name": "id"
                                },
                                "computed": false
                              },
                              {
                                "type": "Identifier",
                                "start": 7780,
                                "end": 7786,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 33
                                  }
                                },
                                "name": "object"
                              }
                            ]
                          },
                          "trailingComments": [
                            {
                              "type": "CommentLine",
                              "value": " add entries about existing members to idMap because they will be needed on next iterations",
                              "start": 7797,
                              "end": 7890,
                              "loc": {
                                "start": {
                                  "line": 188,
                                  "column": 8
                                },
                                "end": {
                                  "line": 188,
                                  "column": 101
                                }
                              },
                              "range": [
                                7797,
                                7890
                              ]
                            }
                          ]
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 7899,
                          "end": 8348,
                          "loc": {
                            "start": {
                              "line": 189,
                              "column": 8
                            },
                            "end": {
                              "line": 196,
                              "column": 11
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 7899,
                            "end": 8347,
                            "loc": {
                              "start": {
                                "line": 189,
                                "column": 8
                              },
                              "end": {
                                "line": 196,
                                "column": 10
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 7899,
                              "end": 7968,
                              "loc": {
                                "start": {
                                  "line": 189,
                                  "column": 8
                                },
                                "end": {
                                  "line": 189,
                                  "column": 77
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 7899,
                                "end": 7960,
                                "loc": {
                                  "start": {
                                    "line": 189,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 189,
                                    "column": 69
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 7899,
                                  "end": 7924,
                                  "loc": {
                                    "start": {
                                      "line": 189,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 189,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "LogicalExpression",
                                    "start": 7900,
                                    "end": 7916,
                                    "loc": {
                                      "start": {
                                        "line": 189,
                                        "column": 9
                                      },
                                      "end": {
                                        "line": 189,
                                        "column": 25
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 7900,
                                      "end": 7912,
                                      "loc": {
                                        "start": {
                                          "line": 189,
                                          "column": 9
                                        },
                                        "end": {
                                          "line": 189,
                                          "column": 21
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 7900,
                                        "end": 7904,
                                        "loc": {
                                          "start": {
                                            "line": 189,
                                            "column": 9
                                          },
                                          "end": {
                                            "line": 189,
                                            "column": 13
                                          }
                                        },
                                        "name": "node",
                                        "leadingComments": null
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7905,
                                        "end": 7912,
                                        "loc": {
                                          "start": {
                                            "line": 189,
                                            "column": 14
                                          },
                                          "end": {
                                            "line": 189,
                                            "column": 21
                                          }
                                        },
                                        "name": "members"
                                      },
                                      "computed": false,
                                      "leadingComments": null
                                    },
                                    "operator": "||",
                                    "right": {
                                      "type": "ArrayExpression",
                                      "start": 7914,
                                      "end": 7916,
                                      "loc": {
                                        "start": {
                                          "line": 189,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 189,
                                          "column": 25
                                        }
                                      },
                                      "elements": []
                                    },
                                    "leadingComments": null,
                                    "parenthesizedExpression": true
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7918,
                                    "end": 7924,
                                    "loc": {
                                      "start": {
                                        "line": 189,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 189,
                                        "column": 33
                                      }
                                    },
                                    "name": "filter"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "arguments": [
                                  {
                                    "type": "ArrowFunctionExpression",
                                    "start": 7925,
                                    "end": 7959,
                                    "loc": {
                                      "start": {
                                        "line": 189,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 189,
                                        "column": 68
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": true,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 7925,
                                        "end": 7935,
                                        "loc": {
                                          "start": {
                                            "line": 189,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 189,
                                            "column": 44
                                          }
                                        },
                                        "name": "memberNode"
                                      }
                                    ],
                                    "body": {
                                      "type": "MemberExpression",
                                      "start": 7939,
                                      "end": 7959,
                                      "loc": {
                                        "start": {
                                          "line": 189,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 189,
                                          "column": 68
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 7939,
                                        "end": 7949,
                                        "loc": {
                                          "start": {
                                            "line": 189,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 189,
                                            "column": 58
                                          }
                                        },
                                        "name": "memberNode"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7950,
                                        "end": 7959,
                                        "loc": {
                                          "start": {
                                            "line": 189,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 189,
                                            "column": 68
                                          }
                                        },
                                        "name": "objectMem"
                                      },
                                      "computed": false
                                    }
                                  }
                                ],
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7961,
                                "end": 7968,
                                "loc": {
                                  "start": {
                                    "line": 189,
                                    "column": 70
                                  },
                                  "end": {
                                    "line": 189,
                                    "column": 77
                                  }
                                },
                                "name": "forEach"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 7969,
                                "end": 8346,
                                "loc": {
                                  "start": {
                                    "line": 189,
                                    "column": 78
                                  },
                                  "end": {
                                    "line": 196,
                                    "column": 9
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 7970,
                                    "end": 7980,
                                    "loc": {
                                      "start": {
                                        "line": 189,
                                        "column": 79
                                      },
                                      "end": {
                                        "line": 189,
                                        "column": 89
                                      }
                                    },
                                    "name": "memberNode"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 7982,
                                    "end": 7993,
                                    "loc": {
                                      "start": {
                                        "line": 189,
                                        "column": 91
                                      },
                                      "end": {
                                        "line": 189,
                                        "column": 102
                                      }
                                    },
                                    "name": "memberIndex"
                                  }
                                ],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 7998,
                                  "end": 8346,
                                  "loc": {
                                    "start": {
                                      "line": 189,
                                      "column": 107
                                    },
                                    "end": {
                                      "line": 196,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 8088,
                                      "end": 8164,
                                      "loc": {
                                        "start": {
                                          "line": 191,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 191,
                                          "column": 88
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 8092,
                                          "end": 8163,
                                          "loc": {
                                            "start": {
                                              "line": 191,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 191,
                                              "column": 87
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 8092,
                                            "end": 8097,
                                            "loc": {
                                              "start": {
                                                "line": 191,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 191,
                                                "column": 21
                                              }
                                            },
                                            "name": "child",
                                            "leadingComments": null
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "start": 8100,
                                            "end": 8163,
                                            "loc": {
                                              "start": {
                                                "line": 191,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 191,
                                                "column": 87
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 8100,
                                              "end": 8120,
                                              "loc": {
                                                "start": {
                                                  "line": 191,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 191,
                                                  "column": 44
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 8100,
                                                "end": 8115,
                                                "loc": {
                                                  "start": {
                                                    "line": 191,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 191,
                                                    "column": 39
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 8100,
                                                  "end": 8106,
                                                  "loc": {
                                                    "start": {
                                                      "line": 191,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 191,
                                                      "column": 30
                                                    }
                                                  },
                                                  "name": "object"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 8107,
                                                  "end": 8115,
                                                  "loc": {
                                                    "start": {
                                                      "line": 191,
                                                      "column": 31
                                                    },
                                                    "end": {
                                                      "line": 191,
                                                      "column": 39
                                                    }
                                                  },
                                                  "name": "children"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 8116,
                                                "end": 8120,
                                                "loc": {
                                                  "start": {
                                                    "line": 191,
                                                    "column": 40
                                                  },
                                                  "end": {
                                                    "line": 191,
                                                    "column": 44
                                                  }
                                                },
                                                "name": "find"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "ArrowFunctionExpression",
                                                "start": 8121,
                                                "end": 8162,
                                                "loc": {
                                                  "start": {
                                                    "line": 191,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 191,
                                                    "column": 86
                                                  }
                                                },
                                                "id": null,
                                                "generator": false,
                                                "expression": true,
                                                "async": false,
                                                "params": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 8121,
                                                    "end": 8122,
                                                    "loc": {
                                                      "start": {
                                                        "line": 191,
                                                        "column": 45
                                                      },
                                                      "end": {
                                                        "line": 191,
                                                        "column": 46
                                                      }
                                                    },
                                                    "name": "c"
                                                  }
                                                ],
                                                "body": {
                                                  "type": "BinaryExpression",
                                                  "start": 8126,
                                                  "end": 8162,
                                                  "loc": {
                                                    "start": {
                                                      "line": 191,
                                                      "column": 50
                                                    },
                                                    "end": {
                                                      "line": 191,
                                                      "column": 86
                                                    }
                                                  },
                                                  "left": {
                                                    "type": "MemberExpression",
                                                    "start": 8126,
                                                    "end": 8132,
                                                    "loc": {
                                                      "start": {
                                                        "line": 191,
                                                        "column": 50
                                                      },
                                                      "end": {
                                                        "line": 191,
                                                        "column": 56
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 8126,
                                                      "end": 8127,
                                                      "loc": {
                                                        "start": {
                                                          "line": 191,
                                                          "column": 50
                                                        },
                                                        "end": {
                                                          "line": 191,
                                                          "column": 51
                                                        }
                                                      },
                                                      "name": "c"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 8128,
                                                      "end": 8132,
                                                      "loc": {
                                                        "start": {
                                                          "line": 191,
                                                          "column": 52
                                                        },
                                                        "end": {
                                                          "line": 191,
                                                          "column": 56
                                                        }
                                                      },
                                                      "name": "name"
                                                    },
                                                    "computed": false
                                                  },
                                                  "operator": "===",
                                                  "right": {
                                                    "type": "MemberExpression",
                                                    "start": 8137,
                                                    "end": 8162,
                                                    "loc": {
                                                      "start": {
                                                        "line": 191,
                                                        "column": 61
                                                      },
                                                      "end": {
                                                        "line": 191,
                                                        "column": 86
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "start": 8137,
                                                      "end": 8157,
                                                      "loc": {
                                                        "start": {
                                                          "line": 191,
                                                          "column": 61
                                                        },
                                                        "end": {
                                                          "line": 191,
                                                          "column": 81
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 8137,
                                                        "end": 8147,
                                                        "loc": {
                                                          "start": {
                                                            "line": 191,
                                                            "column": 61
                                                          },
                                                          "end": {
                                                            "line": 191,
                                                            "column": 71
                                                          }
                                                        },
                                                        "name": "memberNode"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 8148,
                                                        "end": 8157,
                                                        "loc": {
                                                          "start": {
                                                            "line": 191,
                                                            "column": 72
                                                          },
                                                          "end": {
                                                            "line": 191,
                                                            "column": 81
                                                          }
                                                        },
                                                        "name": "objectMem"
                                                      },
                                                      "computed": false
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 8158,
                                                      "end": 8162,
                                                      "loc": {
                                                        "start": {
                                                          "line": 191,
                                                          "column": 82
                                                        },
                                                        "end": {
                                                          "line": 191,
                                                          "column": 86
                                                        }
                                                      },
                                                      "name": "name"
                                                    },
                                                    "computed": false
                                                  }
                                                }
                                              }
                                            ]
                                          },
                                          "leadingComments": null
                                        }
                                      ],
                                      "kind": "var",
                                      "leadingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": " for toplevel, use toplevelChildren, else find member by name",
                                          "start": 8012,
                                          "end": 8075,
                                          "loc": {
                                            "start": {
                                              "line": 190,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 190,
                                              "column": 75
                                            }
                                          },
                                          "range": [
                                            8012,
                                            8075
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 8177,
                                      "end": 8254,
                                      "loc": {
                                        "start": {
                                          "line": 192,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 193,
                                          "column": 54
                                        }
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "start": 8181,
                                        "end": 8198,
                                        "loc": {
                                          "start": {
                                            "line": 192,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 192,
                                            "column": 33
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 8181,
                                          "end": 8185,
                                          "loc": {
                                            "start": {
                                              "line": 192,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 192,
                                              "column": 20
                                            }
                                          },
                                          "name": "node"
                                        },
                                        "operator": "===",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 8190,
                                          "end": 8198,
                                          "loc": {
                                            "start": {
                                              "line": 192,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 192,
                                              "column": 33
                                            }
                                          },
                                          "name": "rootNode"
                                        }
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 8216,
                                        "end": 8254,
                                        "loc": {
                                          "start": {
                                            "line": 193,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 193,
                                            "column": 54
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 8216,
                                          "end": 8253,
                                          "loc": {
                                            "start": {
                                              "line": 193,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 193,
                                              "column": 53
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 8216,
                                            "end": 8221,
                                            "loc": {
                                              "start": {
                                                "line": 193,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 193,
                                                "column": 21
                                              }
                                            },
                                            "name": "child"
                                          },
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 8224,
                                            "end": 8253,
                                            "loc": {
                                              "start": {
                                                "line": 193,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 193,
                                                "column": 53
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 8224,
                                              "end": 8240,
                                              "loc": {
                                                "start": {
                                                  "line": 193,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 193,
                                                  "column": 40
                                                }
                                              },
                                              "name": "toplevelChildren"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 8241,
                                              "end": 8252,
                                              "loc": {
                                                "start": {
                                                  "line": 193,
                                                  "column": 41
                                                },
                                                "end": {
                                                  "line": 193,
                                                  "column": 52
                                                }
                                              },
                                              "name": "memberIndex"
                                            },
                                            "computed": true
                                          }
                                        }
                                      },
                                      "alternate": null
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 8267,
                                      "end": 8336,
                                      "loc": {
                                        "start": {
                                          "line": 194,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 195,
                                          "column": 58
                                        }
                                      },
                                      "test": {
                                        "type": "Identifier",
                                        "start": 8271,
                                        "end": 8276,
                                        "loc": {
                                          "start": {
                                            "line": 194,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 194,
                                            "column": 21
                                          }
                                        },
                                        "name": "child"
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 8294,
                                        "end": 8336,
                                        "loc": {
                                          "start": {
                                            "line": 195,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 195,
                                            "column": 58
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 8294,
                                          "end": 8335,
                                          "loc": {
                                            "start": {
                                              "line": 195,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 195,
                                              "column": 57
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 8294,
                                            "end": 8303,
                                            "loc": {
                                              "start": {
                                                "line": 195,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 195,
                                                "column": 25
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 8294,
                                              "end": 8299,
                                              "loc": {
                                                "start": {
                                                  "line": 195,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 195,
                                                  "column": 21
                                                }
                                              },
                                              "name": "idMap"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 8300,
                                              "end": 8303,
                                              "loc": {
                                                "start": {
                                                  "line": 195,
                                                  "column": 22
                                                },
                                                "end": {
                                                  "line": 195,
                                                  "column": 25
                                                }
                                              },
                                              "name": "set"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "MemberExpression",
                                              "start": 8304,
                                              "end": 8327,
                                              "loc": {
                                                "start": {
                                                  "line": 195,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 195,
                                                  "column": 49
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 8304,
                                                "end": 8324,
                                                "loc": {
                                                  "start": {
                                                    "line": 195,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 195,
                                                    "column": 46
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 8304,
                                                  "end": 8314,
                                                  "loc": {
                                                    "start": {
                                                      "line": 195,
                                                      "column": 26
                                                    },
                                                    "end": {
                                                      "line": 195,
                                                      "column": 36
                                                    }
                                                  },
                                                  "name": "memberNode"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 8315,
                                                  "end": 8324,
                                                  "loc": {
                                                    "start": {
                                                      "line": 195,
                                                      "column": 37
                                                    },
                                                    "end": {
                                                      "line": 195,
                                                      "column": 46
                                                    }
                                                  },
                                                  "name": "objectMem"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 8325,
                                                "end": 8327,
                                                "loc": {
                                                  "start": {
                                                    "line": 195,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 195,
                                                    "column": 49
                                                  }
                                                },
                                                "name": "id"
                                              },
                                              "computed": false
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 8329,
                                              "end": 8334,
                                              "loc": {
                                                "start": {
                                                  "line": 195,
                                                  "column": 51
                                                },
                                                "end": {
                                                  "line": 195,
                                                  "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": 7797,
                              "end": 7890,
                              "loc": {
                                "start": {
                                  "line": 188,
                                  "column": 8
                                },
                                "end": {
                                  "line": 188,
                                  "column": 101
                                }
                              },
                              "range": [
                                7797,
                                7890
                              ]
                            }
                          ]
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 8357,
                          "end": 8388,
                          "loc": {
                            "start": {
                              "line": 197,
                              "column": 8
                            },
                            "end": {
                              "line": 197,
                              "column": 39
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 8357,
                            "end": 8387,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 8
                              },
                              "end": {
                                "line": 197,
                                "column": 38
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8357,
                              "end": 8381,
                              "loc": {
                                "start": {
                                  "line": 197,
                                  "column": 8
                                },
                                "end": {
                                  "line": 197,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8357,
                                "end": 8363,
                                "loc": {
                                  "start": {
                                    "line": 197,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 197,
                                    "column": 14
                                  }
                                },
                                "name": "object"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8364,
                                "end": 8381,
                                "loc": {
                                  "start": {
                                    "line": 197,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 197,
                                    "column": 32
                                  }
                                },
                                "name": "setFromObjectTree"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 8382,
                                "end": 8386,
                                "loc": {
                                  "start": {
                                    "line": 197,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 197,
                                    "column": 37
                                  }
                                },
                                "name": "node"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            },
            {
              "type": "VariableDeclaration",
              "start": 8401,
              "end": 8416,
              "loc": {
                "start": {
                  "line": 199,
                  "column": 4
                },
                "end": {
                  "line": 199,
                  "column": 19
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 8405,
                  "end": 8415,
                  "loc": {
                    "start": {
                      "line": 199,
                      "column": 8
                    },
                    "end": {
                      "line": 199,
                      "column": 18
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 8405,
                    "end": 8415,
                    "loc": {
                      "start": {
                        "line": 199,
                        "column": 8
                      },
                      "end": {
                        "line": 199,
                        "column": 18
                      }
                    },
                    "name": "firstChild"
                  },
                  "init": null
                }
              ],
              "kind": "var"
            },
            {
              "type": "ExpressionStatement",
              "start": 8421,
              "end": 9021,
              "loc": {
                "start": {
                  "line": 200,
                  "column": 4
                },
                "end": {
                  "line": 212,
                  "column": 7
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 8421,
                "end": 9020,
                "loc": {
                  "start": {
                    "line": 200,
                    "column": 4
                  },
                  "end": {
                    "line": 212,
                    "column": 6
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 8421,
                  "end": 8447,
                  "loc": {
                    "start": {
                      "line": 200,
                      "column": 4
                    },
                    "end": {
                      "line": 200,
                      "column": 30
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 8421,
                    "end": 8439,
                    "loc": {
                      "start": {
                        "line": 200,
                        "column": 4
                      },
                      "end": {
                        "line": 200,
                        "column": 22
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 8421,
                      "end": 8431,
                      "loc": {
                        "start": {
                          "line": 200,
                          "column": 4
                        },
                        "end": {
                          "line": 200,
                          "column": 14
                        }
                      },
                      "name": "objectTree"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 8432,
                      "end": 8439,
                      "loc": {
                        "start": {
                          "line": 200,
                          "column": 15
                        },
                        "end": {
                          "line": 200,
                          "column": 22
                        }
                      },
                      "name": "objects"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 8440,
                    "end": 8447,
                    "loc": {
                      "start": {
                        "line": 200,
                        "column": 23
                      },
                      "end": {
                        "line": 200,
                        "column": 30
                      }
                    },
                    "name": "forEach"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "ArrowFunctionExpression",
                    "start": 8448,
                    "end": 9019,
                    "loc": {
                      "start": {
                        "line": 200,
                        "column": 31
                      },
                      "end": {
                        "line": 212,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 8448,
                        "end": 8452,
                        "loc": {
                          "start": {
                            "line": 200,
                            "column": 31
                          },
                          "end": {
                            "line": 200,
                            "column": 35
                          }
                        },
                        "name": "node"
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 8456,
                      "end": 9019,
                      "loc": {
                        "start": {
                          "line": 200,
                          "column": 39
                        },
                        "end": {
                          "line": 212,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "IfStatement",
                          "start": 8466,
                          "end": 8498,
                          "loc": {
                            "start": {
                              "line": 201,
                              "column": 8
                            },
                            "end": {
                              "line": 201,
                              "column": 40
                            }
                          },
                          "test": {
                            "type": "UnaryExpression",
                            "start": 8470,
                            "end": 8489,
                            "loc": {
                              "start": {
                                "line": 201,
                                "column": 12
                              },
                              "end": {
                                "line": 201,
                                "column": 31
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "CallExpression",
                              "start": 8471,
                              "end": 8489,
                              "loc": {
                                "start": {
                                  "line": 201,
                                  "column": 13
                                },
                                "end": {
                                  "line": 201,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8471,
                                "end": 8480,
                                "loc": {
                                  "start": {
                                    "line": 201,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 201,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8471,
                                  "end": 8476,
                                  "loc": {
                                    "start": {
                                      "line": 201,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 201,
                                      "column": 18
                                    }
                                  },
                                  "name": "idMap"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8477,
                                  "end": 8480,
                                  "loc": {
                                    "start": {
                                      "line": 201,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 201,
                                      "column": 22
                                    }
                                  },
                                  "name": "has"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 8481,
                                  "end": 8488,
                                  "loc": {
                                    "start": {
                                      "line": 201,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 201,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8481,
                                    "end": 8485,
                                    "loc": {
                                      "start": {
                                        "line": 201,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 201,
                                        "column": 27
                                      }
                                    },
                                    "name": "node"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8486,
                                    "end": 8488,
                                    "loc": {
                                      "start": {
                                        "line": 201,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 201,
                                        "column": 30
                                      }
                                    },
                                    "name": "id"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          "consequent": {
                            "type": "ReturnStatement",
                            "start": 8491,
                            "end": 8498,
                            "loc": {
                              "start": {
                                "line": 201,
                                "column": 33
                              },
                              "end": {
                                "line": 201,
                                "column": 40
                              }
                            },
                            "argument": null
                          },
                          "alternate": null
                        },
                        {
                          "type": "VariableDeclaration",
                          "start": 8507,
                          "end": 8539,
                          "loc": {
                            "start": {
                              "line": 202,
                              "column": 8
                            },
                            "end": {
                              "line": 202,
                              "column": 40
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 8511,
                              "end": 8538,
                              "loc": {
                                "start": {
                                  "line": 202,
                                  "column": 12
                                },
                                "end": {
                                  "line": 202,
                                  "column": 39
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 8511,
                                "end": 8517,
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 18
                                  }
                                },
                                "name": "object"
                              },
                              "init": {
                                "type": "CallExpression",
                                "start": 8520,
                                "end": 8538,
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 39
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 8520,
                                  "end": 8529,
                                  "loc": {
                                    "start": {
                                      "line": 202,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 202,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8520,
                                    "end": 8525,
                                    "loc": {
                                      "start": {
                                        "line": 202,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 202,
                                        "column": 26
                                      }
                                    },
                                    "name": "idMap"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8526,
                                    "end": 8529,
                                    "loc": {
                                      "start": {
                                        "line": 202,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 202,
                                        "column": 30
                                      }
                                    },
                                    "name": "get"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 8530,
                                    "end": 8537,
                                    "loc": {
                                      "start": {
                                        "line": 202,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 202,
                                        "column": 38
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 8530,
                                      "end": 8534,
                                      "loc": {
                                        "start": {
                                          "line": 202,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 202,
                                          "column": 35
                                        }
                                      },
                                      "name": "node"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 8535,
                                      "end": 8537,
                                      "loc": {
                                        "start": {
                                          "line": 202,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 202,
                                          "column": 38
                                        }
                                      },
                                      "name": "id"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          ],
                          "kind": "var"
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 8548,
                          "end": 8970,
                          "loc": {
                            "start": {
                              "line": 203,
                              "column": 8
                            },
                            "end": {
                              "line": 210,
                              "column": 11
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 8548,
                            "end": 8969,
                            "loc": {
                              "start": {
                                "line": 203,
                                "column": 8
                              },
                              "end": {
                                "line": 210,
                                "column": 10
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8548,
                              "end": 8574,
                              "loc": {
                                "start": {
                                  "line": 203,
                                  "column": 8
                                },
                                "end": {
                                  "line": 203,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "LogicalExpression",
                                "start": 8549,
                                "end": 8565,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 25
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 8549,
                                  "end": 8561,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 9
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 21
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8549,
                                    "end": 8553,
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 9
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 13
                                      }
                                    },
                                    "name": "node"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8554,
                                    "end": 8561,
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 21
                                      }
                                    },
                                    "name": "members"
                                  },
                                  "computed": false
                                },
                                "operator": "||",
                                "right": {
                                  "type": "ArrayExpression",
                                  "start": 8563,
                                  "end": 8565,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 25
                                    }
                                  },
                                  "elements": []
                                },
                                "parenthesizedExpression": true
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8567,
                                "end": 8574,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 34
                                  }
                                },
                                "name": "forEach"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 8575,
                                "end": 8968,
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 210,
                                    "column": 9
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 8575,
                                    "end": 8585,
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 45
                                      }
                                    },
                                    "name": "memberNode"
                                  }
                                ],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 8589,
                                  "end": 8968,
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 210,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 8603,
                                      "end": 8647,
                                      "loc": {
                                        "start": {
                                          "line": 204,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 204,
                                          "column": 56
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 8607,
                                          "end": 8646,
                                          "loc": {
                                            "start": {
                                              "line": 204,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 204,
                                              "column": 55
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 8607,
                                            "end": 8613,
                                            "loc": {
                                              "start": {
                                                "line": 204,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 204,
                                                "column": 22
                                              }
                                            },
                                            "name": "member"
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "start": 8616,
                                            "end": 8646,
                                            "loc": {
                                              "start": {
                                                "line": 204,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 204,
                                                "column": 55
                                              }
                                            },
                                            "callee": {
                                              "type": "Identifier",
                                              "start": 8616,
                                              "end": 8627,
                                              "loc": {
                                                "start": {
                                                  "line": 204,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 204,
                                                  "column": 36
                                                }
                                              },
                                              "name": "parseMember"
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 8628,
                                                "end": 8638,
                                                "loc": {
                                                  "start": {
                                                    "line": 204,
                                                    "column": 37
                                                  },
                                                  "end": {
                                                    "line": 204,
                                                    "column": 47
                                                  }
                                                },
                                                "name": "memberNode"
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 8640,
                                                "end": 8645,
                                                "loc": {
                                                  "start": {
                                                    "line": 204,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 204,
                                                    "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": 8660,
                                          "end": 8745,
                                          "loc": {
                                            "start": {
                                              "line": 205,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 205,
                                              "column": 97
                                            }
                                          },
                                          "range": [
                                            8660,
                                            8745
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 8758,
                                      "end": 8858,
                                      "loc": {
                                        "start": {
                                          "line": 206,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 207,
                                          "column": 47
                                        }
                                      },
                                      "test": {
                                        "type": "LogicalExpression",
                                        "start": 8762,
                                        "end": 8809,
                                        "loc": {
                                          "start": {
                                            "line": 206,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 206,
                                            "column": 63
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 8762,
                                          "end": 8768,
                                          "loc": {
                                            "start": {
                                              "line": 206,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 206,
                                              "column": 22
                                            }
                                          },
                                          "name": "member",
                                          "leadingComments": null
                                        },
                                        "operator": "&&",
                                        "right": {
                                          "type": "LogicalExpression",
                                          "start": 8773,
                                          "end": 8808,
                                          "loc": {
                                            "start": {
                                              "line": 206,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 206,
                                              "column": 62
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 8773,
                                            "end": 8787,
                                            "loc": {
                                              "start": {
                                                "line": 206,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 206,
                                                "column": 41
                                              }
                                            },
                                            "name": "allObjectsMode"
                                          },
                                          "operator": "||",
                                          "right": {
                                            "type": "BinaryExpression",
                                            "start": 8791,
                                            "end": 8808,
                                            "loc": {
                                              "start": {
                                                "line": 206,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 206,
                                                "column": 62
                                              }
                                            },
                                            "left": {
                                              "type": "Identifier",
                                              "start": 8791,
                                              "end": 8795,
                                              "loc": {
                                                "start": {
                                                  "line": 206,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 206,
                                                  "column": 49
                                                }
                                              },
                                              "name": "node"
                                            },
                                            "operator": "!==",
                                            "right": {
                                              "type": "Identifier",
                                              "start": 8800,
                                              "end": 8808,
                                              "loc": {
                                                "start": {
                                                  "line": 206,
                                                  "column": 54
                                                },
                                                "end": {
                                                  "line": 206,
                                                  "column": 62
                                                }
                                              },
                                              "name": "rootNode"
                                            }
                                          },
                                          "parenthesizedExpression": true
                                        },
                                        "leadingComments": null
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 8827,
                                        "end": 8858,
                                        "loc": {
                                          "start": {
                                            "line": 207,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 207,
                                            "column": 47
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 8827,
                                          "end": 8857,
                                          "loc": {
                                            "start": {
                                              "line": 207,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 207,
                                              "column": 46
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 8827,
                                            "end": 8843,
                                            "loc": {
                                              "start": {
                                                "line": 207,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 207,
                                                "column": 32
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 8827,
                                              "end": 8833,
                                              "loc": {
                                                "start": {
                                                  "line": 207,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 207,
                                                  "column": 22
                                                }
                                              },
                                              "name": "object"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 8834,
                                              "end": 8843,
                                              "loc": {
                                                "start": {
                                                  "line": 207,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 207,
                                                  "column": 32
                                                }
                                              },
                                              "name": "addMember"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 8844,
                                              "end": 8850,
                                              "loc": {
                                                "start": {
                                                  "line": 207,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 207,
                                                  "column": 39
                                                }
                                              },
                                              "name": "member"
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 8852,
                                              "end": 8856,
                                              "loc": {
                                                "start": {
                                                  "line": 207,
                                                  "column": 41
                                                },
                                                "end": {
                                                  "line": 207,
                                                  "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": 8660,
                                          "end": 8745,
                                          "loc": {
                                            "start": {
                                              "line": 205,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 205,
                                              "column": 97
                                            }
                                          },
                                          "range": [
                                            8660,
                                            8745
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 8871,
                                      "end": 8958,
                                      "loc": {
                                        "start": {
                                          "line": 208,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 209,
                                          "column": 36
                                        }
                                      },
                                      "test": {
                                        "type": "LogicalExpression",
                                        "start": 8875,
                                        "end": 8920,
                                        "loc": {
                                          "start": {
                                            "line": 208,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 208,
                                            "column": 61
                                          }
                                        },
                                        "left": {
                                          "type": "LogicalExpression",
                                          "start": 8875,
                                          "end": 8896,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 37
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 8875,
                                            "end": 8881,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 22
                                              }
                                            },
                                            "name": "member"
                                          },
                                          "operator": "&&",
                                          "right": {
                                            "type": "UnaryExpression",
                                            "start": 8885,
                                            "end": 8896,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 37
                                              }
                                            },
                                            "operator": "!",
                                            "prefix": true,
                                            "argument": {
                                              "type": "Identifier",
                                              "start": 8886,
                                              "end": 8896,
                                              "loc": {
                                                "start": {
                                                  "line": 208,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 208,
                                                  "column": 37
                                                }
                                              },
                                              "name": "firstChild"
                                            }
                                          }
                                        },
                                        "operator": "&&",
                                        "right": {
                                          "type": "MemberExpression",
                                          "start": 8900,
                                          "end": 8920,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 61
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 8900,
                                            "end": 8910,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 51
                                              }
                                            },
                                            "name": "memberNode"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 8911,
                                            "end": 8920,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 61
                                              }
                                            },
                                            "name": "objectMem"
                                          },
                                          "computed": false
                                        }
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 8938,
                                        "end": 8958,
                                        "loc": {
                                          "start": {
                                            "line": 209,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 209,
                                            "column": 36
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 8938,
                                          "end": 8957,
                                          "loc": {
                                            "start": {
                                              "line": 209,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 209,
                                              "column": 35
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 8938,
                                            "end": 8948,
                                            "loc": {
                                              "start": {
                                                "line": 209,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 209,
                                                "column": 26
                                              }
                                            },
                                            "name": "firstChild"
                                          },
                                          "right": {
                                            "type": "Identifier",
                                            "start": 8951,
                                            "end": 8957,
                                            "loc": {
                                              "start": {
                                                "line": 209,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 209,
                                                "column": 35
                                              }
                                            },
                                            "name": "member"
                                          }
                                        }
                                      },
                                      "alternate": null
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 8979,
                          "end": 9013,
                          "loc": {
                            "start": {
                              "line": 211,
                              "column": 8
                            },
                            "end": {
                              "line": 211,
                              "column": 42
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 8979,
                            "end": 9012,
                            "loc": {
                              "start": {
                                "line": 211,
                                "column": 8
                              },
                              "end": {
                                "line": 211,
                                "column": 41
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8979,
                              "end": 9010,
                              "loc": {
                                "start": {
                                  "line": 211,
                                  "column": 8
                                },
                                "end": {
                                  "line": 211,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8979,
                                "end": 8985,
                                "loc": {
                                  "start": {
                                    "line": 211,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 211,
                                    "column": 14
                                  }
                                },
                                "name": "object"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8986,
                                "end": 9010,
                                "loc": {
                                  "start": {
                                    "line": 211,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 211,
                                    "column": 39
                                  }
                                },
                                "name": "removeSuperfluousMembers"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            },
            {
              "type": "IfStatement",
              "start": 9026,
              "end": 9104,
              "loc": {
                "start": {
                  "line": 213,
                  "column": 4
                },
                "end": {
                  "line": 214,
                  "column": 57
                }
              },
              "test": {
                "type": "Identifier",
                "start": 9030,
                "end": 9045,
                "loc": {
                  "start": {
                    "line": 213,
                    "column": 8
                  },
                  "end": {
                    "line": 213,
                    "column": 23
                  }
                },
                "name": "addFirstChildTo"
              },
              "consequent": {
                "type": "ExpressionStatement",
                "start": 9055,
                "end": 9104,
                "loc": {
                  "start": {
                    "line": 214,
                    "column": 8
                  },
                  "end": {
                    "line": 214,
                    "column": 57
                  }
                },
                "expression": {
                  "type": "CallExpression",
                  "start": 9055,
                  "end": 9103,
                  "loc": {
                    "start": {
                      "line": 214,
                      "column": 8
                    },
                    "end": {
                      "line": 214,
                      "column": 56
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 9055,
                    "end": 9080,
                    "loc": {
                      "start": {
                        "line": 214,
                        "column": 8
                      },
                      "end": {
                        "line": 214,
                        "column": 33
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 9055,
                      "end": 9070,
                      "loc": {
                        "start": {
                          "line": 214,
                          "column": 8
                        },
                        "end": {
                          "line": 214,
                          "column": 23
                        }
                      },
                      "name": "addFirstChildTo"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 9071,
                      "end": 9080,
                      "loc": {
                        "start": {
                          "line": 214,
                          "column": 24
                        },
                        "end": {
                          "line": 214,
                          "column": 33
                        }
                      },
                      "name": "addMember"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 9081,
                      "end": 9091,
                      "loc": {
                        "start": {
                          "line": 214,
                          "column": 34
                        },
                        "end": {
                          "line": 214,
                          "column": 44
                        }
                      },
                      "name": "firstChild"
                    },
                    {
                      "type": "Identifier",
                      "start": 9093,
                      "end": 9102,
                      "loc": {
                        "start": {
                          "line": 214,
                          "column": 46
                        },
                        "end": {
                          "line": 214,
                          "column": 55
                        }
                      },
                      "name": "undefined"
                    }
                  ]
                }
              },
              "alternate": null
            },
            {
              "type": "ExpressionStatement",
              "start": 9109,
              "end": 9270,
              "loc": {
                "start": {
                  "line": 215,
                  "column": 4
                },
                "end": {
                  "line": 219,
                  "column": 7
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 9109,
                "end": 9269,
                "loc": {
                  "start": {
                    "line": 215,
                    "column": 4
                  },
                  "end": {
                    "line": 219,
                    "column": 6
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 9109,
                  "end": 9135,
                  "loc": {
                    "start": {
                      "line": 215,
                      "column": 4
                    },
                    "end": {
                      "line": 215,
                      "column": 30
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 9109,
                    "end": 9127,
                    "loc": {
                      "start": {
                        "line": 215,
                        "column": 4
                      },
                      "end": {
                        "line": 215,
                        "column": 22
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 9109,
                      "end": 9119,
                      "loc": {
                        "start": {
                          "line": 215,
                          "column": 4
                        },
                        "end": {
                          "line": 215,
                          "column": 14
                        }
                      },
                      "name": "objectTree"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 9120,
                      "end": 9127,
                      "loc": {
                        "start": {
                          "line": 215,
                          "column": 15
                        },
                        "end": {
                          "line": 215,
                          "column": 22
                        }
                      },
                      "name": "objects"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 9128,
                    "end": 9135,
                    "loc": {
                      "start": {
                        "line": 215,
                        "column": 23
                      },
                      "end": {
                        "line": 215,
                        "column": 30
                      }
                    },
                    "name": "forEach"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "ArrowFunctionExpression",
                    "start": 9136,
                    "end": 9268,
                    "loc": {
                      "start": {
                        "line": 215,
                        "column": 31
                      },
                      "end": {
                        "line": 219,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 9136,
                        "end": 9140,
                        "loc": {
                          "start": {
                            "line": 215,
                            "column": 31
                          },
                          "end": {
                            "line": 215,
                            "column": 35
                          }
                        },
                        "name": "node"
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 9144,
                      "end": 9268,
                      "loc": {
                        "start": {
                          "line": 215,
                          "column": 39
                        },
                        "end": {
                          "line": 219,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "IfStatement",
                          "start": 9154,
                          "end": 9186,
                          "loc": {
                            "start": {
                              "line": 216,
                              "column": 8
                            },
                            "end": {
                              "line": 216,
                              "column": 40
                            }
                          },
                          "test": {
                            "type": "UnaryExpression",
                            "start": 9158,
                            "end": 9177,
                            "loc": {
                              "start": {
                                "line": 216,
                                "column": 12
                              },
                              "end": {
                                "line": 216,
                                "column": 31
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "CallExpression",
                              "start": 9159,
                              "end": 9177,
                              "loc": {
                                "start": {
                                  "line": 216,
                                  "column": 13
                                },
                                "end": {
                                  "line": 216,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 9159,
                                "end": 9168,
                                "loc": {
                                  "start": {
                                    "line": 216,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 216,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 9159,
                                  "end": 9164,
                                  "loc": {
                                    "start": {
                                      "line": 216,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 216,
                                      "column": 18
                                    }
                                  },
                                  "name": "idMap"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9165,
                                  "end": 9168,
                                  "loc": {
                                    "start": {
                                      "line": 216,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 216,
                                      "column": 22
                                    }
                                  },
                                  "name": "has"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 9169,
                                  "end": 9176,
                                  "loc": {
                                    "start": {
                                      "line": 216,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 216,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 9169,
                                    "end": 9173,
                                    "loc": {
                                      "start": {
                                        "line": 216,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 216,
                                        "column": 27
                                      }
                                    },
                                    "name": "node"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9174,
                                    "end": 9176,
                                    "loc": {
                                      "start": {
                                        "line": 216,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 216,
                                        "column": 30
                                      }
                                    },
                                    "name": "id"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          "consequent": {
                            "type": "ReturnStatement",
                            "start": 9179,
                            "end": 9186,
                            "loc": {
                              "start": {
                                "line": 216,
                                "column": 33
                              },
                              "end": {
                                "line": 216,
                                "column": 40
                              }
                            },
                            "argument": null
                          },
                          "alternate": null
                        },
                        {
                          "type": "VariableDeclaration",
                          "start": 9195,
                          "end": 9227,
                          "loc": {
                            "start": {
                              "line": 217,
                              "column": 8
                            },
                            "end": {
                              "line": 217,
                              "column": 40
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 9199,
                              "end": 9226,
                              "loc": {
                                "start": {
                                  "line": 217,
                                  "column": 12
                                },
                                "end": {
                                  "line": 217,
                                  "column": 39
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 9199,
                                "end": 9205,
                                "loc": {
                                  "start": {
                                    "line": 217,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 217,
                                    "column": 18
                                  }
                                },
                                "name": "object"
                              },
                              "init": {
                                "type": "CallExpression",
                                "start": 9208,
                                "end": 9226,
                                "loc": {
                                  "start": {
                                    "line": 217,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 217,
                                    "column": 39
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9208,
                                  "end": 9217,
                                  "loc": {
                                    "start": {
                                      "line": 217,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 217,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 9208,
                                    "end": 9213,
                                    "loc": {
                                      "start": {
                                        "line": 217,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 217,
                                        "column": 26
                                      }
                                    },
                                    "name": "idMap"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9214,
                                    "end": 9217,
                                    "loc": {
                                      "start": {
                                        "line": 217,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 217,
                                        "column": 30
                                      }
                                    },
                                    "name": "get"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 9218,
                                    "end": 9225,
                                    "loc": {
                                      "start": {
                                        "line": 217,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 217,
                                        "column": 38
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 9218,
                                      "end": 9222,
                                      "loc": {
                                        "start": {
                                          "line": 217,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 217,
                                          "column": 35
                                        }
                                      },
                                      "name": "node"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9223,
                                      "end": 9225,
                                      "loc": {
                                        "start": {
                                          "line": 217,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 217,
                                          "column": 38
                                        }
                                      },
                                      "name": "id"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          ],
                          "kind": "var"
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 9236,
                          "end": 9262,
                          "loc": {
                            "start": {
                              "line": 218,
                              "column": 8
                            },
                            "end": {
                              "line": 218,
                              "column": 34
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 9236,
                            "end": 9261,
                            "loc": {
                              "start": {
                                "line": 218,
                                "column": 8
                              },
                              "end": {
                                "line": 218,
                                "column": 33
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9236,
                              "end": 9259,
                              "loc": {
                                "start": {
                                  "line": 218,
                                  "column": 8
                                },
                                "end": {
                                  "line": 218,
                                  "column": 31
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9236,
                                "end": 9242,
                                "loc": {
                                  "start": {
                                    "line": 218,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 218,
                                    "column": 14
                                  }
                                },
                                "name": "object"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9243,
                                "end": 9259,
                                "loc": {
                                  "start": {
                                    "line": 218,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 218,
                                    "column": 31
                                  }
                                },
                                "name": "finishedUpdating"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            },
            {
              "type": "ReturnStatement",
              "start": 9275,
              "end": 9335,
              "loc": {
                "start": {
                  "line": 220,
                  "column": 4
                },
                "end": {
                  "line": 220,
                  "column": 64
                }
              },
              "argument": {
                "type": "ConditionalExpression",
                "start": 9282,
                "end": 9334,
                "loc": {
                  "start": {
                    "line": 220,
                    "column": 11
                  },
                  "end": {
                    "line": 220,
                    "column": 63
                  }
                },
                "test": {
                  "type": "Identifier",
                  "start": 9282,
                  "end": 9296,
                  "loc": {
                    "start": {
                      "line": 220,
                      "column": 11
                    },
                    "end": {
                      "line": 220,
                      "column": 25
                    }
                  },
                  "name": "allObjectsMode"
                },
                "consequent": {
                  "type": "CallExpression",
                  "start": 9299,
                  "end": 9321,
                  "loc": {
                    "start": {
                      "line": 220,
                      "column": 28
                    },
                    "end": {
                      "line": 220,
                      "column": 50
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 9299,
                    "end": 9308,
                    "loc": {
                      "start": {
                        "line": 220,
                        "column": 28
                      },
                      "end": {
                        "line": 220,
                        "column": 37
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 9299,
                      "end": 9304,
                      "loc": {
                        "start": {
                          "line": 220,
                          "column": 28
                        },
                        "end": {
                          "line": 220,
                          "column": 33
                        }
                      },
                      "name": "idMap"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 9305,
                      "end": 9308,
                      "loc": {
                        "start": {
                          "line": 220,
                          "column": 34
                        },
                        "end": {
                          "line": 220,
                          "column": 37
                        }
                      },
                      "name": "get"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "start": 9309,
                      "end": 9320,
                      "loc": {
                        "start": {
                          "line": 220,
                          "column": 38
                        },
                        "end": {
                          "line": 220,
                          "column": 49
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 9309,
                        "end": 9317,
                        "loc": {
                          "start": {
                            "line": 220,
                            "column": 38
                          },
                          "end": {
                            "line": 220,
                            "column": 46
                          }
                        },
                        "name": "rootNode"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 9318,
                        "end": 9320,
                        "loc": {
                          "start": {
                            "line": 220,
                            "column": 47
                          },
                          "end": {
                            "line": 220,
                            "column": 49
                          }
                        },
                        "name": "id"
                      },
                      "computed": false
                    }
                  ]
                },
                "alternate": {
                  "type": "Identifier",
                  "start": 9324,
                  "end": 9334,
                  "loc": {
                    "start": {
                      "line": 220,
                      "column": 53
                    },
                    "end": {
                      "line": 220,
                      "column": 63
                    }
                  },
                  "name": "firstChild"
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " Given object tree (resulting from CADH_JSONExportStr service method), return a corresponding object hierarchy.",
            "start": 6433,
            "end": 6546,
            "loc": {
              "start": {
                "line": 168,
                "column": 0
              },
              "end": {
                "line": 168,
                "column": 113
              }
            },
            "range": [
              6433,
              6546
            ]
          },
          {
            "type": "CommentLine",
            "value": " If 'this' is defined, treat it as a root of an existing object hierarchy to be updated.",
            "start": 6547,
            "end": 6637,
            "loc": {
              "start": {
                "line": 169,
                "column": 0
              },
              "end": {
                "line": 169,
                "column": 90
              }
            },
            "range": [
              6547,
              6637
            ]
          },
          {
            "type": "CommentLine",
            "value": " If addFirstChildTo is defined, add first toplevel child to it as a member",
            "start": 6638,
            "end": 6714,
            "loc": {
              "start": {
                "line": 170,
                "column": 0
              },
              "end": {
                "line": 170,
                "column": 76
              }
            },
            "range": [
              6638,
              6714
            ]
          },
          {
            "type": "CommentLine",
            "value": " addFirstChildTo is a workaround to guarantee that finishedUpdating is called after all addMember calls",
            "start": 6715,
            "end": 6820,
            "loc": {
              "start": {
                "line": 171,
                "column": 0
              },
              "end": {
                "line": 171,
                "column": 105
              }
            },
            "range": [
              6715,
              6820
            ]
          },
          {
            "type": "CommentLine",
            "value": " If toplevelChildren is passed, then treat it as an array of objects to parse toplevel children to",
            "start": 6821,
            "end": 6921,
            "loc": {
              "start": {
                "line": 172,
                "column": 0
              },
              "end": {
                "line": 172,
                "column": 100
              }
            },
            "range": [
              6821,
              6921
            ]
          },
          {
            "type": "CommentLine",
            "value": " return first child of the root or the root object depending on whether toplevelChildren is passed",
            "start": 6922,
            "end": 7022,
            "loc": {
              "start": {
                "line": 173,
                "column": 0
              },
              "end": {
                "line": 173,
                "column": 100
              }
            },
            "range": [
              6922,
              7022
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": null,
      "source": null,
      "leadingComments": null
    },
    {
      "type": "ExportNamedDeclaration",
      "start": 10009,
      "end": 10185,
      "loc": {
        "start": {
          "line": 244,
          "column": 0
        },
        "end": {
          "line": 255,
          "column": 2
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 9644,
        "end": 10007,
        "loc": {
          "start": {
            "line": 231,
            "column": 0
          },
          "end": {
            "line": 242,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 9653,
          "end": 9665,
          "loc": {
            "start": {
              "line": 231,
              "column": 9
            },
            "end": {
              "line": 231,
              "column": 21
            }
          },
          "name": "trackPromise",
          "leadingComments": null
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 9666,
            "end": 9673,
            "loc": {
              "start": {
                "line": 231,
                "column": 22
              },
              "end": {
                "line": 231,
                "column": 29
              }
            },
            "name": "promise"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 9675,
          "end": 10007,
          "loc": {
            "start": {
              "line": 231,
              "column": 31
            },
            "end": {
              "line": 242,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ExpressionStatement",
              "start": 9681,
              "end": 9710,
              "loc": {
                "start": {
                  "line": 232,
                  "column": 4
                },
                "end": {
                  "line": 232,
                  "column": 33
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 9681,
                "end": 9709,
                "loc": {
                  "start": {
                    "line": 232,
                    "column": 4
                  },
                  "end": {
                    "line": 232,
                    "column": 32
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 9681,
                  "end": 9700,
                  "loc": {
                    "start": {
                      "line": 232,
                      "column": 4
                    },
                    "end": {
                      "line": 232,
                      "column": 23
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 9681,
                    "end": 9696,
                    "loc": {
                      "start": {
                        "line": 232,
                        "column": 4
                      },
                      "end": {
                        "line": 232,
                        "column": 19
                      }
                    },
                    "name": "pendingPromises"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 9697,
                    "end": 9700,
                    "loc": {
                      "start": {
                        "line": 232,
                        "column": 20
                      },
                      "end": {
                        "line": 232,
                        "column": 23
                      }
                    },
                    "name": "add"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 9701,
                    "end": 9708,
                    "loc": {
                      "start": {
                        "line": 232,
                        "column": 24
                      },
                      "end": {
                        "line": 232,
                        "column": 31
                      }
                    },
                    "name": "promise"
                  }
                ]
              }
            },
            {
              "type": "ReturnStatement",
              "start": 9715,
              "end": 10005,
              "loc": {
                "start": {
                  "line": 233,
                  "column": 4
                },
                "end": {
                  "line": 241,
                  "column": 7
                }
              },
              "argument": {
                "type": "CallExpression",
                "start": 9722,
                "end": 10004,
                "loc": {
                  "start": {
                    "line": 233,
                    "column": 11
                  },
                  "end": {
                    "line": 241,
                    "column": 6
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 9722,
                  "end": 9734,
                  "loc": {
                    "start": {
                      "line": 233,
                      "column": 11
                    },
                    "end": {
                      "line": 233,
                      "column": 23
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 9722,
                    "end": 9729,
                    "loc": {
                      "start": {
                        "line": 233,
                        "column": 11
                      },
                      "end": {
                        "line": 233,
                        "column": 18
                      }
                    },
                    "name": "promise"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 9730,
                    "end": 9734,
                    "loc": {
                      "start": {
                        "line": 233,
                        "column": 19
                      },
                      "end": {
                        "line": 233,
                        "column": 23
                      }
                    },
                    "name": "then"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "FunctionExpression",
                    "start": 9735,
                    "end": 9830,
                    "loc": {
                      "start": {
                        "line": 233,
                        "column": 24
                      },
                      "end": {
                        "line": 236,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 9744,
                        "end": 9745,
                        "loc": {
                          "start": {
                            "line": 233,
                            "column": 33
                          },
                          "end": {
                            "line": 233,
                            "column": 34
                          }
                        },
                        "name": "x"
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 9747,
                      "end": 9830,
                      "loc": {
                        "start": {
                          "line": 233,
                          "column": 36
                        },
                        "end": {
                          "line": 236,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 9757,
                          "end": 9789,
                          "loc": {
                            "start": {
                              "line": 234,
                              "column": 8
                            },
                            "end": {
                              "line": 234,
                              "column": 40
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 9757,
                            "end": 9788,
                            "loc": {
                              "start": {
                                "line": 234,
                                "column": 8
                              },
                              "end": {
                                "line": 234,
                                "column": 39
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9757,
                              "end": 9779,
                              "loc": {
                                "start": {
                                  "line": 234,
                                  "column": 8
                                },
                                "end": {
                                  "line": 234,
                                  "column": 30
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9757,
                                "end": 9772,
                                "loc": {
                                  "start": {
                                    "line": 234,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 234,
                                    "column": 23
                                  }
                                },
                                "name": "pendingPromises"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9773,
                                "end": 9779,
                                "loc": {
                                  "start": {
                                    "line": 234,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 234,
                                    "column": 30
                                  }
                                },
                                "name": "delete"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 9780,
                                "end": 9787,
                                "loc": {
                                  "start": {
                                    "line": 234,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 234,
                                    "column": 38
                                  }
                                },
                                "name": "promise"
                              }
                            ]
                          }
                        },
                        {
                          "type": "ReturnStatement",
                          "start": 9798,
                          "end": 9824,
                          "loc": {
                            "start": {
                              "line": 235,
                              "column": 8
                            },
                            "end": {
                              "line": 235,
                              "column": 34
                            }
                          },
                          "argument": {
                            "type": "CallExpression",
                            "start": 9805,
                            "end": 9823,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 15
                              },
                              "end": {
                                "line": 235,
                                "column": 33
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9805,
                              "end": 9820,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 15
                                },
                                "end": {
                                  "line": 235,
                                  "column": 30
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9805,
                                "end": 9812,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 22
                                  }
                                },
                                "name": "Promise"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9813,
                                "end": 9820,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 30
                                  }
                                },
                                "name": "resolve"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 9821,
                                "end": 9822,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 32
                                  }
                                },
                                "name": "x"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  },
                  {
                    "type": "FunctionExpression",
                    "start": 9832,
                    "end": 10003,
                    "loc": {
                      "start": {
                        "line": 236,
                        "column": 7
                      },
                      "end": {
                        "line": 241,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 9841,
                        "end": 9842,
                        "loc": {
                          "start": {
                            "line": 236,
                            "column": 16
                          },
                          "end": {
                            "line": 236,
                            "column": 17
                          }
                        },
                        "name": "x"
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 9844,
                      "end": 10003,
                      "loc": {
                        "start": {
                          "line": 236,
                          "column": 19
                        },
                        "end": {
                          "line": 241,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "IfStatement",
                          "start": 9854,
                          "end": 9922,
                          "loc": {
                            "start": {
                              "line": 237,
                              "column": 8
                            },
                            "end": {
                              "line": 238,
                              "column": 49
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 9858,
                            "end": 9871,
                            "loc": {
                              "start": {
                                "line": 237,
                                "column": 12
                              },
                              "end": {
                                "line": 237,
                                "column": 25
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 9858,
                              "end": 9866,
                              "loc": {
                                "start": {
                                  "line": 237,
                                  "column": 12
                                },
                                "end": {
                                  "line": 237,
                                  "column": 20
                                }
                              },
                              "name": "logLevel"
                            },
                            "operator": ">=",
                            "right": {
                              "type": "Literal",
                              "start": 9870,
                              "end": 9871,
                              "loc": {
                                "start": {
                                  "line": 237,
                                  "column": 24
                                },
                                "end": {
                                  "line": 237,
                                  "column": 25
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          },
                          "consequent": {
                            "type": "ExpressionStatement",
                            "start": 9885,
                            "end": 9922,
                            "loc": {
                              "start": {
                                "line": 238,
                                "column": 12
                              },
                              "end": {
                                "line": 238,
                                "column": 49
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 9885,
                              "end": 9921,
                              "loc": {
                                "start": {
                                  "line": 238,
                                  "column": 12
                                },
                                "end": {
                                  "line": 238,
                                  "column": 48
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 9885,
                                "end": 9898,
                                "loc": {
                                  "start": {
                                    "line": 238,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 238,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 9885,
                                  "end": 9892,
                                  "loc": {
                                    "start": {
                                      "line": 238,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 238,
                                      "column": 19
                                    }
                                  },
                                  "name": "console"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9893,
                                  "end": 9898,
                                  "loc": {
                                    "start": {
                                      "line": 238,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 238,
                                      "column": 25
                                    }
                                  },
                                  "name": "error"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 9899,
                                  "end": 9917,
                                  "loc": {
                                    "start": {
                                      "line": 238,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 238,
                                      "column": 44
                                    }
                                  },
                                  "value": "rejected promise",
                                  "rawValue": "rejected promise",
                                  "raw": "\"rejected promise\""
                                },
                                {
                                  "type": "Identifier",
                                  "start": 9919,
                                  "end": 9920,
                                  "loc": {
                                    "start": {
                                      "line": 238,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 238,
                                      "column": 47
                                    }
                                  },
                                  "name": "x"
                                }
                              ]
                            }
                          },
                          "alternate": null
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 9931,
                          "end": 9963,
                          "loc": {
                            "start": {
                              "line": 239,
                              "column": 8
                            },
                            "end": {
                              "line": 239,
                              "column": 40
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 9931,
                            "end": 9962,
                            "loc": {
                              "start": {
                                "line": 239,
                                "column": 8
                              },
                              "end": {
                                "line": 239,
                                "column": 39
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9931,
                              "end": 9953,
                              "loc": {
                                "start": {
                                  "line": 239,
                                  "column": 8
                                },
                                "end": {
                                  "line": 239,
                                  "column": 30
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9931,
                                "end": 9946,
                                "loc": {
                                  "start": {
                                    "line": 239,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 239,
                                    "column": 23
                                  }
                                },
                                "name": "pendingPromises"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9947,
                                "end": 9953,
                                "loc": {
                                  "start": {
                                    "line": 239,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 239,
                                    "column": 30
                                  }
                                },
                                "name": "delete"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 9954,
                                "end": 9961,
                                "loc": {
                                  "start": {
                                    "line": 239,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 239,
                                    "column": 38
                                  }
                                },
                                "name": "promise"
                              }
                            ]
                          }
                        },
                        {
                          "type": "ReturnStatement",
                          "start": 9972,
                          "end": 9997,
                          "loc": {
                            "start": {
                              "line": 240,
                              "column": 8
                            },
                            "end": {
                              "line": 240,
                              "column": 33
                            }
                          },
                          "argument": {
                            "type": "CallExpression",
                            "start": 9979,
                            "end": 9996,
                            "loc": {
                              "start": {
                                "line": 240,
                                "column": 15
                              },
                              "end": {
                                "line": 240,
                                "column": 32
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9979,
                              "end": 9993,
                              "loc": {
                                "start": {
                                  "line": 240,
                                  "column": 15
                                },
                                "end": {
                                  "line": 240,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9979,
                                "end": 9986,
                                "loc": {
                                  "start": {
                                    "line": 240,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 240,
                                    "column": 22
                                  }
                                },
                                "name": "Promise"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9987,
                                "end": 9993,
                                "loc": {
                                  "start": {
                                    "line": 240,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 240,
                                    "column": 29
                                  }
                                },
                                "name": "reject"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 9994,
                                "end": 9995,
                                "loc": {
                                  "start": {
                                    "line": 240,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 240,
                                    "column": 31
                                  }
                                },
                                "name": "x"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " Mark the promise for tracking:",
            "start": 9373,
            "end": 9406,
            "loc": {
              "start": {
                "line": 225,
                "column": 0
              },
              "end": {
                "line": 225,
                "column": 33
              }
            },
            "range": [
              9373,
              9406
            ]
          },
          {
            "type": "CommentLine",
            "value": "   log if promise rejects",
            "start": 9407,
            "end": 9434,
            "loc": {
              "start": {
                "line": 226,
                "column": 0
              },
              "end": {
                "line": 226,
                "column": 27
              }
            },
            "range": [
              9407,
              9434
            ]
          },
          {
            "type": "CommentLine",
            "value": "   provide api to wait for completion of all tracked promises",
            "start": 9435,
            "end": 9498,
            "loc": {
              "start": {
                "line": 227,
                "column": 0
              },
              "end": {
                "line": 227,
                "column": 63
              }
            },
            "range": [
              9435,
              9498
            ]
          },
          {
            "type": "CommentLine",
            "value": " Use this function on promises you would otherwise",
            "start": 9499,
            "end": 9551,
            "loc": {
              "start": {
                "line": 228,
                "column": 0
              },
              "end": {
                "line": 228,
                "column": 52
              }
            },
            "range": [
              9499,
              9551
            ]
          },
          {
            "type": "CommentLine",
            "value": " leak, i. e. not return and not call .then.",
            "start": 9552,
            "end": 9597,
            "loc": {
              "start": {
                "line": 229,
                "column": 0
              },
              "end": {
                "line": 229,
                "column": 45
              }
            },
            "range": [
              9552,
              9597
            ]
          },
          {
            "type": "CommentLine",
            "value": " You should likely ignore the return value.",
            "start": 9598,
            "end": 9643,
            "loc": {
              "start": {
                "line": 230,
                "column": 0
              },
              "end": {
                "line": 230,
                "column": 45
              }
            },
            "range": [
              9598,
              9643
            ]
          }
        ],
        "trailingComments": []
      },
      "specifiers": null,
      "source": null,
      "leadingComments": null
    }
  ]
}