{
  "type": "Program",
  "body": [
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "Config",
            "range": [
              27,
              33
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 6
              },
              "end": {
                "line": 3,
                "column": 12
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "Identifier",
              "name": "require",
              "range": [
                36,
                43
              ],
              "loc": {
                "start": {
                  "line": 3,
                  "column": 15
                },
                "end": {
                  "line": 3,
                  "column": 22
                }
              }
            },
            "arguments": [
              {
                "type": "Literal",
                "value": "merge-config",
                "raw": "'merge-config'",
                "range": [
                  45,
                  59
                ],
                "loc": {
                  "start": {
                    "line": 3,
                    "column": 24
                  },
                  "end": {
                    "line": 3,
                    "column": 38
                  }
                }
              }
            ],
            "range": [
              36,
              61
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 15
              },
              "end": {
                "line": 3,
                "column": 40
              }
            }
          },
          "range": [
            27,
            61
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 6
            },
            "end": {
              "line": 3,
              "column": 40
            }
          }
        }
      ],
      "kind": "const",
      "range": [
        21,
        62
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 41
        }
      },
      "leadingComments": [
        {
          "type": "Line",
          "value": "/usr/bin/env node",
          "range": [
            0,
            19
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 1,
              "column": 19
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "hash",
            "range": [
              69,
              73
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 6
              },
              "end": {
                "line": 4,
                "column": 10
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "Identifier",
              "name": "require",
              "range": [
                76,
                83
              ],
              "loc": {
                "start": {
                  "line": 4,
                  "column": 13
                },
                "end": {
                  "line": 4,
                  "column": 20
                }
              }
            },
            "arguments": [
              {
                "type": "Literal",
                "value": "object-hash",
                "raw": "'object-hash'",
                "range": [
                  85,
                  98
                ],
                "loc": {
                  "start": {
                    "line": 4,
                    "column": 22
                  },
                  "end": {
                    "line": 4,
                    "column": 35
                  }
                }
              }
            ],
            "range": [
              76,
              100
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 13
              },
              "end": {
                "line": 4,
                "column": 37
              }
            }
          },
          "range": [
            69,
            100
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 6
            },
            "end": {
              "line": 4,
              "column": 37
            }
          }
        }
      ],
      "kind": "const",
      "range": [
        63,
        101
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 38
        }
      }
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "path",
            "range": [
              108,
              112
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 6
              },
              "end": {
                "line": 5,
                "column": 10
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "Identifier",
              "name": "require",
              "range": [
                115,
                122
              ],
              "loc": {
                "start": {
                  "line": 5,
                  "column": 13
                },
                "end": {
                  "line": 5,
                  "column": 20
                }
              }
            },
            "arguments": [
              {
                "type": "Literal",
                "value": "path",
                "raw": "'path'",
                "range": [
                  124,
                  130
                ],
                "loc": {
                  "start": {
                    "line": 5,
                    "column": 22
                  },
                  "end": {
                    "line": 5,
                    "column": 28
                  }
                }
              }
            ],
            "range": [
              115,
              132
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 13
              },
              "end": {
                "line": 5,
                "column": 30
              }
            }
          },
          "range": [
            108,
            132
          ],
          "loc": {
            "start": {
              "line": 5,
              "column": 6
            },
            "end": {
              "line": 5,
              "column": 30
            }
          }
        }
      ],
      "kind": "const",
      "range": [
        102,
        133
      ],
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 31
        }
      }
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "urljoin",
            "range": [
              140,
              147
            ],
            "loc": {
              "start": {
                "line": 6,
                "column": 6
              },
              "end": {
                "line": 6,
                "column": 13
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "Identifier",
              "name": "require",
              "range": [
                150,
                157
              ],
              "loc": {
                "start": {
                  "line": 6,
                  "column": 16
                },
                "end": {
                  "line": 6,
                  "column": 23
                }
              }
            },
            "arguments": [
              {
                "type": "Literal",
                "value": "url-join",
                "raw": "'url-join'",
                "range": [
                  159,
                  169
                ],
                "loc": {
                  "start": {
                    "line": 6,
                    "column": 25
                  },
                  "end": {
                    "line": 6,
                    "column": 35
                  }
                }
              }
            ],
            "range": [
              150,
              171
            ],
            "loc": {
              "start": {
                "line": 6,
                "column": 16
              },
              "end": {
                "line": 6,
                "column": 37
              }
            }
          },
          "range": [
            140,
            171
          ],
          "loc": {
            "start": {
              "line": 6,
              "column": 6
            },
            "end": {
              "line": 6,
              "column": 37
            }
          }
        }
      ],
      "kind": "const",
      "range": [
        134,
        172
      ],
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 38
        }
      }
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "utils",
            "range": [
              179,
              184
            ],
            "loc": {
              "start": {
                "line": 7,
                "column": 6
              },
              "end": {
                "line": 7,
                "column": 11
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "Identifier",
              "name": "require",
              "range": [
                187,
                194
              ],
              "loc": {
                "start": {
                  "line": 7,
                  "column": 14
                },
                "end": {
                  "line": 7,
                  "column": 21
                }
              }
            },
            "arguments": [
              {
                "type": "Literal",
                "value": "../utils",
                "raw": "'../utils'",
                "range": [
                  196,
                  206
                ],
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 23
                  },
                  "end": {
                    "line": 7,
                    "column": 33
                  }
                }
              }
            ],
            "range": [
              187,
              208
            ],
            "loc": {
              "start": {
                "line": 7,
                "column": 14
              },
              "end": {
                "line": 7,
                "column": 35
              }
            }
          },
          "range": [
            179,
            208
          ],
          "loc": {
            "start": {
              "line": 7,
              "column": 6
            },
            "end": {
              "line": 7,
              "column": 35
            }
          }
        }
      ],
      "kind": "const",
      "range": [
        173,
        209
      ],
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 36
        }
      },
      "trailingComments": [
        {
          "type": "Line",
          "value": " Build up a configuration object from a spec file and/or spec object.",
          "range": [
            211,
            282
          ],
          "loc": {
            "start": {
              "line": 9,
              "column": 0
            },
            "end": {
              "line": 9,
              "column": 71
            }
          }
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "expression": {
        "type": "AssignmentExpression",
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "computed": false,
          "object": {
            "type": "MemberExpression",
            "computed": false,
            "object": {
              "type": "Identifier",
              "name": "module",
              "range": [
                283,
                289
              ],
              "loc": {
                "start": {
                  "line": 10,
                  "column": 0
                },
                "end": {
                  "line": 10,
                  "column": 6
                }
              }
            },
            "property": {
              "type": "Identifier",
              "name": "exports",
              "range": [
                290,
                297
              ],
              "loc": {
                "start": {
                  "line": 10,
                  "column": 7
                },
                "end": {
                  "line": 10,
                  "column": 14
                }
              }
            },
            "range": [
              283,
              297
            ],
            "loc": {
              "start": {
                "line": 10,
                "column": 0
              },
              "end": {
                "line": 10,
                "column": 14
              }
            }
          },
          "property": {
            "type": "Identifier",
            "name": "build_config",
            "range": [
              298,
              310
            ],
            "loc": {
              "start": {
                "line": 10,
                "column": 15
              },
              "end": {
                "line": 10,
                "column": 27
              }
            }
          },
          "range": [
            283,
            310
          ],
          "loc": {
            "start": {
              "line": 10,
              "column": 0
            },
            "end": {
              "line": 10,
              "column": 27
            }
          }
        },
        "right": {
          "type": "FunctionExpression",
          "id": {
            "type": "Identifier",
            "name": "build_config",
            "range": [
              298,
              310
            ],
            "loc": {
              "start": {
                "line": 10,
                "column": 15
              },
              "end": {
                "line": 10,
                "column": 27
              }
            }
          },
          "params": [
            {
              "type": "Identifier",
              "name": "spec_file",
              "range": [
                323,
                332
              ],
              "loc": {
                "start": {
                  "line": 10,
                  "column": 40
                },
                "end": {
                  "line": 10,
                  "column": 49
                }
              }
            },
            {
              "type": "Identifier",
              "name": "spec_obj",
              "range": [
                334,
                342
              ],
              "loc": {
                "start": {
                  "line": 10,
                  "column": 51
                },
                "end": {
                  "line": 10,
                  "column": 59
                }
              }
            }
          ],
          "body": {
            "type": "BlockStatement",
            "body": [
              {
                "type": "VariableDeclaration",
                "declarations": [
                  {
                    "type": "VariableDeclarator",
                    "id": {
                      "type": "Identifier",
                      "name": "built_config",
                      "range": [
                        432,
                        444
                      ],
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 8
                        },
                        "end": {
                          "line": 12,
                          "column": 20
                        }
                      }
                    },
                    "init": {
                      "type": "NewExpression",
                      "callee": {
                        "type": "Identifier",
                        "name": "Config",
                        "range": [
                          451,
                          457
                        ],
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 27
                          },
                          "end": {
                            "line": 12,
                            "column": 33
                          }
                        }
                      },
                      "arguments": [],
                      "range": [
                        447,
                        459
                      ],
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 23
                        },
                        "end": {
                          "line": 12,
                          "column": 35
                        }
                      }
                    },
                    "range": [
                      432,
                      459
                    ],
                    "loc": {
                      "start": {
                        "line": 12,
                        "column": 8
                      },
                      "end": {
                        "line": 12,
                        "column": 35
                      }
                    }
                  }
                ],
                "kind": "const",
                "range": [
                  426,
                  460
                ],
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 2
                  },
                  "end": {
                    "line": 12,
                    "column": 36
                  }
                },
                "leadingComments": [
                  {
                    "type": "Line",
                    "value": " Get the global defaults then override with the specified specification.",
                    "range": [
                      349,
                      423
                    ],
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 2
                      },
                      "end": {
                        "line": 11,
                        "column": 76
                      }
                    }
                  }
                ]
              },
              {
                "type": "ExpressionStatement",
                "expression": {
                  "type": "CallExpression",
                  "callee": {
                    "type": "MemberExpression",
                    "computed": false,
                    "object": {
                      "type": "Identifier",
                      "name": "built_config",
                      "range": [
                        463,
                        475
                      ],
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 2
                        },
                        "end": {
                          "line": 13,
                          "column": 14
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "name": "file",
                      "range": [
                        476,
                        480
                      ],
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 15
                        },
                        "end": {
                          "line": 13,
                          "column": 19
                        }
                      }
                    },
                    "range": [
                      463,
                      480
                    ],
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 2
                      },
                      "end": {
                        "line": 13,
                        "column": 19
                      }
                    }
                  },
                  "arguments": [
                    {
                      "type": "CallExpression",
                      "callee": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "path",
                          "range": [
                            482,
                            486
                          ],
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 21
                            },
                            "end": {
                              "line": 13,
                              "column": 25
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "join",
                          "range": [
                            487,
                            491
                          ],
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 26
                            },
                            "end": {
                              "line": 13,
                              "column": 30
                            }
                          }
                        },
                        "range": [
                          482,
                          491
                        ],
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 21
                          },
                          "end": {
                            "line": 13,
                            "column": 30
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "__dirname",
                          "range": [
                            493,
                            502
                          ],
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 32
                            },
                            "end": {
                              "line": 13,
                              "column": 41
                            }
                          }
                        },
                        {
                          "type": "Literal",
                          "value": "..",
                          "raw": "'..'",
                          "range": [
                            504,
                            508
                          ],
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 43
                            },
                            "end": {
                              "line": 13,
                              "column": 47
                            }
                          }
                        },
                        {
                          "type": "Literal",
                          "value": "..",
                          "raw": "'..'",
                          "range": [
                            510,
                            514
                          ],
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 49
                            },
                            "end": {
                              "line": 13,
                              "column": 53
                            }
                          }
                        },
                        {
                          "type": "Literal",
                          "value": "defaults.yaml",
                          "raw": "'defaults.yaml'",
                          "range": [
                            516,
                            531
                          ],
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 55
                            },
                            "end": {
                              "line": 13,
                              "column": 70
                            }
                          }
                        }
                      ],
                      "range": [
                        482,
                        533
                      ],
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 21
                        },
                        "end": {
                          "line": 13,
                          "column": 72
                        }
                      }
                    }
                  ],
                  "range": [
                    463,
                    535
                  ],
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 2
                    },
                    "end": {
                      "line": 13,
                      "column": 74
                    }
                  }
                },
                "range": [
                  463,
                  536
                ],
                "loc": {
                  "start": {
                    "line": 13,
                    "column": 2
                  },
                  "end": {
                    "line": 13,
                    "column": 75
                  }
                }
              },
              {
                "type": "IfStatement",
                "test": {
                  "type": "Identifier",
                  "name": "spec_file",
                  "range": [
                    544,
                    553
                  ],
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 7
                    },
                    "end": {
                      "line": 14,
                      "column": 16
                    }
                  }
                },
                "consequent": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "built_config",
                            "range": [
                              562,
                              574
                            ],
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 4
                              },
                              "end": {
                                "line": 15,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "file",
                            "range": [
                              575,
                              579
                            ],
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 17
                              },
                              "end": {
                                "line": 15,
                                "column": 21
                              }
                            }
                          },
                          "range": [
                            562,
                            579
                          ],
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 4
                            },
                            "end": {
                              "line": 15,
                              "column": 21
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "name": "spec_file",
                            "range": [
                              581,
                              590
                            ],
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 23
                              },
                              "end": {
                                "line": 15,
                                "column": 32
                              }
                            }
                          }
                        ],
                        "range": [
                          562,
                          592
                        ],
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 4
                          },
                          "end": {
                            "line": 15,
                            "column": 34
                          }
                        }
                      },
                      "range": [
                        562,
                        593
                      ],
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 4
                        },
                        "end": {
                          "line": 15,
                          "column": 35
                        }
                      }
                    }
                  ],
                  "range": [
                    556,
                    597
                  ],
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 19
                    },
                    "end": {
                      "line": 16,
                      "column": 3
                    }
                  }
                },
                "alternate": null,
                "range": [
                  539,
                  597
                ],
                "loc": {
                  "start": {
                    "line": 14,
                    "column": 2
                  },
                  "end": {
                    "line": 16,
                    "column": 3
                  }
                }
              },
              {
                "type": "IfStatement",
                "test": {
                  "type": "Identifier",
                  "name": "spec_obj",
                  "range": [
                    605,
                    613
                  ],
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 7
                    },
                    "end": {
                      "line": 17,
                      "column": 15
                    }
                  }
                },
                "consequent": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "built_config",
                            "range": [
                              622,
                              634
                            ],
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 4
                              },
                              "end": {
                                "line": 18,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "merge",
                            "range": [
                              635,
                              640
                            ],
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 17
                              },
                              "end": {
                                "line": 18,
                                "column": 22
                              }
                            }
                          },
                          "range": [
                            622,
                            640
                          ],
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 4
                            },
                            "end": {
                              "line": 18,
                              "column": 22
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "name": "spec_obj",
                            "range": [
                              642,
                              650
                            ],
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 24
                              },
                              "end": {
                                "line": 18,
                                "column": 32
                              }
                            }
                          }
                        ],
                        "range": [
                          622,
                          652
                        ],
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 4
                          },
                          "end": {
                            "line": 18,
                            "column": 34
                          }
                        }
                      },
                      "range": [
                        622,
                        653
                      ],
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 4
                        },
                        "end": {
                          "line": 18,
                          "column": 35
                        }
                      }
                    }
                  ],
                  "range": [
                    616,
                    657
                  ],
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 18
                    },
                    "end": {
                      "line": 19,
                      "column": 3
                    }
                  }
                },
                "alternate": null,
                "range": [
                  600,
                  657
                ],
                "loc": {
                  "start": {
                    "line": 17,
                    "column": 2
                  },
                  "end": {
                    "line": 19,
                    "column": 3
                  }
                },
                "trailingComments": [
                  {
                    "type": "Line",
                    "value": " Set up derived config values:",
                    "range": [
                      661,
                      693
                    ],
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 2
                      },
                      "end": {
                        "line": 21,
                        "column": 34
                      }
                    }
                  },
                  {
                    "type": "Line",
                    "value": " - Download dirs and shapefile name",
                    "range": [
                      696,
                      733
                    ],
                    "loc": {
                      "start": {
                        "line": 22,
                        "column": 2
                      },
                      "end": {
                        "line": 22,
                        "column": 39
                      }
                    }
                  }
                ]
              },
              {
                "type": "VariableDeclaration",
                "declarations": [
                  {
                    "type": "VariableDeclarator",
                    "id": {
                      "type": "Identifier",
                      "name": "shape_data",
                      "range": [
                        742,
                        752
                      ],
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 8
                        },
                        "end": {
                          "line": 23,
                          "column": 18
                        }
                      }
                    },
                    "init": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "built_config",
                          "range": [
                            755,
                            767
                          ],
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 21
                            },
                            "end": {
                              "line": 23,
                              "column": 33
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "get",
                          "range": [
                            768,
                            771
                          ],
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 34
                            },
                            "end": {
                              "line": 23,
                              "column": 37
                            }
                          }
                        },
                        "range": [
                          755,
                          771
                        ],
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 21
                          },
                          "end": {
                            "line": 23,
                            "column": 37
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Literal",
                          "value": "shape_data",
                          "raw": "'shape_data'",
                          "range": [
                            773,
                            785
                          ],
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 39
                            },
                            "end": {
                              "line": 23,
                              "column": 51
                            }
                          }
                        }
                      ],
                      "range": [
                        755,
                        787
                      ],
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 21
                        },
                        "end": {
                          "line": 23,
                          "column": 53
                        }
                      }
                    },
                    "range": [
                      742,
                      787
                    ],
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 8
                      },
                      "end": {
                        "line": 23,
                        "column": 53
                      }
                    }
                  }
                ],
                "kind": "const",
                "range": [
                  736,
                  788
                ],
                "loc": {
                  "start": {
                    "line": 23,
                    "column": 2
                  },
                  "end": {
                    "line": 23,
                    "column": 54
                  }
                },
                "leadingComments": [
                  {
                    "type": "Line",
                    "value": " Set up derived config values:",
                    "range": [
                      661,
                      693
                    ],
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 2
                      },
                      "end": {
                        "line": 21,
                        "column": 34
                      }
                    }
                  },
                  {
                    "type": "Line",
                    "value": " - Download dirs and shapefile name",
                    "range": [
                      696,
                      733
                    ],
                    "loc": {
                      "start": {
                        "line": 22,
                        "column": 2
                      },
                      "end": {
                        "line": 22,
                        "column": 39
                      }
                    }
                  }
                ]
              },
              {
                "type": "VariableDeclaration",
                "declarations": [
                  {
                    "type": "VariableDeclarator",
                    "id": {
                      "type": "Identifier",
                      "name": "file_base",
                      "range": [
                        797,
                        806
                      ],
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 8
                        },
                        "end": {
                          "line": 24,
                          "column": 17
                        }
                      }
                    },
                    "init": {
                      "type": "LogicalExpression",
                      "operator": "||",
                      "left": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "shape_data",
                              "range": [
                                809,
                                819
                              ],
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 20
                                },
                                "end": {
                                  "line": 24,
                                  "column": 30
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "filename",
                              "range": [
                                820,
                                828
                              ],
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 31
                                },
                                "end": {
                                  "line": 24,
                                  "column": 39
                                }
                              }
                            },
                            "range": [
                              809,
                              828
                            ],
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 20
                              },
                              "end": {
                                "line": 24,
                                "column": 39
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "substr",
                            "range": [
                              829,
                              835
                            ],
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 40
                              },
                              "end": {
                                "line": 24,
                                "column": 46
                              }
                            }
                          },
                          "range": [
                            809,
                            835
                          ],
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 20
                            },
                            "end": {
                              "line": 24,
                              "column": 46
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "value": 0,
                            "raw": "0",
                            "range": [
                              837,
                              838
                            ],
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 48
                              },
                              "end": {
                                "line": 24,
                                "column": 49
                              }
                            }
                          },
                          {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "shape_data",
                                  "range": [
                                    840,
                                    850
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 24,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 24,
                                      "column": 61
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "filename",
                                  "range": [
                                    851,
                                    859
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 24,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 24,
                                      "column": 70
                                    }
                                  }
                                },
                                "range": [
                                  840,
                                  859
                                ],
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 70
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "lastIndexOf",
                                "range": [
                                  860,
                                  871
                                ],
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 71
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 82
                                  }
                                }
                              },
                              "range": [
                                840,
                                871
                              ],
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 51
                                },
                                "end": {
                                  "line": 24,
                                  "column": 82
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "value": ".",
                                "raw": "'.'",
                                "range": [
                                  873,
                                  876
                                ],
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 84
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 87
                                  }
                                }
                              }
                            ],
                            "range": [
                              840,
                              878
                            ],
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 51
                              },
                              "end": {
                                "line": 24,
                                "column": 89
                              }
                            }
                          }
                        ],
                        "range": [
                          809,
                          880
                        ],
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 20
                          },
                          "end": {
                            "line": 24,
                            "column": 91
                          }
                        }
                      },
                      "right": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "shape_data",
                          "range": [
                            884,
                            894
                          ],
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 95
                            },
                            "end": {
                              "line": 24,
                              "column": 105
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "filename",
                          "range": [
                            895,
                            903
                          ],
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 106
                            },
                            "end": {
                              "line": 24,
                              "column": 114
                            }
                          }
                        },
                        "range": [
                          884,
                          903
                        ],
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 95
                          },
                          "end": {
                            "line": 24,
                            "column": 114
                          }
                        }
                      },
                      "range": [
                        809,
                        903
                      ],
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 20
                        },
                        "end": {
                          "line": 24,
                          "column": 114
                        }
                      }
                    },
                    "range": [
                      797,
                      903
                    ],
                    "loc": {
                      "start": {
                        "line": 24,
                        "column": 8
                      },
                      "end": {
                        "line": 24,
                        "column": 114
                      }
                    }
                  }
                ],
                "kind": "const",
                "range": [
                  791,
                  904
                ],
                "loc": {
                  "start": {
                    "line": 24,
                    "column": 2
                  },
                  "end": {
                    "line": 24,
                    "column": 115
                  }
                }
              },
              {
                "type": "VariableDeclaration",
                "declarations": [
                  {
                    "type": "VariableDeclarator",
                    "id": {
                      "type": "Identifier",
                      "name": "shape_dir",
                      "range": [
                        913,
                        922
                      ],
                      "loc": {
                        "start": {
                          "line": 25,
                          "column": 8
                        },
                        "end": {
                          "line": 25,
                          "column": 17
                        }
                      }
                    },
                    "init": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "path",
                          "range": [
                            925,
                            929
                          ],
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 20
                            },
                            "end": {
                              "line": 25,
                              "column": 24
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "join",
                          "range": [
                            930,
                            934
                          ],
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 25
                            },
                            "end": {
                              "line": 25,
                              "column": 29
                            }
                          }
                        },
                        "range": [
                          925,
                          934
                        ],
                        "loc": {
                          "start": {
                            "line": 25,
                            "column": 20
                          },
                          "end": {
                            "line": 25,
                            "column": 29
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Literal",
                          "value": "data",
                          "raw": "'data'",
                          "range": [
                            936,
                            942
                          ],
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 31
                            },
                            "end": {
                              "line": 25,
                              "column": 37
                            }
                          }
                        },
                        {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "shape_data",
                            "range": [
                              944,
                              954
                            ],
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 39
                              },
                              "end": {
                                "line": 25,
                                "column": 49
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "repo",
                            "range": [
                              955,
                              959
                            ],
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 50
                              },
                              "end": {
                                "line": 25,
                                "column": 54
                              }
                            }
                          },
                          "range": [
                            944,
                            959
                          ],
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 39
                            },
                            "end": {
                              "line": 25,
                              "column": 54
                            }
                          }
                        },
                        {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "shape_data",
                            "range": [
                              961,
                              971
                            ],
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 56
                              },
                              "end": {
                                "line": 25,
                                "column": 66
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "base",
                            "range": [
                              972,
                              976
                            ],
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 67
                              },
                              "end": {
                                "line": 25,
                                "column": 71
                              }
                            }
                          },
                          "range": [
                            961,
                            976
                          ],
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 56
                            },
                            "end": {
                              "line": 25,
                              "column": 71
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "file_base",
                          "range": [
                            978,
                            987
                          ],
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 73
                            },
                            "end": {
                              "line": 25,
                              "column": 82
                            }
                          }
                        }
                      ],
                      "range": [
                        925,
                        989
                      ],
                      "loc": {
                        "start": {
                          "line": 25,
                          "column": 20
                        },
                        "end": {
                          "line": 25,
                          "column": 84
                        }
                      }
                    },
                    "range": [
                      913,
                      989
                    ],
                    "loc": {
                      "start": {
                        "line": 25,
                        "column": 8
                      },
                      "end": {
                        "line": 25,
                        "column": 84
                      }
                    }
                  }
                ],
                "kind": "const",
                "range": [
                  907,
                  990
                ],
                "loc": {
                  "start": {
                    "line": 25,
                    "column": 2
                  },
                  "end": {
                    "line": 25,
                    "column": 85
                  }
                }
              },
              {
                "type": "ExpressionStatement",
                "expression": {
                  "type": "CallExpression",
                  "callee": {
                    "type": "MemberExpression",
                    "computed": false,
                    "object": {
                      "type": "Identifier",
                      "name": "built_config",
                      "range": [
                        993,
                        1005
                      ],
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 2
                        },
                        "end": {
                          "line": 26,
                          "column": 14
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "name": "set",
                      "range": [
                        1006,
                        1009
                      ],
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 15
                        },
                        "end": {
                          "line": 26,
                          "column": 18
                        }
                      }
                    },
                    "range": [
                      993,
                      1009
                    ],
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 2
                      },
                      "end": {
                        "line": 26,
                        "column": 18
                      }
                    }
                  },
                  "arguments": [
                    {
                      "type": "Literal",
                      "value": "derived:shape_dir",
                      "raw": "'derived:shape_dir'",
                      "range": [
                        1011,
                        1030
                      ],
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 20
                        },
                        "end": {
                          "line": 26,
                          "column": 39
                        }
                      }
                    },
                    {
                      "type": "Identifier",
                      "name": "shape_dir",
                      "range": [
                        1032,
                        1041
                      ],
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 41
                        },
                        "end": {
                          "line": 26,
                          "column": 50
                        }
                      }
                    }
                  ],
                  "range": [
                    993,
                    1043
                  ],
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 2
                    },
                    "end": {
                      "line": 26,
                      "column": 52
                    }
                  }
                },
                "range": [
                  993,
                  1044
                ],
                "loc": {
                  "start": {
                    "line": 26,
                    "column": 2
                  },
                  "end": {
                    "line": 26,
                    "column": 53
                  }
                }
              },
              {
                "type": "ExpressionStatement",
                "expression": {
                  "type": "CallExpression",
                  "callee": {
                    "type": "MemberExpression",
                    "computed": false,
                    "object": {
                      "type": "Identifier",
                      "name": "built_config",
                      "range": [
                        1047,
                        1059
                      ],
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 2
                        },
                        "end": {
                          "line": 27,
                          "column": 14
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "name": "set",
                      "range": [
                        1060,
                        1063
                      ],
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 15
                        },
                        "end": {
                          "line": 27,
                          "column": 18
                        }
                      }
                    },
                    "range": [
                      1047,
                      1063
                    ],
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 2
                      },
                      "end": {
                        "line": 27,
                        "column": 18
                      }
                    }
                  },
                  "arguments": [
                    {
                      "type": "Literal",
                      "value": "derived:shape_file",
                      "raw": "'derived:shape_file'",
                      "range": [
                        1065,
                        1085
                      ],
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 20
                        },
                        "end": {
                          "line": 27,
                          "column": 40
                        }
                      }
                    },
                    {
                      "type": "CallExpression",
                      "callee": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "path",
                          "range": [
                            1087,
                            1091
                          ],
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 42
                            },
                            "end": {
                              "line": 27,
                              "column": 46
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "join",
                          "range": [
                            1092,
                            1096
                          ],
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 47
                            },
                            "end": {
                              "line": 27,
                              "column": 51
                            }
                          }
                        },
                        "range": [
                          1087,
                          1096
                        ],
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 42
                          },
                          "end": {
                            "line": 27,
                            "column": 51
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "shape_dir",
                          "range": [
                            1098,
                            1107
                          ],
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 53
                            },
                            "end": {
                              "line": 27,
                              "column": 62
                            }
                          }
                        },
                        {
                          "type": "TemplateLiteral",
                          "quasis": [
                            {
                              "type": "TemplateElement",
                              "value": {
                                "raw": "",
                                "cooked": ""
                              },
                              "tail": false,
                              "range": [
                                1109,
                                1112
                              ],
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 64
                                },
                                "end": {
                                  "line": 27,
                                  "column": 67
                                }
                              }
                            },
                            {
                              "type": "TemplateElement",
                              "value": {
                                "raw": ".shp",
                                "cooked": ".shp"
                              },
                              "tail": true,
                              "range": [
                                1121,
                                1127
                              ],
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 76
                                },
                                "end": {
                                  "line": 27,
                                  "column": 82
                                }
                              }
                            }
                          ],
                          "expressions": [
                            {
                              "type": "Identifier",
                              "name": "file_base",
                              "range": [
                                1112,
                                1121
                              ],
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 67
                                },
                                "end": {
                                  "line": 27,
                                  "column": 76
                                }
                              }
                            }
                          ],
                          "range": [
                            1109,
                            1127
                          ],
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 64
                            },
                            "end": {
                              "line": 27,
                              "column": 82
                            }
                          }
                        }
                      ],
                      "range": [
                        1087,
                        1129
                      ],
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 42
                        },
                        "end": {
                          "line": 27,
                          "column": 84
                        }
                      }
                    }
                  ],
                  "range": [
                    1047,
                    1131
                  ],
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 2
                    },
                    "end": {
                      "line": 27,
                      "column": 86
                    }
                  }
                },
                "range": [
                  1047,
                  1132
                ],
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 2
                  },
                  "end": {
                    "line": 27,
                    "column": 87
                  }
                },
                "trailingComments": [
                  {
                    "type": "Line",
                    "value": " - Info for the current repo",
                    "range": [
                      1136,
                      1166
                    ],
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 2
                      },
                      "end": {
                        "line": 29,
                        "column": 32
                      }
                    }
                  }
                ]
              },
              {
                "type": "VariableDeclaration",
                "declarations": [
                  {
                    "type": "VariableDeclarator",
                    "id": {
                      "type": "Identifier",
                      "name": "repo_info",
                      "range": [
                        1175,
                        1184
                      ],
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 8
                        },
                        "end": {
                          "line": 30,
                          "column": 17
                        }
                      }
                    },
                    "init": {
                      "type": "MemberExpression",
                      "computed": true,
                      "object": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "built_config",
                            "range": [
                              1187,
                              1199
                            ],
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 20
                              },
                              "end": {
                                "line": 30,
                                "column": 32
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "get",
                            "range": [
                              1200,
                              1203
                            ],
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 33
                              },
                              "end": {
                                "line": 30,
                                "column": 36
                              }
                            }
                          },
                          "range": [
                            1187,
                            1203
                          ],
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 20
                            },
                            "end": {
                              "line": 30,
                              "column": 36
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "value": "repos",
                            "raw": "'repos'",
                            "range": [
                              1205,
                              1212
                            ],
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 38
                              },
                              "end": {
                                "line": 30,
                                "column": 45
                              }
                            }
                          }
                        ],
                        "range": [
                          1187,
                          1214
                        ],
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 20
                          },
                          "end": {
                            "line": 30,
                            "column": 47
                          }
                        }
                      },
                      "property": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "shape_data",
                          "range": [
                            1216,
                            1226
                          ],
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 49
                            },
                            "end": {
                              "line": 30,
                              "column": 59
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "repo",
                          "range": [
                            1227,
                            1231
                          ],
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 60
                            },
                            "end": {
                              "line": 30,
                              "column": 64
                            }
                          }
                        },
                        "range": [
                          1216,
                          1231
                        ],
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 49
                          },
                          "end": {
                            "line": 30,
                            "column": 64
                          }
                        }
                      },
                      "range": [
                        1187,
                        1233
                      ],
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 20
                        },
                        "end": {
                          "line": 30,
                          "column": 66
                        }
                      }
                    },
                    "range": [
                      1175,
                      1233
                    ],
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 8
                      },
                      "end": {
                        "line": 30,
                        "column": 66
                      }
                    }
                  }
                ],
                "kind": "const",
                "range": [
                  1169,
                  1234
                ],
                "loc": {
                  "start": {
                    "line": 30,
                    "column": 2
                  },
                  "end": {
                    "line": 30,
                    "column": 67
                  }
                },
                "leadingComments": [
                  {
                    "type": "Line",
                    "value": " - Info for the current repo",
                    "range": [
                      1136,
                      1166
                    ],
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 2
                      },
                      "end": {
                        "line": 29,
                        "column": 32
                      }
                    }
                  }
                ]
              },
              {
                "type": "ExpressionStatement",
                "expression": {
                  "type": "CallExpression",
                  "callee": {
                    "type": "MemberExpression",
                    "computed": false,
                    "object": {
                      "type": "Identifier",
                      "name": "built_config",
                      "range": [
                        1237,
                        1249
                      ],
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 2
                        },
                        "end": {
                          "line": 31,
                          "column": 14
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "name": "set",
                      "range": [
                        1250,
                        1253
                      ],
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 15
                        },
                        "end": {
                          "line": 31,
                          "column": 18
                        }
                      }
                    },
                    "range": [
                      1237,
                      1253
                    ],
                    "loc": {
                      "start": {
                        "line": 31,
                        "column": 2
                      },
                      "end": {
                        "line": 31,
                        "column": 18
                      }
                    }
                  },
                  "arguments": [
                    {
                      "type": "Literal",
                      "value": "derived:repo_info",
                      "raw": "'derived:repo_info'",
                      "range": [
                        1255,
                        1274
                      ],
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 20
                        },
                        "end": {
                          "line": 31,
                          "column": 39
                        }
                      }
                    },
                    {
                      "type": "Identifier",
                      "name": "repo_info",
                      "range": [
                        1276,
                        1285
                      ],
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 41
                        },
                        "end": {
                          "line": 31,
                          "column": 50
                        }
                      }
                    }
                  ],
                  "range": [
                    1237,
                    1287
                  ],
                  "loc": {
                    "start": {
                      "line": 31,
                      "column": 2
                    },
                    "end": {
                      "line": 31,
                      "column": 52
                    }
                  }
                },
                "range": [
                  1237,
                  1288
                ],
                "loc": {
                  "start": {
                    "line": 31,
                    "column": 2
                  },
                  "end": {
                    "line": 31,
                    "column": 53
                  }
                },
                "trailingComments": [
                  {
                    "type": "Line",
                    "value": " - Download target",
                    "range": [
                      1292,
                      1312
                    ],
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 2
                      },
                      "end": {
                        "line": 33,
                        "column": 22
                      }
                    }
                  }
                ]
              },
              {
                "type": "ExpressionStatement",
                "expression": {
                  "type": "CallExpression",
                  "callee": {
                    "type": "MemberExpression",
                    "computed": false,
                    "object": {
                      "type": "Identifier",
                      "name": "built_config",
                      "range": [
                        1315,
                        1327
                      ],
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 2
                        },
                        "end": {
                          "line": 34,
                          "column": 14
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "name": "set",
                      "range": [
                        1328,
                        1331
                      ],
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 15
                        },
                        "end": {
                          "line": 34,
                          "column": 18
                        }
                      }
                    },
                    "range": [
                      1315,
                      1331
                    ],
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 2
                      },
                      "end": {
                        "line": 34,
                        "column": 18
                      }
                    }
                  },
                  "arguments": [
                    {
                      "type": "Literal",
                      "value": "derived:download_url",
                      "raw": "'derived:download_url'",
                      "range": [
                        1333,
                        1355
                      ],
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 20
                        },
                        "end": {
                          "line": 34,
                          "column": 42
                        }
                      }
                    },
                    {
                      "type": "CallExpression",
                      "callee": {
                        "type": "Identifier",
                        "name": "urljoin",
                        "range": [
                          1357,
                          1364
                        ],
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 44
                          },
                          "end": {
                            "line": 34,
                            "column": 51
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "repo_info",
                            "range": [
                              1366,
                              1375
                            ],
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 53
                              },
                              "end": {
                                "line": 34,
                                "column": 62
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "base_url",
                            "range": [
                              1376,
                              1384
                            ],
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 63
                              },
                              "end": {
                                "line": 34,
                                "column": 71
                              }
                            }
                          },
                          "range": [
                            1366,
                            1384
                          ],
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 53
                            },
                            "end": {
                              "line": 34,
                              "column": 71
                            }
                          }
                        },
                        {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "shape_data",
                            "range": [
                              1386,
                              1396
                            ],
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 73
                              },
                              "end": {
                                "line": 34,
                                "column": 83
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "base",
                            "range": [
                              1397,
                              1401
                            ],
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 84
                              },
                              "end": {
                                "line": 34,
                                "column": 88
                              }
                            }
                          },
                          "range": [
                            1386,
                            1401
                          ],
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 73
                            },
                            "end": {
                              "line": 34,
                              "column": 88
                            }
                          }
                        },
                        {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "shape_data",
                            "range": [
                              1403,
                              1413
                            ],
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 90
                              },
                              "end": {
                                "line": 34,
                                "column": 100
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "filename",
                            "range": [
                              1414,
                              1422
                            ],
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 101
                              },
                              "end": {
                                "line": 34,
                                "column": 109
                              }
                            }
                          },
                          "range": [
                            1403,
                            1422
                          ],
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 90
                            },
                            "end": {
                              "line": 34,
                              "column": 109
                            }
                          }
                        }
                      ],
                      "range": [
                        1357,
                        1424
                      ],
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 44
                        },
                        "end": {
                          "line": 34,
                          "column": 111
                        }
                      }
                    }
                  ],
                  "range": [
                    1315,
                    1426
                  ],
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 2
                    },
                    "end": {
                      "line": 34,
                      "column": 113
                    }
                  }
                },
                "range": [
                  1315,
                  1427
                ],
                "loc": {
                  "start": {
                    "line": 34,
                    "column": 2
                  },
                  "end": {
                    "line": 34,
                    "column": 114
                  }
                },
                "leadingComments": [
                  {
                    "type": "Line",
                    "value": " - Download target",
                    "range": [
                      1292,
                      1312
                    ],
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 2
                      },
                      "end": {
                        "line": 33,
                        "column": 22
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "Line",
                    "value": " - SHA of the spec file, and output file.",
                    "range": [
                      1431,
                      1474
                    ],
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 2
                      },
                      "end": {
                        "line": 36,
                        "column": 45
                      }
                    }
                  }
                ]
              },
              {
                "type": "VariableDeclaration",
                "declarations": [
                  {
                    "type": "VariableDeclarator",
                    "id": {
                      "type": "Identifier",
                      "name": "sha",
                      "range": [
                        1483,
                        1486
                      ],
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 8
                        },
                        "end": {
                          "line": 37,
                          "column": 11
                        }
                      }
                    },
                    "init": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "Identifier",
                        "name": "hash",
                        "range": [
                          1489,
                          1493
                        ],
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 14
                          },
                          "end": {
                            "line": 37,
                            "column": 18
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "CallExpression",
                          "callee": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "built_config",
                              "range": [
                                1495,
                                1507
                              ],
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 20
                                },
                                "end": {
                                  "line": 37,
                                  "column": 32
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "get",
                              "range": [
                                1508,
                                1511
                              ],
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 33
                                },
                                "end": {
                                  "line": 37,
                                  "column": 36
                                }
                              }
                            },
                            "range": [
                              1495,
                              1511
                            ],
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 20
                              },
                              "end": {
                                "line": 37,
                                "column": 36
                              }
                            }
                          },
                          "arguments": [],
                          "range": [
                            1495,
                            1513
                          ],
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 20
                            },
                            "end": {
                              "line": 37,
                              "column": 38
                            }
                          }
                        }
                      ],
                      "range": [
                        1489,
                        1515
                      ],
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 14
                        },
                        "end": {
                          "line": 37,
                          "column": 40
                        }
                      }
                    },
                    "range": [
                      1483,
                      1515
                    ],
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 8
                      },
                      "end": {
                        "line": 37,
                        "column": 40
                      }
                    }
                  }
                ],
                "kind": "const",
                "range": [
                  1477,
                  1516
                ],
                "loc": {
                  "start": {
                    "line": 37,
                    "column": 2
                  },
                  "end": {
                    "line": 37,
                    "column": 41
                  }
                },
                "leadingComments": [
                  {
                    "type": "Line",
                    "value": " - SHA of the spec file, and output file.",
                    "range": [
                      1431,
                      1474
                    ],
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 2
                      },
                      "end": {
                        "line": 36,
                        "column": 45
                      }
                    }
                  }
                ]
              },
              {
                "type": "ExpressionStatement",
                "expression": {
                  "type": "CallExpression",
                  "callee": {
                    "type": "MemberExpression",
                    "computed": false,
                    "object": {
                      "type": "Identifier",
                      "name": "built_config",
                      "range": [
                        1519,
                        1531
                      ],
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 2
                        },
                        "end": {
                          "line": 38,
                          "column": 14
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "name": "set",
                      "range": [
                        1532,
                        1535
                      ],
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 15
                        },
                        "end": {
                          "line": 38,
                          "column": 18
                        }
                      }
                    },
                    "range": [
                      1519,
                      1535
                    ],
                    "loc": {
                      "start": {
                        "line": 38,
                        "column": 2
                      },
                      "end": {
                        "line": 38,
                        "column": 18
                      }
                    }
                  },
                  "arguments": [
                    {
                      "type": "Literal",
                      "value": "derived:spec_sha1",
                      "raw": "'derived:spec_sha1'",
                      "range": [
                        1537,
                        1556
                      ],
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 20
                        },
                        "end": {
                          "line": 38,
                          "column": 39
                        }
                      }
                    },
                    {
                      "type": "Identifier",
                      "name": "sha",
                      "range": [
                        1558,
                        1561
                      ],
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 41
                        },
                        "end": {
                          "line": 38,
                          "column": 44
                        }
                      }
                    }
                  ],
                  "range": [
                    1519,
                    1563
                  ],
                  "loc": {
                    "start": {
                      "line": 38,
                      "column": 2
                    },
                    "end": {
                      "line": 38,
                      "column": 46
                    }
                  }
                },
                "range": [
                  1519,
                  1564
                ],
                "loc": {
                  "start": {
                    "line": 38,
                    "column": 2
                  },
                  "end": {
                    "line": 38,
                    "column": 47
                  }
                }
              },
              {
                "type": "ExpressionStatement",
                "expression": {
                  "type": "CallExpression",
                  "callee": {
                    "type": "MemberExpression",
                    "computed": false,
                    "object": {
                      "type": "Identifier",
                      "name": "built_config",
                      "range": [
                        1567,
                        1579
                      ],
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 2
                        },
                        "end": {
                          "line": 39,
                          "column": 14
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "name": "set",
                      "range": [
                        1580,
                        1583
                      ],
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 15
                        },
                        "end": {
                          "line": 39,
                          "column": 18
                        }
                      }
                    },
                    "range": [
                      1567,
                      1583
                    ],
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 2
                      },
                      "end": {
                        "line": 39,
                        "column": 18
                      }
                    }
                  },
                  "arguments": [
                    {
                      "type": "Literal",
                      "value": "derived:output_svg",
                      "raw": "'derived:output_svg'",
                      "range": [
                        1585,
                        1605
                      ],
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 20
                        },
                        "end": {
                          "line": 39,
                          "column": 40
                        }
                      }
                    },
                    {
                      "type": "CallExpression",
                      "callee": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "path",
                          "range": [
                            1607,
                            1611
                          ],
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 42
                            },
                            "end": {
                              "line": 39,
                              "column": 46
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "join",
                          "range": [
                            1612,
                            1616
                          ],
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 47
                            },
                            "end": {
                              "line": 39,
                              "column": 51
                            }
                          }
                        },
                        "range": [
                          1607,
                          1616
                        ],
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 42
                          },
                          "end": {
                            "line": 39,
                            "column": 51
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Literal",
                          "value": "output",
                          "raw": "'output'",
                          "range": [
                            1618,
                            1626
                          ],
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 53
                            },
                            "end": {
                              "line": 39,
                              "column": 61
                            }
                          }
                        },
                        {
                          "type": "TemplateLiteral",
                          "quasis": [
                            {
                              "type": "TemplateElement",
                              "value": {
                                "raw": "",
                                "cooked": ""
                              },
                              "tail": false,
                              "range": [
                                1628,
                                1631
                              ],
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 63
                                },
                                "end": {
                                  "line": 39,
                                  "column": 66
                                }
                              }
                            },
                            {
                              "type": "TemplateElement",
                              "value": {
                                "raw": ".svg",
                                "cooked": ".svg"
                              },
                              "tail": true,
                              "range": [
                                1634,
                                1640
                              ],
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 69
                                },
                                "end": {
                                  "line": 39,
                                  "column": 75
                                }
                              }
                            }
                          ],
                          "expressions": [
                            {
                              "type": "Identifier",
                              "name": "sha",
                              "range": [
                                1631,
                                1634
                              ],
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 66
                                },
                                "end": {
                                  "line": 39,
                                  "column": 69
                                }
                              }
                            }
                          ],
                          "range": [
                            1628,
                            1640
                          ],
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 63
                            },
                            "end": {
                              "line": 39,
                              "column": 75
                            }
                          }
                        }
                      ],
                      "range": [
                        1607,
                        1642
                      ],
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 42
                        },
                        "end": {
                          "line": 39,
                          "column": 77
                        }
                      }
                    }
                  ],
                  "range": [
                    1567,
                    1644
                  ],
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 2
                    },
                    "end": {
                      "line": 39,
                      "column": 79
                    }
                  }
                },
                "range": [
                  1567,
                  1645
                ],
                "loc": {
                  "start": {
                    "line": 39,
                    "column": 2
                  },
                  "end": {
                    "line": 39,
                    "column": 80
                  }
                },
                "trailingComments": [
                  {
                    "type": "Line",
                    "value": " Store off the config as a 'normal' object.",
                    "range": [
                      1649,
                      1694
                    ],
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 2
                      },
                      "end": {
                        "line": 41,
                        "column": 47
                      }
                    }
                  }
                ]
              },
              {
                "type": "VariableDeclaration",
                "declarations": [
                  {
                    "type": "VariableDeclarator",
                    "id": {
                      "type": "Identifier",
                      "name": "config",
                      "range": [
                        1703,
                        1709
                      ],
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 8
                        },
                        "end": {
                          "line": 42,
                          "column": 14
                        }
                      }
                    },
                    "init": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "built_config",
                          "range": [
                            1712,
                            1724
                          ],
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 17
                            },
                            "end": {
                              "line": 42,
                              "column": 29
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "get",
                          "range": [
                            1725,
                            1728
                          ],
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 30
                            },
                            "end": {
                              "line": 42,
                              "column": 33
                            }
                          }
                        },
                        "range": [
                          1712,
                          1728
                        ],
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 17
                          },
                          "end": {
                            "line": 42,
                            "column": 33
                          }
                        }
                      },
                      "arguments": [],
                      "range": [
                        1712,
                        1730
                      ],
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 17
                        },
                        "end": {
                          "line": 42,
                          "column": 35
                        }
                      }
                    },
                    "range": [
                      1703,
                      1730
                    ],
                    "loc": {
                      "start": {
                        "line": 42,
                        "column": 8
                      },
                      "end": {
                        "line": 42,
                        "column": 35
                      }
                    }
                  }
                ],
                "kind": "const",
                "range": [
                  1697,
                  1731
                ],
                "loc": {
                  "start": {
                    "line": 42,
                    "column": 2
                  },
                  "end": {
                    "line": 42,
                    "column": 36
                  }
                },
                "leadingComments": [
                  {
                    "type": "Line",
                    "value": " Store off the config as a 'normal' object.",
                    "range": [
                      1649,
                      1694
                    ],
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 2
                      },
                      "end": {
                        "line": 41,
                        "column": 47
                      }
                    }
                  }
                ]
              },
              {
                "type": "ExpressionStatement",
                "expression": {
                  "type": "CallExpression",
                  "callee": {
                    "type": "MemberExpression",
                    "computed": false,
                    "object": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "utils",
                        "range": [
                          1734,
                          1739
                        ],
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 2
                          },
                          "end": {
                            "line": 43,
                            "column": 7
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "log",
                        "range": [
                          1740,
                          1743
                        ],
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 8
                          },
                          "end": {
                            "line": 43,
                            "column": 11
                          }
                        }
                      },
                      "range": [
                        1734,
                        1743
                      ],
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 2
                        },
                        "end": {
                          "line": 43,
                          "column": 11
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "name": "debug",
                      "range": [
                        1744,
                        1749
                      ],
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 12
                        },
                        "end": {
                          "line": 43,
                          "column": 17
                        }
                      }
                    },
                    "range": [
                      1734,
                      1749
                    ],
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 2
                      },
                      "end": {
                        "line": 43,
                        "column": 17
                      }
                    }
                  },
                  "arguments": [
                    {
                      "type": "Literal",
                      "value": "Full Config",
                      "raw": "'Full Config'",
                      "range": [
                        1751,
                        1764
                      ],
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 19
                        },
                        "end": {
                          "line": 43,
                          "column": 32
                        }
                      }
                    },
                    {
                      "type": "Identifier",
                      "name": "config",
                      "range": [
                        1766,
                        1772
                      ],
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 34
                        },
                        "end": {
                          "line": 43,
                          "column": 40
                        }
                      }
                    }
                  ],
                  "range": [
                    1734,
                    1774
                  ],
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 2
                    },
                    "end": {
                      "line": 43,
                      "column": 42
                    }
                  }
                },
                "range": [
                  1734,
                  1775
                ],
                "loc": {
                  "start": {
                    "line": 43,
                    "column": 2
                  },
                  "end": {
                    "line": 43,
                    "column": 43
                  }
                }
              },
              {
                "type": "ReturnStatement",
                "argument": {
                  "type": "Identifier",
                  "name": "config",
                  "range": [
                    1785,
                    1791
                  ],
                  "loc": {
                    "start": {
                      "line": 44,
                      "column": 9
                    },
                    "end": {
                      "line": 44,
                      "column": 15
                    }
                  }
                },
                "range": [
                  1778,
                  1792
                ],
                "loc": {
                  "start": {
                    "line": 44,
                    "column": 2
                  },
                  "end": {
                    "line": 44,
                    "column": 16
                  }
                }
              }
            ],
            "range": [
              345,
              1794
            ],
            "loc": {
              "start": {
                "line": 10,
                "column": 62
              },
              "end": {
                "line": 45,
                "column": 1
              }
            }
          },
          "generator": false,
          "expression": false,
          "range": [
            313,
            1794
          ],
          "loc": {
            "start": {
              "line": 10,
              "column": 30
            },
            "end": {
              "line": 45,
              "column": 1
            }
          }
        },
        "range": [
          283,
          1794
        ],
        "loc": {
          "start": {
            "line": 10,
            "column": 0
          },
          "end": {
            "line": 45,
            "column": 1
          }
        }
      },
      "range": [
        283,
        1795
      ],
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 45,
          "column": 2
        }
      },
      "leadingComments": [
        {
          "type": "Line",
          "value": " Build up a configuration object from a spec file and/or spec object.",
          "range": [
            211,
            282
          ],
          "loc": {
            "start": {
              "line": 9,
              "column": 0
            },
            "end": {
              "line": 9,
              "column": 71
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": " Validate that the supplied filter makes sense for the given data.",
          "range": [
            1797,
            1865
          ],
          "loc": {
            "start": {
              "line": 47,
              "column": 0
            },
            "end": {
              "line": 47,
              "column": 68
            }
          }
        }
      ]
    },
    {
      "type": "ExpressionStatement",
      "expression": {
        "type": "AssignmentExpression",
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "computed": false,
          "object": {
            "type": "MemberExpression",
            "computed": false,
            "object": {
              "type": "Identifier",
              "name": "module",
              "range": [
                1866,
                1872
              ],
              "loc": {
                "start": {
                  "line": 48,
                  "column": 0
                },
                "end": {
                  "line": 48,
                  "column": 6
                }
              }
            },
            "property": {
              "type": "Identifier",
              "name": "exports",
              "range": [
                1873,
                1880
              ],
              "loc": {
                "start": {
                  "line": 48,
                  "column": 7
                },
                "end": {
                  "line": 48,
                  "column": 14
                }
              }
            },
            "range": [
              1866,
              1880
            ],
            "loc": {
              "start": {
                "line": 48,
                "column": 0
              },
              "end": {
                "line": 48,
                "column": 14
              }
            }
          },
          "property": {
            "type": "Identifier",
            "name": "validate_filter",
            "range": [
              1881,
              1896
            ],
            "loc": {
              "start": {
                "line": 48,
                "column": 15
              },
              "end": {
                "line": 48,
                "column": 30
              }
            }
          },
          "range": [
            1866,
            1896
          ],
          "loc": {
            "start": {
              "line": 48,
              "column": 0
            },
            "end": {
              "line": 48,
              "column": 30
            }
          }
        },
        "right": {
          "type": "FunctionExpression",
          "id": {
            "type": "Identifier",
            "name": "validate_filter",
            "range": [
              1881,
              1896
            ],
            "loc": {
              "start": {
                "line": 48,
                "column": 15
              },
              "end": {
                "line": 48,
                "column": 30
              }
            }
          },
          "params": [
            {
              "type": "Identifier",
              "name": "config",
              "range": [
                1925,
                1931
              ],
              "loc": {
                "start": {
                  "line": 48,
                  "column": 59
                },
                "end": {
                  "line": 48,
                  "column": 65
                }
              }
            },
            {
              "type": "Identifier",
              "name": "data",
              "range": [
                1933,
                1937
              ],
              "loc": {
                "start": {
                  "line": 48,
                  "column": 67
                },
                "end": {
                  "line": 48,
                  "column": 71
                }
              }
            }
          ],
          "body": {
            "type": "BlockStatement",
            "body": [
              {
                "type": "ReturnStatement",
                "argument": {
                  "type": "BinaryExpression",
                  "operator": "!==",
                  "left": {
                    "type": "Identifier",
                    "name": "config",
                    "range": [
                      1965,
                      1971
                    ],
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 9
                      },
                      "end": {
                        "line": 50,
                        "column": 15
                      }
                    }
                  },
                  "right": {
                    "type": "Identifier",
                    "name": "data",
                    "range": [
                      1976,
                      1980
                    ],
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 20
                      },
                      "end": {
                        "line": 50,
                        "column": 24
                      }
                    }
                  },
                  "range": [
                    1965,
                    1980
                  ],
                  "loc": {
                    "start": {
                      "line": 50,
                      "column": 9
                    },
                    "end": {
                      "line": 50,
                      "column": 24
                    }
                  }
                },
                "range": [
                  1958,
                  1981
                ],
                "loc": {
                  "start": {
                    "line": 50,
                    "column": 2
                  },
                  "end": {
                    "line": 50,
                    "column": 25
                  }
                },
                "leadingComments": [
                  {
                    "type": "Line",
                    "value": " @@@ TODO",
                    "range": [
                      1944,
                      1955
                    ],
                    "loc": {
                      "start": {
                        "line": 49,
                        "column": 2
                      },
                      "end": {
                        "line": 49,
                        "column": 13
                      }
                    }
                  }
                ]
              }
            ],
            "range": [
              1940,
              1983
            ],
            "loc": {
              "start": {
                "line": 48,
                "column": 74
              },
              "end": {
                "line": 51,
                "column": 1
              }
            }
          },
          "generator": false,
          "expression": false,
          "range": [
            1899,
            1983
          ],
          "loc": {
            "start": {
              "line": 48,
              "column": 33
            },
            "end": {
              "line": 51,
              "column": 1
            }
          }
        },
        "range": [
          1866,
          1983
        ],
        "loc": {
          "start": {
            "line": 48,
            "column": 0
          },
          "end": {
            "line": 51,
            "column": 1
          }
        }
      },
      "range": [
        1866,
        1984
      ],
      "loc": {
        "start": {
          "line": 48,
          "column": 0
        },
        "end": {
          "line": 51,
          "column": 2
        }
      },
      "leadingComments": [
        {
          "type": "Line",
          "value": " Validate that the supplied filter makes sense for the given data.",
          "range": [
            1797,
            1865
          ],
          "loc": {
            "start": {
              "line": 47,
              "column": 0
            },
            "end": {
              "line": 47,
              "column": 68
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    21,
    1984
  ],
  "loc": {
    "start": {
      "line": 3,
      "column": 0
    },
    "end": {
      "line": 51,
      "column": 2
    }
  },
  "comments": [
    {
      "type": "Line",
      "value": "/usr/bin/env node",
      "range": [
        0,
        19
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 19
        }
      }
    },
    {
      "type": "Line",
      "value": " Build up a configuration object from a spec file and/or spec object.",
      "range": [
        211,
        282
      ],
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 71
        }
      }
    },
    {
      "type": "Line",
      "value": " Get the global defaults then override with the specified specification.",
      "range": [
        349,
        423
      ],
      "loc": {
        "start": {
          "line": 11,
          "column": 2
        },
        "end": {
          "line": 11,
          "column": 76
        }
      }
    },
    {
      "type": "Line",
      "value": " Set up derived config values:",
      "range": [
        661,
        693
      ],
      "loc": {
        "start": {
          "line": 21,
          "column": 2
        },
        "end": {
          "line": 21,
          "column": 34
        }
      }
    },
    {
      "type": "Line",
      "value": " - Download dirs and shapefile name",
      "range": [
        696,
        733
      ],
      "loc": {
        "start": {
          "line": 22,
          "column": 2
        },
        "end": {
          "line": 22,
          "column": 39
        }
      }
    },
    {
      "type": "Line",
      "value": " - Info for the current repo",
      "range": [
        1136,
        1166
      ],
      "loc": {
        "start": {
          "line": 29,
          "column": 2
        },
        "end": {
          "line": 29,
          "column": 32
        }
      }
    },
    {
      "type": "Line",
      "value": " - Download target",
      "range": [
        1292,
        1312
      ],
      "loc": {
        "start": {
          "line": 33,
          "column": 2
        },
        "end": {
          "line": 33,
          "column": 22
        }
      }
    },
    {
      "type": "Line",
      "value": " - SHA of the spec file, and output file.",
      "range": [
        1431,
        1474
      ],
      "loc": {
        "start": {
          "line": 36,
          "column": 2
        },
        "end": {
          "line": 36,
          "column": 45
        }
      }
    },
    {
      "type": "Line",
      "value": " Store off the config as a 'normal' object.",
      "range": [
        1649,
        1694
      ],
      "loc": {
        "start": {
          "line": 41,
          "column": 2
        },
        "end": {
          "line": 41,
          "column": 47
        }
      }
    },
    {
      "type": "Line",
      "value": " Validate that the supplied filter makes sense for the given data.",
      "range": [
        1797,
        1865
      ],
      "loc": {
        "start": {
          "line": 47,
          "column": 0
        },
        "end": {
          "line": 47,
          "column": 68
        }
      }
    },
    {
      "type": "Line",
      "value": " @@@ TODO",
      "range": [
        1944,
        1955
      ],
      "loc": {
        "start": {
          "line": 49,
          "column": 2
        },
        "end": {
          "line": 49,
          "column": 13
        }
      }
    }
  ]
}