{
  "graph": {
    "name": "",
    "isFolderOnly": false,
    "ast": {
      "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,0:0:0-18:0:117",
      "nodes": [
        {
          "map_key": {
            "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,1:0:1-3:1:16",
            "key": {
              "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,1:0:1-1:3:4",
              "path": [
                {
                  "unquoted_string": {
                    "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,1:0:1-1:3:4",
                    "value": [
                      {
                        "string": "***",
                        "raw_string": "***"
                      }
                    ],
                    "pattern": [
                      "*",
                      "",
                      "*",
                      "",
                      "*"
                    ]
                  }
                }
              ]
            },
            "primary": {},
            "value": {
              "map": {
                "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,1:5:6-3:1:16",
                "nodes": [
                  {
                    "map_key": {
                      "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,2:2:10-2:6:14",
                      "key": {
                        "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,2:2:10-2:3:11",
                        "path": [
                          {
                            "unquoted_string": {
                              "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,2:2:10-2:3:11",
                              "value": [
                                {
                                  "string": "c",
                                  "raw_string": "c"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "primary": {},
                      "value": {
                        "unquoted_string": {
                          "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,2:5:13-2:6:14",
                          "value": [
                            {
                              "string": "d",
                              "raw_string": "d"
                            }
                          ]
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        {
          "map_key": {
            "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,5:0:18-7:1:44",
            "key": {
              "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,5:0:18-5:3:21",
              "path": [
                {
                  "unquoted_string": {
                    "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,5:0:18-5:3:21",
                    "value": [
                      {
                        "string": "***",
                        "raw_string": "***"
                      }
                    ],
                    "pattern": [
                      "*",
                      "",
                      "*",
                      "",
                      "*"
                    ]
                  }
                }
              ]
            },
            "primary": {},
            "value": {
              "map": {
                "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,5:5:23-7:1:44",
                "nodes": [
                  {
                    "map_key": {
                      "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,6:2:27-6:17:42",
                      "key": {
                        "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,6:2:27-6:12:37",
                        "path": [
                          {
                            "unquoted_string": {
                              "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,6:2:27-6:7:32",
                              "value": [
                                {
                                  "string": "style",
                                  "raw_string": "style"
                                }
                              ]
                            }
                          },
                          {
                            "unquoted_string": {
                              "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,6:8:33-6:12:37",
                              "value": [
                                {
                                  "string": "fill",
                                  "raw_string": "fill"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "primary": {},
                      "value": {
                        "unquoted_string": {
                          "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,6:14:39-6:17:42",
                          "value": [
                            {
                              "string": "red",
                              "raw_string": "red"
                            }
                          ]
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        {
          "map_key": {
            "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,9:0:46-12:1:82",
            "key": {
              "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,9:0:46-9:5:51",
              "path": [
                {
                  "unquoted_string": {
                    "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,9:0:46-9:5:51",
                    "value": [
                      {
                        "string": "table",
                        "raw_string": "table"
                      }
                    ]
                  }
                }
              ]
            },
            "primary": {},
            "value": {
              "map": {
                "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,9:7:53-12:1:82",
                "nodes": [
                  {
                    "map_key": {
                      "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,10:2:57-10:18:73",
                      "key": {
                        "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,10:2:57-10:7:62",
                        "path": [
                          {
                            "unquoted_string": {
                              "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,10:2:57-10:7:62",
                              "value": [
                                {
                                  "string": "shape",
                                  "raw_string": "shape"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "primary": {},
                      "value": {
                        "unquoted_string": {
                          "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,10:9:64-10:18:73",
                          "value": [
                            {
                              "string": "sql_table",
                              "raw_string": "sql_table"
                            }
                          ]
                        }
                      }
                    }
                  },
                  {
                    "map_key": {
                      "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,11:2:76-11:6:80",
                      "key": {
                        "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,11:2:76-11:3:77",
                        "path": [
                          {
                            "unquoted_string": {
                              "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,11:2:76-11:3:77",
                              "value": [
                                {
                                  "string": "a",
                                  "raw_string": "a"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "primary": {},
                      "value": {
                        "unquoted_string": {
                          "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,11:5:79-11:6:80",
                          "value": [
                            {
                              "string": "b",
                              "raw_string": "b"
                            }
                          ]
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        {
          "map_key": {
            "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,14:0:84-17:1:116",
            "key": {
              "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,14:0:84-14:5:89",
              "path": [
                {
                  "unquoted_string": {
                    "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,14:0:84-14:5:89",
                    "value": [
                      {
                        "string": "class",
                        "raw_string": "class"
                      }
                    ]
                  }
                }
              ]
            },
            "primary": {},
            "value": {
              "map": {
                "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,14:7:91-17:1:116",
                "nodes": [
                  {
                    "map_key": {
                      "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,15:2:95-15:14:107",
                      "key": {
                        "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,15:2:95-15:7:100",
                        "path": [
                          {
                            "unquoted_string": {
                              "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,15:2:95-15:7:100",
                              "value": [
                                {
                                  "string": "shape",
                                  "raw_string": "shape"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "primary": {},
                      "value": {
                        "unquoted_string": {
                          "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,15:9:102-15:14:107",
                          "value": [
                            {
                              "string": "class",
                              "raw_string": "class"
                            }
                          ]
                        }
                      }
                    }
                  },
                  {
                    "map_key": {
                      "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,16:2:110-16:6:114",
                      "key": {
                        "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,16:2:110-16:3:111",
                        "path": [
                          {
                            "unquoted_string": {
                              "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,16:2:110-16:3:111",
                              "value": [
                                {
                                  "string": "a",
                                  "raw_string": "a"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "primary": {},
                      "value": {
                        "unquoted_string": {
                          "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,16:5:113-16:6:114",
                          "value": [
                            {
                              "string": "b",
                              "raw_string": "b"
                            }
                          ]
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      ]
    },
    "root": {
      "id": "",
      "id_val": "",
      "attributes": {
        "label": {
          "value": ""
        },
        "labelDimensions": {
          "width": 0,
          "height": 0
        },
        "style": {},
        "iconStyle": {},
        "near_key": null,
        "shape": {
          "value": ""
        },
        "direction": {
          "value": ""
        },
        "constraint": null
      },
      "zIndex": 0
    },
    "edges": null,
    "objects": [
      {
        "id": "table",
        "id_val": "table",
        "references": [
          {
            "key": {
              "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,9:0:46-9:5:51",
              "path": [
                {
                  "unquoted_string": {
                    "range": "d2/testdata/d2compiler/TestCompile2/globs/alixander-lazy-globs-review/3.d2,9:0:46-9:5:51",
                    "value": [
                      {
                        "string": "table",
                        "raw_string": "table"
                      }
                    ]
                  }
                }
              ]
            },
            "key_path_index": 0,
            "map_key_edge_index": -1
          }
        ],
        "sql_table": {
          "columns": [
            {
              "name": {
                "label": "c",
                "fontSize": 0,
                "fontFamily": "",
                "language": "",
                "color": "",
                "italic": false,
                "bold": false,
                "underline": false,
                "labelWidth": 0,
                "labelHeight": 0
              },
              "type": {
                "label": "d",
                "fontSize": 0,
                "fontFamily": "",
                "language": "",
                "color": "",
                "italic": false,
                "bold": false,
                "underline": false,
                "labelWidth": 0,
                "labelHeight": 0
              },
              "constraint": null,
              "reference": ""
            },
            {
              "name": {
                "label": "a",
                "fontSize": 0,
                "fontFamily": "",
                "language": "",
                "color": "",
                "italic": false,
                "bold": false,
                "underline": false,
                "labelWidth": 0,
                "labelHeight": 0
              },
              "type": {
                "label": "b",
                "fontSize": 0,
                "fontFamily": "",
                "language": "",
                "color": "",
                "italic": false,
                "bold": false,
                "underline": false,
                "labelWidth": 0,
                "labelHeight": 0
              },
              "constraint": null,
              "reference": ""
            }
          ]
        },
        "attributes": {
          "label": {
            "value": "table"
          },
          "labelDimensions": {
            "width": 0,
            "height": 0
          },
          "style": {
            "fill": {
              "value": "red"
            }
          },
          "iconStyle": {},
          "near_key": null,
          "shape": {
            "value": "sql_table"
          },
          "direction": {
            "value": ""
          },
          "constraint": null
        },
        "zIndex": 0
      }
    ]
  },
  "err": null
}
